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.

Bug 239118 - dependent osgi bundle stopped on shutdown before ModuleInstall.close() on depending module is called ?
Summary: dependent osgi bundle stopped on shutdown before ModuleInstall.close() on dep...
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Netigso (show other bugs)
Version: 8.0
Hardware: Macintosh Mac OS X
: P1 normal (vote)
Assignee: Jaroslav Tulach
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-04 14:50 UTC by Tomas Stupka
Modified: 2013-12-05 22:13 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Stupka 2013-12-04 14:50:37 UTC
Product Version = NetBeans IDE Dev (Build 20131204-8f52ae4b799e)
Operating System = Mac OS X version 10.9 running on x86_64
Java; VM; Vendor = 1.7.0_17
Runtime = Java HotSpot(TM) 64-Bit Server VM 23.7-b01

ModuleInstall.close() in jira module serializes some internal data, the type is from an osgi bundle, the following exception is thrown and nothing is stored (data loss).

java.lang.NullPointerException
	at org.netbeans.modules.netbinox.NetbinoxHooks.processClass(NetbinoxHooks.java:102)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:600)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:568)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at org.netbeans.modules.netbinox.NetbinoxLoader.loadClass(NetbinoxLoader.java:81)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	at java.lang.Class.getDeclaredFields0(Native Method)
	at java.lang.Class.privateGetDeclaredFields(Class.java:2317)
	at java.lang.Class.getDeclaredFields(Class.java:1762)
	at java.io.ObjectStreamClass.getDefaultSerialFields(ObjectStreamClass.java:1619)
	at java.io.ObjectStreamClass.getSerialFields(ObjectStreamClass.java:1541)
	at java.io.ObjectStreamClass.access$800(ObjectStreamClass.java:69)
	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:469)
	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:455)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:455)
	at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:352)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1130)
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
	at org.netbeans.modules.jira.repository.JiraStorageManager.storeQueries(JiraStorageManager.java:222)
	at org.netbeans.modules.jira.repository.JiraStorageManager.shutdown(JiraStorageManager.java:268)
	at org.netbeans.modules.jira.Jira.shutdown(Jira.java:147)
	at org.netbeans.modules.jira.ModuleLifecycleManager.close(ModuleLifecycleManager.java:65)
Comment 1 Jaroslav Tulach 2013-12-04 15:04:48 UTC
The NPE is generated in a code which is new (added after 7.4). I can fix that ergonomics#b0d63f8c9043 - however the actual order for shutting down is stable for years and cannot be easily changed.
Comment 2 Tomas Stupka 2013-12-04 15:16:47 UTC
the fixed solved the problem. no strong feelings about the order.
Comment 3 Jaroslav Tulach 2013-12-05 22:13:51 UTC
*** Bug 239150 has been marked as a duplicate of this bug. ***