scopehal-apps icon indicating copy to clipboard operation
scopehal-apps copied to clipboard

SDR usbtmc transport segfaults when given a bad path

Open juh2600 opened this issue 11 months ago • 0 comments

Fresh build of clean repo at b7fd0e9b, to reproduce:

  1. Open ngscopeclient
  2. Add > SDR > Connect...
  3. Select usbtmc transport
  4. Enter an arbitrary path such as /dev/null (I can't test against one that should work because I don't even know what usbtmc is)
  5. Add
  6. Segfault

Linux wunk 6.13.3-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 17 Feb 2025 17:42:11 +0000 x86_64 GNU/Linux

[I] juh ~> ngscopeclient --debug 2>&1 | sed -e 's/\x1b\[[0-9;]*m//g' | clip
Initializing Vulkan
    VK_KHR_get_physical_device_properties2: supported
    VK_KHR_xcb_surface: supported
    VK_KHR_xlib_surface: supported
    VK_EXT_debug_utils: supported
    Loader/API support available for Vulkan 1.4
    Vulkan 1.2 support available, requesting it
    Initializing glfw 3.4.0 Wayland X11 GLX Null EGL OSMesa monotonic shared
    GLFW required extensions:
        VK_KHR_surface
        VK_KHR_xcb_surface
    Physical devices:
        Device 0: AMD Radeon RX 7700S (RADV NAVI33)
            API version:            0x00403128 (0.1.3.296)
            Driver version:         0x06003004 (0.24.3.4)
            Vendor ID:              1002
            Device ID:              7480
            Device type:            Discrete GPU
            int64:                  yes
            int16:                  yes (allowed in SSBOs)
            int8:                   yes (allowed in SSBOs)
            Max image dim 2D:       16384
            Max storage buf range:  4095 MB
            Max mem objects:        4294967295
            Max compute shared mem: 64 KB
            Max compute grp count:  65535 x 65535 x 65535
            Max compute invocs:     1024
            Max compute grp size:   1024 x 1024 x 1024
            Memory types:
                Type 0
                    Heap index: 1
                    Device local
                Type 1
                    Heap index: 1
                    Device local
                Type 2
                    Heap index: 0
                    Host visible
                    Host coherent
                Type 3
                    Heap index: 1
                    Device local
                    Host visible
                    Host coherent
                Type 4
                    Heap index: 1
                    Device local
                    Host visible
                    Host coherent
                Type 5
                    Heap index: 0
                    Host visible
                    Host coherent
                    Host cached
                Type 6
                    Heap index: 0
                    Host visible
                    Host coherent
                    Host cached
                Type 7
                    Heap index: 1
                    Device local
                    Device coherent
                    Device uncached
                Type 8
                    Heap index: 0
                    Host visible
                    Host coherent
                    Device coherent
                    Device uncached
                Type 9
                    Heap index: 1
                    Device local
                    Host visible
                    Host coherent
                    Device coherent
                    Device uncached
                Type 10
                    Heap index: 0
                    Host visible
                    Host coherent
                    Host cached
                    Device coherent
                    Device uncached
            Memory heaps:
                Heap 0
                    Size: 23 GB
                Heap 1
                    Size: 7 GB
                    Device local
        Device 1: AMD Radeon 780M (RADV GFX1103_R1)
            API version:            0x00403128 (0.1.3.296)
            Driver version:         0x06003004 (0.24.3.4)
            Vendor ID:              1002
            Device ID:              15bf
            Device type:            Integrated GPU
            int64:                  yes
            int16:                  yes (allowed in SSBOs)
            int8:                   yes (allowed in SSBOs)
            Max image dim 2D:       16384
            Max storage buf range:  4095 MB
            Max mem objects:        4294967295
            Max compute shared mem: 64 KB
            Max compute grp count:  65535 x 65535 x 65535
            Max compute invocs:     1024
            Max compute grp size:   1024 x 1024 x 1024
            Memory types:
                Type 0
                    Heap index: 1
                    Device local
                Type 1
                    Heap index: 1
                    Device local
                Type 2
                    Heap index: 0
                    Host visible
                    Host coherent
                Type 3
                    Heap index: 1
                    Device local
                    Host visible
                    Host coherent
                Type 4
                    Heap index: 1
                    Device local
                    Host visible
                    Host coherent
                Type 5
                    Heap index: 0
                    Host visible
                    Host coherent
                    Host cached
                Type 6
                    Heap index: 0
                    Host visible
                    Host coherent
                    Host cached
                Type 7
                    Heap index: 1
                    Device local
                    Device coherent
                    Device uncached
                Type 8
                    Heap index: 0
                    Host visible
                    Host coherent
                    Device coherent
                    Device uncached
                Type 9
                    Heap index: 1
                    Device local
                    Host visible
                    Host coherent
                    Device coherent
                    Device uncached
                Type 10
                    Heap index: 0
                    Host visible
                    Host coherent
                    Host cached
                    Device coherent
                    Device uncached
            Memory heaps:
                Heap 0
                    Size: 7 GB
                Heap 1
                    Size: 15 GB
                    Device local
        Selected device 0
            Queue families (5 total)
                Queue type 0
                    Queue count:          1
                    Timestamp valid bits: 64
                    Graphics
                    Compute
                    Transfer
                Queue type 1
                    Queue count:          4
                    Timestamp valid bits: 64
                    Compute
                    Transfer
                Queue type 2
                    Queue count:          1
                    Timestamp valid bits: 0
                Queue type 3
                    Queue count:          1
                    Timestamp valid bits: 0
                Queue type 4
                    Queue count:          1
                    Timestamp valid bits: 64
                    Sparse binding
            Driver: vk::DriverId::eMesaRadv
            Enabling 64-bit float support
            Enabling 64-bit integer support
            Enabling 16-bit integer support
            Enabling 16-bit integer support for SSBOs
            Enabling 8-bit integer support
            Enabling 8-bit integer support for SSBOs
            Device has VK_KHR_push_descriptor, requesting it
            Device has VK_KHR_shader_non_semantic_info, requesting it
            Device has VK_EXT_memory_budget, requesting it
            Device has VK_EXT_shader_atomic_float, requesting it
            Using heap 0, type 5 for pinned host memory
            Using heap 1, type 0 for card-local memory
            Sorted queues:
                Family=2 Index=0 Flags=00000020
                Family=3 Index=0 Flags=00000040
                Family=4 Index=0 Flags=00000008
                Family=1 Index=0 Flags=00000006
                Family=1 Index=1 Flags=00000006
                Family=1 Index=2 Flags=00000006
                Family=1 Index=3 Flags=00000006
                Family=0 Index=0 Flags=00000007
            QueueManager creating family=1 index=0 name=g_vkTransferQueue
    
    vkFFT version: 1.3.3
Detecting CPU features...
    * AVX2
    * FMA
    * AVX512F
    * AVX512DQ
    * AVX512VL
    
QueueManager creating family=0 index=0 name=g_mainWindow.render
Using ImGui version 1.91.5
Vulkan driver is Mesa.
Disabling vkSetDebugUtilsObjectNameEXT on VkSurfaceKHR objects to work around driver bug.
QueueManager creating family=1 index=1 name=FilterGraphExecutor[0].queue
QueueManager creating family=1 index=2 name=FilterGraphExecutor[2].queue
QueueManager creating family=1 index=3 name=FilterGraphExecutor[1].queue
Unable to open recently used files list (bad file)
Connecting to SCPI oscilloscope over USBTMC through /dev/null
Warning: Bad IDN response  
SCPITMCTransport::FlushRXBuffer is unimplemented
Warning: Bad IDN response  
SCPITMCTransport::FlushRXBuffer is unimplemented
Warning: Bad IDN response  
SCPITMCTransport::FlushRXBuffer is unimplemented
ERROR: Persistent bad IDN response, giving up
fish: Process 230427, 'ngscopeclient' from job 1, 'ngscopeclient --debug 2>&1 | se…' terminated by signal SIGSEGV (Address boundary error)

juh2600 avatar Feb 25 '25 21:02 juh2600