Bug 1319

Summary: PulseView closes on "scanning for axis-sigma" window
Product: PulseView Reporter: paul
Component: OtherAssignee: Nobody <nobody>
Severity: normal CC: d2340161, paul, soeren
Priority: Normal    
Version: unreleased development snapshot   
Target Milestone: ---   
Hardware: All   
OS: All   

Description paul 2018-11-06 16:11:56 CET
I had PulseView working, but now every time I open it the app almost immediately closes. No crash, no error message, the scanning window just closes on the "scanning for axis-sigma" message and the task ends.

I tried 0.4.1 release and the nightly, both x64 and x86.

Windows 10 Pro x64. Tried removing all USB devices except for mouse and keyboard.
Comment 1 Soeren Apel 2018-11-06 16:22:18 CET
Are you using an HP laptop with a thunderbolt dock?
Comment 2 paul 2018-11-06 17:21:48 CET
I am using a Dell laptop with Thunderbolt dock. I sense you have encountered this before.
Comment 3 Soeren Apel 2018-11-06 18:12:46 CET
Yeah, PV shows the same behavior for me when the dock is attached. Disconnecting the dock allows PV to start normally.

If you need the dock, you can work around this issue by starting pulseview with the -D parameter (which prevents device scan on startup, so you'll need to manually scan for the device you want to use afterwards).

I didn't see anything obvious about the USB devices that show up when the dock is attached, so a gdb trace is required. However, I'm a linux guy, so my motivation to work on Windows is... limited.
Comment 4 paul 2018-11-07 10:14:14 CET
Thanks. It's randomly decided to work again now. Next time it happens I will try the -D option.

If I find time I'll try to compile it and see if I can do any debugging. Now you have narrowed it down a bit I might stand a chance of finding the issue quickly.
Comment 5 Soeren Apel 2020-02-08 16:36:25 CET
*** Bug 1493 has been marked as a duplicate of this bug. ***
Comment 6 Soeren Apel 2020-02-10 13:40:10 CET
Backtrace on my Windows 10 machine:

Program received signal SIGSEGV, Segmentation fault.
windows_assign_endpoints (dev_handle=0xd19f610, iface=3, altsetting=<optimized out>) at os/windows_usb.c:762
762     os/windows_usb.c: No such file or directory.

(gdb) bt
#0  windows_assign_endpoints (dev_handle=0xd19f610, iface=3, altsetting=<optimized out>) at os/windows_usb.c:762
#1  0x00aa4e32 in libusb_claim_interface@8 (dev=0xd19f610, interface_number=interface_number@entry=3) at core.c:1553
#2  0x00aafa25 in auto_claim (transfer=transfer@entry=0xd18efd0, interface_number=interface_number@entry=0x724f288, api_type=api_type@entry=4) at os/windows_usb.c:835
#3  0x00ab3460 in hid_submit_control_transfer (sub_api=-1, itransfer=0xd18efa0) at os/windows_usb.c:4096
#4  0x00aad638 in composite_submit_control_transfer (sub_api=-1, itransfer=0xd18efa0) at os/windows_usb.c:4519
#5  0x00aab437 in submit_control_transfer (itransfer=0xd18efa0) at os/windows_usb.c:2180
#6  windows_submit_transfer (itransfer=0xd18efa0) at os/windows_usb.c:2189
#7  0x00aa7c79 in libusb_submit_transfer@4 (transfer=transfer@entry=0xd18efd0) at io.c:1490
#8  0x00aa9ac7 in libusb_control_transfer@32 (dev_handle=dev_handle@entry=0xd19f610, bmRequestType=bmRequestType@entry=128 '\200', bRequest=bRequest@entry=6 '\006', wValue=wValue@entry=768, wIndex=wIndex@entry=0,
    data=data@entry=0x724f481 "", wLength=wLength@entry=255, timeout=timeout@entry=1000) at sync.c:117
#9  0x00aa755f in libusb_get_string_descriptor (length=255, data=0x724f481 "", langid=0, desc_index=0 '\000', dev=0xd19f610) at libusb.h:1790
#10 libusb_get_string_descriptor_ascii@16 (dev=0xd19f610, desc_index=3 '\003', data=data@entry=0x724f5f0 "", length=length@entry=64) at descriptor.c:1169
#11 0x00a2f450 in scan (di=0x12f1460 <chronovu_la_driver_info>, options=0x0) at src/hardware/chronovu-la/api.c:177
#12 0x00a057e8 in sr_driver_scan (driver=0x12f1460 <chronovu_la_driver_info>, options=0x0) at src/hwdriver.c:551
#13 0x009f9884 in sigrok::Driver::scan (this=0x9beeba8, options=...) at bindings/cxx/classes.cpp:496
#14 0x00407562 in pv::DeviceManager::driver_scan[abi:cxx11](std::shared_ptr<sigrok::Driver>, std::map<sigrok::ConfigKey const*, Glib::VariantBase, std::less<sigrok::ConfigKey const*>, std::allocator<std::pair<sigrok::ConfigKey const* const, Glib::VariantBase> > >) (this=0x724fcc4, driver=..., drvopts=...)
    at /home/jenkins_slave/fsroot/workspace/sigrok-cross-mingw/buildtype/static/debugtype/debug/platform/cross-i686-w64-mingw32/cross-compile/mingw/build_debug_32/pulseview/pv/devicemanager.cpp:258
#15 0x004064be in pv::DeviceManager::DeviceManager (this=0x724fcc4, context=..., driver=..., do_scan=true)
    at /home/jenkins_slave/fsroot/workspace/sigrok-cross-mingw/buildtype/static/debugtype/debug/platform/cross-i686-w64-mingw32/cross-compile/mingw/build_debug_32/pulseview/pv/devicemanager.cpp:101
#16 0x00401cf2 in main (argc=0, argv=0x9d24fb4) at /home/jenkins_slave/fsroot/workspace/sigrok-cross-mingw/buildtype/static/debugtype/debug/platform/cross-i686-w64-mingw32/cross-compile/mingw/build_debug_32/pulseview/main.cpp:328
Comment 7 Soeren Apel 2020-02-10 13:41:22 CET

*** This bug has been marked as a duplicate of bug 1115 ***