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 141466 - My SingleFrameApplication can not connect to Oracle DB
Summary: My SingleFrameApplication can not connect to Oracle DB
Status: RESOLVED WONTFIX
Alias: None
Product: guibuilder
Classification: Unclassified
Component: App Framework (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: issues@guibuilder
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-24 05:02 UTC by phantranhung
Modified: 2008-07-29 13:15 UTC (History)
0 users

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 phantranhung 2008-07-24 05:02:50 UTC
Hi everybody
I have a class with this method:

public String test() throws SQLException {
String driver = Config.getProperty(ConfigDefs.DRIVER_CLASS_NAME);
String url = Config.getProperty(ConfigDefs.DB_URL);
String username = Config.getProperty(ConfigDefs.DB_USERNAME);
String password = Config.getProperty(ConfigDefs.DB_PASSWORD);
String test = "";
try {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

System.out.println("Before..");
Connection conn = DriverManager.getConnection(url, username, password);

System.out.println("After..");
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("select SYSDATE from DUAL");
while (rset.next()) {
test = rset.getString(1);
} // Print col 1
rset.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return test;
}

it run well when i test this method in class. But when i call it from a JFrame (click a button) in a
SingleFrameApplication, an error occur in this line:
Connection conn = DriverManager.getConnection(url, username, password);
and not run to "After", print stack trace show (after about 10 minutes waiting):

java.sql.SQLException: IoException: The Network Adapter could not establish the connection
...

I try to test this JFrame without SingleFrameApplication (run it alone), it run well, no error.I printed all stack trace
(as you see in my code), i show the last line of stacktrace for you. My problem, i think is a conflict between
SingleFrameApplication and JDBC (i used ojdbc14.jar) in Netbeans 6.0.1. Can you try it? You'll see it, test the code for
connecting Oracle DB alone, it run well, but put it in SingleFrameApplication, it's fail.
I don't understand why this error occur. I use Netbeans for development.
Thanks in advance.
Comment 1 Jan Stola 2008-07-24 16:34:51 UTC
I don't have access to Oracle DB by now. I will try to find one soon. Could you, please, send me a thread dump of the 
application taken when the application waits on DriverManager.getConnection(). Thank you in advance.

See http://wiki.netbeans.org/GenerateThreadDump if you don't know how to generate a thread dump.
Comment 2 phantranhung 2008-07-25 05:19:31 UTC
Here is the thread dump of the application taken when the application waits on DriverManager.getConnection():
==========
D:\Documents and Settings\pthung>jstack 3312
2008-07-25 11:02:48
Full thread dump Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode, sharing):

"RMI TCP Connection(6)-172.16.17.31" daemon prio=6 tid=0x0309d400 nid=0x840 in O
bject.wait() [0x0421e000..0x0421fa14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x22f927d0> (a com.sun.jmx.remote.internal.ArrayNotificati
onBuffer)
        at com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotification
s(Unknown Source)
        - locked <0x22f927d0> (a com.sun.jmx.remote.internal.ArrayNotificationBu
ffer)
        at com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetch
Notifications(Unknown Source)
        at com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(Unknown
Source)
        at javax.management.remote.rmi.RMIConnectionImpl$2.run(Unknown Source)
        at javax.management.remote.rmi.RMIConnectionImpl$2.run(Unknown Source)
        at javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(Unkn
own Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
        at sun.rmi.transport.Transport$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Sou
rce)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Sour
ce)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"JMX server connection timeout 24" daemon prio=6 tid=0x03079800 nid=0xcc4 in Obj
ect.wait() [0x038af000..0x038afb14]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x22fd4010> (a [I)
        at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(Unkno
wn Source)
        - locked <0x22fd4010> (a [I)
        at java.lang.Thread.run(Unknown Source)

"RMI TCP Connection(4)-172.16.17.31" daemon prio=6 tid=0x039b0400 nid=0xe30 runn
able [0x0411f000..0x0411fb94]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(Unknown Source)
        at java.io.BufferedInputStream.fill(Unknown Source)
        at java.io.BufferedInputStream.read(Unknown Source)
        - locked <0x22f9dfa8> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Sou
rce)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Sour
ce)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"RMI TCP Connection(2)-172.16.17.31" daemon prio=6 tid=0x030a4400 nid=0xcec runn
able [0x0399f000..0x0399fc94]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(Unknown Source)
        at java.io.BufferedInputStream.fill(Unknown Source)
        at java.io.BufferedInputStream.read(Unknown Source)
        - locked <0x22f94928> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Sou
rce)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Sour
ce)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"RMI Scheduler(0)" daemon prio=6 tid=0x02af6400 nid=0xb9c waiting on condition [
0x038ff000..0x038ffd94]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x22f84fa0> (a java.util.concurrent.locks.Abstra
ctQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
.awaitNanos(Unknown Source)
        at java.util.concurrent.DelayQueue.take(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.tak
e(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.tak
e(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"RMI TCP Accept-0" daemon prio=6 tid=0x03a2c800 nid=0xd08 runnable [0x0385f000..
0x0385fa94]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(Unknown Source)
        - locked <0x22f85160> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(Unknown Source)
        at java.net.ServerSocket.accept(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unkno
wn Source)
        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"DestroyJavaVM" prio=6 tid=0x00386000 nid=0x13c waiting on condition [0x00000000
..0x003efd4c]
   java.lang.Thread.State: RUNNABLE

"AWT-EventQueue-0" prio=6 tid=0x02afc000 nid=0x2f0 runnable [0x02f9e000..0x02f9f
c14]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(Unknown Source)
        at java.net.SocksSocketImpl.readSocksReply(Unknown Source)
        at java.net.SocksSocketImpl.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at java.net.Socket.<init>(Unknown Source)
        at java.net.Socket.<init>(Unknown Source)
        at oracle.net.nt.TcpNTAdapter.connect(Unknown Source)
        at oracle.net.nt.ConnOption.connect(Unknown Source)
        at oracle.net.nt.ConnStrategy.execute(Unknown Source)
        at oracle.net.resolver.AddrResolution.resolveAndExecute(Unknown Source)
        at oracle.net.ns.NSProtocol.establishConnection(Unknown Source)
        at oracle.net.ns.NSProtocol.connect(Unknown Source)
        at oracle.jdbc.ttc7.TTC7Protocol.connect(TTC7Protocol.java:1687)
        at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:214)
        - locked <0x22fdce58> (a oracle.jdbc.ttc7.TTC7Protocol)
        at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:346)

        at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:468)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at com.icbv.itc.monitor.dao.SmsQueueDAO.test(SmsQueueDAO.java:118)
        at com.icbv.itc.monitor.SendSms.sendPrivateSms(SendSms.java:246)
        at com.icbv.itc.monitor.SendSms.btnSendMouseClicked(SendSms.java:288)
        at com.icbv.itc.monitor.SendSms.access$100(SendSms.java:19)
        at com.icbv.itc.monitor.SendSms$2.mouseClicked(SendSms.java:87)
        at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

"AWT-Windows" daemon prio=6 tid=0x02afb000 nid=0xd18 runnable [0x02eff000..0x02e
ffc94]
   java.lang.Thread.State: RUNNABLE
        at sun.awt.windows.WToolkit.eventLoop(Native Method)
        at sun.awt.windows.WToolkit.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"AWT-Shutdown" prio=6 tid=0x02af9c00 nid=0xe14 in Object.wait() [0x02eaf000..0x0
2eafd14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x22e731a8> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:485)
        at sun.awt.AWTAutoShutdown.run(Unknown Source)
        - locked <0x22e731a8> (a java.lang.Object)
        at java.lang.Thread.run(Unknown Source)

"Java2D Disposer" daemon prio=10 tid=0x02af9400 nid=0x6a4 in Object.wait() [0x02
e5f000..0x02e5fd94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x22e73240> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x22e73240> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at sun.java2d.Disposer.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"Low Memory Detector" daemon prio=6 tid=0x02a4d000 nid=0xb60 runnable [0x0000000
0..0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x02a48400 nid=0x698 waiting on condition [
0x00000000..0x02cff798]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x02a47000 nid=0xce0 runnable [0x00000000..
0x02cafb6c]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x02a46000 nid=0x608 runnable [0x00000000
..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x02a41c00 nid=0xb20 in Object.wait() [0x02c0f000.
.0x02c0fc94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x22e73498> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x22e73498> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x02a3d400 nid=0xba0 in Object.wait() [0x
02bbf000..0x02bbfd14]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x22e72fd0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
        - locked <0x22e72fd0> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x02a3c000 nid=0x1ac runnable

"VM Periodic Task Thread" prio=10 tid=0x02a4e800 nid=0xe0c waiting on condition


JNI global references: 914


======
You can see in above:
...
        at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:468)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at com.icbv.itc.monitor.dao.SmsQueueDAO.test(SmsQueueDAO.java:118)
        at com.icbv.itc.monitor.SendSms.sendPrivateSms(SendSms.java:246)
        at com.icbv.itc.monitor.SendSms.btnSendMouseClicked(SendSms.java:288)
...

I don't know "Unknown Source", if I run method test (not in SingleFrameApplication) it run well.
Thank you in advance.
Comment 3 Jan Stola 2008-07-28 14:29:36 UTC
It could have the same root as issue 134745. Could you, please, try to put ProxySelector.getDefault() as the first line 
of main() method of your application? Does it help?
Comment 4 Jan Stola 2008-07-29 10:18:36 UTC
Response from the reporter:

> I try to put ProxySelector.getDefault() as the first line and It work, thanks you very much.
> At last, my problem is resolved. Thanks for you help.
Comment 5 Jan Stola 2008-07-29 13:15:02 UTC
Closing this issue as "will not fix" because it is caused by suspicious feature of Swing Application Framework.