Backport #8253
closedCan't eval very long strings (SystemStackError)
Description
I have a very long string which is the output from a Solr server, RSolr gem fails to eval the response as a Ruby object because it is too long (> 640K). I have filed a detailed bug description here:
https://github.com/mwmitchell/rsolr/issues/61
The problematic response can be found here:
http://da.qcri.org/solr-response-46-70000.txt
It boiled down that Kernel.eval fails because the string is too long for the allocated stack.
File: vm.c
Function: vm_set_eval_stack
MACRO: CHECK_STACK_OVERFLOW
Is it just a limitation in the VM or the stack can have a dynamically larger size?
Updated by nobu (Nobuyoshi Nakada) about 11 years ago
- Tracker changed from Bug to Backport
- Project changed from Ruby master to Backport193
- Category deleted (
core) - Status changed from Open to Assigned
- Assignee set to usa (Usaku NAKAMURA)
This issue is fixed by r35306, with some fix-ups.
Updated by usa (Usaku NAKAMURA) about 11 years ago
- Status changed from Assigned to Rejected
Hmm, r35306 is a too big change for ruby_1_9_3.
So I don't fix it and declare that this is a limitation of ruby 1.9.3.
Updated by hammady (Hossam Hammady) about 11 years ago
I confirm that it is fixed in ruby2, just tried it. Thank you guys.