[erlang-questions] "New" vs. "old" console behavior: bug or feature?

Scott Lystig Fritchie fritchie@REDACTED
Wed Apr 24 22:15:55 CEST 2013

Robert Virding <robert.virding@REDACTED> wrote:

rv> Strange because both user.erl and group.erl "should" be able to
rv> handle output requests in the middle of getting input. But it is a
rv> little difficult to see in group as there is all this tricky search
rv> code. :-)

"should" /= "reality", alas.  See the backtrace below when the problem


--- snip --- snip --- snip --- snip --- snip --- snip ---

State: Waiting
Name: user
Spawned as: erlang:apply/2
Current call: user:get_chars_more/7
Spawned by: <0.29.0>
Started: Tue Apr  9 16:16:46 2013
Message queue length: 1
Message queue: [{io_request,<0.186.0>,<0.179.0>,{put_chars,unicode,<<821
Number of heap fragments: 0
Heap fragment data: 0
Link list: []
Dictionary: [{shell,<0.31.0>},{read_mode,list},{unicode,false}]
Reductions: 357542
Stack+heap: 610
OldHeap: 0
Heap unused: 152
OldHeap unused: 0
Stack dump:
Program counter: 0x00007f0c51d92930 (user:get_chars_more/7 + 232)
CP: 0x0000000000000000 (invalid)
arity = 0

0x00007f0c51931710 Return addr 0x00007f0c51d8c498 (user:do_io_request/5 + 88)
y(0)     unicode
y(1)     {[],[]}
y(2)     #Port<0.630>
y(3)     {erl_scan,tokens,[1]}
y(4)     get_until
y(5)     io_lib
y(6)     {erl_scan_continuation,[],no_col,[],2,{erl_scan,#Fun<erl_scan.3.84904554>,false,false,false},0,#Fun<erl_scan.25.84904554>}

0x00007f0c51931750 Return addr 0x00007f0c51d8c308 (user:server_loop/2 + 1408)
y(0)     #Port<0.630>
y(1)     <0.30.0>
y(2)     <0.25333.1728>

0x00007f0c51931770 Return addr 0x00007f0c51d8b968 (user:catch_loop/3 + 112)
y(0)     #Port<0.630>

0x00007f0c51931780 Return addr 0x0000000000836c78 (<terminate process normally>)
y(0)     <0.31.0>
y(1)     #Port<0.630>
y(2)     Catch 0x00007f0c51d8b968 (user:catch_loop/3 + 112)

More information about the erlang-questions mailing list