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 172649 - [STG] NullPointerException at org.openide.util.ImageUtilities.icon2Image
Summary: [STG] NullPointerException at org.openide.util.ImageUtilities.icon2Image
Status: VERIFIED FIXED
Alias: None
Product: connecteddeveloper
Classification: Unclassified
Component: Team Framework (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: Jan Becicka
URL: http://statistics.netbeans.org/except...
Keywords:
: 173001 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-09-21 09:12 UTC by Jaromir Uhrik
Modified: 2009-10-05 20:46 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter: 158850


Attachments
stacktrace (7.61 KB, text/plain)
2009-09-21 09:12 UTC, Jaromir Uhrik
Details
stacktrace (7.61 KB, text/plain)
2009-09-21 09:13 UTC, Jaromir Uhrik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jaromir Uhrik 2009-09-21 09:12:27 UTC
Build: NetBeans IDE Dev (Build 200909201401)
VM: Java HotSpot(TM) Client VM, 1.5.0_20-141, Java(TM) 2 Runtime Environment, Standard Edition, 1.5.0_20-b02-315
OS: Mac OS X, 10.5.8, i386

Stacktrace: 
java.lang.NullPointerException
        at org.openide.util.ImageUtilities.icon2Image(ImageUtilities.java:217)
        at org.netbeans.modules.kenai.ui.KenaiProjectsListRenderer.<init>(KenaiProjectsListRenderer.java:100)
        at org.netbeans.modules.kenai.ui.KenaiSearchPanel$KenaiProjectsListRenderer2.getListCellRendererComponent(KenaiSearchPanel.java:558)
        at javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:1155)
        at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1105)
        at javax.swing.plaf.basic.BasicListUI.getPreferredSize(BasicListUI.java:356)
Comment 1 Jaromir Uhrik 2009-09-21 09:12:32 UTC
Created attachment 87992 [details]
stacktrace
Comment 2 Jaromir Uhrik 2009-09-21 09:13:29 UTC
Build: NetBeans IDE Dev (Build 200909201401)
VM: Java HotSpot(TM) Client VM, 1.5.0_20-141, Java(TM) 2 Runtime Environment, Standard Edition, 1.5.0_20-b02-315
OS: Mac OS X, 10.5.8, i386

User Comments: 
When I connected to stg.network.org and try to search for a project in Kenai Open Project dialog then the exception appears.

Stacktrace: 
java.lang.NullPointerException
        at org.openide.util.ImageUtilities.icon2Image(ImageUtilities.java:217)
        at org.netbeans.modules.kenai.ui.KenaiProjectsListRenderer.<init>(KenaiProjectsListRenderer.java:100)
        at org.netbeans.modules.kenai.ui.KenaiSearchPanel$KenaiProjectsListRenderer2.getListCellRendererComponent(KenaiSearchPanel.java:558)
        at javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:1155)
        at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1105)
        at javax.swing.plaf.basic.BasicListUI.getPreferredSize(BasicListUI.java:356)
Comment 3 Jaromir Uhrik 2009-09-21 09:13:33 UTC
Created attachment 87993 [details]
stacktrace
Comment 4 Tomas Pavek 2009-09-22 16:30:52 UTC
I've implemented a workaround [1] so the exception is not thrown, but the root cause is that loading image [2] fails due
to a security exception [3]. The site seems to have some problems with certificates.

[1] http://hg.netbeans.org/cdev/rev/aedb96ae0c13

[2] https://stg.network.org/images/defaultProjectImage.jpg

[3]
java.security.cert.CertPathValidatorException: subject/issuer name chaining check failed
        at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:139)
        at sun.security.provider.certpath.PKIXCertPathValidator.doValidate(PKIXCertPathValidator.java:326)
        at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:178)
        at java.security.cert.CertPathValidator.validate(CertPathValidator.java:250)
        at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:246)
        at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:234)
        at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:148)
        at sun.security.validator.Validator.validate(Validator.java:218)
        at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
        at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
        at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
        at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1014)
        at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:124)
        at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
        at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1139)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123)
        at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
        at
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1041)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
        at java.net.URL.openStream(URL.java:1009)
        at javax.imageio.ImageIO.read(ImageIO.java:1367)
        at org.netbeans.modules.kenai.api.KenaiProject.fetchProjectImage(KenaiProject.java:192)
        at org.netbeans.modules.kenai.ui.KenaiSearchPanel$KenaiProjectsListModel.run(KenaiSearchPanel.java:725)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:602)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1070)
Comment 5 Quality Engineering 2009-09-24 12:36:47 UTC
Integrated into 'main-golden', will be available in build *200909230201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/aedb96ae0c13
User: Tomas Pavek <tpavek@netbeans.org>
Log: #172649: workaround - don't fail on null project icon
Comment 6 Jan Becicka 2009-10-02 15:26:03 UTC
*** Issue 173001 has been marked as a duplicate of this issue. ***
Comment 7 Petr Dvorak 2009-10-05 20:46:10 UTC
The fix does not work - the exception is still thrown. I fixed this issue in a bit different manner:

- KenaiProject.getIcon() throws exception if image caching/loading fails for any reason
- KenaiProject.getIcon() now must not be called from AWT Thread if image is not cached -> throws an exception if it is
- clients can catch the exception and use the default icon in such a case (it is already in "resources" package -
"default.jpg"

http://hg.netbeans.org/cdev/rev/0fbf14cdb12d - API change
http://hg.netbeans.org/cdev/rev/9734af9a6df9 - client changes

Seems to work OK now...