Opened 17 years ago

Closed 16 years ago

#1986 closed bug (fixed)

ifconfig --delete throws a page fault

Reported by: korli Owned by: axeld
Priority: normal Milestone: R1
Component: Network & Internet/Stack Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

Qemu, ifconfig --delete /dev/net/etherpci/0

domain_interface_went_down(1, /dev/net/etherpci/0)
invalidate_routes(1, /dev/net/etherpci/0)
etherpci: close dev=90b43780
ether: still waiting for read/write to finish
etherpci: free  dev=90b1ccc0
vm_soft_fault: va 0x0 not covered by area in address space
vm_page_fault: vm_soft_fault returned error 'Bad address' on fault at 0x0, ip 0x805579a6, write 0, user 0, thread 0x87
PANIC: vm_page_fault: unhandled page fault in kernel space at 0x0, ip 0x805579a6

Welcome to Kernel Debugging Land...
Running on CPU 0
kdebug> bt
stack trace for thread 135 "ifconfig"
    kernel stack: 0x928ba000 to 0x928be000
      user stack: 0x7efe7000 to 0x7ffe7000
frame            caller     <image>:function + offset
928bd58c (+  52) 80084eab   <kernel>:invoke_debugger_command + 0x00cf
928bd5c0 (+  64) 80085c4c   <kernel>:_ParseCommand__16ExpressionParserRi + 0x01f8
928bd600 (+  48) 8008563e   <kernel>:EvaluateCommand__16ExpressionParserPCcRi + 0x01de
928bd630 (+ 228) 80086d60   <kernel>:evaluate_debug_command + 0x0088
928bd714 (+  64) 800839ee   <kernel>:kernel_debugger_loop__Fv + 0x017a
928bd754 (+  48) 80084699   <kernel>:kernel_debugger + 0x010d
928bd784 (+ 192) 80084581   <kernel>:panic + 0x0029
928bd844 (+  64) 8005d51b   <kernel>:vm_page_fault + 0x00ab
928bd884 (+  64) 80091595   <kernel>:page_fault_exception + 0x00b1
928bd8c4 (+  12) 80094c9d   <kernel>:int_bottom + 0x001d (nearest)
iframe at 0x928bd8d0 (end = 0x928bd928)
 eax 0x0            ebx 0x80563a98      ecx 0x1          edx 0x246
 esi 0x909ac800     edi 0x90b26400      ebp 0x928bd964   esp 0x928bd904
 eip 0x805579a6  eflags 0x293
 vector: 0xe, error code: 0x0
928bd8d0 (+ 148) 805579a6   </boot/beos/system/add-ons/kernel/network/stack>:put_device_interface__FP20net_device_interface + 0x014a
928bd964 (+  80) 80556a34   </boot/beos/system/add-ons/kernel/network/stack>:domain_interface_control__FP18net_domain_privatelP5ifreq + 0x0168
928bd9b4 (+ 288) 80555774   </boot/beos/system/add-ons/kernel/network/stack>:datalink_control__FP10net_domainlPvPUl + 0x0110
928bdad4 (+  48) 80574a82   </boot/beos/system/add-ons/kernel/network/protocols/ipv4>:ipv4_control__FP12net_protocoliiPvPUl + 0x0042
928bdb04 (+  64) 8058e50e   </boot/beos/system/add-ons/kernel/network/protocols/udp>:udp_control__FP12net_protocoliiPvPUl + 0x0036
928bdb44 (+  64) 8055a61f   </boot/beos/system/add-ons/kernel/network/stack>:socket_control__FP10net_socketlPvUl + 0x0037
928bdb84 (+ 432) 80376509   </boot/beos/system/add-ons/kernel/drivers/dev/net/net_stack>:net_stack_control__FPvUlT0Ul + 0x07cd
928bdd34 (+ 336) 800411bb   <kernel>:devfs_ioctl__FPvN20UlT0Ul + 0x023f
928bde84 (+  64) 8004cc69   <kernel>:common_ioctl__FP15file_descriptorUlPvUl + 0x0049
928bdec4 (+  48) 8004548f   <kernel>:fd_ioctl__FbiUlPvUl + 0x005f
928bdef4 (+  80) 8004614c   <kernel>:_user_ioctl + 0x0044
928bdf44 (+ 100) 80094e12   <kernel>:pre_syscall_debug_done + 0x0002 (nearest)
iframe at 0x928bdfa8 (end = 0x928be000)
 eax 0x71           ebx 0x2edec0        ecx 0x7ffe6e20   edx 0xffff0104
 esi 0x3            edi 0x7ffef55f      ebp 0x7ffe6e4c   esp 0x928bdfdc
 eip 0xffff0104  eflags 0x216
 vector: 0x63, error code: 0x0
928bdfa8 (+   0) ffff0104
7ffe6e4c (+ 240) 00201ce2   <_APP_>:delete_interface__FiPCc + 0x0046
7ffe6f3c (+  64) 00202b27   <_APP_>:main + 0x0123
7ffe6f7c (+  48) 00200df7   <_APP_>:_start + 0x005b
7ffe6fac (+  48) 0010078e   1390:runtime_loader_seg0ro@0x00100000 + 0x78e
7ffe6fdc (+   0) 7ffe6fec   1389:ifconfig_main_stack@0x7efe7000 + 0xffffec

Change History (1)

comment:1 by korli, 16 years ago

Resolution: fixed
Status: newclosed

Seems fixed. I'll open another bug for a pagefault on network requests going after the deletion.

Note: See TracTickets for help on using tickets.