Re: Creation of carp interface on amd64 spins
- From: "Christopher Chen" <muffaleta@xxxxxxxxx>
- Date: Fri, 21 Sep 2007 16:38:30 -0700
On 9/20/07, Christopher Chen <muffaleta@xxxxxxxxx> wrote:
On 9/20/07, Max Laier <max@xxxxxxxxxxxxxx> wrote:
On Thursday 20 September 2007, Christopher Chen wrote:
Hi:
I'm running 6.2-RELEASE on some Pentium D's running and amd64 port.
I'm doing some mildly interesting things with vlan tagging, etc, and I
want to also set up carp. On identical machines running the i386 port,
this works correctly, but when running
ifconfig carp0
For instance, the process just spins and can't be killed. The rest of
the machine is fine, though!
This is 6.2-RELEASE/amd64 running in SMP mode.
Any ideas?
Can you tell me what "^T" or ps gives for the spinning process? Does it
hang in userland or kernel? Can you try to trace the ifconfig, or - if
the hang is in the kernel - break into the kernel debugger and get a back
trace for the process?
Max:
load: 1.62 cmd: ifconfig 920 [runnable] 0.00u 96.02s 98% 920k
That's what ^T says. I'm going to reboot and ktrace it now. So here's
the last few lines of the ktrace:
944 ifconfig CALL modstat(0x10a,0x7fffffffe280)
944 ifconfig RET modstat 0
944 ifconfig CALL modfnext(0x10a)
944 ifconfig RET modfnext 267/0x10b
944 ifconfig CALL modstat(0x10b,0x7fffffffe280)
944 ifconfig RET modstat 0
944 ifconfig CALL socket(0x2,0x2,0)
944 ifconfig RET socket 3
944 ifconfig CALL ioctl(0x3,SIOCIFCREATE,0x514ce0)
l# lsof -p 944
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ifconfig 944 root cwd VDIR 0,77 512 16525 /root
ifconfig 944 root rtd VDIR 0,77 512 2 /
ifconfig 944 root txt VREG 0,77 80296 48 /sbin/ifconfig
ifconfig 944 root txt VREG 0,77 192688 116
/libexec/ld-elf.so.1
ifconfig 944 root txt VREG 0,77 7424 24794 /lib/libipx.so.3
ifconfig 944 root txt VREG 0,77 1083208 24786 /lib/libc.so.6
ifconfig 944 root 0u VCHR 0,93 0t2101 93 /dev/ttyp0
ifconfig 944 root 1u VCHR 0,93 0t2101 93 /dev/ttyp0
ifconfig 944 root 2u VCHR 0,93 0t2101 93 /dev/ttyp0
ifconfig 944 root 3u IPv4 0xffffff002d459130 0t0 UDP *:*
Sorry I don't have physical access so I can't break into the kernel
debugger right now.
Aha! Some data!
Okay so I got the console cable attached with DDB. So far so good. But
here's something else.
With DDB/KDB enabled in the kernel, suddenly ifconfig carp0 create
works! Sounds like some sort of race condition, maybe?
But when destroying the interfaces, I get this:
<<
kernel trap 12 with interrupts disabled
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x48
fault code = supervisor read, page not present
instruction pointer = 0x8:0xffffffff80430035
stack pointer = 0x10:0xffffffffa54b2ab0
frame pointer = 0x10:0xffffffffa54b2af0
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = resume, IOPL = 0
current process = 11 (swi4: clock sio)
[thread pid 11 tid 100002 ]
Stopped at propagate_priority+0x75: movq 0x48(%r15),%rdi
db> trace
Tracing pid 11 tid 100002 td 0xffffff003dba2980
propagate_priority() at propagate_priority+0x75
turnstile_wait() at turnstile_wait+0x20f
_mtx_lock_sleep() at _mtx_lock_sleep+0x89
carp_send_ad() at carp_send_ad+0xa9
softclock() at softclock+0x21a
ithread_loop() at ithread_loop+0x162
fork_exit() at fork_exit+0x86
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xffffffffa54b2d00, rbp = 0 ---
Wow!
--
Chris Chen <muffaleta@xxxxxxxxx>
"I want the kind of six pack you can't drink."
-- Micah
_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"
- References:
- Creation of carp interface on amd64 spins
- From: Christopher Chen
- Re: Creation of carp interface on amd64 spins
- From: Max Laier
- Re: Creation of carp interface on amd64 spins
- From: Christopher Chen
- Creation of carp interface on amd64 spins
- Prev by Date: tcp listen problem
- Next by Date: how to use iic(4)
- Previous by thread: Re: Creation of carp interface on amd64 spins
- Next by thread: ifconfig patch
- Index(es):
Relevant Pages
- Re: Ping Problems On Two-Machine Linux Network
... Change your Crossover cable or check your card setting for right media ... ifconfig
output seems OK.It is a hardware issue. ... but I didn't know what settings to use
for the BROM ... > Kernel IP routing table ... (comp.os.linux.networking) - Re: Creation of carp interface on amd64 spins
... I'm running 6.2-RELEASE on some Pentium D's running and amd64 port. ... Can
you try to trace the ifconfig, ... the hang is in the kernel - break into the kernel
debugger and get a back ... 944 ifconfig RET modfnext 267/0x10b ... (freebsd-net) - Re: if_data size issues
... > Brooks Davis wrote: ... because of the way ifconfig ... >>kernel
and userland. ... I have committed a fix from Peter which allows ... (freebsd-arch) - Re: Network unreachable
... Using ifconfig, I ... >>noticed that eth0 had no IP address assigned.
... So it seems as if dhcp is not working. ... I boot the kernel that I built
from 2.4.18-686 source or use the ... (Debian-User) - Re: Packet Loss w/bge & BCM5703 on Dell PE2650
... I have it in my kernel, do I need to add polling in rc.conf too? ...
I've enabled polling in my kernel and did ifconfig bge0 polling and ... "Courage is resistance
to fear, mastery of fear - not absence of fear" ... (freebsd-stable)