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 157794

Summary: EQ blocked creating new WS client
Product: webservices Reporter: Jesse Glick <jglick>
Component: JAX-WSAssignee: Denis Anisimov <ads>
Status: RESOLVED WORKSFORME    
Severity: blocker Keywords: PERFORMANCE, THREAD
Priority: P3    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:

Description Jesse Glick 2009-02-02 17:07:11 UTC
While trying to reproduce issue #157460, the IDE froze when clicking Finish. Unfroze after a couple of minutes.

"AWT-EventQueue-1" prio=1 tid=0x08b64710 nid=0x6751 runnable [0xa6b1c000..0xa6b1dfb0]
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:129)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
	- locked <0x641fb940> (a java.io.BufferedInputStream)
	at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:681)
	at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:626)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:957)
	- locked <0x641ed078> (a sun.net.www.protocol.http.HttpURLConnection)
	at org.netbeans.modules.xml.retriever.catalog.Utilities.downloadURLUsingProxyAndSave(Utilities.java:440)
	at org.netbeans.modules.websvc.core.client.wizard.ClientInfo.validatePanel(ClientInfo.java:871)
	at
org.netbeans.modules.websvc.core.client.wizard.WebServiceClientWizardDescriptor.validate(WebServiceClientWizardDescriptor.java:156)
[....]

You should not try to make a network connection in such a method. Better is to mark the panel temporarily invalid,
displaying an icon, test the URL in the background, and asynch mark it valid when complete.
Comment 1 Denis Anisimov 2010-10-05 11:55:48 UTC
Currently WS Client Panel is realized via Async validation.
As result validation is done in the separate thread ( not AWT ).