baztian/jaydebeapi

A jdbc driver fails to open a web browser for single sign on

mickpa opened this issue · 0 comments

This app just hangs when tried with a connection string that causes the jdbc driver to use single sign on, which involves opening a browser page.
Using native authentication works fine.

import jaydebeapi as jdb
conn = jdb.connect('com.ingres.jdbc.IngresDriver','jdbc:actian://my_dbserver:27839/db;encryption=on;UID=myuser;auth_type=cli;auth_server=authserver_url,google;', jars='iijdbc.jar')
cursor = conn.cursor()
cursor.execute("select count(*) from sample.l_airport")
result=cursor.fetchone()
print(result[0])
cursor.close()
conn.close()

kill -TERM python_pid
in another shell causes the below exception to show up after some time.

AWT blocker activation interrupted:
java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at sun.awt.AWTAutoShutdown.activateBlockerThread(AWTAutoShutdown.java:350)
at sun.awt.AWTAutoShutdown.setToolkitBusy(AWTAutoShutdown.java:262)
at sun.awt.AWTAutoShutdown.notifyToolkitThreadBusy(AWTAutoShutdown.java:145)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
at java.lang.Runtime.load0(Runtime.java:810)
at java.lang.System.load(System.java:1086)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1122)
at java.awt.Toolkit$3.run(Toolkit.java:1636)
at java.awt.Toolkit$3.run(Toolkit.java:1634)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.loadLibraries(Toolkit.java:1633)
at java.awt.Toolkit.(Toolkit.java:1670)
at java.awt.Desktop.isDesktopSupported(Desktop.java:169)
at com.ingres.gcf.fim.FedIdentityMgmt.openDefaultBrowser(FedIdentityMgmt.java:907)
at com.ingres.gcf.fim.FedIdentityMgmt.getAccessTokenUsingCLI(FedIdentityMgmt.java:1302)
at com.ingres.gcf.fim.FedIdentityMgmt.getAccessToken(FedIdentityMgmt.java:1690)
at com.ingres.gcf.jdbc.JdbcConn.client_parms(JdbcConn.java:1489)
at com.ingres.gcf.jdbc.JdbcConn.connect(JdbcConn.java:676)
at com.ingres.gcf.jdbc.JdbcConn.(JdbcConn.java:449)
at com.ingres.gcf.jdbc.JdbcDrv.connect(JdbcDrv.java:705)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jpype.JPypeContext.callMethod(Unknown Source)