Diablo 1.5 SIGBUS

Diablo 1.5 SIGBUS

Post by odela0 » Fri, 07 Apr 2006 18:18:09


ust trying out the new JDK 1.5 binaries on my TestNG suite. Unfortunately =
I
can't get it to complete, I get a SIGBUS every time. It said to send the bu=
g
report to this list. I have a 113Mb core dump too, if that=B9s any use.

The SIGBUS occurs at different places, but most often at
[libjvm.so+0x589595]. The box has two CPUs.


#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGBUS (0xa) at pc=3D0x28716595, pid=3D85952, tid=3D0x805c000
#
# Java VM: Java HotSpot(TM) Server VM (diablo-1.5.0_06-b00 mixed mode)
# Problematic frame:
# V [libjvm.so+0x589595]
#

--------------- T H R E A D ---------------

Current thread (0x08068000): JavaThread "main" [_thread_in_vm_trans,
id=3D134594560]

siginfo:si_signo=3D10, si_errno=3D0, si_code=3D12, si_addr=3D0x288f1000

Registers:
EAX=3D0x288cbb08, EBX=3D0x288b5e74, ECX=3D0x288f1000, EDX=3D0x288cbb10
ESP=3D0xbfbfc4b0, EBP=3D0xbfbfc578, ESI=3D0x00000000, EDI=3D0x288cda54
EIP=3D0x28716595, EFLAGS=3D0x00010246

Top of Stack: (sp=3D0xbfbfc4b0)
0xbfbfc4b0: 2807d050 08056034 08166000 280ab1ea
0xbfbfc4c0: 280ad4bc 083e50b0 00000000 00000001
0xbfbfc4d0: 08063828 bfbfc518 00000000 00000000
0xbfbfc4e0: 08062800 bfbfc520 00000000 00000000
0xbfbfc4f0: 0806382c 08063828 00000000 288b5e74
0xbfbfc500: 08063828 0805c000 000003fa 08068000
0xbfbfc510: 08063800 080637c0 00000000 280a21a4
0xbfbfc520: 08068000 080637c0 bfbfc558 28714897

Instructions: (pc=3D0x28716595)
0x28716585: 75 94 d3 ee 8b 38 8b 0a 21 fe 8b bb 40 71 00 00
0x28716595: c7 04 31 01 00 00 00 8b 17 85 d2 0f 84 cf fc ff

Stack: [0xbfbc0000,0xbfc00000), sp=3D0xbfbfc4b0, free space=3D241k
Native frames: (J=3Dcompiled Java code, j=3Dinterpreted, Vv=3DVM code, C=3Dnative
code)
V [libjvm.so+0x589595]
V [libjvm.so+0x688d9a]
V [libjvm.so+0x2fd5e3]
V [libjvm.so+0x3789ed]
V [libjvm.so+0x3a5fbb]
V [libjvm.so+0x599e4e]
V [libjvm.so+0x6014ec]

Java frames: (J=3Dcompiled Java code, j=3Dinterpreted, Vv=3DVM code)
v ~RuntimeStub::_new_objArray_Java
J =20
org.testng.internal.XmlMethodSelector.createQualifiedMethodNames(Ljava/lang=
/
String;Ljava/util/List;)Ljava/util/List;
J =20
org.testng.internal.XmlMethodSelector.includeMethodFromIncludeExclude(Lorg/=
t
estng/ITestNGMethod;Z)Z
v ~I2CAdapter
j =20
org.testng.internal.XmlMethodSelector.includeMethod(Lorg/testng/ITestNGMeth=
o
d;Z)Z+23
j =20
org.testng.internal.XmlMethodSelector.setTestMethods(Ljava/util/List;)V+90
j =20
org.testng.internal.MethodSelectorDescriptor.setTestMethods(Ljava/util/List=
;
)V+5
j org.testng.internal.RunInfo.setTestMethods(Ljava/util/List;)V+31
j org.testng.TestRunner.initMethods()V+424
j org.testng.TestRunner.init()V+17
j =20
org.testng.TestRunner.init(Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;Ljava=
/
lang/String;Lorg/testng/internal/annotations/IAnnotationFinder;)V+278
j =20
org.testng.TestRunner.<init>(Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;Lja=
v
a/lang/String;Lorg/testng/internal/annotations/IAnnotationFinder;)V+226
j =20
org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(Lorg/testng/I=
S
uite;Lorg/testng/xml/XmlTest;)Lorg/testng/TestRunner;+16
j org.testng.SuiteRunner.privateRun()V+61
j org.testng.SuiteRunner.run()V+10
j =20
org.testng.TestNG.createAndRunSuiteRunners(Lorg/testng/xml/XmlSuite;)Lorg/t=
e
stng/SuiteRunner;+146
j org.testng.TestNG.runSuitesLocally()Ljava/util/List;+99
j org.testng.TestN
 
 
 

Diablo 1.5 SIGBUS

Post by odela0 » Sat, 08 Apr 2006 09:52:03

> From: Kurt Miller < XXXX@XXXXX.COM >


I applied the patch and did "make all install" in /usr/src/lib/libpthread,
but it didn't make any difference. I'll try to arrange access to the core
dump.

--
Lachlan O'Dea
CA
Senior Software Engineer
tel: +61 3 8416 5627
fax: +61 3 8416 5810
mobile: +61 412 390 650
XXXX@XXXXX.COM

Relax and enjoy your shoes!

_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "

 
 
 

Diablo 1.5 SIGBUS

Post by dnelso » Sat, 08 Apr 2006 10:57:27

In the last episode (Apr 06), Kurt Miller said:


It just moves the fault address to [libjvm.so+0x58f965]. It does seem
to be a threading issue, because if I libmap libpthread to libc_r I get
no crashes.

--
Dan Nelson
XXXX@XXXXX.COM
_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "
 
 
 

Diablo 1.5 SIGBUS

Post by list » Sat, 08 Apr 2006 12:33:09


Thanks for making the core dump available to me. It was
helpful. I got a partial stack trace from it:

#0 0x280aa41b in pthread_setcancelstate () from /usr/lib/libpthread.so.2
#1 0x280a29a6 in pthread_mutexattr_init () from /usr/lib/libpthread.so.2
#2 0x00000000 in ?? ()

This bt also supports Dan Nelson's observations that this
could be a threading issue. It would be great if you or Dan
built a debug pthreads by commenting the CFLAGS+= -g line in
/usr/src/lib/pthreads/Makefile and rebuilding/reinstall
pthreads. The back-trace from the core file would contain
line numbers and be more useful then.

Thanks for helping diagnose the problem.

-Kurt
_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "
 
 
 

Diablo 1.5 SIGBUS

Post by list » Sat, 08 Apr 2006 12:37:19


oops, that should have read "uncommenting the CFLAGS+= -g line"
:-)

_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "
 
 
 

Diablo 1.5 SIGBUS

Post by deische » Sat, 08 Apr 2006 12:42:23


That stack trace doesn't help. pthread_mutexattr_init(), doesn't
call pthread_setcancelstate().

Is there any fork()ing going on?

--
DE

_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "
 
 
 

Diablo 1.5 SIGBUS

Post by kurt » Sat, 08 Apr 2006 22:55:25


Hi Daniel,

One of the reports indicated RabbIT3 ( http://www.yqcomputer.com/ )
was causing failures. It doesn't do any fork()ing.

-Kurt
_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "
 
 
 

Diablo 1.5 SIGBUS

Post by dnelso » Sun, 09 Apr 2006 00:29:12

In the last episode (Apr 07), Kurt Miller said:




To keep someone else from mentioning it: It can fork if you enable the
image compressor, but I don't, so in my case it isn't.

--
Dan Nelson
XXXX@XXXXX.COM
_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "
 
 
 

Diablo 1.5 SIGBUS

Post by kurt » Sun, 09 Apr 2006 05:47:28


Hi,

I was able to catch the SIGBUS in gdb once so far on a remote
multiprocessor system. There was some evidence that the use of
of the jvm argument -XX:+UseMembar will help correct the problem.
I wasn't readily able to reproduce the problem so I'm not sure
yet if this is the proper solution. Can those of you who are
getting the SIGBUS try this and see if it improves things?

Thanks,
-Kurt
_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "
 
 
 

Diablo 1.5 SIGBUS

Post by ric » Thu, 04 May 2006 23:55:43

Hi,
I'm running tomcat on FreeBSD 6.1-RC with diablo -1.5.0.06.00 (this is
the current port as of today). This is on an amd64 X2 with SMP running.

I am getting the SIGBUS error that was mentioned back in April -

> I was able to catch the SIGBUS in gdb once so far on a remote
> multiprocessor system. There was some evidence that the use of
> of the jvm argument -XX:+UseMembar will help correct the problem.
> I wasn't readily able to reproduce the problem so I'm not sure
> yet if this is the proper solution. Can those of you who are
> getting the SIGBUS try this and see if it improves things?

It seems the problem has some kind of temporary fix at least. _My_
problem is I am no developer (bash and cgi are about my limits - I'm
setting up a load test machine for tomcat developers). So if someone
could be kind enough to give me a quick step by step on how to execute
this solution I would be eternally grateful. I've looked in
/usr/local/bin/javavm, as it was suggested adding the above fix there,
but I wouldn't even know where to start.

Thanks for any help,

Cheers
Richard
_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "
 
 
 

Diablo 1.5 SIGBUS

Post by glewi » Fri, 05 May 2006 01:44:37


You did say bash was within your limits, and javavm is a shell script... :)

A quick and dirty hack would involve something like this. Every where
it invokes tryJavaCommand (there are about 6 instances) you need to add
-XX:+UseMembar. That is, the lines look something like:

tryJavaCommand "PATH_TO_JAVA_COMMAND" "${@}"

make them

tryJavaCommand "PATH_TO_JAVA_COMMAND" -XX:+UseMembar "${@}"

You don't really need to change all six instances, but which to change
depends on your usage pattern, so changing all 6 is safe.

If that works you owe me two beers... ;)
--
Greg Lewis Email : XXXX@XXXXX.COM
Eyes Beyond Web : http://www.yqcomputer.com/
Information Technology FreeBSD : XXXX@XXXXX.COM
_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "
 
 
 

Diablo 1.5 SIGBUS

Post by ric » Fri, 05 May 2006 22:22:15


I guess the key phrase was 'about my limits' ;)


That worked a treat, thanks. You can have several beers on me - just
send the invoice.

The only reason I didn't reply earlier was because I bounced straight
into another problem which seems to be FreeBSD 6 related (bindexception
on port 8005, which seems to be down to IPv6 from the few snippets I can
find - but that's another email).

Thanks again,
Richard

_______________________________________________
XXXX@XXXXX.COM mailing list
http://www.yqcomputer.com/
To unsubscribe, send any mail to " XXXX@XXXXX.COM "