Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alpha 37 -- IPC: Failed to send message: No buffer space available #650

Closed
Infini7y77 opened this issue Mar 5, 2015 · 17 comments
Closed

Alpha 37 -- IPC: Failed to send message: No buffer space available #650

Infini7y77 opened this issue Mar 5, 2015 · 17 comments
Assignees
Labels

Comments

@Infini7y77
Copy link

@Infini7y77 Infini7y77 commented Mar 5, 2015

Having built an rpm package, installed, and now with a few test runs, I am getting this error "IPC: Failed to send message: No buffer space available" at different times in a run, mostly on the client.
I am using the default vm.cgame.type=0
For the client: sometimes it fails with this error at startup, other times while in online game, and definitely on trying to start a Local/LAN game. Once it fails, it will continually fail at startup with this error "Error during intialization: IPC [...ditto...]" for both client and server.

Any recommendations: is this a parameter setting or a VM issue?

Running on openSUSE 13.1 64bit. Built from source on OBS.

@Amanieu

This comment has been minimized.

Copy link
Member

@Amanieu Amanieu commented Mar 5, 2015

Hmm, that's interesting. People have reported this error before, but we've never been able to reproduce it or track down its cause. I think it might be related to kernel configuration. Could you pastebin the output of sysctl -a?

@Infini7y77

This comment has been minimized.

Copy link
Author

@Infini7y77 Infini7y77 commented Mar 5, 2015

Result of sysctl: https://gist.github.com/Infini7y77/c2967b831e3d58678b9f
Hope this helps.

@Amanieu

This comment has been minimized.

Copy link
Member

@Amanieu Amanieu commented Mar 5, 2015

One theory I have is that this is due to memory fragmentation in the kernel. Could you try running again after rebooting? If that resolves the problem then I have a few ideas on how it can be properly resolved.

@Amanieu

This comment has been minimized.

Copy link
Member

@Amanieu Amanieu commented Mar 5, 2015

Actually, could you also pastebin your kernel log when the error occurs? It might contain relevant information.

@Infini7y77

This comment has been minimized.

Copy link
Author

@Infini7y77 Infini7y77 commented Mar 7, 2015

Well, after reboot and trying all the normal ways to run the game, online, local, with bots, etc, no IPC crash. So your guess is way more than mine. If/when it crashes out, I will try to gather a kernel log and pastebin the results. For now I guess I can chomp a few canned meat ;).

@Amanieu Amanieu self-assigned this Mar 7, 2015
@Amanieu

This comment has been minimized.

Copy link
Member

@Amanieu Amanieu commented Mar 7, 2015

Well the only thing we can do in this case is to reduce the maximum message size in IPC. Currently this is set to 128KB, but that means that the kernel needs 128KB of continuous physical memory for each sent message.

@Kangz

This comment has been minimized.

Copy link
Member

@Kangz Kangz commented Mar 8, 2015

I would b ok with reducing it, apart from ReadFile, most big IPCs should be in the command buffer.

@Veyrdite

This comment has been minimized.

Copy link
Member

@Veyrdite Veyrdite commented Nov 17, 2015

I had this issue the other day whilst running a modded Minecraft that ate and leaked large amounts of memory. Possibly an OOM failure?

@Kangz

This comment has been minimized.

Copy link
Member

@Kangz Kangz commented Nov 17, 2015

More like a memory fragmentation issue.

@illwieckz

This comment has been minimized.

Copy link
Member

@illwieckz illwieckz commented Feb 26, 2020

I get this error from time to time, on my end it occurs randomly on game load, this is what I got today:

Loading VM module /home/illwieckz/dev/buildme-unvanquished/build/vms/debug/cgame-native-dll.so... 
][New Thread 0x7fff8b06a700 (LWP 1077)]
Loaded VM module in 1181 msec 
Loading Lua interpreter 
Warn: Error during error handling: IPC: Failed to send message: No buffer space available 
][Detaching after fork from child process 1082]
Debug: ----- CL_Shutdown ----- 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/unvanquished_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/tex-common_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-players_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-weapons_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-buildables_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-voices_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-soundtrack_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-legacy_test.dpkdir/'... 
Waiting for the VM thread... 
][Thread 0x7fff8b06a700 (LWP 1077) exited]
terminate called after throwing an instance of 'Sys::DropErr'
  what():  IPC: Failed to send message: Bad file descriptor

Thread 1 "daemon" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.

Thread 24 (Thread 0x7fff905d2700 (LWP 31640)):
#0  futex_abstimed_wait_cancelable (private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x555562a75100) at ../sysdeps/unix/sysv/linux/futex-internal.h:208
#1  do_futex_wait (sem=sem@entry=0x555562a75100, abstime=0x0, clockid=0) at sem_waitcommon.c:112
#2  0x00007ffff6fd0488 in __new_sem_wait_slow (sem=0x555562a75100, abstime=0x0, clockid=0) at sem_waitcommon.c:184
#3  0x00007ffff75c9fe9 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
#4  0x00007ffff758f2dd in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
#5  0x00007ffff75c9b57 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
#6  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 23 (Thread 0x7fff907d3700 (LWP 31639)):

Notice there is two IPC-related messages:

  • Warn: Error during error handling: IPC: Failed to send message: No buffer space available
  • IPC: Failed to send message: Bad file descriptor
@illwieckz

This comment has been minimized.

Copy link
Member

@illwieckz illwieckz commented Feb 26, 2020

I also got this one day:

Loading VM module /home/illwieckz/dev/buildme-unvanquished/build/vms/debug/cgame-native-dll.so... 
][New Thread 0x7fff8a0d5700 (LWP 23065)]
Loaded VM module in 1300 msec 
Loading Lua interpreter 
Warn: Error during initialization: IPC: Failed to send message: No buffer space available 
][Detaching after fork from child process 23066]
Debug: ----- CL_Shutdown ----- 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/unvanquished_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/tex-common_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-players_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-weapons_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-buildables_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-voices_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-soundtrack_test.dpkdir/'... 
[FS] Loading pakdir '/home/illwieckz/Mapping/Unvanquished/UnvanquishedAssets/build/test/res-legacy_test.dpkdir/'... 
Error during cgame shutdown: CGame VM: IPC: Unexpected end of message 
Waiting for the VM thread... 
][Thread 0x7fff8a0d5700 (LWP 23065) exited]
terminate called after throwing an instance of 'Sys::DropErr'

Thread 1 "daemon" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.

Thread 24 (Thread 0x7fffa83f6700 (LWP 23060)):
#0  futex_abstimed_wait_cancelable (private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x555562420710) at ../sysdeps/unix/sysv/linux/futex-internal.h:208
#1  do_futex_wait (sem=sem@entry=0x555562420710, abstime=0x0, clockid=0) at sem_waitcommon.c:112
#2  0x00007ffff6fd0488 in __new_sem_wait_slow (sem=0x555562420710, abstime=0x0, clockid=0) at sem_waitcommon.c:184
#3  0x00007ffff75c9fe9 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
#4  0x00007ffff758f2dd in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
#5  0x00007ffff75c9b57 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
#6  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 23 (Thread 0x7fffa85f7700 (LWP 23059)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7fff84008798) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555623bbbc0, cond=0x7fff84008770) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x7fff84008770, mutex=0x5555623bbbc0) at pthread_cond_wait.c:638
#3  0x00007ffff6bba86c in pa_threaded_mainloop_wait () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007ffff75c3496 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
#5  0x00007ffff75c9b57 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
#6  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 22 (Thread 0x7fff8bfff700 (LWP 23058)):
#0  0x00007ffff6ee1c2f in __GI___poll (fds=0x7fff84001030, nfds=3, timeout=322) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff6bba1c6 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007ffff6bab831 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007ffff6babeb3 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007ffff6babf60 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007ffff6bba10d in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007ffff625b37c in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.0.so
#7  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#8  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 19 (Thread 0x7fffa95fa700 (LWP 23044)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x555556d61cc8) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555556d61c78, cond=0x555556d61ca0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555556d61ca0, mutex=0x555556d61c78) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 15 (Thread 0x7fffa9ffb700 (LWP 23039)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555698b624) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555698b5d0, cond=0x55555698b5f8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55555698b5f8, mutex=0x55555698b5d0) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 14 (Thread 0x7fffaa7fc700 (LWP 23038)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555698b624) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555698b5d0, cond=0x55555698b5f8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55555698b5f8, mutex=0x55555698b5d0) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 13 (Thread 0x7fffaaffd700 (LWP 23037)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555698b624) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555698b5d0, cond=0x55555698b5f8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55555698b5f8, mutex=0x55555698b5d0) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7fffab7fe700 (LWP 23036)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555698b624) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555698b5d0, cond=0x55555698b5f8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55555698b5f8, mutex=0x55555698b5d0) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7fffabfff700 (LWP 23035)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555698af24) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555698aed0, cond=0x55555698aef8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55555698aef8, mutex=0x55555698aed0) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7fffc8b20700 (LWP 23034)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555698af24) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555698aed0, cond=0x55555698aef8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55555698aef8, mutex=0x55555698aed0) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7fffc9321700 (LWP 23033)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555698af24) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555698aed0, cond=0x55555698aef8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55555698aef8, mutex=0x55555698aed0) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fffc9b22700 (LWP 23032)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555698af24) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555698aed0, cond=0x55555698aef8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55555698aef8, mutex=0x55555698aed0) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fffca323700 (LWP 23031)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555698af24) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555698aed0, cond=0x55555698aef8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55555698aef8, mutex=0x55555698aed0) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fffcab24700 (LWP 23030)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555698af24) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55555698aed0, cond=0x55555698aef8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55555698aef8, mutex=0x55555698aed0) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fffcb325700 (LWP 23029)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x555556986548) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555569864f8, cond=0x555556986520) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555556986520, mutex=0x5555569864f8) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fffcbc96700 (LWP 23028)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x555556985cd8) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555556985c88, cond=0x555556985cb0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555556985cb0, mutex=0x555556985c88) at pthread_cond_wait.c:638
#3  0x00007fffd09824bb in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#4  0x00007fffd09820db in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#5  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7ffff2e06700 (LWP 23026)):
#0  0x00007ffff6fd144f in __libc_accept (fd=4, addr=..., len=0x0) at ../sysdeps/unix/sysv/linux/accept.c:26
#1  0x0000555555947948 in Sys::ReadSingletonSocket () at /home/illwieckz/dev/buildme-unvanquished/Daemon/src/engine/framework/System.cpp:242
#2  0x000055555594b762 in std::__invoke_impl<void, void (*)()> (__f=@0x5555567c36e8: 0x555555947916 <Sys::ReadSingletonSocket()>) at /usr/include/c++/9/bits/invoke.h:60
#3  0x000055555594b6fa in std::__invoke<void (*)()> (__fn=@0x5555567c36e8: 0x555555947916 <Sys::ReadSingletonSocket()>) at /usr/include/c++/9/bits/invoke.h:95
#4  0x000055555594b68c in std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul> (this=0x5555567c36e8) at /usr/include/c++/9/thread:244
#5  0x000055555594b649 in std::thread::_Invoker<std::tuple<void (*)()> >::operator() (this=0x5555567c36e8) at /usr/include/c++/9/thread:251
#6  0x000055555594b61a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run (this=0x5555567c36e0) at /usr/include/c++/9/thread:195
#7  0x00007ffff7221f74 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#9  0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7ffff3b6b700 (LWP 23025)):
#0  0x00007ffff6eb1d45 in __GI___nanosleep (requested_time=requested_time@entry=0x7ffff3b6a7c0, remaining=remaining@entry=0x7ffff3b6a7c0) at ../sysdeps/unix/sysv/linux/nanosleep.c:28
#1  0x00007ffff6eb1c4e in __sleep (seconds=0) at ../sysdeps/posix/sleep.c:55
#2  0x0000555555948149 in Sys::SignalThread () at /home/illwieckz/dev/buildme-unvanquished/Daemon/src/engine/framework/System.cpp:373
#3  0x000055555594b762 in std::__invoke_impl<void, void (*)()> (__f=@0x5555567c3028: 0x55555594800c <Sys::SignalThread()>) at /usr/include/c++/9/bits/invoke.h:60
#4  0x000055555594b6fa in std::__invoke<void (*)()> (__fn=@0x5555567c3028: 0x55555594800c <Sys::SignalThread()>) at /usr/include/c++/9/bits/invoke.h:95
#5  0x000055555594b68c in std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul> (this=0x5555567c3028) at /usr/include/c++/9/thread:244
#6  0x000055555594b649 in std::thread::_Invoker<std::tuple<void (*)()> >::operator() (this=0x5555567c3028) at /usr/include/c++/9/thread:251
#7  0x000055555594b61a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run (this=0x5555567c3020) at /usr/include/c++/9/thread:195
#8  0x00007ffff7221f74 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x00007ffff6fc6669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#10 0x00007ffff6eee323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffff4b701c0 (LWP 23020)):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff6df1899 in __GI_abort () at abort.c:79
#2  0x00007ffff71e95f6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff71f59ec in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff71f49f9 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff71f53a4 in __gxx_personality_v0 () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff6ff0c53 in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#7  0x00007ffff6ff14ca in _Unwind_Resume () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#8  0x00007fff6a59e89d in Rocket::Core::Assert (msg=0x7fff6a6a7180 "ROCKET_ASSERT(reference_count == 0)", file=0x7fff6a6a7118 "/home/illwieckz/dev/buildme-unvanquished/Unvanquished/libs/libRocket/Source/Core/ReferenceCountable.cpp", line=46) at /home/illwieckz/dev/buildme-unvanquished/Unvanquished/libs/libRocket/Source/Core/Log.cpp:94
#9  0x00007fff6a5ac905 in Rocket::Core::ReferenceCountable::~ReferenceCountable (this=0x7fff6ba9b4b0 <renderInterface>, __in_chrg=<optimized out>) at /home/illwieckz/dev/buildme-unvanquished/Unvanquished/libs/libRocket/Source/Core/ReferenceCountable.cpp:46
#10 0x00007fff6a5acb06 in Rocket::Core::RenderInterface::~RenderInterface (this=0x7fff6ba9b4b0 <renderInterface>, __in_chrg=<optimized out>) at /home/illwieckz/dev/buildme-unvanquished/Unvanquished/libs/libRocket/Source/Core/RenderInterface.cpp:40
#11 0x00007fff6a4135b6 in DaemonRenderInterface::~DaemonRenderInterface (this=0x7fff6ba9b4b0 <renderInterface>, __in_chrg=<optimized out>) at /home/illwieckz/dev/buildme-unvanquished/Unvanquished/src/cgame/rocket/rocket.cpp:200
#12 0x00007ffff6e162de in __cxa_finalize (d=0x7fff6a7eb000) at cxa_finalize.c:83
#13 0x00007fff6a33a077 in __do_global_dtors_aux () from /home/illwieckz/dev/buildme-unvanquished/build/vms/debug/cgame-native-dll.so
#14 0x00007fffffffd600 in ?? ()
#15 0x00007ffff7fe61b2 in _dl_close_worker (map=<optimized out>, force=<optimized out>) at dl-close.c:288
Backtrace stopped: frame did not save the PC
A debugging session is active.

	Inferior 1 [process 23020] will be killed.
@Amanieu

This comment has been minimized.

Copy link
Member

@Amanieu Amanieu commented Feb 26, 2020

Try decreasing NACL_ABI_IMC_USER_BYTES_MAX down to 4096.

@illwieckz

This comment has been minimized.

Copy link
Member

@illwieckz illwieckz commented Feb 26, 2020

Hey @Amanieu, great to see you around! 👋

Is it safe to merge this change to master? Because the issue appears randomly on my end, weeks can be spent without reproducing it, so the only way for me to test this change is to run it everytime and to see if in some months I did not seen it again…

And since I'm working on many work-in-progress branches, if it's not merged on master and the branches rebased on it, I will never test the fix.

Can you explain why it may fix the issue ?

@illwieckz

This comment has been minimized.

Copy link
Member

@illwieckz illwieckz commented Feb 26, 2020

I just see this constant is set in libs/nacl/native_client/src/public/imc_types.h, that would be not that easy to “fix it in master” since it's not part of the repository…

@Amanieu

This comment has been minimized.

Copy link
Member

@Amanieu Amanieu commented Feb 26, 2020

So basically there is fragmentation in kernel memory and it can't find a contiguous block of 128KB to use as the socket buffer. If we lower to 4KB it is more likely to find the space.

I think this change is safe to merge since we already have a mechanism for splitting messages across multiple packets in the IPC code. I prepared a patch here for you to use.

@illwieckz

This comment has been minimized.

Copy link
Member

@illwieckz illwieckz commented Feb 26, 2020

Great! I'll do it.

I know it's bikeshedding, but what is better, the 4096 wording or the 4 << 10 wording?

Because NACL does it this way in libs/nacl/native_client/src/public/imc_types.h:

#define NACL_ABI_IMC_USER_BYTES_MAX    (128 << 10)
@Amanieu

This comment has been minimized.

Copy link
Member

@Amanieu Amanieu commented Feb 26, 2020

It really doesn't matter, pick whichever you prefer.

illwieckz added a commit to illwieckz/Daemon that referenced this issue Feb 26, 2020
illwieckz added a commit to illwieckz/Daemon that referenced this issue Feb 26, 2020
illwieckz added a commit to illwieckz/Daemon that referenced this issue Feb 26, 2020
illwieckz added a commit to illwieckz/Daemon that referenced this issue Feb 26, 2020
illwieckz added a commit to DaemonEngine/Daemon that referenced this issue Feb 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

6 participants
You can’t perform that action at this time.