Scheduler hang

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
max
Reply | Threaded
Open this post in threaded view
|

Scheduler hang

max
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



_______________________________________________
erlang-bugs mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-bugs