Skip to content
Snippets Groups Projects
  • Marc-André Lureau's avatar
    49152ac4
    ui: fix crash on serial reset, during init · 49152ac4
    Marc-André Lureau authored
    
    For ex, when resetting the xlnx-zcu102 machine:
    
    (lldb) bt
    * thread #1, queue = 'com.apple.main-thread', stop reason =
    EXC_BAD_ACCESS (code=1, address=0x50)
       * frame #0: 0x10020a740 gd_vc_send_chars(vc=0x000000000) at
    gtk.c:1759:41 [opt]
         frame #1: 0x100636264 qemu_chr_fe_accept_input(be=<unavailable>) at
    char-fe.c:159:9 [opt]
         frame #2: 0x1000608e0 cadence_uart_reset_hold [inlined]
    uart_rx_reset(s=0x10810a960) at cadence_uart.c:158:5 [opt]
         frame #3: 0x1000608d4 cadence_uart_reset_hold(obj=0x10810a960) at
    cadence_uart.c:530:5 [opt]
         frame #4: 0x100580ab4 resettable_phase_hold(obj=0x10810a960,
    opaque=0x000000000, type=<unavailable>) at resettable.c:0 [opt]
         frame #5: 0x10057d1b0 bus_reset_child_foreach(obj=<unavailable>,
    cb=(resettable_phase_hold at resettable.c:162), opaque=0x000000000,
    type=RESET_TYPE_COLD) at bus.c:97:13 [opt]
         frame #6: 0x1005809f8 resettable_phase_hold [inlined]
    resettable_child_foreach(rc=0x000060000332d2c0, obj=0x0000600002c1c180,
    cb=<unavailable>, opaque=0x000000000, type=RESET_TYPE_COLD) at
    resettable.c:96:9 [opt]
         frame #7: 0x1005809d8 resettable_phase_hold(obj=0x0000600002c1c180,
    opaque=0x000000000, type=RESET_TYPE_COLD) at resettable.c:173:5 [opt]
         frame #8: 0x1005803a0
    resettable_assert_reset(obj=0x0000600002c1c180, type=<unavailable>) at
    resettable.c:60:5 [opt]
         frame #9: 0x10058027c resettable_reset(obj=0x0000600002c1c180,
    type=RESET_TYPE_COLD) at resettable.c:45:5 [opt]
    
    While the chardev is created early, the VirtualConsole is associated
    after, during qemu_init_displays().
    
    Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
    Tested-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
    Message-Id: <20230220072251.3385878-1-marcandre.lureau@redhat.com>
    49152ac4
    History
    ui: fix crash on serial reset, during init
    Marc-André Lureau authored
    
    For ex, when resetting the xlnx-zcu102 machine:
    
    (lldb) bt
    * thread #1, queue = 'com.apple.main-thread', stop reason =
    EXC_BAD_ACCESS (code=1, address=0x50)
       * frame #0: 0x10020a740 gd_vc_send_chars(vc=0x000000000) at
    gtk.c:1759:41 [opt]
         frame #1: 0x100636264 qemu_chr_fe_accept_input(be=<unavailable>) at
    char-fe.c:159:9 [opt]
         frame #2: 0x1000608e0 cadence_uart_reset_hold [inlined]
    uart_rx_reset(s=0x10810a960) at cadence_uart.c:158:5 [opt]
         frame #3: 0x1000608d4 cadence_uart_reset_hold(obj=0x10810a960) at
    cadence_uart.c:530:5 [opt]
         frame #4: 0x100580ab4 resettable_phase_hold(obj=0x10810a960,
    opaque=0x000000000, type=<unavailable>) at resettable.c:0 [opt]
         frame #5: 0x10057d1b0 bus_reset_child_foreach(obj=<unavailable>,
    cb=(resettable_phase_hold at resettable.c:162), opaque=0x000000000,
    type=RESET_TYPE_COLD) at bus.c:97:13 [opt]
         frame #6: 0x1005809f8 resettable_phase_hold [inlined]
    resettable_child_foreach(rc=0x000060000332d2c0, obj=0x0000600002c1c180,
    cb=<unavailable>, opaque=0x000000000, type=RESET_TYPE_COLD) at
    resettable.c:96:9 [opt]
         frame #7: 0x1005809d8 resettable_phase_hold(obj=0x0000600002c1c180,
    opaque=0x000000000, type=RESET_TYPE_COLD) at resettable.c:173:5 [opt]
         frame #8: 0x1005803a0
    resettable_assert_reset(obj=0x0000600002c1c180, type=<unavailable>) at
    resettable.c:60:5 [opt]
         frame #9: 0x10058027c resettable_reset(obj=0x0000600002c1c180,
    type=RESET_TYPE_COLD) at resettable.c:45:5 [opt]
    
    While the chardev is created early, the VirtualConsole is associated
    after, during qemu_init_displays().
    
    Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
    Tested-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
    Message-Id: <20230220072251.3385878-1-marcandre.lureau@redhat.com>