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

pulseeffects segfault on gentoo #516

Closed
sandikata opened this issue May 28, 2019 · 24 comments
Closed

pulseeffects segfault on gentoo #516

sandikata opened this issue May 28, 2019 · 24 comments

Comments

@sandikata
Copy link

since yesterday system updates pulseeffects won't start but segfault.

[ 1940.065786] threaded-ml[4594]: segfault at 0 ip 00007f58d8bfece6 sp 00007f58d50b46a8 error 4 in libc-2.29.so[7f58d8b82000+156000]
[ 1940.065791] Code: 0f 1f 40 00 66 0f ef c0 66 0f ef c9 66 0f ef d2 66 0f ef db 48 89 f8 48 89 f9 48 81 e1 ff 0f 00 00 48 81 f9 cf 0f 00 00 77 6a 0f 6f 20 66 0f 74 e0 66 0f d7 d4 85 d2 74 04 0f bc c2 c3 48 83

@sandikata
Copy link
Author

https://ufile.io/wkl0psi8
coredump file.

@wwmm
Copy link
Owner

wwmm commented May 28, 2019

I tried to load this coredump but it is not showing the message above. Maybe because the executable on my computer is different from the one that generated it. Try to run in your computer gdb pulseeffects core_dump_file. After that run bt in gdb prompt and press enter till it shows all the lines.

At least on Arch Linux latest stable version is running fine and the code in master branch has passed the tests https://circleci.com/gh/wwmm/pulseeffects/137.

@sandikata
Copy link
Author

tried and master branch, still segfault.

@sandikata
Copy link
Author

will see today, after work. maybe 3PM GMT+3, and will report gdb output

@wwmm
Copy link
Owner

wwmm commented May 28, 2019

Ok. I wonder if your system updates did something odd to glibc. The mention to libc-2.29.so in the crash message sounds suspicious. It suggests that the crash is not happening in PulseEffects code but way deeper.

@wwmm
Copy link
Owner

wwmm commented May 28, 2019

Arch Linux is also using glibc 2.29. So its version is not the problem.

@sandikata
Copy link
Author

Sun May 12 03:30:26 2019 >>> sys-libs/glibc-2.29-r2
   merge time: 8 minutes and 26 seconds.

it was working since last glibc update.. so i don't know really. after yesterday reboot it happened.

@wwmm
Copy link
Owner

wwmm commented May 28, 2019

It is not a solution but it helps to understand the error message above https://utcc.utoronto.ca/~cks/space/blog/linux/KernelSegfaultMessageMeaning. One of his examples is a crash similar to yours and according to him Error 4 and address 0 is a null pointer read but this time it's in some libc function. I am thinking about PulseEffects code and I do not remember having made a direct call to libc functions. So this null pointer read is probably being caused by one of the libraries I am using.

@sandikata
Copy link
Author

So i still cannot understand what you mean.

@sandikata
Copy link
Author

~ ➜ gdb pulseeffects core.pulseeffects.1000.8ec9abac5bd449eca212ee98ff96b787.9884.1558978513000000
GNU gdb (Gentoo 8.3 vanilla) 8.3
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
https://bugs.gentoo.org/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pulseeffects...
(No debugging symbols found in pulseeffects)

warning: exec file is newer than core file.
[New LWP 9889]
[New LWP 9884]
[New LWP 9885]
[New LWP 9886]
[New LWP 9888]
Core was generated by `pulseeffects'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fce0bc86ce6 in ?? ()
[Current thread is 1 (LWP 9889)]
(gdb) bt
#0 0x00007fce0bc86ce6 in ?? ()
#1 0x0000564e00d7b0b9 in ?? ()
#2 0x0000000000000000 in ?? ()
(gdb)

that's everything

@wwmm
Copy link
Owner

wwmm commented May 28, 2019

In short, I am saying that the crash does not seem to be happening in PulseEffects code. Honestly I hope that it is in our code because when it is not finding the source of the problem is way harder.

gdb is printing warning: exec file is newer than core file. It seems that the executable you have in your system now is not the same that generated the core dump file. This is probably why it is printing a useless debug output. Let's try something else. Run in a terminal gdb /usr/bin/pulseeffects. Once you get to gdb prompt execute run. After PulseEffects crashes execute bt and press enter till it shows everything. I hope that now gdb shows something useful.

What happens if you try to start PulseEffects directly in service mode pulseeffects --gapplication-service? Does it crash too?

@sandikata
Copy link
Author

sandikata commented May 28, 2019

~ ➜ gdb /usr/bin/pulseeffects
GNU gdb (Gentoo 8.3 vanilla) 8.3
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
https://bugs.gentoo.org/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/pulseeffects...
(No debugging symbols found in /usr/bin/pulseeffects)
(gdb) run
Starting program: /usr/bin/pulseeffects
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff4809700 (LWP 7944)]
[New Thread 0x7fffeffff700 (LWP 7945)]
[New Thread 0x7fffef297700 (LWP 7946)]
[New Thread 0x7fffeea96700 (LWP 7947)]

Thread 5 "threaded-ml" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffeea96700 (LWP 7947)]
0x00007ffff64c6ce6 in ?? () from /lib64/libc.so.6
(gdb)
(gdb) bt
#0 0x00007ffff64c6ce6 in ?? () from /lib64/libc.so.6
#1 0x00005555556d3839 in ?? ()
#2 0x00007ffff7f55978 in ?? () from /usr/lib64/libpulse.so.0
#3 0x00007ffff63e08ac in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#4 0x00007ffff63e0cd2 in pa_pdispatch_run () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#5 0x00007ffff7f4b9c4 in ?? () from /usr/lib64/libpulse.so.0
#6 0x00007ffff63e38ac in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#7 0x00007ffff63e620b in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#8 0x00007ffff63e6501 in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#9 0x00007ffff63e748a in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#10 0x00007ffff7f61613 in pa_mainloop_dispatch () from /usr/lib64/libpulse.so.0
#11 0x00007ffff7f61cdc in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#12 0x00007ffff7f712d9 in ?? () from /usr/lib64/libpulse.so.0
#13 0x00007ffff63f857e in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#14 0x00007ffff65fd3a7 in start_thread () from /lib64/libpthread.so.0
#15 0x00007ffff652b76f in clone () from /lib64/libc.so.6

@sandikata
Copy link
Author

What happens if you try to start PulseEffects directly in service mode pulseeffects --gapplication-service? Does it crash too?

crashing constantly!

@wwmm
Copy link
Owner

wwmm commented May 28, 2019

This log is better. The crash in libc is happening inside one of Pulseaudio's libraries. Try to recompile all Pulseaudio's libraries and reboot. Considering that there is no mention to any of PulseEffects libraries it feels like something in Pulseaudio is broken.

@sandikata
Copy link
Author

Rebooted after pulseaudio rebuild, keep segfaulting.

@sandikata
Copy link
Author

But there's nothing changed since 12 may, and it worked till yesterday.

@wwmm
Copy link
Owner

wwmm commented May 28, 2019

Are other Pulseaudio apps like Pavucontrol working? Are commands like pacmd info and pulseaudio --dump-conf running or do they crash too?

If you downgrade PulseEffects to an older version does it work? If nothing on your system changed then it is something in PulseEffects that changed and is causing the crash. But considering that everything is fine in Arch Linux I have no idea of what could be.

@sandikata
Copy link
Author

pacmd info works, pulseaudio --dump-conf works.
pulseeffects not work.

@wwmm
Copy link
Owner

wwmm commented May 28, 2019

When you try to run PulseEffects in debug mode G_MESSAGES_DEBUG=pulseeffects pulseeffects what does it print? This should give some clue about which point in the initialization process it is crashing. It would also be good to see the output of pactl info

@sandikata
Copy link
Author

downgrading pulseeffects to 4.5.9 -> works but 4.6.1 and newer -> segfault

@wwmm
Copy link
Owner

wwmm commented May 28, 2019

Ok. I think I know what is going on. Maybe your Pulseaudio install is showing its version with a string formatted in a way that I thought that it would only show when it is compiled directly from its git repository. This is something that newer PE versions parses differently so we can enable features that are present only in the Pulseaudio development build. The commands in my last comment should show if this is the case.

@wwmm
Copy link
Owner

wwmm commented May 29, 2019

I did some changes to the code in master branch that should help to fix this bug(assuming the reason is the one I told above). If possible try a Gentoo package that builds directly from our git repository instead from the latest stable tarball.

@sandikata
Copy link
Author

in gentoo we have git package. i can try.

@wwmm
Copy link
Owner

wwmm commented Jul 27, 2019

Inactive

@wwmm wwmm closed this as completed Jul 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants