filelib:is_file/1 vs prim_file:read_file_info/1

Hi,

I noticed that filelib:is_file/1 calls file_server_2 process that in turns calls prim_file:read_file_info/1. If the disk is busy then file_server_2 process can back up messages in its process message queue and hence slow down other filelib calls. Is there any downsides using prim_file:read_file_info/1 directly?

Thanks

4 Likes

I’ve been a little confused about this recently. I recently started an application in the WSL under Window, and it started the eSync autoloader. Then, when eSync starts up, filelib:fold_files will be used to traverse folders and files, which may cause the BEAM virtual machine to freeze. After the freeze, Erlangshell cannot enter and enter, and other Erlang nodes cannot connect to the this node. And the Erlang virtual machine takes up two CPU threads. I think file_server_2 might be buggy, but I haven’t looked into it further and wonder if anyone else has encountered similar problems.

3 Likes

Hi!

prim_file is internal and unsupported so I suggest you don’t use it directly. However, most file operations have a raw mode that’s effectively a thin supported wrapper around it, in this case file:read_file_info("/file/name", [raw]) will do what you want.

The downsides are that:

  • Filesystem operations are no longer guaranteed to appear atomic. For example, not all platforms have a way of renaming files atomically and there may be a short period where we’re juggling temporary files on disk.

    You won’t see those ugly details when going through the file server since it can only do one operation at a time, but using raw mode you can (as can all external observers, of course).

  • raw mode operations can’t be redirected to another node.

I’ve been a little confused about this recently. I recently started an application in the WSL under Window, and it started the eSync autoloader. Then, when eSync starts up, filelib:fold_files will be used to traverse folders and files, which may cause the BEAM virtual machine to freeze. After the freeze, Erlangshell cannot enter and enter, and other Erlang nodes cannot connect to the this node. And the Erlang virtual machine takes up two CPU threads. I think file_server_2 might be buggy, but I haven’t looked into it further and wonder if anyone else has encountered similar problems.

We’ve had similar problems with OneDrive and other users of NTFS reparse points, and I wouldn’t be surprised if WSL uses them too. Can you attach a debugger to see what it’s doing?

3 Likes

I’m very interested but I don’t know how to attach a debugger. Is there a tutorial for that ?

2 Likes

Sure, grab Visual Studio if you haven’t already, and then follow these:

Select one of the threads that’s stuck doing work, and paste its call stack here. :slight_smile:

3 Likes

great, I’ll try tomorrow

3 Likes

Thanks for the tip.
file:read_file_info("/file/name"). goes through file server

and [raw] option does not
file:read_file_info("/file/name", [raw]).

This saves a erlang message as it doesn’t need to go to file server.

2 Likes

I installed VS2019 and tried to attach debug, but it didn’t work. I was told that VS2019 needs administrator permission, but I still couldn’t attach debug when start VS2019 with administrator permission. Then I tried to use erlang:trace to trace the function call and got stuck on the function call

Blockquote
{call,<0.417.0>,-576460745702082100,{erlang,list_to_binary,["/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e"]}}
{call,<0.417.0>,-576460745702075500,{filelib,do_is_regular,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>,file]}}
{call,<0.417.0>,-576460745702073700,{filelib,eval_read_file_info,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>,file]}}
{call,<0.417.0>,-576460745702072000,{file,read_file_info,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>]}}
{call,<0.417.0>,-576460745702070400,{file,file_name,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>]}}
{call,<0.417.0>,-576460745702068900,{file,check_and_call,[read_file_info,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>]]}}
{call,<0.417.0>,-576460745702067400,{file,check_args,[[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>]]}}
{call,<0.417.0>,-576460745702065800,{file,check_args,[[]]}}
{call,<0.417.0>,-576460745702064400,{file,call,[read_file_info,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>]]}}
{call,<0.417.0>,-576460745702062900,{erlang,dt_spread_tag,[true]}}
{call,<0.417.0>,-576460745702061300,{erlang,list_to_tuple,[[read_file_info,<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>]]}}
{call,<0.417.0>,-576460745702059500,{gen_server,call,[file_server_2,{read_file_info,<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>},infinity]}}
{call,<0.417.0>,-576460745702057800,{gen,call,[file_server_2,’$gen_call’,{read_file_info,<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>},infinity]}}
{call,<0.417.0>,-576460745702056200,{gen,do_for_proc,[file_server_2,#Fun<gen.0.112177237>]}}
{call,<0.417.0>,-576460745702054500,{erlang,whereis,[file_server_2]}}
{call,<0.417.0>,-576460745702052700,{gen,’-call/4-fun-0-’,[<0.59.0>,’$gen_call’,{read_file_info,<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>},infinity]}}
{call,<0.417.0>,-576460745702051200,{gen,do_call,[<0.59.0>,’$gen_call’,{read_file_info,<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>},infinity]}}
{call,<0.417.0>,-576460745702049300,{erlang,monitor,[process,<0.59.0>]}}
{call,<0.59.0>,-576460745702037100,{gen_server,decode_msg,[{’$gen_call’,{<0.417.0>,#Ref<0.366879084.2226651137.90696>},{read_file_info,<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>}},<0.49.0>,file_server_2,undefined,file_server,infinity,infinity,[],false]}}
{call,<0.59.0>,-576460745702035000,{gen_server,handle_msg,[{’$gen_call’,{<0.417.0>,#Ref<0.366879084.2226651137.90696>},{read_file_info,<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>}},<0.49.0>,file_server_2,undefined,file_server,infinity]}}
{call,<0.59.0>,-576460745702033300,{gen_server,try_handle_call,[file_server,{read_file_info,<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>},{<0.417.0>,#Ref<0.366879084.2226651137.90696>},undefined]}}
{call,<0.59.0>,-576460745702031400,{file_server,handle_call,[{read_file_info,<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>},{<0.417.0>,#Ref<0.366879084.2226651137.90696>},undefined]}}
{call,<0.59.0>,-576460745702029600,{prim_file,read_file_info,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>]}}
{call,<0.59.0>,-576460745702028100,{prim_file,read_info_1,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>,1,local]}}
{call,<0.59.0>,-576460745702026500,{prim_file,encode_path,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>]}}
{call,<0.59.0>,-576460745702024900,{prim_file,internal_name2native,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>]}}
{call,<0.59.0>,-576460745702022900,{prim_file,read_info_nif,[<<"/mnt/e/aaGitClone/test/.git/objects/30/47e0b5327019d40bcea0b6f0c04f1078e4885e">>,1]}}

2 Likes

Oh, seems it can’t attach inside WSL then. :confused:

Try gdb -p $EMULATOR_PID from inside WSL instead, and run thread apply all bt.

2 Likes

Blockquote
(gdb)
(gdb) thread apply all bt

Thread 28 (Thread 0x7f9b1fbd2700 (LWP 11160)):
#0  0x00007f9b93ddf49e in epoll_wait (epfd=4, events=events@entry=0x7f9b53ace0a8, maxevents=maxevents@entry=512, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x00007f9b945e8adb in check_fd_events (timeout_time=<optimized out>, max_res=<optimized out>, pr=<optimized out>, ps=<optimized out>) at sys/common/erl_poll.c:1857
#2  erts_poll_wait (ps=0x7f9b53ac4d00, pr=0x7f9b53ace0a8, len=0x7f9b1fbd1e10, tpd=<optimized out>, timeout_time=<optimized out>) at sys/common/erl_poll.c:1952
#3  0x00007f9b945ef215 in erts_check_io (psi=psi@entry=0x7f9b53acb070, timeout_time=timeout_time@entry=9223372036854775807, poll_only_thread=poll_only_thread@entry=1) at sys/common/erl_check_io.c:1715
#4  0x00007f9b94370b02 in poll_thread (vbpt=<optimized out>) at beam/erl_process.c:3345
#5  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#6  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 27 (Thread 0x7f9b1fc32700 (LWP 11159)):
#0  0x00007f9b93dd2ac6 in __ppoll (fds=0x7f9b53ac9028, nfds=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:44
#1  0x00007f9b945fcbd1 in ppoll (__ss=0x0, __timeout=0x0, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77
#2  check_fd_events (pr=0x7f9b53acb098, max_res=512, timeout_time=9223372036854775807, ps=0x7f9b53ac4d80) at x86_64-pc-linux-gnu/opt/jit/erl_poll.flbk.c:1886
#3  erts_poll_wait_flbk (ps=0x7f9b53ac4d80, pr=0x7f9b53acb098, len=len@entry=0x7f9b1fc31db0, tpd=0x7f9b50201190, timeout_time=timeout_time@entry=9223372036854775807) at x86_64-pc-linux-gnu/opt/jit/erl_poll.flbk.c:1952
#4  0x00007f9b945ef118 in erts_check_io (psi=0x7f9b53acb030, timeout_time=timeout_time@entry=9223372036854775807, poll_only_thread=poll_only_thread@entry=0) at sys/common/erl_check_io.c:1710
#5  0x00007f9b94377533 in aux_thread (vix=<optimized out>) at beam/erl_process.c:3243
#6  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#7  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 26 (Thread 0x7f9b1fc92700 (LWP 11158)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0810) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0810, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0800) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b1fc91d8c, esdp=esdp@entry=0x7f9b52a7d3c0, rq=rq@entry=0x7f9b529a3080) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a7d3c0, p=<optimized out>, p@entry=0x7fffe71cab28, calls=<optimized out>, calls@entry=1) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a7d3c0) at beam/beam_common.c:174
#7  0x00007f9b94371095 in sched_dirty_io_thread_func (vesdp=0x7f9b52a7d3c0) at beam/erl_process.c:8752
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 25 (Thread 0x7f9b1fcf2700 (LWP 11157)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d07d0) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d07d0, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d07c0) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b1fcf1d8c, esdp=esdp@entry=0x7f9b52a730c0, rq=rq@entry=0x7f9b529a3080) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a730c0, p=<optimized out>, p@entry=0x7fffe71cc7e8, calls=<optimized out>, calls@entry=1) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a730c0) at beam/beam_common.c:174
#7  0x00007f9b94371095 in sched_dirty_io_thread_func (vesdp=0x7f9b52a730c0) at beam/erl_process.c:8752
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 24 (Thread 0x7f9b1fd52700 (LWP 11156)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0790) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0790, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0780) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b1fd51d8c, esdp=esdp@entry=0x7f9b52a68dc0, rq=rq@entry=0x7f9b529a3080) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a68dc0, p=<optimized out>, p@entry=0x7f9b1f5507e8, calls=<optimized out>, calls@entry=1) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a68dc0) at beam/beam_common.c:174
#7  0x00007f9b94371095 in sched_dirty_io_thread_func (vesdp=0x7f9b52a68dc0) at beam/erl_process.c:8752
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
--Type <RET> for more, q to quit, c to continue without paging--
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 23 (Thread 0x7f9b1fdb2700 (LWP 11155)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0750) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0750, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0740) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b1fdb1d8c, esdp=esdp@entry=0x7f9b52a5eac0, rq=rq@entry=0x7f9b529a3080) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a5eac0, p=<optimized out>, p@entry=0x7fffe71cebd8, calls=<optimized out>, calls@entry=1) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a5eac0) at beam/beam_common.c:174
#7  0x00007f9b94371095 in sched_dirty_io_thread_func (vesdp=0x7f9b52a5eac0) at beam/erl_process.c:8752
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 22 (Thread 0x7f9b1fe12700 (LWP 11154)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0710) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0710, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0700) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b1fe11d8c, esdp=esdp@entry=0x7f9b52a547c0, rq=rq@entry=0x7f9b529a3080) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a547c0, p=<optimized out>, p@entry=0x7fffe71ca060, calls=<optimized out>, calls@entry=1) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a547c0) at beam/beam_common.c:174
#7  0x00007f9b94371095 in sched_dirty_io_thread_func (vesdp=0x7f9b52a547c0) at beam/erl_process.c:8752
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 21 (Thread 0x7f9b1fe72700 (LWP 11153)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d06d0) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d06d0, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d06c0) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b1fe71d8c, esdp=esdp@entry=0x7f9b52a4a4c0, rq=rq@entry=0x7f9b529a3080) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a4a4c0, p=<optimized out>, p@entry=0x7fffe71cef70, calls=<optimized out>, calls@entry=1) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a4a4c0) at beam/beam_common.c:174
#7  0x00007f9b94371095 in sched_dirty_io_thread_func (vesdp=0x7f9b52a4a4c0) at beam/erl_process.c:8752
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 20 (Thread 0x7f9b1fed2700 (LWP 11152)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0690) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0690, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0680) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b1fed1d8c, esdp=esdp@entry=0x7f9b52a401c0, rq=rq@entry=0x7f9b529a3080) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a401c0, p=<optimized out>, p@entry=0x7fffe71ce840, calls=<optimized out>, calls@entry=1) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a401c0) at beam/beam_common.c:174
#7  0x00007f9b94371095 in sched_dirty_io_thread_func (vesdp=0x7f9b52a401c0) at beam/erl_process.c:8752
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 19 (Thread 0x7f9b1ff32700 (LWP 11151)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0650) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0650, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0640) at beam/erl_threads.h:2478
--Type <RET> for more, q to quit, c to continue without paging--
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b1ff31d8c, esdp=esdp@entry=0x7f9b52a35ec0, rq=rq@entry=0x7f9b529a3080) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a35ec0, p=<optimized out>, p@entry=0x7fffe71ce110, calls=<optimized out>, calls@entry=1) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a35ec0) at beam/beam_common.c:174
#7  0x00007f9b94371095 in sched_dirty_io_thread_func (vesdp=0x7f9b52a35ec0) at beam/erl_process.c:8752
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 18 (Thread 0x7f9b1ff92700 (LWP 11150)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0610) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0610, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0600) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b1ff91d8c, esdp=esdp@entry=0x7f9b52a2bbc0, rq=rq@entry=0x7f9b529a3080) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a2bbc0, p=<optimized out>, p@entry=0x7fffe71cc450, calls=<optimized out>, calls@entry=1) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a2bbc0) at beam/beam_common.c:174
#7  0x00007f9b94371095 in sched_dirty_io_thread_func (vesdp=0x7f9b52a2bbc0) at beam/erl_process.c:8752
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 17 (Thread 0x7f9b1fff2700 (LWP 11149)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d05d0) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d05d0, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d05c0) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b1fff1d8c, esdp=esdp@entry=0x7f9b52a218c0, rq=rq@entry=0x7f9b529a3080) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a218c0, p=<optimized out>, p@entry=0x7fffe71cb5f0, calls=<optimized out>, calls@entry=1) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a218c0) at beam/beam_common.c:174
#7  0x00007f9b94371095 in sched_dirty_io_thread_func (vesdp=0x7f9b52a218c0) at beam/erl_process.c:8752
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 16 (Thread 0x7f9b50092700 (LWP 11148)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0590) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0590, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0580) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b50091d8c, esdp=esdp@entry=0x7f9b52a175c0, rq=rq@entry=0x7f9b529a2ec0) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a175c0, p=<optimized out>, p@entry=0x7fffe71c8ae8, calls=<optimized out>, calls@entry=4604) at beam/erl_process.c:9737
#6  0x00007f9b9441bcea in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a175c0) at beam/beam_common.c:174
#7  0x00007f9b94370f4f in sched_dirty_cpu_thread_func (vesdp=0x7f9b52a175c0) at beam/erl_process.c:8704
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 15 (Thread 0x7f9b500f2700 (LWP 11147)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0550) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0550, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0540) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b500f1d8c, esdp=esdp@entry=0x7f9b52a0d2c0, rq=rq@entry=0x7f9b529a2ec0) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a0d2c0, p=<optimized out>, p@entry=0x0, calls=<optimized out>, calls@entry=4) at beam/erl_process.c:9737
#6  0x00007f9b9441bd87 in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a0d2c0) at beam/beam_common.c:174
#7  0x00007f9b94370f4f in sched_dirty_cpu_thread_func (vesdp=0x7f9b52a0d2c0) at beam/erl_process.c:8704
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

--Type <RET> for more, q to quit, c to continue without paging--
Thread 14 (Thread 0x7f9b50152700 (LWP 11146)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0510) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0510, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0500) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b50151d8c, esdp=esdp@entry=0x7f9b52a02fc0, rq=rq@entry=0x7f9b529a2ec0) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b52a02fc0, p=<optimized out>, p@entry=0x0, calls=<optimized out>, calls@entry=4) at beam/erl_process.c:9737
#6  0x00007f9b9441bd87 in erts_dirty_process_main (esdp=esdp@entry=0x7f9b52a02fc0) at beam/beam_common.c:174
#7  0x00007f9b94370f4f in sched_dirty_cpu_thread_func (vesdp=0x7f9b52a02fc0) at beam/erl_process.c:8704
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 13 (Thread 0x7f9b501b2700 (LWP 11145)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d04d0) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d04d0, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d04c0) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b501b1d8c, esdp=esdp@entry=0x7f9b529f8cc0, rq=rq@entry=0x7f9b529a2ec0) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b529f8cc0, p=<optimized out>, p@entry=0x0, calls=<optimized out>, calls@entry=4) at beam/erl_process.c:9737
#6  0x00007f9b9441bd87 in erts_dirty_process_main (esdp=esdp@entry=0x7f9b529f8cc0) at beam/beam_common.c:174
#7  0x00007f9b94370f4f in sched_dirty_cpu_thread_func (vesdp=0x7f9b529f8cc0) at beam/erl_process.c:8704
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7f9b50412700 (LWP 11144)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0490) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0490, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0480) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b50411d8c, esdp=esdp@entry=0x7f9b529ee9c0, rq=rq@entry=0x7f9b529a2ec0) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b529ee9c0, p=<optimized out>, p@entry=0x0, calls=<optimized out>, calls@entry=4) at beam/erl_process.c:9737
#6  0x00007f9b9441bd87 in erts_dirty_process_main (esdp=esdp@entry=0x7f9b529ee9c0) at beam/beam_common.c:174
#7  0x00007f9b94370f4f in sched_dirty_cpu_thread_func (vesdp=0x7f9b529ee9c0) at beam/erl_process.c:8704
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7f9b50472700 (LWP 11143)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946631af in wait__ (timeout=<optimized out>, spincount=0, e=0x7f9b535d0450) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0450, timeout=<optimized out>) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0440) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b50471d8c, esdp=esdp@entry=0x7f9b529e46c0, rq=rq@entry=0x7f9b529a2ec0) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=esdp@entry=0x7f9b529e46c0, p=<optimized out>, p@entry=0x0, calls=<optimized out>, calls@entry=4) at beam/erl_process.c:9737
#6  0x00007f9b9441bd87 in erts_dirty_process_main (esdp=esdp@entry=0x7f9b529e46c0) at beam/beam_common.c:174
#7  0x00007f9b94370f4f in sched_dirty_cpu_thread_func (vesdp=0x7f9b529e46c0) at beam/erl_process.c:8704
#8  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e250) at pthread/ethread.c:116
#9  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7f9b50582700 (LWP 11142)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946630d6 in wait__ (timeout=604798998921900, spincount=0, e=0x7f9b535d0410) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0410, timeout=604798998921900) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0400) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b5057dcac, esdp=esdp@entry=0x7f9b529d6f00, rq=rq@entry=0x7f9b529a2d00) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=0x7f9b529d6f00, p=<optimized out>, calls=<optimized out>) at beam/erl_process.c:9737
#6  0x00007f9b515513c5 in ?? ()
--Type <RET> for more, q to quit, c to continue without paging--
#7  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f9b50692700 (LWP 11141)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946630d6 in wait__ (timeout=350215755700, spincount=0, e=0x7f9b535d03d0) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d03d0, timeout=350215755700) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d03c0) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b5068dcac, esdp=esdp@entry=0x7f9b529ccc00, rq=rq@entry=0x7f9b529a2b40) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=0x7f9b529ccc00, p=<optimized out>, calls=<optimized out>) at beam/erl_process.c:9737
#6  0x00007f9b515513c5 in ?? ()
#7  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f9b507a2700 (LWP 11140)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946630d6 in wait__ (timeout=48004716200, spincount=0, e=0x7f9b535d0390) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0390, timeout=48004716200) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0380) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b5079dcac, esdp=esdp@entry=0x7f9b529c2900, rq=rq@entry=0x7f9b529a2980) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=0x7f9b529c2900, p=<optimized out>, calls=<optimized out>) at beam/erl_process.c:9737
#6  0x00007f9b515513c5 in ?? ()
#7  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f9b508b2700 (LWP 11139)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946630d6 in wait__ (timeout=604798389726000, spincount=0, e=0x7f9b535d0350) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0350, timeout=604798389726000) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0340) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b508adcac, esdp=esdp@entry=0x7f9b529b8600, rq=rq@entry=0x7f9b529a27c0) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=0x7f9b529b8600, p=<optimized out>, calls=<optimized out>) at beam/erl_process.c:9737
#6  0x00007f9b515513c5 in ?? ()
#7  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f9b509c2700 (LWP 11138)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b946630d6 in wait__ (timeout=604799173590800, spincount=0, e=0x7f9b535d0310) at pthread/ethr_event.c:158
#2  ethr_event_twait (e=e@entry=0x7f9b535d0310, timeout=604799173590800) at pthread/ethr_event.c:665
#3  0x00007f9b9437842a in erts_tse_twait (tmo=<optimized out>, ep=0x7f9b535d0300) at beam/erl_threads.h:2478
#4  scheduler_wait (fcalls=fcalls@entry=0x7f9b509bdcac, esdp=esdp@entry=0x7f9b529ae300, rq=rq@entry=0x7f9b529a2600) at beam/erl_process.c:3568
#5  0x00007f9b94387b86 in erts_schedule (esdp=0x7f9b529ae300, p=<optimized out>, calls=<optimized out>) at beam/erl_process.c:9737
#6  0x00007f9b515513c5 in ?? ()
#7  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f9b50ad2700 (LWP 11137)):
#0  0x00007f9b93ddf49e in epoll_wait (epfd=6, events=events@entry=0x7f9b53acc8a0, maxevents=maxevents@entry=512, timeout=timeout@entry=0) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x00007f9b945e8983 in check_fd_events (timeout_time=<optimized out>, max_res=<optimized out>, pr=<optimized out>, ps=<optimized out>) at sys/common/erl_poll.c:1857
#2  erts_poll_wait (ps=0x7f9b53ac4d40, pr=0x7f9b53acc8a0, len=0x7f9b50acdba0, tpd=<optimized out>, timeout_time=<optimized out>) at sys/common/erl_poll.c:1952
#3  0x00007f9b945ef0e5 in erts_check_io (psi=0x7f9b53acb050, timeout_time=timeout_time@entry=-9223372036854775808, poll_only_thread=poll_only_thread@entry=0) at sys/common/erl_check_io.c:1715
#4  0x00007f9b943883af in erts_schedule (esdp=0x7f9b529a4000, p=<optimized out>, calls=<optimized out>) at beam/erl_process.c:9758
#5  0x00007f9b515513c5 in ?? ()
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f9b50d42700 (LWP 11135)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f9b94662e4c in wait__ (timeout=-1, spincount=0, e=<optimized out>) at pthread/ethr_event.c:158
#2  ethr_event_wait (e=e@entry=0x7f9b535d0290) at pthread/ethr_event.c:653
#3  0x00007f9b9455cf09 in erts_tse_wait (ep=0x7f9b535d0280) at beam/erl_threads.h:2458
#4  async_get (prep_enq=<synthetic pointer>, tse=0x7f9b535d0280, q=0x7f9b51df2440) at beam/erl_async.c:303
#5  async_main (arg=0x7f9b51df2440) at beam/erl_async.c:417
#6  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e230) at pthread/ethread.c:116
#7  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
--Type <RET> for more, q to quit, c to continue without paging--
#8  0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f9b52650700 (LWP 11134)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f9b9477982c <smq_cnd+44>) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7f9b947798c0 <smq_mtx>, cond=0x7f9b94779800 <smq_cnd>) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=cond@entry=0x7f9b94779800 <smq_cnd>, mutex=mutex@entry=0x7f9b947798c0 <smq_mtx>) at pthread_cond_wait.c:638
#3  0x00007f9b94660e8d in ethr_cond_wait (cnd=cnd@entry=0x7f9b94779800 <smq_cnd>, mtx=mtx@entry=0x7f9b947798c0 <smq_mtx>) at common/ethr_mutex.c:1374
#4  0x00007f9b9447cc12 in erts_cnd_wait (cnd=0x7f9b94779800 <smq_cnd>, mtx=0x7f9b947798c0 <smq_mtx>) at beam/erl_threads.h:1805
#5  sys_msg_dispatcher_func (unused=<optimized out>) at beam/erl_trace.c:2277
#6  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e290) at pthread/ethread.c:116
#7  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f9b535c0700 (LWP 11133)):
#0  __libc_read (nbytes=4, buf=0x7f9b535bfe64, fd=12) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __libc_read (fd=12, buf=buf@entry=0x7f9b535bfe64, nbytes=nbytes@entry=4) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f9b945e19b4 in read (__nbytes=4, __buf=0x7f9b535bfe64, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#3  signal_dispatcher_thread_func (unused=<optimized out>) at sys/unix/sys.c:1009
#4  0x00007f9b94662310 in thr_wrapper (vtwd=0x7fffedd3e2b0) at pthread/ethread.c:116
#5  0x00007f9b94245609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f9b93ddf163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f9b93ca0740 (LWP 11128)):
#0  0x00007f9b93dd4ffb in __GI___select (nfds=nfds@entry=0, readfds=readfds@entry=0x0, writefds=writefds@entry=0x0, exceptfds=exceptfds@entry=0x0, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/select.c:41
#1  0x00007f9b945e2c98 in erts_sys_main_thread () at sys/unix/sys.c:1155
#2  0x00007f9b944524e9 in erl_start (argc=<optimized out>, argv=<optimized out>) at beam/erl_init.c:2510
#3  0x00007f9b9436e16d in main (argc=<optimized out>, argv=<optimized out>) at sys/unix/erl_main.c:30
2 Likes

Huh, that’s very funny, I would’ve expected it to be stuck doing IO somewhere. What OTP version are you using?

2 Likes

I encountered this problem with Ubuntu OTP24 OTP25 in WSL. The same code does not appear on centos or Windows.

2 Likes