Opened 10 years ago

Closed 9 years ago

#11414 closed bug (fixed)

IPv6 KDL in Network Preflet

Reported by: kallisti5 Owned by: axeld
Priority: normal Milestone: R1/beta1
Component: Preferences/Network Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

Flipped on native IPv6, as soon as I renegoated my address I got a KDL

kdebug> bt
stack trace for thread 95895 "w>Network"
    kernel stack: 0xffffffff8911f000 to 0xffffffff89124000
      user stack: 0x00007f9dd2df4000 to 0x00007f9dd2e34000
frame                       caller             <image>:function + offset
 0 ffffffff89122f58 (+  32) ffffffff800a1539   <kernel_x86_64> invoke_command_trampoline(void*) + 0x19
 1 ffffffff89122f78 (+  24) ffffffff8012ddac   <kernel_x86_64> arch_debug_call_with_fault_handler + 0x16
 2 ffffffff89122f90 (+  96) ffffffff8009ed26   <kernel_x86_64> debug_call_with_fault_handler + 0x68
 3 ffffffff89122ff0 (+  96) ffffffff800a170b   <kernel_x86_64> invoke_debugger_command + 0xcf
 4 ffffffff89123050 (+  80) ffffffff800a184c   <kernel_x86_64> invoke_pipe_segment(debugger_command_pipe*, int, char*) + 0x81
 5 ffffffff891230a0 (+  80) ffffffff800a192d   <kernel_x86_64> invoke_debugger_command_pipe + 0xa0
 6 ffffffff891230f0 (+  80) ffffffff800a5c8d   <kernel_x86_64> ExpressionParser::_ParseCommandPipe(int&) + 0xdbf
 7 ffffffff89123140 (+  96) ffffffff800abe74   <kernel_x86_64> ExpressionParser::EvaluateCommand(char const*, int&) + 0xba2
 8 ffffffff891231a0 (+ 240) ffffffff800ad0f3   <kernel_x86_64> evaluate_debug_command + 0x99
 9 ffffffff89123290 (+  96) ffffffff8009fde2   <kernel_x86_64> kernel_debugger_loop(char const*, char const*, __va_list_tag*, int) + 0x2fd
10 ffffffff891232f0 (+  80) ffffffff8009ffaa   <kernel_x86_64> kernel_debugger_internal(char const*, char const*, __va_list_tag*, int) + 0x132
11 ffffffff89123340 (+ 240) ffffffff800a021e   <kernel_x86_64> panic + 0xc1
12 ffffffff89123430 (+ 272) ffffffff80119ab5   <kernel_x86_64> vm_page_fault + 0x15a
13 ffffffff89123540 (+  64) ffffffff80136cfc   <kernel_x86_64> x86_page_fault_exception + 0x1bb
14 ffffffff89123580 (+ 536) ffffffff8012fbdf   <kernel_x86_64> int_bottom + 0x56
kernel iframe at 0xffffffff89123798 (end = 0xffffffff89123860)
 rax 0x1                   rbx 0xffffffff8b292d80    rcx 0xf
 rdx 0xe                   rsi 0xffffffff8affc920    rdi 0xffffffff82006518
 rbp 0xffffffff891238d0     r8 0xffffffff8affc940     r9 0xf
 r10 0x1b0                 r11 0x3206                r12 0x22c6
 r13 0x0                   r14 0x0                   r15 0xffffffff8af97788
 rip 0xffffffff811180c7    rsp 0xffffffff89123860 rflags 0x13202
 vector: 0xe, error code: 0x0
15 ffffffff89123798 (+ 312) ffffffff811180c7   </boot/system/add-ons/kernel/network/stack> update_interface_address(InterfaceAddress*, int, sockaddr const*, sockaddr const*) + 0x2c2
16 ffffffff891238d0 (+  16) ffffffff81112ea8   </boot/system/add-ons/kernel/network/stack> interface_protocol_change_address(net_datalink_protocol*, net_interface_address*, int, sockaddr const*, sockaddr const*) + 0x42
17 ffffffff891238e0 (+  16) ffffffff89ffdb8d   </boot/system/add-ons/kernel/network/datalink_protocols/loopback_frame> loopback_frame_change_address(net_datalink_protocol*, net_interface_address*, int, sockaddr const*, sockaddr const*) + 0x0e
18 ffffffff891238f0 (+ 320) ffffffff8111732d   </boot/system/add-ons/kernel/network/stack> Interface::_ChangeAddress(BPrivate::AutoLocker<recursive_lock, BPrivate::RecursiveLockLocking>&, InterfaceAddress*, int, sockaddr const*, sockaddr const*) + 0x105
19 ffffffff89123a30 (+ 528) ffffffff811175c2   </boot/system/add-ons/kernel/network/stack> Interface::Control(net_domain*, int, ifreq&, ifreq*, unsigned long) + 0x254
20 ffffffff89123c40 (+ 528) ffffffff81112951   </boot/system/add-ons/kernel/network/stack> datalink_control(net_domain*, int, void*, unsigned long*) + 0x458
21 ffffffff89123e50 (+  16) ffffffff813dd755   </boot/system/add-ons/kernel/network/protocols/ipv4> ipv4_control(net_protocol*, int, int, void*, unsigned long*) + 0x2c
22 ffffffff89123e60 (+  16) ffffffff8179544f   </boot/system/add-ons/kernel/network/protocols/udp> udp_control(net_protocol*, int, int, void*, unsigned long*) + 0x0e
23 ffffffff89123e70 (+  64) ffffffff8111ada8   </boot/system/add-ons/kernel/network/stack> socket_control(net_socket*, int, void*, unsigned long) + 0x167
24 ffffffff89123eb0 (+  16) ffffffff81121f4c   </boot/system/add-ons/kernel/network/stack> stack_interface_ioctl(net_socket*, unsigned int, void*, unsigned long) + 0x0e
25 ffffffff89123ec0 (+  16) ffffffff800dfa8f   <kernel_x86_64> socket_ioctl(file_descriptor*, unsigned long, void*, unsigned long) + 0x15
26 ffffffff89123ed0 (+  48) ffffffff800d8bae   <kernel_x86_64> fd_ioctl(bool, int, unsigned int, void*, unsigned long) + 0x6a
27 ffffffff89123f00 (+  32) ffffffff800d96a4   <kernel_x86_64> _user_ioctl + 0x45
28 ffffffff89123f20 (+  24) ffffffff8012fe85   <kernel_x86_64> x86_64_syscall_entry + 0xfb
user iframe at 0xffffffff89123f38 (end = 0xffffffff89124000)
 rax 0x90                  rbx 0x7f9dd2e324f0        rcx 0x1e928d257f4
 rdx 0x7f9dd2e322a0        rsi 0x22f3                rdi 0xa
 rbp 0x7f9dd2e32270         r8 0x4                    r9 0x21f2d36860
 r10 0x1b0                 r11 0x3206                r12 0xa
 r13 0x7f9dd2e322a0        r14 0x0                   r15 0x7f9dd2e324f8
 rip 0x1e928d257f4         rsp 0x7f9dd2e32208     rflags 0x3206
 vector: 0x63, error code: 0x0
29 ffffffff89123f38 (+140317819986744) 000001e928d257f4   <libroot.so> _kern_ioctl + 0x0c
30 00007f9dd2e32270 (+ 528) 000001b95812bca1   <libbnetapi.so> _ZN24BNetworkInterfaceAddress8SetFlagsEj (nearest) + 0x14b
31 00007f9dd2e32480 (+  32) 000001b95812c06e   <libbnetapi.so> BNetworkInterface::SetAddress(BNetworkInterfaceAddress const&) + 0x26
32 00007f9dd2e324a0 (+1792) 0000012978441d7c   <Interfaces> NetworkSettings::SetConfiguration() + 0x2b8
33 00007f9dd2e32ba0 (+  48) 000001297843f274   <Interfaces> InterfacesListView::SaveItems() + 0x7a
34 00007f9dd2e32bd0 (+  32) 000001297843ebbc   <Interfaces> InterfacesAddOn::Save() + 0x2a
35 00007f9dd2e32bf0 (+ 160) 000000300320f997   <_APP_> NetworkSetupWindow::MessageReceived(BMessage*) + 0x1db
36 00007f9dd2e32c90 (+  16) 00000021f298d912   <libbe.so> BLooper::DispatchMessage(BMessage*, BHandler*) + 0x36

Change History (6)

comment:1 by kallisti5, 10 years ago

To reproduce:

  • Go into (new) Network preflet
  • Choose IPv6 tab
  • Press Apply

comment:2 by jackburton, 10 years ago

It seems there are still locking problem in the network stack. Could be related to #9377 ? By the way there is still a pending patch of mine in that ticket (which could help, or maybe not). Someone should review it.

comment:3 by pulkomandy, 10 years ago

Milestone: R1/alpha5R1/beta1

comment:4 by pulkomandy, 10 years ago

I can't reproduce this with the given instructions. Does it need something particular in the network setup (eg. do you have a DHCP server providing ipv6 leases?)

comment:5 by pulkomandy, 9 years ago

I think jackburton applied his patch now. Does it help?

comment:6 by kallisti5, 9 years ago

Resolution: fixed
Status: newclosed

no longer crashes as of hrev50047. Setting the IPv6 address static or disabled results in an instant transition to "automatic" and settings are lost... but at least it doesn't crash :-).

There are several core IPv6 bugs still (#12245, #12246, #12247) but this crash now solved :-)

Note: See TracTickets for help on using tickets.