Backport #8253

Can't eval very long strings (SystemStackError)

Added by Hossam Hammady over 3 years ago. Updated over 3 years ago.



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:
The problematic response can be found here:
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

Is it just a limitation in the VM or the stack can have a dynamically larger size?


#1 Updated by Nobuyoshi Nakada over 3 years ago

  • Tracker changed from Bug to Backport
  • Project changed from Ruby trunk to Backport193
  • Category deleted (core)
  • Status changed from Open to Assigned
  • Assignee set to Usaku NAKAMURA

This issue is fixed by r35306, with some fix-ups.

#2 [ruby-core:54238] Updated by Usaku NAKAMURA over 3 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.

#3 [ruby-core:54264] Updated by Hossam Hammady over 3 years ago

I confirm that it is fixed in ruby2, just tried it. Thank you guys.

Also available in: Atom PDF