[erlang-bugs] Scheduler hang

max_feng max.feng.bao@REDACTED
Thu Feb 25 03:47:56 CET 2016


On Erlang 18.1, my  application run several weeks, and I found one
scheduler hanging for several hourse (But work fine on Erlang-17.5 fine for
several months ! ), here is my experiment:

0) my application run several weeks
1) attach
2) run one process on each scheduler
5> [erlang:spawn(fun() -> erlang:process_flag(scheduler, I), io:format("Id:
~p~n", [I]) end) || I <- lists:seq(1, 24) ].
Id: 1
Id: 2
Id: 3
Id: 4
Id: 6
Id: 5
Id: 7
Id: 8
Id: 9
Id: 10
Id: 11
Id: 13
Id: 12
Id: 14
Id: 15
Id: 16
Id: 17
Id: 18
Id: 19
Id: 21
Id: 22
Id: 24
Id: 23

But scheduler-20 not responsed !.

This is run queue length:
6> erlang:statistics(run_queues).
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0}

The run queue length of scheduler-20 is 1, and increased by when I rerun
[erlang:spawn(fun() -> erlang:process_flag(scheduler, I), io:format("Id:
~p~n", [I]) end) || I <- lists:seq(1, 24) ].


Here is the callstack of scheduler-20, and most schedulers's callstack are
the same:

#0  0x0000003895ee4049 in syscall () from /lib64/libc.so.6
#1  0x000000000060f71e in ethr_event_twait ()
#2  0x00000000004d9edc in scheduler_wait ()
#3  0x00000000004e5926 in schedule ()
#4  0x00000000004383c3 in process_main ()
#5  0x00000000004d431f in sched_thread_func ()
#6  0x000000000060ee12 in thr_wrapper ()
#7  0x0000003896207851 in start_thread () from /lib64/libpthread.so.0
#8  0x0000003895ee767d in clone () from /lib64/libc.so.6

But after several hours scheduler-20 resume again !

Max Feng
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20160225/2d4666f5/attachment.htm>


More information about the erlang-bugs mailing list