panic during work with jailed postgresql8.4

Oleg Lomaka oleg.lomaka at gmail.com
Fri Apr 2 05:46:34 UTC 2010


On Apr 2, 2010, at 4:52 AM, pluknet wrote:

> On 1 April 2010 22:18, Oleg Lomaka <oleg.lomaka at gmail.com> wrote:
>> 
>> 
>> I have a kernel panic when connect to postgresql8.4 server installed in one of jails from another jail. It's 100% reproducible.
>> Also I have tried to connect from host machine to jailed pg server. That way it works fine without crash.
>> 
>> Server configuration uses geli and zfs. Four disks encrypted using geli. And raidz2 is using ad8.eli, ad10.eli, ad12.eli, ad14.eli providers. All jails located at this raidz2 pool.
>> 
>> Also I use ezjail for jails management. And it uses NFS to mount directories with base system.
>> 
>> atal double fault
>> rip = 0xffffffff8063510a
>> rsp = 0xffffff80eaec5f50
>> rbp = 0xffffff80eaec6040
>> cpuid = 1; apic id = 02
>> panic: double fault
>> cpuid = 1
>> Uptime: 7m11s
>> Physical memory: 8169 MB
>> 
>> uname -a
>> FreeBSD cerberus.regredi.com 8.0-STABLE FreeBSD 8.0-STABLE #7 r206031: Thu Apr  1 13:43:57 EEST 2010     root at cerberus.regredi.com:/usr/obj/usr/src/sys/GENERIC  amd64
>> 
>> Link to dmesg.boot:
>> http://docs.google.com/leaf?id=0B-irbkAqk9i7OGY2ZWJiODgtOWJmMy00NDQ1LTliZDctZjU3N2YwNmMxNjZl&hl=en
>> 
>> Link to kernel core backtrace:
>> http://docs.google.com/Doc?docid=0AeirbkAqk9i7ZGc5Yzc2ZndfM2M4NzYydmRw&hl=en
> 
> Looking at backtrace, I wonder whether tp->t_maxseg changes in
> tcp_mtudisc() at all.
> You should be able to extract its value on each 2*n frame in that big
> recursive call.


You are right, pt->t_maxseg doesn't change

(kgdb) frame 9
#9  0xffffffff807097e8 in tcp_mtudisc (inp=0xffffff00193c53f0, errno=Variable "errno" is not available.
) at tcp_offload.h:282
282 return (tcp_output(tp));
(kgdb) p tp->t_maxseg
$1 = 14336
(kgdb) frame 11
#11 0xffffffff807097e8 in tcp_mtudisc (inp=0xffffff00193c53f0, errno=Variable "errno" is not available.
) at tcp_offload.h:282
282 return (tcp_output(tp));
(kgdb) p tp->t_maxseg
$2 = 14336

... (full log at http://docs.google.com/Doc?docid=0AeirbkAqk9i7ZGc5Yzc2ZndfNGQ4cWpia2dz&hl=en )

(kgdb) frame 81
#81 0xffffffff807097e8 in tcp_mtudisc (inp=0xffffff00193c53f0, errno=Variable "errno" is not available.
) at tcp_offload.h:282
282 return (tcp_output(tp));
(kgdb) p tp->t_maxseg
$37 = 14336
(kgdb) 


More information about the freebsd-stable mailing list