Crowd fails with net.sf.ehcache.CacheException: java.io.StreamCorruptedException: invalid stream header: 3FA4BE5A

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server と Data Center のみ - この記事は、サーバーおよびデータセンター プラットフォームのアトラシアン製品にのみ適用されます。

問題

The following appears in atlassian-crowd.log.

2017-12-26 04:07:47,585 ajp-bio-8008-exec-8 ERROR [[Catalina].[localhost].[/crowd].[default]] Servlet.service() for servlet [default] in context with path [/crowd] threw exception
net.sf.ehcache.CacheException: java.io.StreamCorruptedException: invalid stream header: 3FA4BE5A
	at net.sf.ehcache.store.disk.DiskStorageFactory.retrieve(DiskStorageFactory.java:891)
	at net.sf.ehcache.store.disk.Segment.decodeHit(Segment.java:182)
	at net.sf.ehcache.store.disk.Segment.get(Segment.java:225)
	at net.sf.ehcache.store.disk.DiskStore.fault(DiskStore.java:210)
	at net.sf.ehcache.store.CacheStore$4.call(CacheStore.java:198)
	at net.sf.ehcache.store.CacheStore$4.call(CacheStore.java:192)
...
Caused by: java.io.StreamCorruptedException: invalid stream header: 3FA4BE5A
...

原因

The files used by ehcache become corrupted on disk and cannot be used by the Crowd. This is not the session variable cache, but a database cache used to optimise the requests to the database.

ソリューション

The files in the cache need to be deleted form the temporary directory. First check where the temp files are located, this is identified by the Java system parameter java.io.tmpdir. To find this in Linux run this command from the installation directory

Crowd ...
sudo jinfo `cat apache-tomcat/work/catalina.pid` | fgrep "java.io.tmpdir ="

In general the location will usually be one of

  • /tmp
  • <crowd-install>/apache-tomcat/temp/

Then

  1. Shutdown Crowd
  2. Delete the files in the directory identified by the jinfo command for java.io.tmpdir
  3. Restart Crowd


最終更新日: 2017 年 12 月 29 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.