Crowd logs show java.io.StreamCorruptedException: invalid stream header
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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
Various functions in Crowd fail. The following appears in the atlassian-crowd.log
1
2
2017-12-27 04:12:27,132 ajp-bio-8008-exec-457 ERROR [atlassian.event.internal.AsynchronousAbleEventDispatcher] There was an exception thrown trying to dispatch event [com.atlassian.crowd.event.user.UserCredentialUpdatedEvent@5d4fb1b1] from the invoker [SingleParameterMethodListenerInvoker{method=public void com.atlassian.crowd.event.listener.RemoveUserSessionWhenCredentialUpdatedListener.handleEvent(com.atlassian.crowd.event.user.UserCredentialUpdatedEvent), listener=com.atlassian.crowd.event.listener.RemoveUserSessionWhenCredentialUpdatedListener@52921a86}]
java.lang.RuntimeException: java.io.StreamCorruptedException: invalid stream header: 000B6469
Cause
The database memory cache stored on disk in the temp/ directory of the Crowd install for tomcat has been corrupted. This is not related to the session token being stored in memory or database.
Resolution
From the installation directory of Crowd run this command while Crowd is running (this is for Linux) to confirm the location of the temp/
directory that is used.
1
sudo jinfo `cat apache-tomcat/work/catalina.pid` | fgrep "java.io.tmpdir ="
It should return something like
1
java.io.tmpdir = /opt/atlassian/atlassian-crowd-3.1.1/apache-tomcat/temp
Next,
Shut down Crowd
Delete everything in the directory identified by
java.io.tmpdir
Restart Crowd
Was this helpful?