Re: post 2.6.7 BK change breaks Java?

From: Brian Gerst
Date: Mon Jul 12 2004 - 07:39:21 EST


Jesper Juhl wrote:
On Sun, 11 Jul 2004, Brian Gerst wrote:


Brian Gerst wrote:

Jesper Juhl wrote:


On Sun, 11 Jul 2004, Jesper Juhl wrote:



On Sun, 11 Jul 2004, Grzegorz Kulewski wrote:



On Sun, 11 Jul 2004, Jesper Juhl wrote:



On Fri, 9 Jul 2004, Jesper Juhl wrote:



On Fri, 9 Jul 2004, Con Kolivas wrote:



but I suspect it's one of those possibly interfering. Looking at the
patches in question I have no idea how they could do it. I guess
if you
can try backing them out it would be helpful. Here are links to the
patches in question.
http://ck.kolivas.org/patches/2.6/2.6.7/2.6.7-ck5/split-out/1100_ip_tabl

es.patch
http://ck.kolivas.org/patches/2.6/2.6.7/2.6.7-ck5/split-out/1105_CAN-200

4-0497.patch
http://ck.kolivas.org/patches/2.6/2.6.7/2.6.7-ck5/split-out/1110_proc.pa

tch


Thanks Con, I'll try playing with those tomorrow (got no time
tonight),
and report back.


Ok, got them all 3 backed out of 2.6.7-mm7 , but that doesn't change a
thing. The JVM still dies when I try to run eclipse.


I can run Eclipse without any problems on 2.6.7-bk20-ck5 + few other
not
related patches. Maybe try using non -mm? Try 2.6.7-bk20 and then try
reverting some patches. Maybe there is some other problem in -mm that
gives similar results?


with plain 2.6.7-bk20 I see the issue, same with 2.6.7-mm7. Reverting
http://linux.bkbits.net:8080/linux-2.6/cset@xxxxxx from -mm7 fixes the
issue. I'm currently building 2.6.7-bk20 minus that cset and I'll report
back on the results of that in a few minutes.


2.6.7-bk20 minus the cset works.

Testing with 2.6.8-rc1 and backing out one or both of the changes in the
cset I get these results :
2.6.8-rc1 - vanilla -
breaks Java
2.6.8-rc1-jju1 - both changes backed out - works
2.6.8-rc1-jju2 - only first change (sys_rt_sigsuspend) applied - works
2.6.8-rc1-jju3 - only second change (sys_sigaltstack) applied -
breaks Java

--
Jesper Juhl <juhl-lkml@xxxxxx>


Looks like a GCC (gcc version 3.4.1 20040702 (Red Hat Linux 3.4.1-2))
screwup:

sys_sigaltstack:
movl 4(%esp), %eax
movl 8(%esp), %edx
movl 56(%esp), %ecx
jmp do_sigaltstack

The offsets should be 4 more, to account for the return address on the
stack.

Nevermind, I should have looked more carefully. The offsets are fine in
my example. What version of GCC are you using?


gcc 3.4.0

I got a patch from Linus yesterday that seems to fix it nicely on top of
2.6.8-rc1. I guess he has his reasons for not CC'ing it to the list, but
I've given him feedback on my testing of it, so I hope it'll surface as
soon as he's happy with it.

I see Linus commited a changeset that avoids a tailcall from this function, which messes up the stack if CONFIG_REGPARM=n. Specifically, it clobbers %edx in the pt_regs image:

sys_sigaltstack:
movl 56(%esp), %eax
movl %eax, 12(%esp)
jmp do_sigaltstack

--
Brian Gerst
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/