-
Notifications
You must be signed in to change notification settings - Fork 320
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
libiio crash with osc #49
Comments
Can you install libiio with debug symbols (libiio0-dbgsym package)? This will improve the quality of the backtrace. |
analog@imhotep:~$ sudo apt-get install libiio0-dbgsym Oh - I need to add debian-debug to my /etc/apt/sources.list - doing that, and apt-get update, then it works (only added that for those who run into the same issue). After that, I get: Thread 1 "osc" received signal SIGSEGV, Segmentation fault. |
Also can you please recompile osc like this:
|
-ggdb3 doesn't make a difference when -g is already there. I replaced -O2 with -O0. Thread 1 "osc" received signal SIGSEGV, Segmentation fault. |
Do you know what "double" value it tries to print? (in iio_channel_attr_write_double) |
Here is a different trace, same setup. Thread 1 "osc" received signal SIGSEGV, Segmentation fault. (gdb) print *chn |
And sometimes here: Thread 1 "osc" received signal SIGSEGV, Segmentation fault. |
Well it looks like that the OSC is passing invalid iio_channel pointers to libiio... |
or is it libiio giving invalid channels to osc to process? :) Something is getting clobbered somewhere. The weird thing is - it only crashes if I don't load a profile in osc (osc -p -). If I let a profile load, it works without issue. -Robin |
I also can try trunk libiio, and see if that changes anything (if that helps?) -Robin |
It's Never Libiio™ Does it only happen with Pluto? What do you do to trigger the bug? |
This might be fixed via the latest master in osc now after I pushed a few network context fixes, at least I can't reproduce it in the same manner anymore. |
Yes - I can't reproduce it now. I will try some more, and open something in the osc project if it happens again.
|
When using ./osc with Pluto, sometimes I get this:
Thread 1 "osc" received signal SIGSEGV, Segmentation fault.
0x00007ffff4cbb3a6 in iio_channel_attr_write_raw ()
from /usr/lib/x86_64-linux-gnu/libiio.so.0
(gdb) bt
#0 0x00007ffff4cbb3a6 in iio_channel_attr_write_raw ()
from /usr/lib/x86_64-linux-gnu/libiio.so.0
#1 0x00007ffff4cbbd66 in iio_channel_attr_write_double ()
from /usr/lib/x86_64-linux-gnu/libiio.so.0
#2 0x00007ffff7bbed47 in iio_widget_save (widget=0x7fffd008e378)
#3 0x00007ffff7bbedd8 in spin_button_progress_step (iio_w=0x7fffd008e378)
#4 0x00007ffff5625fc3 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff562554a in g_main_context_dispatch ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007ffff5625900 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7 0x00007ffff5625c22 in g_main_loop_run ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8 0x00007ffff725e567 in gtk_main ()
from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#9 0x0000000000402e4f in main (argc=, argv=)
Where should the pointer checking be done? in libiio or osc?
I think this is done with the version of libiio in the deb repository. (libiio-dev), not trunk.
-Robin
The text was updated successfully, but these errors were encountered: