Bug 487 - Segfaults / issues possibly related to options (e.g. limit_samples)
Summary: Segfaults / issues possibly related to options (e.g. limit_samples)
Status: RESOLVED FIXED
Alias: None
Product: PulseView
Classification: Unclassified
Component: Acquisition (show other bugs)
Version: unreleased development snapshot
Hardware: All All
: Normal critical
Target Milestone: ---
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-21 17:48 CET by Uwe Hermann
Modified: 2014-11-22 16:42 CET (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Uwe Hermann 2014-11-21 17:48:14 CET
There are a few issues in PulseView recently which might be related to a stricter handling of options in libsigrok.

Starting with no devices attached (only "demo"):

$ pulseview
sr: hwdriver: Option 'limit_samples' not available to list for this device.

(Doesn't crash, but the warning/error appears on the command line)


Starting with a Saleae Logic16 attached (but no firmware file available):

$ pulseview
sr: ezusb: Unable to open firmware file /home/uwe/sr/share/sigrok-firmware/saleae-logic16-fx2.fw for reading: No such file or directory
sr: saleae-logic16: Firmware upload failed.
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: saleae-logic16: Failed to init device.
sr: saleae-logic16: Unable to open device.
std::exception

Starting with a Saleae Logic16 attached (firmware is available):

$ pulseview
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'limit_samples' not available to get for this device.

(no crash, but messages on the command line)


Starting with a Saleae Logic16 attached (firmware is available), selecting the Logic16, doing an acquisition:

$ pulseview
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'limit_samples' not available to get for this device.
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'limit_samples' not available to get for this device.
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'limit_samples' not available to get for this device.
sr: hwdriver: Option 'limit_samples' not available to get for this device.
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'limit_samples' not available to get for this device.

(no crash)


Starting with a Saleae Logic16 attached (firmware is available) and opening an .sr file at the same time:

$ pulseview sigrok-dumps/spi/rfm12/rfm12.sr
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'limit_samples' not available to get for this device.
sr: hwdriver: Option 'samplerate' not available to list for this device.
sr: hwdriver: Option 'samplerate' not available to get for this device.
terminate called after throwing an instance of 'sigrok::Error'
  what():  invalid argument
Aborted (core dumped)

Backtrace:

(gdb) bt
#0  0x00007f840a2dd107 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007f840a2de4e8 in __GI_abort () at abort.c:89
#2  0x00007f840abd8b3d in __gnu_cxx::__verbose_terminate_handler ()
    at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
#3  0x00007f840abd6bb6 in __cxxabiv1::__terminate (handler=<optimized out>)
    at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#4  0x00007f840abd6c01 in std::terminate ()
    at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#5  0x00007f840ac2ea01 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimized out>)
    at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:92
#6  0x00007f840ded00a4 in start_thread (arg=0x7f83f5ad6700)
    at pthread_create.c:309
#7  0x00007f840a38dcbd in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111


Same as above, but with no devices attached (only "demo"):

$ pulseview sigrok-dumps/spi/rfm12/rfm12.sr
sr: hwdriver: Option 'limit_samples' not available to list for this device.
sr: hwdriver: Option 'samplerate' not available to list for this device.
sr: hwdriver: Option 'samplerate' not available to get for this device.
terminate called after throwing an instance of 'sigrok::Error'
  what():  invalid argument
Aborted (core dumped)

Backtrace:

(gdb) bt
#0  0x00007fc293c3d107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007fc293c3e4e8 in __GI_abort () at abort.c:89
#2  0x00007fc294538b3d in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
#3  0x00007fc294536bb6 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:47
#4  0x00007fc294536c01 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:57
#5  0x00007fc29458ea01 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimized out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:92
#6  0x00007fc2978300a4 in start_thread (arg=0x7fc27fbf6700) at pthread_create.c:309
#7  0x00007fc293cedcbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Comment 1 Joel Holdsworth 2014-11-22 16:42:31 CET
Fixed in ed1d9d81f46c6595bea7278aa5dc9c1213c81609