Crash of the daemon in the middle of a call
Issue generated from Tuleap's migration script. Originally submitted by: Baptiste Jonglez (baptiste)
In a audio/video conversation, after about 30 minutes of conversation, the image froze and there was no sound anymore. It turns out that dring had crashed.
This happened on Archlinux, with versions:
- ring-daemon 88efa70609c8f438e85de84260d89a54ee518301
- libringclient 54bb9b6c55ab9c5b23a5c76641b49761ca67b5be
- ring-gnome 45bee9ccc17ec7de1e570ef3133f4dfdfba8c309
The other end of the conversation was a Windows machine.
Note that the local (Archlinux) system was under heavy CPU load (ring-related) during the whole conversation, because the camera was configured with the highest resolution and framerate (1280x720 at 30 FPS). As a result, the image as seen by the other end of the conversation was lagging behind audio, by a few seconds.
I'm attaching a whole lot of logs to this bug, in case it's useful, and here is the most interesting part (notice the assertion failure):
mars 25 18:01:03 lud cx.ring.Ring[1405]: [sdp @ 0x7fc31c000980] max delay reached. need to consume packet mars 25 18:01:03 lud cx.ring.Ring[1405]: [g722 @ 0x7fc31c007600] RTP: missed 2 packets mars 25 18:01:03 lud cx.ring.Ring[1405]: [sdp @ 0x7fc31c000980] max delay reached. need to consume packet mars 25 18:01:03 lud cx.ring.Ring[1405]: [g722 @ 0x7fc31c007600] RTP: missed 1 packets mars 25 18:01:04 lud cx.ring.Ring[1405]: ALSA lib pcm.c:7963:(snd\_pcm\_recover) underrun occurred mars 25 18:01:04 lud dring[31274]: alsalayer.cpp:689| Audio: Mic error: Broken pipe mars 25 18:01:04 lud cx.ring.Ring[1405]: dring: pcm.c:2758: snd\_pcm\_area\_copy: Assertion `dst < src || dst >= src + bytes' failed. mars 25 18:01:04 lud cx.ring.Ring[1405]: 17:15:38.627 os\_core\_unix.c !pjlib 2.4.5 for POSIX initialized mars 25 18:01:04 lud systemd[1]: Started Process Core Dump (PID 803/UID 0). mars 25 18:01:07 lud systemd-coredump[804]: Process 31274 (dring) of user 1000 dumped core. Stack trace of thread 31515: \#0 0x00007fc356e462a8 raise (libc.so.6) \#1 0x00007fc356e4772a abort (libc.so.6) \#2 0x00007fc356e3f1b7 \_\_assert\_fail\_base (libc.so.6) \#3 0x00007fc356e3f262 \_\_assert\_fail (libc.so.6) \#4 0x00007fc35ba65c84 snd\_pcm\_area\_copy (libasound.so.2) \#5 0x00007fc35ba65ebc snd\_pcm\_areas\_copy (libasound.so.2) \#6 0x00007fc35baa6d95 n/a (libasound.so.2) \#7 0x00007fc35ba77c1f n/a (libasound.so.2) \#8 0x00007fc35ba77a59 n/a (libasound.so.2) \#9 0x000000000051ba97 n/a (dring) \#10 0x000000000051c118 n/a (dring) \#11 0x000000000051cfad n/a (dring) \#12 0x00007fc357787c40 execute\_native\_thread\_routine (libstdc++.so.6) \#13 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#14 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 31280: \#0 0x00007fc359ec83e8 pthread\_cond\_timedwait@@GLIBC\_2.3.2 (libpthread.so.0) \#1 0x00007fc3559ab4ff n/a (libthreadutil.so.6) \#2 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#3 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 31274: \#0 0x00007fc356ef1c3d poll (libc.so.6) \#1 0x00007fc35c13ae74 \_ZN4DBus15DefaultMainLoop8dispatchEv (libdbus-c++-1.so.0) \#2 0x00007fc35c13bbac \_ZN4DBus13BusDispatcher5enterEv (libdbus-c++-1.so.0) \#3 0x000000000041ec2f n/a (dring) \#4 0x000000000041c6b3 main (dring) \#5 0x00007fc356e33710 \_\_libc\_start\_main (libc.so.6) \#6 0x000000000041e6b9 n/a (dring) Stack trace of thread 31283: \#0 0x00007fc356ef3903 \_\_select (libc.so.6) \#1 0x00007fc35ad406df n/a (libupnp.so.6) \#2 0x00007fc3559ab7fc n/a (libthreadutil.so.6) \#3 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#4 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 31275: \#0 0x00007fc356ef3903 \_\_select (libc.so.6) \#1 0x00000000005586dc n/a (dring) \#2 0x00007fc357787c40 execute\_native\_thread\_routine (libstdc++.so.6) \#3 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#4 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 31276: \#0 0x00007fc359ec803f pthread\_cond\_wait@@GLIBC\_2.3.2 (libpthread.so.0) \#1 0x00007fc3559ac61c n/a (libthreadutil.so.6) \#2 0x00007fc3559ab7fc n/a (libthreadutil.so.6) \#3 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#4 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 31278: \#0 0x00007fc359ec83e8 pthread\_cond\_timedwait@@GLIBC\_2.3.2 (libpthread.so.0) \#1 0x00007fc3559ab4ff n/a (libthreadutil.so.6) \#2 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#3 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 31514: \#0 0x00007fc356ef3903 \_\_select (libc.so.6) \#1 0x00000000005cf4d2 n/a (dring) \#2 0x00000000005cbea7 n/a (dring) \#3 0x00000000004d6a59 n/a (dring) \#4 0x00000000004d6b7a n/a (dring) \#5 0x00007fc357787c40 execute\_native\_thread\_routine (libstdc++.so.6) \#6 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#7 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 31279: \#0 0x00007fc359ec83e8 pthread\_cond\_timedwait@@GLIBC\_2.3.2 (libpthread.so.0) \#1 0x00007fc3559ab4ff n/a (libthreadutil.so.6) \#2 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#3 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 793: \#0 0x00007fc359ec803f pthread\_cond\_wait@@GLIBC\_2.3.2 (libpthread.so.0) \#1 0x00007fc352e2276b n/a (libx264.so.148) \#2 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#3 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 31282: \#0 0x00007fc359ec83e8 pthread\_cond\_timedwait@@GLIBC\_2.3.2 (libpthread.so.0) \#1 0x00007fc3559ab4ff n/a (libthreadutil.so.6) \#2 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#3 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 791: \#0 0x00007fc359ec803f pthread\_cond\_wait@@GLIBC\_2.3.2 (libpthread.so.0) \#1 0x00007fc352e2276b n/a (libx264.so.148) \#2 0x00007fc359ec2424 start\_thread (libpthread.so.0) \#3 0x00007fc356efacbd \_\_clone (libc.so.6) Stack trace of thread 31519: \#0 0x00007fc3591f6f47 n/a (libavcodec.so.57) mars 25 18:01:47 lud dbus-daemon[1405]: Activating service name='cx.ring.Ring' mars 25 18:01:47 lud cx.ring.Ring[1405]: Ring Daemon 2.3.0-88efa70609-dirty, by Savoir-faire Linux 2004-2016 mars 25 18:01:47 lud cx.ring.Ring[1405]: http://www.ring.cx/ mars 25 18:01:47 lud cx.ring.Ring[1405]: [Video support enabled]