FINALLY! Re: linux32 breakage in current..
John Baldwin
jhb at freebsd.org
Wed Aug 30 19:33:30 UTC 2006
On Wednesday 30 August 2006 15:09, Steve Kargl wrote:
> On Wed, Aug 30, 2006 at 02:04:53PM -0400, John Baldwin wrote:
> > On Wednesday 30 August 2006 13:09, Steve Kargl wrote:
> > > On Tue, Aug 29, 2006 at 07:28:58PM -0400, John Baldwin wrote:
> > > >
> > > > But when you add printf's linux_ipc() isn't being called? *sigh* Try
> > > > this anyway:
> > > >
> > > > Index: linux32_machdep.c
> > > > ===================================================================
> > > > RCS file: /host/cvs/usr/cvs/src/sys/amd64/linux32/linux32_machdep.c,v
> > > > retrieving revision 1.17
> > > > diff -u -r1.17 linux32_machdep.c
> > >
> > > The printf is not triggered. :( I did a ktrace of acroread. kdump
> > > shows
> >
> > You have to use linux_kdump with ktrace.out from a linux binary. But,
> > you still get segfaults with this patch in place? This patch just
> > puts Giant around the one system call that the cvsup changes you
> > pointed out removed it from. :( IOW, it's just another way of removing
> > undoing the cvsup changes.
>
> Yes, acroread still segfaults with your patch applied.
>
> I did not know I needed linux_kdump. Here's the end of the
> linux_kdump output.
>
> 1332 bash CALL linux_fork
> 1332 bash RET linux_fork 1337/0x539
> 1332 bash CALL linux_rt_sigprocmask(0x2,0xffffcff0,0,0x8)
> 1332 bash RET linux_rt_sigprocmask 0
> 1332 bash CALL linux_rt_sigaction(0x11,0xffffcf10,0xffffce80,0x8)
> 1332 bash RET linux_rt_sigaction 0
> 1332 bash CALL close(0x4)
> 1332 bash RET close 0
> 1332 bash CALL read(0x3,0xffffd070,0x80)
> 1332 bash GIO fd 3 read 36 bytes
> "/usr/X11R6/Adobe/Acrobat7.0/ENU/bin
> "
> 1332 bash RET read 36/0x24
> 1332 bash CALL read(0x3,0xffffd070,0x80)
> 1332 bash GIO fd 3 read 0 bytes
> ""
> 1332 bash RET read 0
> 1332 bash CALL close(0x3)
> 1332 bash RET close 0
> 1332 bash PSIG SIGCHLD caught handler=0x8076c60 mask=0x0 code=0x0
> 1332 bash CALL linux_wait4(0xffffffff,0xffffce00,0x1,0)
> 1332 bash RET linux_wait4 1337/0x539
> 1332 bash CALL linux_wait4(0xffffffff,0xffffce00,0x1,0)
> 1332 bash RET linux_wait4 -1 errno 10 No child processes
> 1332 bash PSIG SIGSEGV SIG_DFL
> 1332 bash NAMI "bash.core"
>
> I've put the ktrace.out file at
>
> http://troutmask.apl.washington.edu/~kargl/ktrace.out
>
> if it will help you out.
You have to use ktrace -i because bash forks children and the last one gets a
SIG11 from a child process that dies and kills the parent. Still, I've
stared at these before and been none the wiser. However, it doesn't make
_any_ sense that the cvsup changes you mentioned fix it and the patch
doesn't, because the patch does the _same_ thing.
--
John Baldwin
More information about the freebsd-amd64
mailing list