[Mulgara-general] Mulgara size limits
Chuck Borromeo
cborromeo3 at yahoo.com
Wed Jul 2 06:47:38 PDT 2008
Hey Ronald,
Thanks for the 1.6 tip. That did the trick. I will include the stack trace below the hprof table. This was generated using Java 1.6 and -Xmx1024:
SITES BEGIN (ordered by live bytes) Wed Jul 2 09:41:58 2008
percent live alloc'ed stack class
rank self accum bytes objs bytes objs trace name
1 43.70% 43.70% 450682944 4694614 450683616 4694621 308151 org.mulgara.store.xa.Block
2 31.16% 74.86% 321304632 3651189 321305072 3651194 308249 org.mulgara.store.xa.AVLNode
3 11.33% 86.19% 116838144 3651192 116838208 3651194 308250 int[]
4 8.90% 95.10% 91819816 1043407 91820168 1043411 308158 org.mulgara.store.xa.AVLNode
5 3.24% 98.34% 33389088 1043409 33389152 1043411 308159 int[]
6 0.34% 98.68% 3545472 63312 6552000 117000 317465 long[]
7 0.16% 98.83% 1600096 4 72004320 180 308174 long[][]
8 0.04% 98.88% 447680 5596 450480 5631 306720 java.nio.DirectByteBuffer
9 0.04% 98.92% 432160 5402 127100480 1588756 306802 java.nio.DirectByteBufferR
10 0.04% 98.96% 402912 5596 405432 5631 306723 sun.misc.Cleaner
11 0.03% 98.99% 358144 5596 360384 5631 306727 java.nio.DirectLongBufferU
12 0.03% 99.03% 358144 5596 360384 5631 306725 java.nio.DirectIntBufferU
13 0.03% 99.06% 279344 34 279344 34 306730 java.nio.LongBuffer[]
14 0.03% 99.08% 279344 34 279344 34 306729 java.nio.IntBuffer[]
15 0.03% 99.11% 279344 34 279344 34 306728 java.nio.MappedByteBuffer[]
16 0.02% 99.13% 213616 26 213616 26 306836 java.nio.MappedByteBuffer[]
17 0.02% 99.15% 213616 26 213616 26 306838 java.nio.IntBuffer[]
18 0.02% 99.17% 213616 26 213616 26 306839 java.nio.LongBuffer[]
19 0.02% 99.19% 213616 26 213616 26 306837 java.nio.ByteBuffer[]
20 0.02% 99.21% 172864 5402 172864 5402 306799 sun.nio.ch.FileChannelImpl$Unmapper
21 0.01% 99.22% 148008 1327 157136 1448 300437 char[]
22 0.01% 99.24% 131096 1 131096 1 316926 java.lang.Object[]
23 0.01% 99.25% 125440 1 125440 1 317046 byte[]
24 0.01% 99.26% 109760 1960 241472 4312 314229 org.enhydra.apache.xerces.dom.TextImpl
SITES END
=============STACK TRACE ========================
Exception in thread "RMI RenewClean-[192.168.2.43:54091]" java.lang.OutOfMemoryError: Java heap space
at java.lang.String.substring(String.java:1940)
at java.lang.String.subSequence(String.java:1973)
at java.util.regex.Pattern.split(Pattern.java:1002)
at java.lang.String.split(String.java:2293)
at sun.net.util.IPAddressUtil.textToNumericFormatV4(IPAddressUtil.java:29)
at java.net.SocketPermission.init(SocketPermission.java:432)
at java.net.SocketPermission.<init>(SocketPermission.java:265)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034)
at java.net.Socket.connect(Socket.java:513)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:180)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source)
at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(DGCClient.java:342)
at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(DGCClient.java:153)
at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:555)
at java.lang.Thread.run(Thread.java:637)
Jul 2, 2008 9:39:25 AM sun.rmi.transport.tcp.TCPTransport$AcceptLoop executeAcceptLoop
WARNING: RMI TCP Accept-0: accept loop for ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=54091] throws
java.lang.OutOfMemoryError: Java heap space
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
at java.lang.Thread.run(Thread.java:637)
2008-07-02 09:40:15,594 ERROR TripleWriteThread - Exception in TripleWriteThread
java.lang.OutOfMemoryError: Java heap space
at org.mulgara.store.xa.AVLNode.newInstance(AVLNode.java:212)
at org.mulgara.store.xa.AVLNode.getChildNode_N(AVLNode.java:1171)
at org.mulgara.store.xa.AVLNode.getRightChildNode_N(AVLNode.java:1152)
at org.mulgara.store.xa.AVLNode.findDown(AVLNode.java:339)
at org.mulgara.store.xa.AVLNode.find(AVLNode.java:300)
at org.mulgara.store.statement.xa.TripleAVLFile$Phase.syncAddTriple(TripleAVLFile.java:794)
at org.mulgara.store.statement.xa.TripleAVLFile$Phase.syncAddTriples(TripleAVLFile.java:727)
at org.mulgara.store.statement.xa.TripleWriteThread.run(TripleWriteThread.java:158)
2008-07-02 09:40:15,601 WARN TripleWriteThread - Exception during abort of TripleWriteThread: /Applications/mulgara-2.0-alpha/dist/server1/xaStatementStore/xa.g_2013
java.lang.OutOfMemoryError: Java heap space
at org.mulgara.store.xa.AVLNode.newInstance(AVLNode.java:212)
at org.mulgara.store.xa.AVLNode.getChildNode_N(AVLNode.java:1171)
at org.mulgara.store.xa.AVLNode.getRightChildNode_N(AVLNode.java:1152)
at org.mulgara.store.xa.AVLNode.findDown(AVLNode.java:339)
at org.mulgara.store.xa.AVLNode.find(AVLNode.java:300)
at org.mulgara.store.statement.xa.TripleAVLFile$Phase.syncAddTriple(TripleAVLFile.java:794)
at org.mulgara.store.statement.xa.TripleAVLFile$Phase.syncAddTriples(TripleAVLFile.java:727)
at org.mulgara.store.statement.xa.TripleWriteThread.run(TripleWriteThread.java:158)
--- On Wed, 7/2/08, Life is hard, and then you die <ronald at innovation.ch> wrote:
> From: Life is hard, and then you die <ronald at innovation.ch>
> Subject: Re: [Mulgara-general] Mulgara size limits
> To: "Mulgara General" <mulgara-general at mulgara.org>
> Date: Wednesday, July 2, 2008, 8:55 AM
> On Wed, Jul 02, 2008 at 05:21:21AM -0700, Chuck Borromeo
> wrote:
> > Hello,
> > OK I'm going to be a pain in the neck :). I
> tried running Mulgara with the -Xrunhprof:heap=sites
> switch. The process threw a
> java.security.AccessControlException: access denied error
> when I ran it using the -Xrunhprof switch. I have never
> run java with the dump file commands so I would appreciate
> anyone telling me how to fix this issue. I looked up the
> error and it said something about changing my java.policy
> and java.security files to allow the process to see these
> files. However, it didn't make much sense to me. I am
> running Mulgara with the sudo command so I should have
> permission to see everything. How do I fix this?
> (I'll attached the stack trace at the end of this
> message).
>
> The java access-control stuff has nothing to do with unix
> permissions,
> so being root or not doesn't change anything. The odd
> thing is,
> mulgara sets a policy which should allow access to all
> files - see the
> mulgara startup message
>
> INFO [main] (EmbeddedMulgaraServer.java:692) -
> java.security.policy set to
> jar:file:/..../mulgara-2.0-alpha.jar!/conf/mulgara-rmi.policy
>
> So I'm not sure what's going on either.
>
> > So...I tried running Mulgara with the
> > -XX:+HeapDumpOnOutOfMemoryError switch. This did
> generate a .hprof
> > file (about 1 GB in size!). I tried opening this file
> using a 1.6
> > version of jhat (1.5's jhat can't open a 64
> bit .hprof file).
> > However, I am getting a NullPointer exception from
> jhat when opening
> > the file.
>
> I'm not surprised - as I said before, I've found
> 1.5 to be unreliable
> in this respect. If you can run under 1.6 I think
> you'll have better
> luck.
>
>
> Cheers,
>
> Ronald
>
> _______________________________________________
> Mulgara-general mailing list
> Mulgara-general at mulgara.org
> http://mulgara.org/mailman/listinfo/mulgara-general
More information about the Mulgara-general
mailing list