Opened 3 months ago
#18984 new bug
BFS: KDL in `bfs_unlink`, corrupted linked list
Reported by: | jessicah | Owned by: | axeld |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | File Systems/BFS | Version: | R1/beta4 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
On hrev57730. Whilst trying to remove several very large directories simultaneously, and running pkgman update
, system crashed.
KDL:
PANIC: ASSERT FAILED (../haiku-git/headers/private/kernel/util/DoublyLinkedList.h:399): fFirst == __null ? fLast == __null : fLast != __null; list: 0xffffffff8329fef8 Welcome to Kernel Debugging Land... Thread 602 "TrackerTaskLoop" running on CPU 0 stack trace for thread 602 "TrackerTaskLoop" kernel stack: 0xffffffff93743000 to 0xffffffff93748000 user stack: 0x00007faddec92000 to 0x00007faddecd2000 frame caller <image>:function + offset 0 ffffffff93747a70 (+ 32) ffffffff8014ba60 <kernel_x86_64> arch_debug_call_with_fault_handler + 0x1a 1 ffffffff93747a90 (+ 80) ffffffff800b3af8 <kernel_x86_64> debug_call_with_fault_handler + 0x78 2 ffffffff93747ae0 (+ 96) ffffffff800b51a4 <kernel_x86_64> kernel_debugger_loop(char const*, char const*, __va_list_tag*, int) + 0xf4 3 ffffffff93747b40 (+ 80) ffffffff800b553e <kernel_x86_64> kernel_debugger_internal(char const*, char const*, __va_list_tag*, int) + 0x6e 4 ffffffff93747b90 (+ 240) ffffffff800b58d7 <kernel_x86_64> panic + 0xb7 5 ffffffff93747c80 (+ 32) ffffffff8212f7ce <bfs> Inode::RemovedFromTransaction[clone .localalias] () + 0xce 6 ffffffff93747ca0 (+ 64) ffffffff82138c41 <bfs> Transaction::NotifyListeners[clone .localalias] (bool) + 0x81 7 ffffffff93747ce0 (+ 48) ffffffff82138e63 <bfs> Journal::Unlock(Transaction*, bool) + 0x53 8 ffffffff93747d10 (+ 128) ffffffff8213f6c8 <bfs> bfs_unlink(fs_volume*, fs_vnode*, char const*) + 0xe8 9 ffffffff93747d90 (+ 320) ffffffff801049b0 <kernel_x86_64> common_unlink(int, char*, bool) + 0x60 10 ffffffff93747ed0 (+ 80) ffffffff8010b6dc <kernel_x86_64> _user_unlink + 0x7c 11 ffffffff93747f20 (+ 16) ffffffff8014d63f <kernel_x86_64> x86_64_syscall_entry + 0xfb user iframe at 0xffffffff93747f30 (end = 0xffffffff93747ff8) rax 0x7e rbx 0x7faddecd1390 rcx 0x1b52e81a9fc rdx 0x0 rsi 0x1118c6cc2370 rdi 0x39 rbp 0x7faddecd0d70 r8 0x80 r9 0x2 r10 0x1b52e81abbc r11 0x246 r12 0x7faddecd0ca0 r13 0x0 r14 0x7faddecd0c80 r15 0x7faddecd0ce0 rip 0x1b52e81a9fc rsp 0x7faddecd0c48 rflags 0x246 vector: 0x63, error code: 0x0 12 ffffffff93747f30 (+140386565131840) 000001b52e81a9fc <libroot.so> _kern_unlink + 0x0c 13 00007faddecd0d70 (+ 304) 00000211f226b3f7 <libtracker.so> _ZN8BPrivate17WellKnowEntryList5MatchEPK8node_ref (nearest) + 0xe7 14 00007faddecd0ea0 (+ 304) 00000211f226b3f7 <libtracker.so> _ZN8BPrivate17WellKnowEntryList5MatchEPK8node_ref (nearest) + 0xe7 15 00007faddecd0fd0 (+ 304) 00000211f226b3f7 <libtracker.so> _ZN8BPrivate17WellKnowEntryList5MatchEPK8node_ref (nearest) + 0xe7 16 00007faddecd1100 (+ 304) 00000211f226b3f7 <libtracker.so> _ZN8BPrivate17WellKnowEntryList5MatchEPK8node_ref (nearest) + 0xe7 17 00007faddecd1230 (+ 304) 00000211f226b3f7 <libtracker.so> _ZN8BPrivate17WellKnowEntryList5MatchEPK8node_ref (nearest) + 0xe7 18 00007faddecd1360 (+ 224) 00000211f226eff3 <libtracker.so> _ZN8BPrivate13FSMoveToTrashEP11BObjectListI9entry_refEP5BListb (nearest) + 0x393 19 00007faddecd1440 (+ 48) 00000211f22f320f <libtracker.so> _Z13TruncTimeBaseIN8BPrivate9BPoseViewEEfP7BStringlPKT_f (nearest) + 0x2c2f 20 00007faddecd1470 (+ 16) 00000211f22f2f1a <libtracker.so> _Z13TruncTimeBaseIN8BPrivate9BPoseViewEEfP7BStringlPKT_f (nearest) + 0x293a 21 00007faddecd1480 (+ 32) 000001b52e819dd9 <libroot.so> _thread_do_exit_work (nearest) + 0x89 22 00007faddecd14a0 (+ 0) 00007faf557be258 <commpage> commpage_thread_exit + 0x00
Upon reboot, it replayed the journal:
bfs: Replay log, disk was not correctly unmounted... register_domain(9, unix) unregister_domain(0xffffffff83151900, 9, unix) bfs: replay block run 0:330:1 in log at 160! bfs: replay block run 52:38186:1 in log at 161! bfs: replay block run 52:38187:1 in log at 162! bfs: replay block run 52:38189:1 in log at 163! bfs: replay block run 52:38190:1 in log at 164! register_domain(5, internet6) unregister_domain(0xffffffff83151900, 5, internet6) bfs: replay block run 52:38192:1 in log at 165! bfs: replay block run 52:38193:1 in log at 166! bfs: replay block run 52:38195:1 in log at 167! bfs: replay block run 52:38198:1 in log at 168! register_domain(1, internet) unregister_domain(0xffffffff83151900, 1, internet) bfs: replay block run 53:54448:1 in log at 169! bfs: replay block run 53:54449:1 in log at 170! ... bfs: replay block run 0:2513:1 in log at 2194! bfs: replay block run 52:38148:1 in log at 2195! bfs: replay block run 52:38149:1 in log at 2196! bfs: replay block run 62:39194:1 in log at 2197! bfs: replay block run 77:47656:1 in log at 2198! bfs: replay block run 77:48612:1 in log at 2199! bfs: replay block run 77:48642:1 in log at 2200! bfs: replay block run 95:37664:1 in log at 2201! bfs: replay block run 444:14171:1 in log at 2202! bfs: mounted "Development" (root node at 524288, device = /dev/disk/nvme/0/0)
Note:
See TracTickets
for help on using tickets.