Backport #8253

Can't eval very long strings (SystemStackError)

Added by hammady (Hossam Hammady) almost 7 years ago. Updated almost 7 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?


Updated by nobu (Nobuyoshi Nakada) almost 7 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) almost 7 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) almost 7 years ago

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

Also available in: Atom PDF