After installing 0.31.0, solargraph crashes on startup with:
[Error - 9:06:53 AM] Server initialization failed.
Message: [ArgumentError] negative argument
Code: -32603
Reverting to 0.30 fixes the issue
The stacktrace from the console:
console.ts:134 [Extension Host] Solargraph is listening PORT=56334 PID=43502
console.ts:134 [Extension Host] [WARN] Error processing request: [ArgumentError] negative argument
console.ts:134 [Extension Host] [WARN] ["/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source.rb:339:in `*'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source.rb:339:in `block in stringify_comment_array'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source.rb:327:in `each'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source.rb:327:in `stringify_comment_array'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source.rb:245:in `comments_for'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:55:in `comments_for'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/lvasgn_node.rb:10:in `process'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor.rb:73:in `process'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source_map/mapper.rb:22:in `map'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source_map/mapper.rb:40:in `map'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/source_map.rb:140:in `map'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/api_map.rb:86:in `block in catalog'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/api_map.rb:68:in `each'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/api_map.rb:68:in `catalog'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/library.rb:18:in `initialize'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/library.rb:366:in `new'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/library.rb:366:in `load'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:255:in `prepare'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:272:in `block in prepare_folders'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:271:in `each'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:271:in `prepare_folders'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/message/initialize.rb:11:in `block in process'", "/Users/sam/.rubies/ruby-2.5.3/lib/ruby/2.5.0/benchmark.rb:293:in `measure'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/message/initialize.rb:8:in `process'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:94:in `receive'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/adapter.rb:33:in `process'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/adapter.rb:14:in `block in opening'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:53:in `parse_message_from_buffer'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:31:in `block in receive'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:26:in `each_char'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:26:in `receive'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/adapter.rb:25:in `sending'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport/client.rb:48:in `sending'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport/server/tcpip.rb:25:in `block (2 levels) in tick'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport/server/tcpip.rb:19:in `each'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport/server/tcpip.rb:19:in `block in tick'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport/server/tcpip.rb:18:in `synchronize'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport/server/tcpip.rb:18:in `tick'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport/machine.rb:56:in `each'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport/machine.rb:56:in `tick'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport/machine.rb:64:in `run_server_thread'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport/machine.rb:19:in `run'", "/Users/sam/.gem/ruby/2.6.0/gems/backport-0.3.0/lib/backport.rb:51:in `run'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/lib/solargraph/shell.rb:25:in `socket'", "/Users/sam/.gem/ruby/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'", "/Users/sam/.gem/ruby/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'", "/Users/sam/.gem/ruby/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'", "/Users/sam/.gem/ruby/2.6.0/gems/thor-0.20.3/lib/thor/base.rb:466:in `start'", "/Users/sam/.gem/ruby/2.6.0/gems/solargraph-0.31.0/bin/solargraph:5:in `<top (required)>'", "/Users/sam/.gem/ruby/2.5.3/bin/solargraph:23:in `load'", "/Users/sam/.gem/ruby/2.5.3/bin/solargraph:23:in `<main>'"]
notificationsAlerts.ts:40 [ArgumentError] negative argument
t.onDidNotificationChange @ notificationsAlerts.ts:40
(anonymous) @ notificationsAlerts.ts:26
e.fire @ event.ts:228
t.notify @ notifications.ts:113
t.notify @ notificationService.ts:52
e._showMessage @ mainThreadMessageService.ts:83
e._showMessage @ mainThreadMessageService.ts:44
e.$showMessage @ mainThreadMessageService.ts:38
t._doInvokeHandler @ rpcProtocol.ts:461
t._invokeHandler @ rpcProtocol.ts:446
t._receiveRequest @ rpcProtocol.ts:366
t._receiveOneMessage @ rpcProtocol.ts:296
(anonymous) @ rpcProtocol.ts:171
e.fire @ event.ts:228
a @ ipc.net.ts:103
n._socketDataListener @ ipc.net.ts:132
emitOne @ events.js:116
emit @ events.js:211
addChunk @ _stream_readable.js:263
readableAddChunk @ _stream_readable.js:250
Readable.push @ _stream_readable.js:208
onread @ net.js:594
console.ts:134 [Extension Host] rejected promise not handled within 1 second
t.log @ console.ts:134
t._logExtensionHostMessage @ extensionHost.ts:453
(anonymous) @ extensionHost.ts:244
emitTwo @ events.js:126
emit @ events.js:214
emit @ internal/child_process.js:772
_combinedTickCallback @ internal/process/next_tick.js:141
_tickCallback @ internal/process/next_tick.js:180
mainThreadExtensionService.ts:42 [castwide.solargraph][ArgumentError] negative argument
e.$onExtensionRuntimeError @ mainThreadExtensionService.ts:42
t._doInvokeHandler @ rpcProtocol.ts:461
t._invokeHandler @ rpcProtocol.ts:446
t._receiveRequest @ rpcProtocol.ts:366
t._receiveOneMessage @ rpcProtocol.ts:296
(anonymous) @ rpcProtocol.ts:171
e.fire @ event.ts:228
a @ ipc.net.ts:103
n._socketDataListener @ ipc.net.ts:132
emitOne @ events.js:116
emit @ events.js:211
addChunk @ _stream_readable.js:263
readableAddChunk @ _stream_readable.js:250
Readable.push @ _stream_readable.js:208
onread @ net.js:594
mainThreadExtensionService.ts:43 Error: [ArgumentError] negative argument
at new ResponseError (/Users/sam/.vscode/extensions/castwide.solargraph-0.19.1/node_modules/vscode-languageclient/node_modules/vscode-jsonrpc/lib/messages.js:46:28)
at handleResponse (/Users/sam/.vscode/extensions/castwide.solargraph-0.19.1/node_modules/vscode-languageclient/node_modules/vscode-jsonrpc/lib/main.js:430:48)
at processMessageQueue (/Users/sam/.vscode/extensions/castwide.solargraph-0.19.1/node_modules/vscode-languageclient/node_modules/vscode-jsonrpc/lib/main.js:258:17)
at Immediate._onImmediate (/Users/sam/.vscode/extensions/castwide.solargraph-0.19.1/node_modules/vscode-languageclient/node_modules/vscode-jsonrpc/lib/main.js:242:13)
at runCallback (timers.js:789:20)
at tryOnImmediate (timers.js:751:5)
at processImmediate [as _immediateCallback] (timers.js:722:5)
e.$onExtensionRuntimeError @ mainThreadExtensionService.ts:43
t._doInvokeHandler @ rpcProtocol.ts:461
t._invokeHandler @ rpcProtocol.ts:446
t._receiveRequest @ rpcProtocol.ts:366
t._receiveOneMessage @ rpcProtocol.ts:296
(anonymous) @ rpcProtocol.ts:171
e.fire @ event.ts:228
a @ ipc.net.ts:103
n._socketDataListener @ ipc.net.ts:132
emitOne @ events.js:116
emit @ events.js:211
addChunk @ _stream_readable.js:263
readableAddChunk @ _stream_readable.js:250
Readable.push @ _stream_readable.js:208
onread @ net.js:594
I tracked down the file it was parsing and came up with this minimal file that crashes solargraph for me:
=begin
=end
y = 1 # foo
Thanks. I reproduced the error with your example. I should be able to fix it for the next patch release.
Published in v0.31.1.
Looks to be working for me, thank you 馃槃
@castwide I'm still getting this on one project (and not others). Do you have any hints on tracking down the trigger in our code?
[Error - 6:35:43 AM] Server initialization failed.
Message: [ArgumentError] negative argument
Code: -32603
[Extension Host] [WARN] ["/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source.rb:337:in `*'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source.rb:337:in `block in stringify_comment_array'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source.rb:326:in `each'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source.rb:326:in `stringify_comment_array'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source.rb:245:in `comments_for'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:55:in `comments_for'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/def_node.rb:6:in `process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor.rb:73:in `process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:41:in `block in process_children'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:39:in `each'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:39:in `process_children'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/begin_node.rb:6:in `process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor.rb:73:in `process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:41:in `block in process_children'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:39:in `each'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:39:in `process_children'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/namespace_node.rb:21:in `process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor.rb:73:in `process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:41:in `block in process_children'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:39:in `each'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/base.rb:39:in `process_children'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor/namespace_node.rb:21:in `process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/node_processor.rb:73:in `process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/mapper.rb:22:in `map'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map/mapper.rb:40:in `map'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/source_map.rb:140:in `map'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/api_map.rb:86:in `block in catalog'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/api_map.rb:68:in `each'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/api_map.rb:68:in `catalog'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/library.rb:18:in `initialize'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/library.rb:366:in `new'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/library.rb:366:in `load'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:255:in `prepare'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:272:in `block in prepare_folders'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:271:in `each'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:271:in `prepare_folders'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/message/initialize.rb:11:in `block in process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/2.3.0/benchmark.rb:293:in `measure'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/message/initialize.rb:8:in `process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/host.rb:94:in `receive'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/adapter.rb:33:in `process'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/adapter.rb:14:in `block in opening'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:53:in `parse_message_from_buffer'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:31:in `block in receive'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:26:in `each_char'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/data_reader.rb:26:in `receive'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/solargraph-0.31.0/lib/solargraph/language_server/transport/adapter.rb:25:in `sending'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport/client.rb:48:in `sending'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport/server/tcpip.rb:25:in `block (2 levels) in tick'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport/server/tcpip.rb:19:in `each'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport/server/tcpip.rb:19:in `block in tick'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport/server/tcpip.rb:18:in `synchronize'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport/server/tcpip.rb:18:in `tick'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport/machine.rb:56:in `each'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport/machine.rb:56:in `tick'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport/machine.rb:64:in `run_server_thread'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport/machine.rb:19:in `run'", "/Users/bjkeller/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0/gems/backport-0.3.0/lib/backport.rb:51:in `run'
[Extension Host] Error starting Solargraph socket provider Error: [ArgumentError] negative argument
at new ResponseError (/Users/bjkeller/.vscode/extensions/castwide.solargraph-0.19.3/node_modules/vscode-languageclient/node_modules/vscode-jsonrpc/lib/messages.js:46:28)
at handleResponse (/Users/bjkeller/.vscode/extensions/castwide.solargraph-0.19.3/node_modules/vscode-languageclient/node_modules/vscode-jsonrpc/lib/main.js:430:48)
at processMessageQueue (/Users/bjkeller/.vscode/extensions/castwide.solargraph-0.19.3/node_modules/vscode-languageclient/node_modules/vscode-jsonrpc/lib/main.js:258:17)
at Immediate.<anonymous> (/Users/bjkeller/.vscode/extensions/castwide.solargraph-0.19.3/node_modules/vscode-languageclient/node_modules/vscode-jsonrpc/lib/main.js:242:13)
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5)
The trigger is (probably) two sets of comments that overlap a codepoint. This is the minimal example that I used to reproduce the error:
=begin
=end
y = 1 #foo
The begin/end block and the #foo comment are both attached to the same line of code, which used to confuse the parser.
It looks like you're still using gem version 0.31.0. The bug should be fixed in 0.31.1. The current version is 0.31.3.