Bug #1060
closedpanic starting opera
0%
Description
With HEAD from yesterday, 8th July, I get a panic when starting opera.
This works with kernel from 7th July.
vmcore & kernel being uloaded to leaf, as .28.
KKASSERT introduced yesterday:
http://leaf.dragonflybsd.org/mailarchive/commits/2008-07/msg00055.html
This is opera-9.10 browser from pkgsrc, it ises linux emulation in dfly and
normally works like a charm.
thomas
panic: assertion: kva_p(sopt->sopt_val) in soopt_to_kbuf
(kgdb) bt
#0 dumpsys () at ./machine/thread.h:83
#1 0xc01ccf46 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:375
#2 0xc01cd067 in panic (fmt=0xc038dd00 "assertion: %s in %s") at /usr/src/sys/kern/kern_shutdown.c:800
#3 0xc01fa9d1 in soopt_to_kbuf (sopt=0xd5c3bc8c, buf=0xd5c3bbb8, len=4, minlen=4) at /usr/src/sys/kern/uipc_socket.c:1248
#4 0xc01faa01 in sooptcopyin (sopt=0xd5c3bc8c, buf=0xd5c3bbb8, len=4, minlen=4) at /usr/src/sys/kern/uipc_socket.c:1240
#5 0xc01fb0cc in sosetopt (so=0xc9c02300, sopt=0xd5c3bc8c) at /usr/src/sys/kern/uipc_socket.c:1326
#6 0xc01fe255 in kern_setsockopt (s=10, sopt=0xd5c3bc8c) at /usr/src/sys/kern/uipc_syscalls.c:1052
#7 0xd5ae0412 in ?? ()
#8 0xc0367967 in syscall2 (frame=0xd5c3bd40) at /usr/src/sys/platform/pc32/i386/trap.c:1374
#9 0xc0359b66 in Xint0x80_syscall () at /usr/src/sys/platform/pc32/i386/exception.s:876
#10 0x28f2b162 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Updated by aoiko over 16 years ago
Yeah, moving the copy{in,out} up the call path means it has to be done in
multiple places (i.e. in emulation/linux as well; I keep forgetting about
that). Sigh. Will fix this later today.
Aggelos
Updated by hofmann over 16 years ago
I get a similar panic with
firewall_enable="YES"
firewall_type="client"
in rc.conf. Anyone else seeing that?
Johannes
Updated by aoiko over 16 years ago
On Wednesday 09 July 2008, Johannes Hofmann wrote:
[...]
I get a similar panic with
firewall_enable="YES"
firewall_type="client"in rc.conf. Anyone else seeing that?
Can you post any relevant output? I'm drowining in PDEs and complex integrals
here, no time to reproduce...
Aggelos
Updated by mneumann over 16 years ago
No, but could this commit have introduced a servere network performance
degradation? I'm now seeing 50 MB/s instead of recently 100 MB/s.
Regards,
Michael
Updated by aoiko over 16 years ago
Nevermind, I think I have it. We kmalloc(0) and kva_p() doesn't like the
resulting address. Must set sopt->sopt_val to NULL if !uap->val and
KKASSERT) instead. I hope I'll have time to fix
it later, but feel free to beat me to it.
Aggelos
Updated by hofmann over 16 years ago
Here it is. Just noticed that it is reproducible with vkernel so no
handwriting required:
Setting hostname: .
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
panic: assertion: kva_p(sopt->sopt_val) in so_pru_ctloutput
mp_lock = 00000000; cpuid = 0
Trace beginning at frame 0x56fd7b6c
panic(56fd7b90,567f1ea0,56fd7c4c,5702b5a8,56fd7bdc) at 0x80b7340
panic(820f09a,821acd6,821acec,0,2707000) at 0x80b7340
so_pru_ctloutput(567f1ea0,56fd7c4c,7,0,82f3a60) at 0x80e6a30
sosetopt(567f1ea0,56fd7c4c,5673f950,0,56fd7c98) at 0x80e7bcf
kern_setsockopt(3,56fd7c4c,1,0,34) at 0x80eadac
sys_setsockopt(56fd7c98,6,0,0,57018c00) at 0x80eb894
syscall2(56fd7d40,6,5702b5a8,57018c00,0) at 0x81fecae
user_trap(56fd7d40,5702b5a8,81fe2cc,0,81ff4e2) at 0x81feed8
go_user(56fd7d38,0,0,7b,0) at 0x81ff2db
Debugger("panic")
Johannes
PS: vkernels are great :-)
Updated by thomas.nikolajsen over 16 years ago
It works after:
http://leaf.dragonflybsd.org/mailarchive/commits/2008-07/msg00104.html
Thanks!
-thomas