Opened 18 months ago

Last modified 18 months ago

#18461 new bug

Deskbar can become stuck/unkillable with bad usb

Reported by: nephele Owned by: jscipione
Priority: normal Milestone: Unscheduled
Component: Applications/Deskbar Version: R1/beta4
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

I have a usb thumb drive, plugging this into my xhci port and then hovering over the mount menu will freeze the deskbar menu.

After this happens Deskbar is unkillable, only after I've unplugged the usb thumb drive it will continue with the kill.

hrev56756 (I'll update in a bit and retest also)

I strongly suspect this is deskbar beeing stack in a system call, i don't know which however. the debug report i did manage to capture (after asking it to be killed) is suprisingly empty

Attachments (1)

Deskbar-1385-debug-18-06-2023-13-55-53.report (13.7 KB ) - added by nephele 18 months ago.

Download all attachments as: .zip

Change History (7)

comment:1 by waddlesplash, 18 months ago

The recent refactors to the USB disk driver almost certainly make a difference here. So indeed please retest with a recent hrev.

comment:2 by X512, 18 months ago

Still present after recent USB changes. Also observed on riscv64 VisionFive 2.

comment:3 by waddlesplash, 18 months ago

A KDL stack trace of both threads will be needed.

comment:4 by waddlesplash, 18 months ago

The thread waiting for a USB disk lock and the thread actually holding it, I mean.

comment:5 by X512, 18 months ago

Locked here for me:

USER: User command requested kernel debugger.
Welcome to Kernel Debugging Land...
Thread 2437 "kernel_debugger" running on CPU 1
kdebug> teams
team                   id  parent              name
0xffffffc0070af000      1  0x0000000000000000  kernel_team
0xffffffc0070a6400   1507  0xffffffc0070af000  launch_daemon
0xffffffc0070a7800   1511  0xffffffc0070a6400  debug_server
0xffffffc0070aaa00   1513  0xffffffc0070a6400  net_server
0xffffffc0070ab400   1514  0xffffffc0070a6400  mount_server
0xffffffc0070a8c00   1515  0xffffffc0070a6400  package_daemon
0xffffffc0070a8200   1516  0xffffffc0070a6400  power_daemon
0xffffffc0070ad200   1517  0xffffffc0070a6400  registrar
0xffffffc0070ae600   1518  0xffffffc0070a6400  syslog_daemon
0xffffffc0070abe00   1522  0xffffffc0070a6400  launch_daemon
0xffffffc0070ac800   1533  0xffffffc0070a6400  media_server
0xffffffc0070a2800   1614  0xffffffc0070abe00  app_server
0xffffffc0070a1e00   1627  0xffffffc0070abe00  Deskbar
0xffffffc0070a3200   1637  0xffffffc0070a2800  input_server
0xffffffc0070a5a00   1658  0xffffffc0070ac800  media_addon_server
0xffffffc0070a0a00   1692  0xffffffc0070a6400  notification_server
0xffffffc0070a6e00   2019  0xffffffc0070abe00  Tracker
0xffffffc0070a1400   2194  0xffffffc0070a6e00  StyledEdit
0xffffffc0070a0000   2218  0xffffffc0070a6e00  Terminal
0xffffffc0070a3c00   2228  0xffffffc0070a0000  bash
0xffffffc03977dc08   2398  0xffffffc0070a6400  cddb_lookup
0xffffffc03977e608   2437  0xffffffc0070a6e00  kernel_debugger
0xffffffc03977d208   2441  0xffffffc0070a6e00  kernel_debugger
kdebug> threads 1627
thread                 id  state     wait for  object              cpu pri  stack              team  name
0xffffffc0076db040   1627  waiting   cvar      0xffffffc0392e6950    -  10  0xffffffc00273e000 1627  Deskbar
0xffffffc0076daac0   1698  waiting   cvar      0xffffffc039296840    -  20  0xffffffc006cc4000 1627  _BMediaRoster_
0xffffffc0072c3c80   1699  zzz                                       -   5  0xffffffc006cc9000 1627  Expando Window Watcher
0xffffffc0072c2c00   1705  waiting   cvar      0xffffffc0392c1d48    -  15  0xffffffc006cd8000 1627  w>Twitcher
0xffffffc0072c5280   1706  waiting   cvar      0xffffffc039055aa0    -  15  0xffffffc006cdd000 1627  w>Deskbar
0xffffffc0396758c0   2412  waiting   mutex     0xffffffc00225fb90    -  15  0xffffffc0026c6000 1627  menu_tracking
0xffffffc039678fc0   2414  waiting   sem       11340                 -  15  0xffffffc006db5000 1627  w>BarMenuBar cached menu
kdebug> bt 2412
Stack:
FP: 0xffffffc0026cac50, PC: 0xffffffc0020c5ad0 <kernel_riscv64> _ZL10reschedulei + 910
FP: 0xffffffc0026cac80, PC: 0xffffffc0020b84d4 <kernel_riscv64> thread_block + 182
FP: 0xffffffc0026cacd0, PC: 0xffffffc0020c27ae <kernel_riscv64> _mutex_lock.localalias + 350
FP: 0xffffffc0026cacf0, PC: 0xffffffc0020c2b1a <kernel_riscv64> recursive_lock_lock.localalias + 60
FP: 0xffffffc0026cad10, PC: 0xffffffc0020e8804 <kernel_riscv64> _ZN12_GLOBAL__N_16Device12UninitDeviceEv + 30
FP: 0xffffffc0026cad30, PC: 0xffffffc0020eabb4 <kernel_riscv64> _ZL17devfs_free_cookieP9fs_volumeP8fs_vnodePv + 54
FP: 0xffffffc0026cad50, PC: 0xffffffc002115ed4 <kernel_riscv64> _ZL12file_free_fdP15file_descriptor + 30
FP: 0xffffffc0026cad70, PC: 0xffffffc002106f10 <kernel_riscv64> put_fd.localalias + 100
FP: 0xffffffc0026cada0, PC: 0xffffffc0021071d0 <kernel_riscv64> close_fd_index.localalias + 206
FP: 0xffffffc0026cade0, PC: 0xffffffc0020abfb8 <kernel_riscv64> syscall_dispatcher + 2946
FP: 0xffffffc0026caed0, PC: 0xffffffc002155c44 <kernel_riscv64> STrap + 726
FP: 0xffffffc0026caff0, PC: 0xffffffc002153898 <kernel_riscv64> SVecU + 120
STrap(exception uEcall)
  sstatus: (ie: {}, pie: {s}, spp: u, fs: dirty, xs: off, sum: 0, mxr: 0, uxl: 2, sd: 1)
  stval: 0x0
   ra: 0x00000028336cb84a   t6: 0x0000000000000007   sp: 0x0000003e655e11e0   gp: 0x0000000000000000
   tp: 0x0000003e655e4000   t0: 0x0000000000000098   t1: 0x00000028336588cc   t2: 0x0000000000000004
   t5: 0x0000000000000004   s1: 0x0000000000000006   a0: 0x0000000000000006   a1: 0x0000003e655e144e
   a2: 0x0000000000000002   a3: 0x0000000000000004   a4: 0x0000000000000000   a5: 0x000000005649434e
   a6: 0xffffffff821701e6   a7: 0x0000002828e5d7ac   s2: 0x000000000000010e   s3: 0x0000003e655e3398
   s4: 0x0000003e655e338c   s5: 0x0000000000000000   s6: 0x0000003e655e1340   s7: 0x0000003e655e3e50
   s8: 0x0000003e655e34b0   s9: 0x0000000000000001  s10: 0x000000317749c038  s11: 0x0000002828e39a30
   t3: 0x000000283365f7f0   t4: 0x0000000000000013   fp: 0x0000003e655e1200  epc: 0x000000283365f7f8
FP: 0x3e655e1200, PC: 0x283365f7f8 <libroot.so> _kern_close + 8
FP: 0x3e655e3380, PC: 0x317744b330 <libbe.so> _Z15get_device_iconPKcPPhPmPj + 270
FP: 0x3e655e33f0, PC: 0x317744b67c <libbe.so> _Z15get_device_iconPKcP7BBitmap9icon_size + 52
FP: 0x3e655e3450, PC: 0x317746b5a8 <libbe.so> _ZNK10BPartition7GetIconEP7BBitmap9icon_size + 98
FP: 0x3e655e3530, PC: 0x30145eccd6 <libtracker.so> _ZN18AddMenuItemVisitor5VisitEP10BPartitioni + 198
FP: 0x3e655e3560, PC: 0x317746a6c8 <libbe.so> _ZN10BPartition20_VisitEachDescendantEP18BDiskDeviceVisitori + 40
FP: 0x3e655e3590, PC: 0x317746a6ec <libbe.so> _ZN10BPartition20_VisitEachDescendantEP18BDiskDeviceVisitori + 76
FP: 0x3e655e35c0, PC: 0x3177465860 <libbe.so> _ZN15BDiskDeviceList18VisitEachPartitionEP18BDiskDeviceVisitor + 32
FP: 0x3e655e3a00, PC: 0x30145ecfe6 <libtracker.so> _ZN8BPrivate9MountMenu14AddDynamicItemEN5BMenu9add_stateE + 140
FP: 0x3e655e3a50, PC: 0x35071cee98 <_APP_> _ZN16DeskbarMountMenu14AddDynamicItemEN5BMenu9add_stateE + 24
FP: 0x3e655e3a90, PC: 0x31773c8746 <libbe.so> _ZN5BMenu16_AddDynamicItemsEb + 70
FP: 0x3e655e3ac0, PC: 0x31773ca8bc <libbe.so> _ZN5BMenu16AttachedToWindowEv + 154
FP: 0x3e655e3af0, PC: 0x3177414d44 <libbe.so> _ZN5BView7_AttachEv + 252
FP: 0x3e655e3b30, PC: 0x3177418cc4 <libbe.so> _ZN5BView9_AddChildEPS_S0_ + 118
FP: 0x3e655e3b50, PC: 0x3177418f5c <libbe.so> _ZN5BView8AddChildEPS_S0_ + 24
FP: 0x3e655e3bc0, PC: 0x31773d1fe8 <libbe.so> _ZN8BPrivate10BMenuFrame16AttachedToWindowEv + 42
FP: 0x3e655e3bf0, PC: 0x3177414d44 <libbe.so> _ZN5BView7_AttachEv + 252
FP: 0x3e655e3c30, PC: 0x3177418cc4 <libbe.so> _ZN5BView9_AddChildEPS_S0_ + 118
FP: 0x3e655e3c50, PC: 0x3177418f5c <libbe.so> _ZN5BView8AddChildEPS_S0_ + 24
FP: 0x3e655e3ca0, PC: 0x317741ce36 <libbe.so> _ZN7BWindow8AddChildEP5BViewS1_ + 72
FP: 0x3e655e3cd0, PC: 0x31773d2844 <libbe.so> _ZN8BPrivate11BMenuWindow10AttachMenuEP5BMenu + 84
FP: 0x3e655e3d30, PC: 0x31773c8862 <libbe.so> _ZN5BMenu5_ShowEbb + 198
FP: 0x3e655e3d70, PC: 0x31773c8a72 <libbe.so> _ZN5BMenu11_SelectItemEP9BMenuItembbb + 172
FP: 0x3e655e3e00, PC: 0x31773c8e20 <libbe.so> _ZN5BMenu22_UpdateStateOpenSelectEP9BMenuItem6BPointR5BRectS4_RlS5_ + 698
FP: 0x3e655e3ef0, PC: 0x31773c95f8 <libbe.so> _ZN5BMenu6_TrackEPil + 648
FP: 0x3e655e3f90, PC: 0x31773cc592 <libbe.so> _ZN8BMenuBar6_TrackEPiib + 558
FP: 0x3e655e3fe0, PC: 0x31773cc8b8 <libbe.so> _ZN8BMenuBar10_TrackTaskEPv + 102
FP: 0x3e655e4000, PC: 0x283365ea30 <libroot.so> _thread_do_exit_work + 122
FP: 0x0, PC: 0x365493d248 <commpage> commpage_thread_exit + 0
kdebug>

Version 0, edited 18 months ago by X512 (next)

comment:6 by waddlesplash, 18 months ago

What is the other lock being waited on? This looks like a deadlock...

Note: See TracTickets for help on using tickets.