directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DIRSERVER-2053) Sometimes apacheds will throw OutOfMemoryException
Date Wed, 04 Mar 2015 15:19:04 GMT

    [ https://issues.apache.org/jira/browse/DIRSERVER-2053?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14347009#comment-14347009
] 

Emmanuel Lecharny commented on DIRSERVER-2053:
----------------------------------------------

Ok, there is a cycle in the file you posted (thanks for the file, btw) :

{code}
Checking the free pages, starting from 50d2a00
Reading offset 50d2a00
Reading offset 50c5600
Reading offset 50c5400
Reading offset 50c5200
Reading offset 50c5000
Reading offset 50c4e00
Reading offset 50c4c00
Reading offset 50c4a00
Reading offset 50c4800
Reading offset 50c4600
Reading offset 50c4400
Reading offset 50c4200
Reading offset 50d2c00
Reading offset 4c18800
Reading offset 4b48600
Reading offset 48eda00
Reading offset 4c54400
Reading offset 4c55800
Reading offset 4c55a00
Reading offset 4c55c00
Reading offset 4c55e00
Reading offset 4e41800
Reading offset 5045c00
Reading offset 5014a00
Reading offset 5014800
Reading offset 5014600
Reading offset 5014400
Reading offset 5014200
Reading offset 5014000
Reading offset 5013e00
Reading offset 4e5c200
Reading offset 4df0c00
Reading offset 4df0e00
Reading offset 4df1000
Reading offset 50d2a00
[16:17:48] ERROR [org.apache.directory.mavibot.btree.RecordManager] - Error while initializing
the RecordManager : Offset : 50d2a00 already read, there is a cycle
[16:17:48] ERROR [org.apache.directory.mavibot.btree.RecordManager] - 
org.apache.directory.mavibot.btree.exception.InvalidOffsetException: Offset : 50d2a00 already
read, there is a cycle
	at org.apache.directory.mavibot.btree.RecordManager.checkFreePages(RecordManager.java:3884)
	at org.apache.directory.mavibot.btree.RecordManager.loadRecordManager(RecordManager.java:480)
	at org.apache.directory.mavibot.btree.RecordManager.<init>(RecordManager.java:280)
	at org.apache.directory.mavibot.btree.RecordManager.<init>(RecordManager.java:225)
	at org.apache.directory.mavibot.btree.MavibotInspector.loadRm(MavibotInspector.java:230)
	at org.apache.directory.mavibot.btree.MavibotInspector.start(MavibotInspector.java:1148)
	at org.apache.directory.mavibot.btree.RecordManagerTest.testInspector(RecordManagerTest.java:899)
{code}

(this is a piece of code I have added for debug purpose)

Now, the hard part : understanding why we get this corruption :/

> Sometimes apacheds will throw OutOfMemoryException
> --------------------------------------------------
>
>                 Key: DIRSERVER-2053
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-2053
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: ldap
>    Affects Versions: 2.0.0-M19
>         Environment: CentOS 6.5 with apacheds M19 installed.
>            Reporter: linzhao
>            Priority: Blocker
>
> After injecting some data into apacheds and restart it. Sometimes the apacheds can't
be started, it will throw OutOfMemoryException. The data entries will less than 600. Exception
list below:
> INFO   | jvm 1    | 2015/03/04 23:52:09 | Dumping heap to /opt/polycom/apacheds-dumps/java_pid24024.hprof
...
> INFO   | jvm 1    | 2015/03/04 23:52:19 | Heap dump file created [2094548383 bytes in
9.597 secs]
> INFO   | jvm 1    | 2015/03/04 23:52:19 | Error in WrapperListener.start callback.  java.lang.OutOfMemoryError:
GC overhead limit exceeded
> INFO   | jvm 1    | 2015/03/04 23:52:19 | java.lang.OutOfMemoryError: GC overhead limit
exceeded
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:57)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at java.nio.ByteBuffer.allocate(ByteBuffer.java:335)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.mavibot.btree.RecordManager.fetchPage(RecordManager.java:3045)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.mavibot.btree.RecordManager.readPageIOs(RecordManager.java:797)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.mavibot.btree.RecordManager.deserialize(RecordManager.java:987)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.mavibot.btree.PersistedPageHolder.fetchElement(PersistedPageHolder.java:133)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.mavibot.btree.PersistedPageHolder.getValue(PersistedPageHolder.java:113)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.mavibot.btree.AbstractPage.get(AbstractPage.java:252)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.mavibot.btree.AbstractBTree.get(AbstractBTree.java:505)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.mavibot.btree.PersistedBTree.get(PersistedBTree.java:43)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotTable.get(MavibotTable.java:317)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotIndex.forwardLookup(MavibotIndex.java:305)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.partition.impl.btree.mavibot.MavibotIndex.forwardLookup(MavibotIndex.java:58)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.getEntryId(AbstractBTreePartition.java:2473)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.xdbm.search.impl.DefaultSearchEngine.computeResult(DefaultSearchEngine.java:123)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.search(AbstractBTreePartition.java:1141)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.search(DefaultPartitionNexus.java:624)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.shared.ReferralManagerImpl.init(ReferralManagerImpl.java:178)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.shared.ReferralManagerImpl.<init>(ReferralManagerImpl.java:86)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.referral.ReferralInterceptor.init(ReferralInterceptor.java:213)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.DefaultDirectoryService.initInterceptors(DefaultDirectoryService.java:685)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1818)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:1244)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.ApacheDsService.initDirectoryService(ApacheDsService.java:323)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.ApacheDsService.start(ApacheDsService.java:182)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.apache.directory.server.wrapper.ApacheDsTanukiWrapper.start(ApacheDsTanukiWrapper.java:72)
> INFO   | jvm 1    | 2015/03/04 23:52:19 |       at org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:2788)
> STATUS | wrapper  | 2015/03/04 23:52:20 | <-- Wrapper Stopped



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message