[ https://issues.apache.org/jira/browse/FELIX-1032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12708994#action_12708994 ]
Martin Zdila commented on FELIX-1032: ------------------------------------- The application has currently 158 bundles. Currently I can reproduce the exception updating one bundle(A) several times. The bundle(A) scans on it's activation all ACTIVE bundle(B)s and searches for the /web-resources directory in them. After couple of the bundle(A) updates (cca 3 and more) I get incorrect behaviour. Suprisingly, it is different on different JVMs(!): 1. Sun Java: URLConnection conn = bundleB.getEntry("web-resources/").openConnection(); conn.getInputStream() throws forementioned exception. The cause is very strange. I observed, that Inflater.ensureOpen is called after the Inflater is actually finalized!!! That's very weird and looks like a bug in the JVM :-O. The immediate subsequent call and further calls to conn.getInputStream() are successful. So the ugly bugfix is to retry the call once more after it throws NPE ;-). 2. OpenJDK: java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.4.1) (6b14-1.4.1-0ubuntu7) OpenJDK Client VM (build 14.0-b08, mixed mode, sharing) bundleB.getEntry("web-resources/").openConnection().getInputStream() returns null. Not for each bundle, but for random bundles, different on each bundle (A) update. This is true if using OpenJDK: Also note that I am using spring-osgi. I can create a vnc connection to my machine if it helps and I can assist you with the bug reproduction. Thanks for the interest. > NPE on URL#openStream() > ----------------------- > > Key: FELIX-1032 > URL: https://issues.apache.org/jira/browse/FELIX-1032 > Project: Felix > Issue Type: Bug > Components: Framework > Affects Versions: felix-1.4.1, felix-1.6.0 > Environment: Linux bono 2.6.28-6-generic #17-Ubuntu SMP Fri Jan 30 > 15:34:36 UTC 2009 i686 GNU/Linux > java version "1.6.0_13" > Java(TM) SE Runtime Environment (build 1.6.0_13-b03) > Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing) > Reporter: Martin Zdila > Priority: Critical > > Note that also affected is felix-1.6.0 (it is not in the list). > I am often getting NPE with the following code: > new URL("bundle://66.0:0/somewhere/my.resource" /* or any other bundle:// URL > */).openStream(); > java.lang.NullPointerException > at java.util.zip.Inflater.ensureOpen(Inflater.java:336) > at java.util.zip.Inflater.getBytesWritten(Inflater.java:296) > at java.util.zip.ZipFile$1.available(ZipFile.java:243) > at > org.apache.felix.framework.URLHandlersBundleURLConnection.connect(URLHandlersBundleURLConnection.java:125) > at > org.apache.felix.framework.URLHandlersBundleURLConnection.getInputStream(URLHandlersBundleURLConnection.java:134) > at java.net.URL.openStream(URL.java:1009) > It is not allways reproducible. The first call causes the NPE and the second > call with the same URL string goes without problems. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.