This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | CloneableEditorSupportTest.testDocumentIsNotGCedIfOpenedInEditor may crash JDK7 VM | ||
---|---|---|---|
Product: | platform | Reporter: | Jiri Rechtacek <jrechtacek> |
Component: | Text | Assignee: | Jaroslav Tulach <jtulach> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | mmetelka |
Priority: | P2 | Keywords: | TEST |
Version: | 7.4 | ||
Hardware: | PC | ||
OS: | Linux | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: |
The report from HotSpot crash
Output after running with -Dsun.java2d.debugfonts=true |
Description
Jiri Rechtacek
2013-03-25 17:39:58 UTC
@RF added - http://hg.netbeans.org/core-main/rev/f0bfc1b2e6e4, http://hg.netbeans.org/core-main/rev/8ce9b304085c org.netbeans.ArchiveTest fixed in: http://hg.netbeans.org/ergonomics/rev/6fec15029069 request processor test fixed in: http://hg.netbeans.org/ergonomics/rev/d99f1be4b0ff CLIHandlerTest addressed in cb3af9501812 remains: org.openide.filesystems.ContentProviderTest.testCheckAFileFromOurLayer org.openide.filesystems.FileUtilTest.testGetMIMETypeConstrained org.openide.filesystems.MultiFileSystemRevealTest.testFileDeleted org.openide.awt.MenuBarTest.testActionFactoryCanReturnNull org.openide.explorer.view.TreeViewTest.testNodesGCedAfterSetChildrenLazy org.openide.loaders.DataNodeTest.testDataNodeGetHtmlNameDoesNotInitializeAllFiles org.netbeans.core.NbErrorManagerTest.testAddedInfo org.openide.text.CloneableEditorSupportTest.testDocumentIsNotGCedIfOpenedInEditor org.openide.text.InitializeInAWTTest.testInitializeOnBackground org.netbeans.ModuleManagerPersistanceTest.testModuleManagerStoresIsOSGiInfo org.openide.nodes.ChildFactoryTest.testAddRemoveNotifyAsynch All openide.filesystems tests seems to pass http://hudson4qe.cz.oracle.com/view/Platform/job/platform-filesystems/822/ since Apr 2, on all platforms with one day exception of FileObjectTestHid.testWriteReadExclusion which I addressed in e19c187bd6cb. I am considering to remove all @RandomlyFails annotations from openide.filesystems module. NbErrorManagerTest seems to be running OK, I'm just adding a timeout: 9babff2115b8 - similar situation for MenuBarTest. DataNodeTest does not seem to be failing on my JDK7 CloneableEditorSupportTest crashed the VM. InitializeInAWTTest passes fine and quickly. Decreasing timeout to 10s and removing @RF ChildFactoryTest passes OK and moreover the test run http://hudson4qe.cz.oracle.com/view/Platform/job/platform-nodes/ is stable since Apr 3, 2013. Considering to remove all @RF annotations in openide.nodes. ModuleManagerPersistanceTest passes locally, but the stability on the server does not seem high enough. Keeping remains: org.openide.text.CloneableEditorSupportTest.testDocumentIsNotGCedIfOpenedInEditor consider removing all @RF from openide.filesystems and openide.nodes. Integrated into 'main-golden', will be available in build *201304182301* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/cb3af9501812 User: Jaroslav Tulach <jtulach@netbeans.org> Log: #227918: Splitting the tests into two parts. Makes them more reliable. (In reply to comment #3) > remains: > > consider removing all @RF from openide.filesystems and openide.nodes. Removed in http://hg.netbeans.org/core-main/rev/8b39fbe0c45a > org.openide.text.CloneableEditorSupportTest > .testDocumentIsNotGCedIfOpenedInEditor Reassigning back. Can you please handle it? Thank you. FileChooserBuilderTest still fails quite regularly on core builder: http://deadlock.netbeans.org/hudson/job/NB-Core-Build/10301/testReport/org.openide.filesystems/FileChooserBuilderTest/testForceUseOfDefaultWorkingDirectory/ adding @RandomlyFails again All the tests are fixed (some of them need @RF again), except the testDocumentIsNotGCedIfOpenedInEditor which crashes VM when executed in batch with other openide.text tests, but passes, when executed alone. According to hotspot dump (which I will attach), the bug is somewhere in JDK's font loading code: Stack: [0x8f75e000,0x8f7af000], sp=0x8f7acad0, free space=314k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x43d42b] JNI_ArgumentPusherVaArg::JNI_ArgumentPusherVaArg(_jmethodID*, char*)+0x1b V [libjvm.so+0x43c740] jni_CallIntMethod+0xb0 C [libt2k.so+0x50f44] ReadTTFontFileFunc+0xe4 C [libt2k.so+0x29ca4] ReadInt32+0xe4 C [libt2k.so+0x2c2e5] New_sfntClassLogical+0x3d5 C [libt2k.so+0x50c70] Java_sun_font_T2KFontScaler_initNativeScaler+0x240 j sun.font.T2KFontScaler.initNativeScaler(Lsun/font/Font2D;IIZI[I)J+0 j sun.font.T2KFontScaler.<init>(Lsun/font/Font2D;IZI)V+51 v ~StubRoutines::call_stub V [libjvm.so+0x40f005] JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x315 V [libjvm.so+0x5d57e9] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle*, JavaCallArguments*, Thread*), JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x19 V [libjvm.so+0x40dcff] JavaCalls::call(JavaValue*, methodHandle, JavaCallArguments*, Thread*)+0x2f V [libjvm.so+0x63b766] Reflection::invoke(instanceKlassHandle, methodHandle, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*)+0x3c6 V [libjvm.so+0x63c748] Reflection::invoke_constructor(oopDesc*, objArrayHandle, Thread*)+0x2d8 V [libjvm.so+0x465718] JVM_NewInstanceFromConstructor+0xd8 C [libjava.so+0x1517b] Java_sun_reflect_NativeConstructorAccessorImpl_newInstance0+0x2b j sun.reflect.NativeConstructorAccessorImpl.newInstance0(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;+0 j sun.reflect.NativeConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+72 j sun.reflect.DelegatingConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+5 j java.lang.reflect.Constructor.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+79 j sun.font.FontScaler.getScaler(Lsun/font/Font2D;IZI)Lsun/font/FontScaler;+39 j sun.font.TrueTypeFont.getScaler()Lsun/font/FontScaler;+21 Possibly it is caused by frequent calls to System.gc which the native code is not ready for. Can we report a bug for JDK? Meanwhile the test has to be marked as @RF or disabled completely, I am afraid (Míla CCed). Created attachment 135416 [details]
The report from HotSpot crash
Integrated into 'main-golden', will be available in build *201306072301* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/8b39fbe0c45a User: Jaroslav Havlin <jhavlin@netbeans.org> Log: #227918: Remove @RandomlyFails annotations JDK bug #8017580. Created attachment 136872 [details]
Output after running with -Dsun.java2d.debugfonts=true
After modifying the test to:
diff -r da0c3769e51d openide.text/test/unit/src/org/openide/text/CloneableEditorSupportTest.java
--- a/openide.text/test/unit/src/org/openide/text/CloneableEditorSupportTest.java Tue Jul 09 06:29:38 2013 +0000
+++ b/openide.text/test/unit/src/org/openide/text/CloneableEditorSupportTest.java Tue Jul 09 14:18:03 2013 +0200
@@ -79,6 +79,9 @@
*/
public class CloneableEditorSupportTest extends NbTestCase
implements CloneableEditorSupport.Env {
+ static {
+ System.setProperty("sun.java2d.debugfonts", "true");
+ }
public static Test suite() {
return GraphicsEnvironment.isHeadless() ? new TestSuite() : new TestSuite(CloneableEditorSupportTest.class);
and running:
$ ant -f openide.text/build.xml test-single -Dtest.includes=**/CloneableEditorSupportTest*
I get the attached log file.
Phil did extensive investigation of the problem from the JDK point of view and as such there seems to be an easy fix. Let's disable INSANE for this test: 700a56cd4c1e Integrated into 'main-silver', will be available in build *201308072300* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/c9314ee9ee9d User: Jaroslav Tulach <jtulach@netbeans.org> Log: #227918: Let's disable INSANE for this test Integrated into 'main-silver', will be available in build *201308090746* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/c6aa07003e20 User: Jaroslav Tulach <jtulach@netbeans.org> Log: #227918: Let's disable INSANE for this test |