Jira with Oracle database throwing IO Error: Socket read interrupted errors.

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible


Problem

Jira will randomly throw GUI errors such as com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.atlassian.jira.plugins.jira-dvcs-connector-plugin] and plugins will stop working. 

The following appears in the atlassian-jira.log:

2021-09-06 08:30:03,856+0100 http-nio-8180-exec-17 WARN XXXXX xxx xx xxxx /browse/SOFT-15563 [c.a.p.n.p.navigation.services.LocalNavigationLinksImpl] Failed to gather navigation links
com.atlassian.cache.CacheException: com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.atlassian.jira.plugins.jira-dvcs-connector-plugin]
	at com.atlassian.cache.ehcache.DelegatingCachedReference.get(DelegatingCachedReference.java:77)
	at com.atlassian.jira.plugins.dvcs.dao.impl.CachingOrganizationDaoImpl.getAllCachedOrgs(CachingOrganizationDaoImpl.java:274)
	at com.atlassian.jira.plugins.dvcs.dao.impl.CachingOrganizationDaoImpl.getAllByType(CachingOrganizationDaoImpl.java:104)
	at com.atlassian.jira.plugins.dvcs.service.OrganizationServiceImpl.getAll(OrganizationServiceImpl.java:161)
	at com.atlassian.jira.plugins.dvcs.navlinks.BitbucketCloudAccountNavLinkRepository.matching(BitbucketCloudAccountNavLinkRepository.java:86)
	at com.atlassian.jira.plugins.dvcs.navlinks.BitbucketCloudAccountNavLinkRepository.all(BitbucketCloudAccountNavLinkRepository.java:80)
	at com.atlassian.plugins.navlink.producer.navigation.services.LocalNavigationLinksImpl$1.apply(LocalNavigationLinksImpl.java:44)
	at com.atlassian.plugins.navlink.producer.navigation.services.LocalNavigationLinksImpl$1.apply(LocalNavigationLinksImpl.java:39)
	at com.google.common.collect.Lists$TransformingRandomAccessList$1.transform(Lists.java:616)
	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)
	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)
	at com.google.common.collect.Iterators$ConcatenatedIterator.hasNext(Iterators.java:1332)
	at com.google.common.collect.Iterators.addAll(Iterators.java:357)
	at com.google.common.collect.Sets.newHashSet(Sets.java:276)
	at com.google.common.collect.Sets.newHashSet(Sets.java:259)
	at com.atlassian.plugins.navlink.producer.navigation.services.LocalNavigationLinksImpl.all(LocalNavigationLinksImpl.java:34)
...
Caused by: com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.atlassian.jira.plugins.jira-dvcs-connector-plugin]
	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:95)
	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:86)
	at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	... 1 more
Caused by: java.lang.RuntimeException: Could not get unique fields for table 'AO_E8B6CC_PROJECT_MAPPING_V2'
	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getUniqueFields(DatabaseMetaDataReaderImpl.java:191)
	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getFields(DatabaseMetaDataReaderImpl.java:85)
	at net.java.ao.schema.ddl.SchemaReader.readFields(SchemaReader.java:126)
	at net.java.ao.schema.ddl.SchemaReader.readTable(SchemaReader.java:110)
	at net.java.ao.schema.ddl.SchemaReader.access$000(SchemaReader.java:62)
	at net.java.ao.schema.ddl.SchemaReader$1.apply(SchemaReader.java:97)
...
Caused by: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
	at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:747)
	at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:904)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1082)
	at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1276)
	at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:366)
	at org.apache.commons.dbcp2.DelegatingDatabaseMetaData.getIndexInfo(DelegatingDatabaseMetaData.java:327)
	at org.apache.commons.dbcp2.DelegatingDatabaseMetaData.getIndexInfo(DelegatingDatabaseMetaData.java:327)
	at net.java.ao.db.OracleDatabaseProvider.getIndexes(OracleDatabaseProvider.java:100)
	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getUniqueFields(DatabaseMetaDataReaderImpl.java:180)
	... 61 more
Caused by: java.net.SocketTimeoutException: Socket read interrupted
	at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:152)
	at oracle.net.ns.NIOHeader.readHeaderBuffer(NIOHeader.java:82)
2021-09-06 08:26:57,093+0100 http-nio-8180-exec-32 ERROR XXXXX xxx xx xxxx /browse/KAN-1688 [c.r.r.c.data.activeobjects.ActiveObjectsAccessorImpl] bundle [com.radiantminds.roadmaps-jira]
com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.radiantminds.roadmaps-jira]
	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:95)
	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:86)
	at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getSequenceNames(DatabaseMetaDataReaderImpl.java:208)
...
Caused by: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
	at oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1035)
	at oracle.jdbc.driver.OracleStatement.fetchMoreRows(OracleStatement.java:3353)
	at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows(InsensitiveScrollableResultSet.java:736)
	at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(InsensitiveScrollableResultSet.java:692)
	at oracle.jdbc.driver.InsensitiveScrollableResultSet.next(InsensitiveScrollableResultSet.java:406)
	at org.apache.commons.dbcp2.DelegatingResultSet.next(DelegatingResultSet.java:191)
	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getSequenceNames(DatabaseMetaDataReaderImpl.java:203)
	... 61 more
Caused by: java.net.SocketTimeoutException: Socket read interrupted
	at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:152)
	at oracle.net.ns.NIOHeader.readHeaderBuffer(NIOHeader.java:82)
	at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:139)
	at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:101)
	at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:80)
	at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534)
	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485)
	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612)
	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:226)
	at oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1023)
	... 68 more

Diagnosis

Environment

  • Oracle JDBC driver 12.2.0.1.0

Cause

There is an existing Oracle bug: 

12.2.0.1 and Above JDBC Connections Sometimes Fail With: IO Error: Socket Read Interrupted (Doc ID 2612009.1) 


Workaround

For driver version 12.2.0.x and above, add the following connection property in the JVM startup parameters:

-Doracle.jdbc.javaNetNio=false


This will revert the driver behaviour so it does not block on interrupt() calls in Java.

Restart Jira for the change to take effect. 

(info) For more details on how to add JVM parameters please check Setting properties and options on startup KB article.


Description
Product

Last modified on Nov 3, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.