[haiku-bugs] [Haiku] #16395: NFS4: Opening text file causes KDL

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Sun, 12 Jul 2020 18:34:05 -0000

#16395: NFS4: Opening text file causes KDL
-------------------------------+-----------------------------
 Reporter:  dogcow             |       Owner:  pdziepak
     Type:  bug                |      Status:  new
 Priority:  normal             |   Milestone:  Unscheduled
Component:  File Systems/NFS4  |     Version:  R1/Development
 Keywords:  nfs, nfs4, kdl     |  Blocked By:
 Blocking:                     |    Platform:  x86-64
-------------------------------+-----------------------------
 hrev54414 x86_64: I was opening an empty text file when this panic
 occured.

 {{{
 PANIC: Unexpected exception "General Protection Exception" occurred in
 kernel mode! Error code: 0x0

 Welcome to Kernel Debugging Land...
 Thread 1077 "w>HELLO.TXT" running on CPU 1
 stack trace for thread 1077 "w>HELLO.TXT"
     kernel stack: 0xffffffff81cbf000 to 0xffffffff81cc4000
       user stack: 0x00007f66dafda000 to 0x00007f66db01a000
 frame                       caller             <image>:function + offset
  0 ffffffff81cc3708 (+  24) ffffffff8014fa1c   <kernel_x86_64>
 arch_debug_call_with_fault_handler + 0x16
  1 ffffffff81cc3720 (+  80) ffffffff800ae1b8   <kernel_x86_64>
 debug_call_with_fault_handler + 0x88
  2 ffffffff81cc3770 (+  96) ffffffff800afb41   <kernel_x86_64>
 kernel_debugger_loop(char const*, char const*, __va_list_tag*, int) + 0xf1
  3 ffffffff81cc37d0 (+  80) ffffffff800afe3e   <kernel_x86_64>
 kernel_debugger_internal(char const*, char const*, __va_list_tag*, int) +
 0x6e
  4 ffffffff81cc3820 (+ 240) ffffffff800b01a7   <kernel_x86_64> panic +
 0xb7
  5 ffffffff81cc3910 (+ 224) ffffffff8015ac08   <kernel_x86_64>
 x86_unexpected_exception + 0x168
  6 ffffffff81cc39f0 (+ 888) ffffffff801512ec   <kernel_x86_64> int_bottom
 + 0x80
 kernel iframe at 0xffffffff81cc3d68 (end = 0xffffffff81cc3e30)
  rax 0xdeadbeefdeadbeef    rbx 0xffffffff9f0912a8    rcx 0x10e931cb29c0
  rdx 0x0                   rsi 0xffffffff9f0912a8    rdi
 0xffffffff9f53b7b8
  rbp 0xffffffff81cc3e80     r8 0xffffffff81cc3ee8     r9
 0xffffffff81cc3ee8
  r10 0xffffffff81c6f1e0    r11 0x3246                r12 0x10e931cb29c0
  r13 0x0                   r14 0xffffffff82299d80    r15
 0xffffffff9f0f1340
  rip 0xffffffff8005332c    rsp 0xffffffff81cc3e38 rflags 0x13246
  vector: 0xd, error code: 0x0
  7 ffffffff81cc3d68 (+ 280) ffffffff8005332c   <kernel_x86_64>
 file_cache_read + 0x0c
  8 ffffffff81cc3e80 (+  80) ffffffff81c6f27c   </boot/system/add-
 ons/kernel/file_systems/nfs4> nfs4_read(fs_volume*, fs_vnode*, void*,
 long, void*, unsigned long*) + 0x9c
  9 ffffffff81cc3ed0 (+  80) ffffffff800f17c3   <kernel_x86_64>
 common_user_io(int, long, void*, unsigned long, bool) + 0x123
 10 ffffffff81cc3f20 (+  16) ffffffff801515f8   <kernel_x86_64>
 x86_64_syscall_entry + 0xfe
 user iframe at 0xffffffff81cc3f30 (end = 0xffffffff81cc3ff8)
  rax 0x8e                  rbx 0x7f66db018880        rcx 0x1e395fe5d64
  rdx 0x10e931cb29c0        rsi 0x0                   rdi 0x8
  rbp 0x7f66db018800         r8 0xab8c9c1a30           r9 0x2d
  r10 0x10000               r11 0x3246                r12 0x5
  r13 0x0                   r14 0x7f66db01884b        r15 0x7f66db018a90
  rip 0x1e395fe5d64         rsp 0x7f66db0187d8     rflags 0x3246
  vector: 0x63, error code: 0x0
 11 ffffffff81cc3f30 (+140081855023312) 000001e395fe5d64   <libroot.so>
 _kern_read + 0x0c
 12 00007f66db018800 (+  48) 000000ab8c70a235   <libbe.so>
 BPositionIO::Read(void*, unsigned long) + 0x35
 13 00007f66db018830 (+  48) 0000015335bd5e5f   <RTFTranslator>
 RTF::Parser::Identify() + 0x1f
 14 00007f66db018860 (+ 192) 0000015335bd669f   <RTFTranslator>
 RTFTranslator::Identify(BPositionIO*, translation_format const*,
 BMessage*, translator_info*, unsigned int) + 0x5f
 15 00007f66db018920 (+ 960) 000001f03e46803a   <libtranslation.so>
 BTranslatorRoster::Private::Identify(BPositionIO*, BMessage*, unsigned
 int, char const*, unsigned int, translator_info*) + 0x15a
 16 00007f66db018ce0 (+ 656) 000001f03e468318   <libtranslation.so>
 BTranslatorRoster::Translate(BPositionIO*, translator_info const*,
 BMessage*, BPositionIO*, unsigned int, unsigned int, char const*) + 0x128
 17 00007f66db018f70 (+ 368) 000001f03e4644e6   <libtranslation.so>
 BTranslationUtils::GetStyledText(BPositionIO*, BTextView*, char const*,
 BTranslatorRoster*) + 0x86
 18 00007f66db0190e0 (+  96) 000000af0818a515   <_APP_>
 StyledEditView::GetStyledText(BPositionIO*, char const*) + 0x75
 19 00007f66db019140 (+ 640) 000000af0818cac3   <_APP_>
 StyledEditWindow::_LoadFile(entry_ref*, char const*) + 0x333
 20 00007f66db0193c0 (+ 352) 000000af0818d09e   <_APP_>
 StyledEditWindow::_ReloadDocument(BMessage*) + 0x45e
 21 00007f66db019520 (+ 224) 000000af0818e37f   <_APP_>
 StyledEditWindow::_ShowNodeChangeAlert(char const*, bool) + 0x17f
 22 00007f66db019600 (+ 320) 000000af0818e562   <_APP_>
 StyledEditWindow::_HandleNodeMonitorEvent(BMessage*) + 0xf2
 23 00007f66db019740 (+ 304) 000000af08192353   <_APP_>
 StyledEditWindow::MessageReceived(BMessage*) + 0x1033
 24 00007f66db019870 (+ 560) 000000ab8c6b3063   <libbe.so>
 BWindow::DispatchMessage(BMessage*, BHandler*) + 0xb43
 25 00007f66db019aa0 (+ 144) 000000ab8c6ae6b1   <libbe.so>
 BWindow::task_looper() + 0x1c1
 26 00007f66db019b30 (+  32) 000000ab8c5f2a41   <libbe.so>
 BLooper::_task0_(void*) + 0x21
 27 00007f66db019b50 (+  32) 000001e395fe5039   <libroot.so>
 _thread_do_exit_work (nearest) + 0x79
 28 00007f66db019b70 (+   0) 00007fc5134c5260   <commpage>
 commpage_thread_exit + 0x00
 kdebug> btstack trace for thread 1077 "w>HELLO.TXT"
     kernel stack: 0xffffffff81cbf000 to 0xffffffff81cc4000
       user stack: 0x00007f66dafda000 to 0x00007f66db01a000
 frame                       caller             <image>:function + offset
  0 ffffffff81cc3448 (+  32) ffffffff800b10e9   <kernel_x86_64>
 invoke_command_trampoline(void*) + 0x19
  1 ffffffff81cc3468 (+  24) ffffffff8014fa1c   <kernel_x86_64>
 arch_debug_call_with_fault_handler + 0x16
  2 ffffffff81cc3480 (+  80) ffffffff800ae1b8   <kernel_x86_64>
 debug_call_with_fault_handler + 0x88
  3 ffffffff81cc34d0 (+  96) ffffffff800b136f   <kernel_x86_64>
 invoke_debugger_command + 0xef
  4 ffffffff81cc3530 (+  64) ffffffff800b14e9   <kernel_x86_64>
 invoke_pipe_segment(debugger_command_pipe*, int, char*) + 0xf9
  5 ffffffff81cc3570 (+  80) ffffffff800b15fc   <kernel_x86_64>
 invoke_debugger_command_pipe + 0xac
  6 ffffffff81cc35c0 (+  96) ffffffff800b6288   <kernel_x86_64>
 ExpressionParser::_ParseCommandPipe(int&) + 0x118
  7 ffffffff81cc3620 (+  96) ffffffff800bcf43   <kernel_x86_64>
 ExpressionParser::EvaluateCommand(char const*, int&) + 0xd83
  8 ffffffff81cc3680 (+ 240) ffffffff800bf4ec   <kernel_x86_64>
 evaluate_debug_command + 0x11c
  9 ffffffff81cc3770 (+  96) ffffffff800afc00   <kernel_x86_64>
 kernel_debugger_loop(char const*, char const*, __va_list_tag*, int) +
 0x1b0
 10 ffffffff81cc37d0 (+  80) ffffffff800afe3e   <kernel_x86_64>
 kernel_debugger_internal(char const*, char const*, __va_list_tag*, int) +
 0x6e
 11 ffffffff81cc3820 (+ 240) ffffffff800b01a7   <kernel_x86_64> panic +
 0xb7
 12 ffffffff81cc3910 (+ 224) ffffffff8015ac08   <kernel_x86_64>
 x86_unexpected_exception + 0x168
 13 ffffffff81cc39f0 (+ 888) ffffffff801512ec   <kernel_x86_64> int_bottom
 + 0x80
 kernel iframe at 0xffffffff81cc3d68 (end = 0xffffffff81cc3e30)
  rax 0xdeadbeefdeadbeef    rbx 0xffffffff9f0912a8    rcx 0x10e931cb29c0
  rdx 0x0                   rsi 0xffffffff9f0912a8    rdi
 0xffffffff9f53b7b8
  rbp 0xffffffff81cc3e80     r8 0xffffffff81cc3ee8     r9
 0xffffffff81cc3ee8
  r10 0xffffffff81c6f1e0    r11 0x3246                r12 0x10e931cb29c0
  r13 0x0                   r14 0xffffffff82299d80    r15
 0xffffffff9f0f1340
  rip 0xffffffff8005332c    rsp 0xffffffff81cc3e38 rflags 0x13246
  vector: 0xd, error code: 0x0
 14 ffffffff81cc3d68 (+ 280) ffffffff8005332c   <kernel_x86_64>
 file_cache_read + 0x0c
 15 ffffffff81cc3e80 (+  80) ffffffff81c6f27c   </boot/system/add-
 ons/kernel/file_systems/nfs4> nfs4_read(fs_volume*, fs_vnode*, void*,
 long, void*, unsigned long*) + 0x9c
 16 ffffffff81cc3ed0 (+  80) ffffffff800f17c3   <kernel_x86_64>
 common_user_io(int, long, void*, unsigned long, bool) + 0x123
 17 ffffffff81cc3f20 (+  16) ffffffff801515f8   <kernel_x86_64>
 x86_64_syscall_entry + 0xfe
 user iframe at 0xffffffff81cc3f30 (end = 0xffffffff81cc3ff8)
  rax 0x8e                  rbx 0x7f66db018880        rcx 0x1e395fe5d64
  rdx 0x10e931cb29c0        rsi 0x0                   rdi 0x8
  rbp 0x7f66db018800         r8 0xab8c9c1a30           r9 0x2d
  r10 0x10000               r11 0x3246                r12 0x5
  r13 0x0                   r14 0x7f66db01884b        r15 0x7f66db018a90
  rip 0x1e395fe5d64         rsp 0x7f66db0187d8     rflags 0x3246
  vector: 0x63, error code: 0x0
 18 ffffffff81cc3f30 (+140081855023312) 000001e395fe5d64   <libroot.so>
 _kern_read + 0x0c
 19 00007f66db018800 (+  48) 000000ab8c70a235   <libbe.so>
 BPositionIO::Read(void*, unsigned long) + 0x35
 20 00007f66db018830 (+  48) 0000015335bd5e5f   <RTFTranslator>
 RTF::Parser::Identify() + 0x1f
 21 00007f66db018860 (+ 192) 0000015335bd669f   <RTFTranslator>
 RTFTranslator::Identify(BPositionIO*, translation_format const*,
 BMessage*, translator_info*, unsigned int) + 0x5f
 22 00007f66db018920 (+ 960) 000001f03e46803a   <libtranslation.so>
 BTranslatorRoster::Private::Identify(BPositionIO*, BMessage*, unsigned
 int, char const*, unsigned int, translator_info*) + 0x15a
 23 00007f66db018ce0 (+ 656) 000001f03e468318   <libtranslation.so>
 BTranslatorRoster::Translate(BPositionIO*, translator_info const*,
 BMessage*, BPositionIO*, unsigned int, unsigned int, char const*) + 0x128
 24 00007f66db018f70 (+ 368) 000001f03e4644e6   <libtranslation.so>
 BTranslationUtils::GetStyledText(BPositionIO*, BTextView*, char const*,
 BTranslatorRoster*) + 0x86
 25 00007f66db0190e0 (+  96) 000000af0818a515   <_APP_>
 StyledEditView::GetStyledText(BPositionIO*, char const*) + 0x75
 26 00007f66db019140 (+ 640) 000000af0818cac3   <_APP_>
 StyledEditWindow::_LoadFile(entry_ref*, char const*) + 0x333
 27 00007f66db0193c0 (+ 352) 000000af0818d09e   <_APP_>
 StyledEditWindow::_ReloadDocument(BMessage*) + 0x45e
 28 00007f66db019520 (+ 224) 000000af0818e37f   <_APP_>
 StyledEditWindow::_ShowNodeChangeAlert(char const*, bool) + 0x17f
 29 00007f66db019600 (+ 320) 000000af0818e562   <_APP_>
 StyledEditWindow::_HandleNodeMonitorEvent(BMessage*) + 0xf2
 30 00007f66db019740 (+ 304) 000000af08192353   <_APP_>
 StyledEditWindow::MessageReceived(BMessage*) + 0x1033
 31 00007f66db019870 (+ 560) 000000ab8c6b3063   <libbe.so>
 BWindow::DispatchMessage(BMessage*, BHandler*) + 0xb43
 32 00007f66db019aa0 (+ 144) 000000ab8c6ae6b1   <libbe.so>
 BWindow::task_looper() + 0x1c1
 33 00007f66db019b30 (+  32) 000000ab8c5f2a41   <libbe.so>
 BLooper::_task0_(void*) + 0x21
 34 00007f66db019b50 (+  32) 000001e395fe5039   <libroot.so>
 _thread_do_exit_work (nearest) + 0x79
 35 00007f66db019b70 (+   0) 00007fc5134c5260   <commpage>
 commpage_thread_exit + 0x00
 kdebug> reboot
 }}}
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/16395>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: