Opened 9 years ago

Closed 10 months ago

#7003 closed bug (fixed)

KDL triggered by emptying trash on FAT

Reported by: mmadia Owned by: nobody
Priority: normal Milestone: R1
Component: File Systems/FAT Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

hrev39661 - gcc2 hybrid.

Trying to delete a directory within Trash will trigger the following KDL. Reproducible.

usb error control pipe 20: timeout waiting for queued request to complete
usb error hub 19: error updating port status
PANIC: ASSERT FAILED (/Build-O-Matic/output/haiku/src/add-ons/kernel/file_systems/fat/fat.c:401): cluster != 0
Welcome to Kernel Debugging Land...
Thread 233 "TrackerTaskLoop" running on CPU 1
stack trace for thread 233 "TrackerTaskLoop"
    kernel stack: 0x81885000 to 0x81889000
      user stack: 0x70186000 to 0x701c6000
frame               caller     <image>:function + offset
 0 81888618 (+  32) 8010682e   <kernel_x86>:arch_debug_stack_trace + 0x0012
 1 81888638 (+  16) 80076bdf   <kernel_x86> stack_trace_trampoline(NULL) + 0x000b
 2 81888648 (+  12) 8010c376   <kernel_x86>:arch_debug_call_with_fault_handler + 0x001b
 3 81888654 (+  48) 800786ab   <kernel_x86>:debug_call_with_fault_handler + 0x005b
 4 81888684 (+  64) 80076e03   <kernel_x86> kernel_debugger_loop(0x801481f7 "PANIC: ", 0x81fb0e26 "ASSERT FAILED (%s:%d): %s", 0x81888730 "", int32: 1) + 0x021f
 5 818886c4 (+  48) 80077164   <kernel_x86> kernel_debugger_internal(0x801481f7 "PANIC: ", 0x81fb0e26 "ASSERT FAILED (%s:%d): %s", 0x81888730 "", int32: 1) + 0x0048
 6 818886f4 (+  48) 80078a1c   <kernel_x86>:panic + 0x0024
 7 81888724 (+  48) 81fa30bd   </boot/system/add-ons/kernel/file_systems/fat>:get_nth_fat_entry + 0x006d
 8 81888754 (+ 624) 81f9dc27   </boot/system/add-ons/kernel/file_systems/fat>:dosfs_read_vnode + 0x0597
 9 818889c4 (+  96) 800baf4e   <kernel_x86> get_vnode(int32: 7, int64: 4616196142111131120, vnode*: 0x81888a70, true, int32: 1) + 0x0356
10 81888a24 (+  80) 800bf6bf   <kernel_x86>:get_vnode + 0x003f
11 81888a74 (+ 608) 81f9c69e   </boot/system/add-ons/kernel/file_systems/fat>:findfile + 0x02ba
12 81888cd4 (+  64) 81f9c318   </boot/system/add-ons/kernel/file_systems/fat>:findfile_case + 0x0034
13 81888d14 (+  64) 81f9de6d   </boot/system/add-ons/kernel/file_systems/fat>:dosfs_walk + 0x0091
14 81888d54 (+  64) 800bcb01   <kernel_x86> lookup_dir_entry(vnode*: 0x88743dd8, 0x8861c328 "01 6'1'.mp3", vnode*: 0x81888de0) + 0x0071
15 81888d94 (+  80) 800bcd3f   <kernel_x86> vnode_path_to_vnode(vnode*: 0x88743dd8, 0x8861c328 "01 6'1'.mp3", false, int32: 0, io_context*: 0x8807be00, vnode*: 0x81888e90, NULL) + 0x017b
16 81888de4 (+  48) 800bd031   <kernel_x86> vnode_path_to_vnode(vnode*: 0x88743dd8, 0x8861c328 "01 6'1'.mp3", false, int32: 0, false, vnode*: 0x81888e90, NULL) + 0x0049
17 81888e14 (+  64) 800bd986   <kernel_x86> fd_and_path_to_vnode(int32: 17, 0x8861c328 "01 6'1'.mp3", false, vnode*: 0x81888e90, NULL, false) + 0x00aa
18 81888e54 (+  64) 800c3dfd   <kernel_x86> common_path_read_stat(int32: 17, 0x8861c328 "01 6'1'.mp3", false, stat*: 0x81888eec, false) + 0x0031
19 81888e94 (+ 176) 800c938f   <kernel_x86>:_user_read_stat + 0x00eb
20 81888f44 (+ 100) 8010d562   <kernel_x86>:handle_syscall + 0x00af
user iframe at 0x81888fa8 (end = 0x81889000)
 eax 0x8f           ebx 0x497f64        ecx 0x701c5b40   edx 0xffff0114
 esi 0x701c5cf4     edi 0x701c5eb0      ebp 0x701c5b7c   esp 0x81888fdc
 eip 0xffff0114  eflags 0x207      user esp 0x701c5b40
 vector: 0x63, error code: 0x0
21 81888fa8 (+   0) ffff0114   <commpage>:commpage_syscall + 0x0004
22 701c5b7c (+ 272) 0057a187   <libtracker.so> BPrivate<0x0>::FSRecursiveCalcSize(BPrivate::BInfoWindow*: 0x701c5eb0, BPrivate::CopyLoopControl*: 0x701c5cf4, BDirectory*: 0x701c5e64, 0x701c5cec, 0x701c5cf0) + 0x0097
23 701c5c8c (+ 368) 0057a4e6   <libtracker.so> BPrivate<0x701c5eb0>::CalcItemsAndSize(BPrivate::CopyLoopControl*: 0x18176780) + 0x0196
24 701c5dfc (+ 192) 0057c53e   <libtracker.so>:empty_trash__8BPrivatePv (nearest) + 0x0a3a
25 701c5ebc (+  48) 00572ee2   <libtracker.so> BPrivate<0x18176780>::FSDeleteRefList() + 0x004e
26 701c5eec (+  48) 005f3a82   <libtracker.so>:__cl__Q28BPrivatet24ThreeParamFunctionObject3ZPt11BObjectList1Z9entry_refZbZb + 0x0032
27 701c5f1c (+  48) 0060de5b   <libtracker.so> BPrivate::ThreadSequence<0x18176410>::Run() + 0x004f
28 701c5f4c (+  48) 0060de93   <libtracker.so> BPrivate::ThreadSequence<0x181801a0>::Run(0x0) + 0x0023
29 701c5f7c (+  48) 0060da98   <libtracker.so> BPrivate::SimpleThread<0x181801a0>::RunBinder(NULL) + 0x0028
30 701c5fac (+  48) 006bf542   <libroot.so>:_get_next_team_info (nearest) + 0x0072
31 701c5fdc (+   0) 701c5fec   4009:TrackerTaskLoop_233_stack@0x70186000 + 0x3ffec
kdebug> 

Attachments (2)

EmptyTrashKDL.jpeg (644.9 KB ) - added by humdinger 8 years ago.
The KDL
EmptyTrashBacktrace.jpeg (531.8 KB ) - added by humdinger 8 years ago.
The backtrace.

Download all attachments as: .zip

Change History (6)

comment:1 by anevilyak, 9 years ago

Looks related to #5362, though that one asserts in a different spot.

comment:2 by humdinger, 8 years ago

I have similar, but not identical KDLs under hrev42466 gcc2hybrid. Attaching photos.

by humdinger, 8 years ago

Attachment: EmptyTrashKDL.jpeg added

The KDL

by humdinger, 8 years ago

Attachment: EmptyTrashBacktrace.jpeg added

The backtrace.

comment:3 by waddlesplash, 10 months ago

humdinger: Still reproducible?

comment:4 by humdinger, 10 months ago

Resolution: fixed
Status: newclosed

Nope. Emptying the trash on a fat32 formatted USB stick works now.Thanks!

Note: See TracTickets for help on using tickets.