[
https://issues.apache.org/jira/browse/DERBY-4207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kathey Marsden updated DERBY-4207:
----------------------------------
Attachment: rpt.ksh
ClassForNameTest.java
Here is the reproduction I have been using. It just does a Class.forName() on
ClientDatasource. Just add . and derbyclient.jar to your CLASSPATH and run:
rpt.ksh java ClassForNameTest
which will repeat 10,000 times. When you stop seeing regular output on the
screen, you know it's hung.
It is not that reliable. This morning it hit the issue after only 128
executions. Then I reran and it took more than 7000 (most of the day) to occur
again. The problem however is not specific to ClientDataSource. We have seen
hangs in sysinfo and even the build's little split messages program.
I tried extracting parts of ClientDataSource and EncryptionManager from the
derby jar, but haven't been able o get a repoduction without the Derby jars yet.
> Intermittent hang in tests and build with SUSE linux running under VMWare
> with "Virtual Machine Interface " enabled
> --------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-4207
> URL: https://issues.apache.org/jira/browse/DERBY-4207
> Project: Derby
> Issue Type: Bug
> Components: Build tools, Test
> Affects Versions: 10.5.1.2
> Environment: java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build pxi32devifx-20070806
> (SR5a))
> IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20070426
> (JIT enabled)
> J9VM - 20070420_12448_lHdSMR
> JIT - 20070419_1806_r8
> GC - 200704_19)
> JCL - 20070725
> java version "1.4.2"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
> Classic VM (build 1.4.2, J2RE 1.4.2 IBM build cxia32142-20061124 (SR7) (JIT
> enabled: jitc))
> On SUSE linux running under VMWare
> SLES 10 service pack 2
> VMware ESX Server 3i, 3.5.0, 158869
> Model: eserver xSeries 345 -[8670MAX]
> Processors:2 CPU x 3.059 GHz
> Processor Type: Intel(R) Xeon(TM) CPU 3.06GHz
> Hyperthreading: Active
> Total Memory: 8.00 GB
> Number of NICs: 2
> Virtual Machines: 6
> VMotion Enabled: No
> Reporter: Kathey Marsden
> Assignee: Kathey Marsden
> Attachments: ClassForNameTest.java, rpt.ksh, samplejavacores.zip
>
>
> We made a change to enable the "Virtual Machine Interface " between the VM
> server and the SUSE Linux client, to correct a time calculation issue in this
> environment. Since then we have been seeing intermittent hangs, once in the
> build during splitmessages and several times in the tests. The hang always
> seems to be in some native code invoked from an internal java class.
> This is lkely a VMWare bug, rather than Derby or JVM bug. Once that is
> verified I will close this invald, but thought I would file it in case users
> encounter the issue.
> I will post a few sample javacore files. Here is one sample trace:
> 1XMTHDINFO All Thread Details
> NULL ------------------
> NULL
> 2XMFULLTHDDUMP Full thread dump J9 VM (J2RE 5.0 IBM J9 2.3 Linux x86-32 build
> 20070420_12448_lHdSMR, native threads):
> 3XMTHREADINFO "main" (TID:0x0806CB00, sys_thread_t:0x0805C380, state:CW,
> native ID:0x000016DC) prio=5
> 4XESTACKTRACE at java/lang/String.intern(Native Method)
> 4XESTACKTRACE at java/lang/Class.getName(Class.java:1061)
> 4XESTACKTRACE at
> com/ibm/oti/vm/AbstractClassLoader.getPackageName(AbstractClassLoader.java:362)
> 4XESTACKTRACE at
> com/ibm/oti/vm/BootstrapClassLoader.loadClass(BootstrapClassLoader.java:71)
> 4XESTACKTRACE at com/ibm/oti/vm/VM.findClassOrNull(Native Method)
> 4XESTACKTRACE at
> com/ibm/oti/vm/BootstrapClassLoader.loadClass(BootstrapClassLoader.java:67)
> 4XESTACKTRACE at
> com/ibm/security/cert/CertificateFactoryImpl.engineGenerateCertPath(CertificateFactoryImpl.java:563)
> 4XESTACKTRACE at
> java/security/cert/CertificateFactory.generateCertPath(CertificateFactory.java:297)
> 4XESTACKTRACE at
> sun/security/util/SignatureFileVerifier.getSigners(SignatureFileVerifier.java:487)
> 4XESTACKTRACE at
> sun/security/util/SignatureFileVerifier.processImpl(SignatureFileVerifier.java:231)
> 4XESTACKTRACE at
> sun/security/util/SignatureFileVerifier.process(SignatureFileVerifier.java:199)
> 4XESTACKTRACE at
> java/util/jar/JarVerifier.processEntry(JarVerifier.java:300)
> 4XESTACKTRACE at
> java/util/jar/JarVerifier.update(JarVerifier.java:212)
> 4XESTACKTRACE at
> java/util/jar/JarFile.initializeVerifier(JarFile.java:352)
> 4XESTACKTRACE at
> java/util/jar/JarFile.getInputStream(JarFile.java:429)
> 4XESTACKTRACE at
> sun/misc/URLClassPath$JarLoader$1.getInputStream(URLClassPath.java:895)
> 4XESTACKTRACE at
> sun/misc/Resource.cachedInputStream(Resource.java:96)
> 4XESTACKTRACE at sun/misc/Resource.getByteBuffer(Resource.java:151)
> 4XESTACKTRACE at
> java/net/URLClassLoader.defineClass(URLClassLoader.java:546)
> 4XESTACKTRACE at
> java/net/URLClassLoader.access$400(URLClassLoader.java:120)
> 4XESTACKTRACE at
> java/net/URLClassLoader$ClassFinder.run(URLClassLoader.java:962)
> 4XESTACKTRACE at
> java/security/AccessController.doPrivileged(AccessController.java:275)
> 4XESTACKTRACE at
> java/net/URLClassLoader.findClass(URLClassLoader.java:488)
> 4XESTACKTRACE at
> java/lang/ClassLoader.loadClass(ClassLoader.java:607)
> 4XESTACKTRACE at
> java/lang/ClassLoader.loadClass(ClassLoader.java:599)
> 4XESTACKTRACE at
> sun/misc/Launcher$AppClassLoader.loadClass(Launcher.java:327)
> 4XESTACKTRACE at
> java/lang/ClassLoader.loadClass(ClassLoader.java:573)
> 4XESTACKTRACE at
> sun/security/jca/ProviderConfig$3.run(ProviderConfig.java:273)
> 4XESTACKTRACE at
> java/security/AccessController.doPrivileged(AccessController.java:193)
> 4XESTACKTRACE at
> sun/security/jca/ProviderConfig.doLoadProvider(ProviderConfig.java:264)
> 4XESTACKTRACE at
> sun/security/jca/ProviderConfig.getProvider(ProviderConfig.java:244)
> 4XESTACKTRACE at
> sun/security/jca/ProviderList.loadAll(ProviderList.java:280)
> 4XESTACKTRACE at
> sun/security/jca/ProviderList.removeInvalid(ProviderList.java:297)
> 4XESTACKTRACE at
> sun/security/jca/Providers.getFullProviderList(Providers.java:182)
> 4XESTACKTRACE at
> java/security/Security.getProviders(Security.java:455)
> 4XESTACKTRACE at
> java/security/Security.getProviders(Security.java:602)
> 4XESTACKTRACE at
> java/security/Security.getProviders(Security.java:548)
> 4XESTACKTRACE at
> org/apache/derby/client/am/EncryptionManager.<init>(Bytecode PC:26)
> 4XESTACKTRACE at
> org/apache/derby/jdbc/ClientBaseDataSource.<clinit>(Bytecode PC:9)
> 4XESTACKTRACE at java/lang/J9VMInternals.initializeImpl(Native
> Method)
> 4XESTACKTRACE at
> java/lang/J9VMInternals.initialize(J9VMInternals.java:192(Compiled Code))
> 4XESTACKTRACE at
> java/lang/J9VMInternals.initialize(J9VMInternals.java:157(Compiled Code))
> 4XESTACKTRACE at java/lang/Class.forNameImpl(Native Method)
> 4XESTACKTRACE at java/lang/Class.forName(Class.java:130)
> 4XESTACKTRACE at
> org/apache/derbyTesting/junit/SecurityManagerSetup.getURL(SecurityManagerSetup.java:363)
> 4XESTACKTRACE at
> org/apache/derbyTesting/junit/SecurityManagerSetup.determineClasspath(SecurityManagerSetup.java:325)
> 4XESTACKTRACE at
> org/apache/derbyTesting/junit/SecurityManagerSetup.<clinit>(SecurityManagerSetup.java:68)
> 4XESTACKTRACE at java/lang/J9VMInternals.initializeImpl(Native
> Method)
> 4XESTACKTRACE at
> java/lang/J9VMInternals.initialize(J9VMInternals.java:192(Compiled Code))
> 4XESTACKTRACE at
> org/apache/derbyTesting/functionTests/harness/jvm.getSecurityProps(jvm.java:384)
> 4XESTACKTRACE at
> org/apache/derbyTesting/functionTests/harness/jvm.setSecurityProps(jvm.java:344)
> 4XESTACKTRACE at
> org/apache/derbyTesting/functionTests/harness/RunTest.buildTestCommand(RunTest.java:2371)
> 4XESTACKTRACE at
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.