NetBSD Problem Report #46572
From www@NetBSD.org Sun Jun 10 03:10:44 2012
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
by www.NetBSD.org (Postfix) with ESMTP id D758163B89C
for <gnats-bugs@gnats.NetBSD.org>; Sun, 10 Jun 2012 03:10:44 +0000 (UTC)
Message-Id: <20120610031043.B63BC63B882@www.NetBSD.org>
Date: Sun, 10 Jun 2012 03:10:43 +0000 (UTC)
From: jdbaker@mylinuxisp.com
Reply-To: jdbaker@mylinuxisp.com
To: gnats-bugs@NetBSD.org
Subject: Invalid argument accessing qe* (qec) interfaces w/NetBSD-6.0_BETA2/sparc
X-Send-Pr-Version: www-1.0
>Number: 46572
>Category: port-sparc
>Synopsis: Invalid argument accessing qe* (qec) interfaces w/NetBSD-6.0_BETA2/sparc
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: jdc
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jun 10 03:15:00 +0000 2012
>Closed-Date: Fri Jul 06 12:57:34 +0000 2012
>Last-Modified: Fri Jul 06 12:57:34 +0000 2012
>Originator: John D. Baker
>Release: NetBSD-6.0_BETA2/sparc
>Organization:
>Environment:
NetBSD ossian.technoskunk.fur 6.0_BETA2 NetBSD 6.0_BETA2 (GENERIC) #5: Thu Jun 7 09:29:58 CDT 2012 sysop@verthandi.technoskunk.fur:/d0/build/netbsd-6/obj/sparc/sys/arch/sparc/compile/GENERIC sparc
>Description:
network configuration utilities, namely 'ifconfig' and 'dhclient' fail
when accessing qe* interfaces on qec (Quad Ethernet Controller) with
Invalid argument.
Device enumeration from 'dmesg':
[...]
qec0 at sbus0 slot 1 offset 0x20000 level 4 (ipl 7): 128K memory
qe0 at qec0 slot 0 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
qe1 at qec0 slot 1 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
qe2 at qec0 slot 2 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
qe3 at qec0 slot 3 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
[...]
Example with 'ifconfig':
$ ifconfig -l
le0 qe0 qe1 qe2 qe3 eon0 lo0 stf0 pflog0
$ ifconfig -a
le0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
address: c0:ff:ee:c0:ff:ee
media: Ethernet autoselect (10baseT)
status: active
inet 192.168.17.8 netmask 0xffffff00 broadcast 192.168.17.255
inet6 fe80::a00:20ff:fe77:2960%le0 prefixlen 64 scopeid 0x1
ifconfig: status: getifinfo: Invalid argument
$ ifconfig qe2
ifconfig: SIOCGIFFLAGS qe2: Invalid argument
Snippets from ktruss:
$ ktruss -i ifconfig qe2 | tee /tmp/ifconfig.ktruss
[...]
73 1 ifconfig emul(netbsd)
73 1 ifconfig mmap(0, 0x8000, 0x3, 0x1002, 0xffffffff, 0, 0, 0) = 0x20034000
73 1 ifconfig open("/etc/ld.so.conf", 0, 0xefffeed8) = 3
[...]
73 1 ifconfig close(0x3) = 0, 3
[...]
73 1 ifconfig __socket30(0x2, 0x2, 0) = 3, 2
73 1 ifconfig ioctl(0x3, SIOCGIFFLAGS, 0xefffe838) Err#22 EINVAL
"qe2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
73 1 ifconfig write(0x2, 0xefffe008, 0xa) = 10, -268443640
"ifconfig: "
73 1 ifconfig write(0x2, 0xefffe070, 0x10) = 16, -268443536
"SIOCGIFFLAGS qe2"
73 1 ifconfig write(0x2, 0x201e3aa0, 0x2) = 2, 538852000
": "
73 1 ifconfig issetugid() = 0, 47
73 1 ifconfig issetugid() = 0, 10356
73 1 ifconfig open("/usr/share/nls/nls.alias.db", 0x400000, 0xefffd9ec) Err#2 ENOENT
73 1 ifconfig open("/usr/share/nls/nls.alias", 0x400000, 0x201e1048) = 5, 4194304
73 1 ifconfig __fstat50(0x5, 0xefffdd70) = 0, -268444304
73 1 ifconfig mmap(0, 0x5f0, 0x1, 0x2, 0x5, 0, 0, 0) = 0x2003c000
73 1 ifconfig close(0x5) = 0, 1520
73 1 ifconfig munmap(0x2003c000, 0x5f0) = 0, 1520
73 1 ifconfig open("/usr/share/nls/C/libc.cat", 0, 0xefffdecc) = 5
73 1 ifconfig __fstat50(0x5, 0xefffde40) = 0, -268444096
73 1 ifconfig mmap(0, 0x10be, 0x1, 0x1, 0x5, 0, 0, 0) = 0x2003c000
73 1 ifconfig close(0x5) = 0, 4286
73 1 ifconfig munmap(0x2003c000, 0x10be) = 0, 4286
73 1 ifconfig write(0x2, 0xefffe008, 0x11) = 17, -268443640
"Invalid argument\n"
>How-To-Repeat:
On SPARCstation equipped with qec/qe interfaces, install NetBSD-6.0_BETA2
and attempt to configure one of the qe* interfaces with 'ifconfig' or
'dhclient'.
May also affect "be*" interfaces on qec base board, but this is
untested.
These worked fine in all Netbsd up to 5.1_STABLE...
>Fix:
>Release-Note:
>Audit-Trail:
From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@NetBSD.org
Cc: port-sparc-maintainer@netbsd.org, gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org
Subject: Re: port-sparc/46572: Invalid argument accessing qe* (qec) interfaces w/NetBSD-6.0_BETA2/sparc
Date: Sun, 10 Jun 2012 13:38:06 +0200
On Sun, Jun 10, 2012 at 03:15:01AM +0000, jdbaker@mylinuxisp.com wrote:
> qe0 at qec0 slot 0 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
> qe1 at qec0 slot 1 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
> qe2 at qec0 slot 2 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
> qe3 at qec0 slot 3 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
This does not look right. Please provide full dmesg output from NetBSD
and output of "printenv" at the firmware prompt.
Thanks,
Martin
From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: port-sparc/46572: Invalid argument accessing qe* (qec) interfaces
w/NetBSD-6.0_BETA2/sparc
Date: Sun, 10 Jun 2012 11:52:37 -0500 (CDT)
On Sun, 10 Jun 2012, Martin Husemann wrote:
> This does not look right. Please provide full dmesg output from NetBSD
> and output of "printenv" at the firmware prompt.
As found in /var/run/dmesg.boot (machine is net-booted for these tests,
MAC addresses obfuscated):
initialized boothowt from bootloader: 0
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011, 2012
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 6.0_BETA2 (GENERIC) #5: Thu Jun 7 09:29:58 CDT 2012
sysop@verthandi.technoskunk.fur:/d0/build/netbsd-6/obj/sparc/sys/arch/sparc/compile/GENERIC
total memory = 97984 KB
avail memory = 91280 KB
timecounter: Timecounters tick every 10.000 msec
bootpath: /iommu@0,10000000/sbus@0,10001000/ledma@5,8400010/le@5,8c00000
mainbus0 (root): SUNW,SPARCstation-5: hostid 80772960
cpu0 at mainbus0: MB86904 @ 85 MHz, on-chip FPU
cpu0: 16K instruction (32 b/l), 8K data (16 b/l): cache enabled
obio0 at mainbus0
clock0 at obio0 slot 0 offset 0x200000: mk48t08
timer0 at obio0 slot 0 offset 0xd00000: delay constant 40, frequency = 2000000 Hz
timecounter: Timecounter "timer-counter" frequency 2000000 Hz quality 100
zs0 at obio0 slot 0 offset 0x100000 level 12 softpri 6
zstty0 at zs0 channel 0 (console i/o)
zstty1 at zs0 channel 1
zs1 at obio0 slot 0 offset 0x0 level 12 softpri 6
zstty4 at zs1 channel 0
kbd0 at zstty4
zstty5 at zs1 channel 1
ms0 at zstty5
wsmouse0 at ms0 mux 0
slavioconfig at obio0 slot 0 offset 0x800000 not configured
auxreg0 at obio0 slot 0 offset 0x900000
power0 at obio0 slot 0 offset 0x910000 level 2
fdc0 at obio0 slot 0 offset 0x400000 level 11: no drives attached
iommu0 at mainbus0 addr 0x10000000: version 0x4/0x0, page-size 4096, range 64MB
sbus0 at iommu0: clock = 21.250 MHz
dma0 at sbus0 slot 5 offset 0x8400000: DMA rev 2
esp0 at dma0 slot 5 offset 0x8800000 level 4: ESP200, 40MHz, SCSI ID 7
scsibus0 at esp0: 8 targets, 8 luns per target
bpp0 at sbus0 slot 5 offset 0xc800000 level 2 (ipl 3): DMA rev 2
ledma0 at sbus0 slot 5 offset 0x8400010: DMA rev 2
le0 at ledma0 slot 5 offset 0x8c00000 level 6: address c0:ff:ee:c0:ff:ee
le0: 8 receive buffers, 2 transmit buffers
audiocs0 at sbus0 slot 4 offset 0xc000000 level 9: CS4231A
audio0 at audiocs0: full duplex, playback, capture
power-management at sbus0 slot 4 offset 0xa000000 not configured
qec0 at sbus0 slot 1 offset 0x20000 level 4 (ipl 7): 128K memory
qe0 at qec0 slot 0 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
qe1 at qec0 slot 1 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
qe2 at qec0 slot 2 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
qe3 at qec0 slot 3 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
magma0 at sbus0 slot 3 offset 0x0 level 9: Magma LC 2+1 Sp
mtty0 at magma0: 2 ttys
mbpp0 at magma0: 1 port
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
scsibus0: waiting 2 seconds for devices to settle...
wskbd0 at kbd0 mux 1
sd0 at scsibus0 target 1 lun 0: <SEAGATE, ST5660N SUN0535, 0644> disk fixed
sd0: 520 MB, 3002 cyl, 4 head, 88 sec, 512 bytes/sect x 1065664 sectors
sd0: sync (100.00ns offset 15), 8-bit (10.000MB/s) transfers, tagged queueing
kbd0: reset failed
Kernelized RAIDframe activated
root on le0
nfs_boot: trying DHCP/BOOTP
nfs_boot: DHCP next-server: 192.168.17.4
nfs_boot: my_name=ossian
nfs_boot: my_domain=technoskunk.fur
nfs_boot: my_addr=192.168.17.8
nfs_boot: my_mask=255.255.255.0
nfs_boot: gateway=192.168.17.8
root on 192.168.17.4:/r0/diskless/ossian
root file system type: nfs
And from 'printenv':
ok printenv
Parameter Name Value Default Value
tpe-link-test? true true
output-device ttya screen
input-device ttya keyboard
keyboard-click? false false
keymap
ttyb-rts-dtr-off false false
ttyb-ignore-cd true true
ttya-rts-dtr-off false false
ttya-ignore-cd true true
ttyb-mode 9600,8,n,1,- 9600,8,n,1,-
ttya-mode 9600,8,n,1,- 9600,8,n,1,-
fcode-debug? false false
local-mac-address? false false
screen-#columns 80 80
screen-#rows 34 34
selftest-#megs 1 1
scsi-initiator-id 7 7
silent-mode? false false
auto-boot? true true
watchdog-reboot? false false
diag-file
diag-device net net
boot-file
boot-device disk1 net disk net
sbus-probe-list 541230 541230
use-nvramrc? false false
nvramrc
sunmon-compat? false false
security-mode none none
security-password
security-#badlogins 0 <no default>
oem-logo <no default>
oem-logo? false false
oem-banner <no default>
oem-banner? false false
hardware-revision <no default>
last-hardware-update <no default>
testarea 0 0
mfg-switch? false false
diag-switch? false false
--
|/"\ John D. Baker, KN5UKS NetBSD Darwin/MacOS X
|\ / jdbaker[snail]mylinuxisp[flyspeck]com OpenBSD FreeBSD
| X No HTML/proprietary data in email. BSD just sits there and works!
|/ \ GPGkeyID: D703 4A7E 479F 63F8 D3F4 BD99 9572 8F23 E4AD 1645
From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: port-sparc/46572: Invalid argument accessing qe* (qec) interfaces
w/NetBSD-6.0_BETA2/sparc
Date: Thu, 14 Jun 2012 01:19:34 -0500 (CDT)
I have another machine (SS10) also equipped with a qec/qe card and it
behaves the same way. This system also uses pppoe configured through
one of the qe* interfaces.
I had hoped one of the pull-ups made today:
http://mail-index.NetBSD.org/source-changes/2012/06/13/msg035002.html
addressed this issue, since it refered to related ioctls. No joy.
On this system, I have to boot GENERIC with "-c" and disable the dbri
interface due to port-sparc/34046.
(I've tried 6.99.7 from today [201206140315Z or so], but GENERIC panics
with a memory fault after noting that the root filesystem is on the
"le0" device.)
NetBSD nozette.technoskunk.fur 6.0_BETA2 NetBSD 6.0_BETA2 (GENERIC) #7: Wed Jun 13 16:13:11 CDT 2012 sysop@fred.technoskunk.fur:/d0/build/netbsd-6/obj/sparc/sys/arch/sparc/compile/GENERIC sparc
ok boot net-tpe -c
SPARCstation 10 (1 X 390Z55), No Keyboard
ROM Rev. 2.25, 128 MB memory installed, Serial #7410937.
Ethernet address 8:0:20:c0:ff:ee, Host ID: 72c0ffee.
Rebooting with command: net-tpe -c
Boot device: /iommu/sbus/ledma@f,400010:tpe/le@f,c00000 File and args: -c
Lost Carrier (transceiver cable problem?)
Twisted pair cable problem or hub link-test disabled.
Use the PROM command "help ethernet" for more information.
ARP/RARP send failed. Check Ethernet cable and transceiver.
Timeout waiting for ARP/RARP packet
14200
>> NetBSD/sparc Secondary Boot, Revision 1.15 (Wed Jun 13 21:27:18 CDT 2012)
Booting netbsd
Trying BOOTP protocol... ip address: 192.168.17.8, netmask: 255.255.255.0, gateway: 192.168.17.8
root addr=192.168.17.43 path=/d1/diskless/nozette
4091968+150560 [261376+248712]=0x488a24
OBP version 3, revision 2.25 (plugin rev 2)
initialized boothowt from bootloader: 1000
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011, 2012
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 6.0_BETA2 (GENERIC) #7: Wed Jun 13 16:13:11 CDT 2012
sysop@fred.technoskunk.fur:/d0/build/netbsd-6/obj/sparc/sys/arch/sparc/compile/GENERIC
total memory = 127 MB
avail memory = 120 MB
userconf: configure system autoconfiguration:
uc> disable dbri
[138] dbri* disabled
uc> exit
Continuing...
bootpath: /iommu@f,e0000000/sbus@f,e0001000/ledma@f,400010:t/le@f,c00000
mainbus0 (root): SUNW,SPARCstation-10: hostid 72c0ffee
cpu0 at mainbus0: TMS390Z50 v1 @ 40 MHz, on-chip FPU
cpu0: physical 20K instruction (64 b/l), 16K data (32 b/l), 1024K external (32 b/l): cache enabled
obio0 at mainbus0
clock0 at obio0 slot 0 offset 0x200000: mk48t08
timer0 at obio0 slot 0 offset 0x300000: delay constant 18, frequency = 2000000 Hz
zs0 at obio0 slot 0 offset 0x100000 level 12 softpri 6
zstty0 at zs0 channel 0 (console i/o)
zstty1 at zs0 channel 1
zs1 at obio0 slot 0 offset 0x0 level 12 softpri 6
zstty4 at zs1 channel 0
kbd0 at zstty4
zstty5 at zs1 channel 1
ms0 at zstty5
wsmouse0 at ms0 mux 0
fdc0 at obio0 slot 0 offset 0x700000 level 11 softpri 4: chip 82077
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
auxreg0 at obio0 slot 0 offset 0x800000
power0 at obio0 slot 0 offset 0xa01000 level 2
iommu0 at mainbus0 ioaddr 0xe0000000: version 0x3/0x0, page-size 4096, range 64MB
sbus0 at iommu0: clock = 20 MHz
dma0 at sbus0 slot 15 offset 0x400000: DMA rev 2
esp0 at dma0 slot 15 offset 0x800000 level 4: ESP200, 40MHz, SCSI ID 7
scsibus0 at esp0: 8 targets, 8 luns per target
ledma0 at sbus0 slot 15 offset 0x400010: DMA rev 2
le0 at ledma0 slot 15 offset 0xc00000 level 6: address c0:ff:ee:c0:ff:ee
le0: 8 receive buffers, 2 transmit buffers
bpp0 at sbus0 slot 15 offset 0x4800000 level 2 (ipl 3): DMA rev 2
SUNW,DBRIe at sbus0 slot 15 offset 0x8010000 level 9 not configured
magma0 at sbus0 slot 0 offset 0x0 level 9: Magma LC 2+1 Sp
mtty0 at magma0: 2 ttys
mbpp0 at magma0: 1 port
qec0 at sbus0 slot 2 offset 0x20000 level 4 (ipl 7): 128K memory
qe0 at qec0 slot 0 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
qe1 at qec0 slot 1 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
qe2 at qec0 slot 2 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
qe3 at qec0 slot 3 offset 0x0 rev 1 address c0:ff:ee:c0:ff:ee
eccmemctl0 at mainbus0 ioaddr 0x0: version 0x0/0x1
scsibus0: waiting 2 seconds for devices to settle...
wskbd0 at kbd0 mux 1
sd0 at scsibus0 target 1 lun 0: <QUANTUM, PD1050iS, 3110> disk fixed
sd0: 1003 MB, 2448 cyl, 12 head, 69 sec, 512 bytes/sect x 2055096 sectors
sd0: sync (100.00ns offset 15), 8-bit (10.000MB/s) transfers, tagged queueing
kbd0: reset failed
root on le0
nfs_boot: trying DHCP/BOOTP
nfs_boot: DHCP next-server: 192.168.17.43
nfs_boot: my_domain=technoskunk.fur
nfs_boot: my_addr=192.168.17.8
nfs_boot: my_mask=255.255.255.0
nfs_boot: gateway=192.168.17.8
root on 192.168.17.43:/d1/diskless/nozette
root file system type: nfs
Thu Jun 14 05:28:31 GMT 2012
Not checking /: fs_passno = 0 in /etc/fstab
Starting file system checks:
Setting tty flags.
Setting sysctl variables:
ddb.onpanic: 1 -> 0
net.inet.tcp.mss_ifmtu: 0 -> 1
Starting network.
Hostname: nozette.technoskunk.fur
IPv6 mode: host
Configuring network interfaces: le0 qe1ifconfig: exec_matches: Invalid argument
qe2ifconfig: exec_matches: Invalid argument
pppoe0ifconfig: exec_matches: Invalid argument
.
Adding interface aliases:.
Enabling pf firewall.
Adding static routes.
Building databases: dev, utmp, utmpx.
Starting syslogd.
Starting rpcbind.
Mounting all filesystems...
Clearing temporary files.
Creating a.out runtime link editor directory cache.
Checking quotas: done.
Setting securelevel: kern.securelevel: 0 -> 1
swapctl: adding /swap as swap device at priority 0
Starting virecover.
Starting ifwatchd.
Starting pflogd.
Checking for core dump...
savecore: no core dump (no dumpdev)
Starting ftp_proxy.
Starting local daemons: Starting pfspamd.
.
Updating motd.
Starting ntpd.
Starting sshd.
Starting cron.
Thu Jun 14 00:30:34 CDT 2012
NetBSD/sparc (nozette.technoskunk.fur) (ttya)
login:
Snippets from 'ktruss ifconfig qe2 dsl-local up':
1915 1 ktruss fcntl(0x4, 0x3, 0) = 1, 3
1915 1 ktruss emul(netbsd)
1915 1 ktruss fcntl(0x4, 0x4, 0x1) = 0, 4
1915 1 ifconfig execve("/sbin/ifconfig", 0xefffec6c, 0xefffec84) JUSTRETURN
1915 1 ifconfig open("/etc/hosts", 0x400000, 0x1b6) = 3, 4194304
1915 1 ifconfig __fstat50(0x3, 0xefffc060) = 0, -268451744
1915 1 ifconfig read(0x3, 0x2031c000, 0x2000) = 959, 540131328
"#\t$NetBSD: hosts,v 1.8 2009/07/03 22:32:55 hubertf Exp $\n#\n# Host "
1915 1 ifconfig read(0x3, 0x2031c000, 0x2000) = 0, 540131328
""
1915 1 ifconfig close(0x3) = 0, 1
1915 1 ifconfig __socket30(0x2, 0x2, 0) = 3, 2
1915 1 ifconfig ioctl(0x3, SIOCGIFFLAGS, 0xefffe6e0) Err#22 EINVAL
"qe2\0\0\0\0\0\b\0\0\0 00\^\\M-o\M^?\M-g\^X\0\^AF\M-4\M-o\M^?\M-g\\ 0?"
1915 1 ifconfig write(0x2, 0xefffdf10, 0xa) = 10, -268443888
"ifconfig: "
1915 1 ifconfig write(0x2, 0xefffdf78, 0xc) = 12, -268443784
"exec_matches"
1915 1 ifconfig write(0x2, 0x201e3cd0, 0x2) = 2, 538852560
": "
1915 1 ifconfig issetugid() = 0, 47
1915 1 ifconfig issetugid() = 0, 10428
1915 1 ifconfig open("/usr/share/nls/nls.alias.db", 0x400000, 0xefffd8f4) Err#2 ENOENT
1915 1 ifconfig open("/usr/share/nls/nls.alias", 0x400000, 0x201e1278) = 5, 4194304
1915 1 ifconfig __fstat50(0x5, 0xefffdc78) = 0, -268444552
1915 1 ifconfig mmap(0, 0x5f0, 0x1, 0x2, 0x5, 0, 0, 0) = 0x2003d000
1915 1 ifconfig close(0x5) = 0, 1520
1915 1 ifconfig munmap(0x2003d000, 0x5f0) = 0, 1520
1915 1 ifconfig open("/usr/share/nls/C/libc.cat", 0, 0xefffddd4) = 5
1915 1 ifconfig __fstat50(0x5, 0xefffdd48) = 0, -268444344
1915 1 ifconfig mmap(0, 0x10be, 0x1, 0x1, 0x5, 0, 0, 0) = 0x2003d000
1915 1 ifconfig close(0x5) = 0, 4286
1915 1 ifconfig munmap(0x2003d000, 0x10be) = 0, 4286
1915 1 ifconfig write(0x2, 0xefffdf10, 0x11) = 17, -268443888
"Invalid argument\n"
--
|/"\ John D. Baker, KN5UKS NetBSD Darwin/MacOS X
|\ / jdbaker[snail]mylinuxisp[flyspeck]com OpenBSD FreeBSD
| X No HTML/proprietary data in email. BSD just sits there and works!
|/ \ GPGkeyID: D703 4A7E 479F 63F8 D3F4 BD99 9572 8F23 E4AD 1645
From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: port-sparc/46572: Invalid argument accessing qe* (qec) interfaces
w/NetBSD-6.0_BETA2/sparc
Date: Mon, 18 Jun 2012 08:27:17 -0500 (CDT)
Once -current was able to boot again, the problem remains. So, let the
bisection begin.
Whatever the source of the problem, it appeared not long after the
"netbsd-5" branch. I've so far backed up to 5.99.5 and the problem is
still there. I'm building GENERIC and modules (have to do a full build
for early trees) and booting them with my existing 5.1_STABLE userland.
--
|/"\ John D. Baker, KN5UKS NetBSD Darwin/MacOS X
|\ / jdbaker[snail]mylinuxisp[flyspeck]com OpenBSD FreeBSD
| X No HTML/proprietary data in email. BSD just sits there and works!
|/ \ GPGkeyID: D703 4A7E 479F 63F8 D3F4 BD99 9572 8F23 E4AD 1645
From: "John D. Baker" <jdbaker@mylinuxisp.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: port-sparc/46572: Invalid argument accessing qe* (qec) interfaces
w/NetBSD-6.0_BETA2/sparc
Date: Wed, 20 Jun 2012 00:54:43 -0500 (CDT)
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
---2139810480-1791951395-1340171683=:6758
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
The fault quickly converged on this commit:
http://mail-index.netbsd.org/source-changes/2008/11/07/msg212329.html
There are a lot of files modified in this, but the one of interest is
"sys/dev/sbus/qe.c". Despite comments about reusing "ether_ioctl()",
not all the needed edits were made.
The following change solves the problem. It matches what was done
for "be.c" as well as a number of other interface drivers affected
by the above-referenced commit.
Index: sys/dev/sbus/qe.c
===================================================================
RCS file: /cvsroot/src/sys/dev/sbus/qe.c,v
retrieving revision 1.60
diff -u -p -r1.60 qe.c
--- sys/dev/sbus/qe.c 2 Feb 2012 19:43:06 -0000 1.60
+++ sys/dev/sbus/qe.c 20 Jun 2012 04:35:44 -0000
@@ -956,7 +956,7 @@ qeioctl(struct ifnet *ifp, u_long cmd, v
break;
default:
- error = EINVAL;
+ error = ether_ioctl(ifp, cmd, data);
break;
}
This is a diff against -current. I'll include as an attachment
as well so it can be applied with 'patch'. Please also pull up
to netbsd-6.
Perhaps other less-commonly-used drivers from that commit should
be double-checked?
--
|/"\ John D. Baker, KN5UKS NetBSD Darwin/MacOS X
|\ / jdbaker[snail]mylinuxisp[flyspeck]com OpenBSD FreeBSD
| X No HTML/proprietary data in email. BSD just sits there and works!
|/ \ GPGkeyID: D703 4A7E 479F 63F8 D3F4 BD99 9572 8F23 E4AD 1645
---2139810480-1791951395-1340171683=:6758
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=qeioctl-patch.diff
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.NEB.4.64.1206200054430.6758@david.technoskunk.fur>
Content-Description: qeioctl-patch.diff
Content-Disposition: attachment; filename=qeioctl-patch.diff
SW5kZXg6IHN5cy9kZXYvc2J1cy9xZS5jDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQpSQ1MgZmlsZTogL2N2c3Jvb3Qvc3JjL3N5cy9kZXYvc2J1cy9xZS5j
LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS42MA0KZGlmZiAtdSAtcCAtcjEu
NjAgcWUuYw0KLS0tIHN5cy9kZXYvc2J1cy9xZS5jCTIgRmViIDIwMTIgMTk6
NDM6MDYgLTAwMDAJMS42MA0KKysrIHN5cy9kZXYvc2J1cy9xZS5jCTIwIEp1
biAyMDEyIDA0OjM1OjQ0IC0wMDAwDQpAQCAtOTU2LDcgKzk1Niw3IEBAIHFl
aW9jdGwoc3RydWN0IGlmbmV0ICppZnAsIHVfbG9uZyBjbWQsIHYNCiAJCWJy
ZWFrOw0KIA0KIAlkZWZhdWx0Og0KLQkJZXJyb3IgPSBFSU5WQUw7DQorCQll
cnJvciA9IGV0aGVyX2lvY3RsKGlmcCwgY21kLCBkYXRhKTsNCiAJCWJyZWFr
Ow0KIAl9DQogDQo=
---2139810480-1791951395-1340171683=:6758--
From: Julian Coleman <jdc@coris.org.uk>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: port-sparc/46572: Invalid argument accessing qe* (qec) interfaces w/NetBSD-6.0_BETA2/sparc
Date: Wed, 20 Jun 2012 12:12:24 +0100
Hi,
> The following change solves the problem. It matches what was done
> for "be.c" as well as a number of other interface drivers affected
> by the above-referenced commit.
I have tested fix and confirm that it works.
There is a problem with the multifast filter set up on qe too. A simple
test is to attempt to obtain an IPv6 address using rtsold. This will fail
unless the interface is also in promiscuous mode, for example:
rtsold -am && tcpdump -evn -i qe0
Thanks,
J
--
My other computer also runs NetBSD / Sailing at Newbiggin
http://www.netbsd.org/ / http://www.newbigginsailingclub.org/
From: Julian Coleman <jdc@coris.org.uk>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: port-sparc/46572: Invalid argument accessing qe* (qec) interfaces w/NetBSD-6.0_BETA2/sparc
Date: Thu, 21 Jun 2012 09:34:17 +0100
Hi,
> There is a problem with the multifast filter set up on qe too.
Note, that this is also a problem with 5.0, so is not a regression.
Thanks,
J
--
My other computer also runs NetBSD / Sailing at Newbiggin
http://www.netbsd.org/ / http://www.newbigginsailingclub.org/
From: "Julian Coleman" <jdc@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/46572 CVS commit: src/sys/dev/sbus
Date: Fri, 22 Jun 2012 11:03:58 +0000
Module Name: src
Committed By: jdc
Date: Fri Jun 22 11:03:57 UTC 2012
Modified Files:
src/sys/dev/sbus: qe.c
Log Message:
Fix fallout from revision 1.68, and call ether_ioctl() in the default path.
Patch from John D. Baker in PR port-sparc/46572.
To generate a diff of this commit:
cvs rdiff -u -r1.60 -r1.61 src/sys/dev/sbus/qe.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Responsible-Changed-From-To: port-sparc-maintainer->jdc
Responsible-Changed-By: jdc@NetBSD.org
Responsible-Changed-When: Sat, 23 Jun 2012 18:17:07 +0000
Responsible-Changed-Why:
Thank you for the patch! Patch applied and multicast bug fixed.
State-Changed-From-To: open->pending-pullups
State-Changed-By: jdc@NetBSD.org
State-Changed-When: Sat, 23 Jun 2012 18:17:07 +0000
State-Changed-Why:
netbsd-6 pull up #367
From: "Jeff Rizzo" <riz@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/46572 CVS commit: [netbsd-6] src/sys/dev/sbus
Date: Wed, 4 Jul 2012 19:38:55 +0000
Module Name: src
Committed By: riz
Date: Wed Jul 4 19:38:54 UTC 2012
Modified Files:
src/sys/dev/sbus [netbsd-6]: qe.c
Log Message:
Pull up following revision(s) (requested by jdc in ticket #367):
sys/dev/sbus/qe.c: revision 1.61
sys/dev/sbus/qe.c: revision 1.62
Fix fallout from revision 1.46, and call ether_ioctl() in the default path.
Patch from John D. Baker in PR port-sparc/46572.
Fix multicast filter set up: we need to byte-swap the hash before writing to
the chip. While here, remove open-coded copy of ether_crc32_le().
To generate a diff of this commit:
cvs rdiff -u -r1.60 -r1.60.2.1 src/sys/dev/sbus/qe.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: pending-pullups->closed
State-Changed-By: jdc@NetBSD.org
State-Changed-When: Fri, 06 Jul 2012 12:57:34 +0000
State-Changed-Why:
Pull-up #368 has been processed.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.