We ran into similar problem with 1.6.4 plocal database. I had to switch the
compression to gzip from snappy as per the recommendation from
troubleshooting guide [1], which seems to have fixed this problem. The
direct memory access using JNA is something we want to pursue as well, but
ran into JVM crash on linux. So disabled JNA (remove jna-* jars from
classpath) and now it defaults to sun.misc.Unsafe APIs. This is what I got
working: -Djna.nosys=true -Dmemory.useUnsafe=false
-Dstorage.compressionMethod=gzip

[1]
https://github.com/orientechnologies/orientdb/wiki/Troubleshooting#jvm-crash-on-solaris-and-other-nix-platforms


On Mon, May 12, 2014 at 5:04 AM, M B <[email protected]> wrote:

> If I disable snappy using -Dstorage.compressionMethod=nothing then plocal
> works fine.
>
>
> On Monday, May 12, 2014 10:59:20 AM UTC-4, M B wrote:
>>
>> Correction jvm is 1.7.0.45
>>
>> On Monday, May 12, 2014 10:51:35 AM UTC-4, M B wrote:
>>>
>>> In previous crash if i set -Dmemory.useUnsafe=false I don't get the
>>> crash.
>>>
>>> But then if I switch to plocal it starts crashing again in snappy
>>> because it uses unsafe memory access.
>>>
>>>
>>> proenv>(root) java -version
>>> java version "1.6.0_21"
>>> Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
>>> Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode)
>>>
>>>
>>>
>>> Also I get this crash under same solaris machine but from snappy.
>>>
>>>
>>> Stack: [0xffffffff55800000,0xffffffff55900000],  sp=0xffffffff558fcda0,
>>>  free space=1011k
>>> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
>>> C=native code)
>>> V  [libjvm.so+0xc51a4c]  Unsafe_GetInt+0x158
>>> J  sun.misc.Unsafe.getInt(Ljava/lang/Object;J)I
>>> j  org.iq80.snappy.UnsafeMemory.loadInt([BI)I+50
>>> j  org.iq80.snappy.SnappyInternalUtils.loadInt([BI)I+5
>>> j  org.iq80.snappy.SnappyCompressor.findCandidate([BIIII[SI)[I+19
>>> j  org.iq80.snappy.SnappyCompressor.compressFragment([BII[BI[S)I+157
>>> j  org.iq80.snappy.SnappyCompressor.compress([BII[BI)I+63
>>> j  org.iq80.snappy.Snappy.compress([BII[BI)I+6
>>> j  org.iq80.snappy.Snappy.compress([B)[B+14
>>> j  com.orientechnologies.orient.core.serialization.compression.impl.
>>> OSnappyCompression.compress([B)[B+1
>>> j  com.orientechnologies.orient.core.storage.impl.local.
>>> paginated.OPaginatedCluster.createRecord([BLcom/
>>> orientechnologies/orient/core/version/ORecordVersion;B)Lcom/o
>>> rientechnologies/orient/core/storage/OPhysicalPosition;+25
>>> j  com.orientechnologies.orient.core.storage.impl.local.paginated.
>>> OLocalPaginatedStorage.createRecord(ILcom/orientechnologies/orient/core/
>>> id/ORecordId;[BLcom/oriente
>>> chnologies/orient/core/version/ORecordVersion;BILcom/
>>> orientechnologies/orient/core/storage/ORecordCallback;)Lcom/
>>> orientechnologies/orient/core/storage/OStorageOperat
>>> ionResult;+121
>>> j  com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(
>>> ILcom/orientechnologies/orient/core/id/ORecordId;[
>>> BLcom/orientechnologies/orient/core/version/ORecordVe
>>> rsion;BIZLcom/orientechnologies/orient/core/
>>> storage/ORecordCallback;Lcom/orientechnologies/orient/core/
>>> storage/ORecordCallback;)Lcom/orientechnologies/orient/core/st
>>> orage/OStorageOperationResult;+42
>>> j  com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.
>>> executeSaveRecord(Lcom/orientechnologies/orient/core/
>>> record/ORecordInternal;Ljava/lang/String;
>>> Lcom/orientechnologies/orient/core/version/ORecordVersion;
>>> BZLcom/orientechnologies/orient/core/db/ODatabaseComplex$OPERATION_
>>> MODE;ZLcom/orientechnologies/orient/core
>>> /storage/ORecordCallback;Lcom/orientechnologies/orient/core/
>>> storage/ORecordCallback;)Lcom/orientechnologies/orient/core/
>>> record/ORecordInternal;+458
>>> j  com.orientechnologies.orient.core.tx.OTransactionNoTx.
>>> saveRecord(Lcom/orientechnologies/orient/core/
>>> record/ORecordInternal;Ljava/lang/String;Lcom/orientechnologie
>>> s/orient/core/db/ODatabaseComplex$OPERATION_
>>> MODE;ZLcom/orientechnologies/orient/core/storage/ORecordCallback;Lcom/
>>> orientechnologies/orient/core/storage/ORecordCallba
>>> ck;)V+25
>>> j  com.orientechnologies.orient.core.db.record.
>>> ODatabaseRecordTx.save(Lcom/orientechnologies/orient/core/
>>> record/ORecordInternal;Ljava/lang/String;Lcom/orientechnolog
>>> ies/orient/core/db/ODatabaseComplex$OPERATION_
>>> MODE;ZLcom/orientechnologies/orient/core/storage/ORecordCallback;Lcom/
>>> orientechnologies/orient/core/storage/ORecordCall
>>> back;)Lcom/orientechnologies/orient/core/record/ORecordInternal;+13
>>> j  com.orientechnologies.orient.core.db.record.
>>> ODatabaseRecordTx.save(Ljava/lang/Object;Ljava/lang/String;
>>> Lcom/orientechnologies/orient/core/db/ODatabaseComplex$OPER
>>> ATION_MODE;ZLcom/orientechnologies/orient/core/
>>> storage/ORecordCallback;Lcom/orientechnologies/orient/core/
>>> storage/ORecordCallback;)Ljava/lang/Object;+13
>>> j  com.orientechnologies.orient.core.record.ORecordAbstract.
>>> save(Ljava/lang/String;Z)Lcom/orientechnologies/orient/core/
>>> record/ORecordAbstract;+12
>>> j  com.orientechnologies.orient.core.record.impl.ODocument.
>>> save(Ljava/lang/String;Z)Lcom/orientechnologies/orient/core/
>>> record/impl/ODocument;+11
>>> j  com.orientechnologies.orient.core.record.impl.ODocument.
>>> save(Ljava/lang/String;)Lcom/orientechnologies/orient/core/
>>> record/impl/ODocument;+3
>>> j  com.orientechnologies.orient.core.type.ODocumentWrapper.
>>> save(Ljava/lang/String;)Lcom/orientechnologies/orient/core/
>>> type/ODocumentWrapper;+5
>>> j  com.orientechnologies.orient.core.type.ODocumentWrapperNoClass.save(
>>> Ljava/lang/String;)Lcom/orientechnologies/orient/core/
>>> type/ODocumentWrapper;+7
>>> j  com.orientechnologies.orient.core.metadata.schema.
>>> OSchemaShared.create()V+8
>>> j  com.orientechnologies.orient.core.metadata.schema.
>>> OSchemaProxy.create()V+11
>>> j  com.orientechnologies.orient.core.metadata.
>>> OMetadataDefault.create()V+9
>>> j  com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.
>>> create()Lcom/orientechnologies/orient/core/db/ODatabase;+150
>>> j  com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.
>>> create()Lcom/orientechnologies/orient/core/db/ODatabase;+4
>>> j  com.orientechnologies.orient.core.db.ODatabaseRecordWrapperAbstract
>>> .create()Lcom/orientechnologies/orient/core/db/ODatabase;+11
>>> j  com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.
>>> create()Lcom/orientechnologies/orient/core/db/ODatabase;+4
>>>
>>>
>>> On Monday, May 12, 2014 10:27:07 AM UTC-4, M B wrote:
>>>>
>>>> I'm running orientdb 1.6.4 on solaris 64
>>>>
>>>> proenv>(root) uname -a
>>>> SunOS oesoldev4 5.10 Generic_142909-17 sun4v sparc sun4v
>>>>
>>>>
>>>> orientdb is crashing every time I try to create a database.  This also
>>>> happens on AIX.
>>>>
>>>>
>>>> Stack: [0xffffffff55800000,0xffffffff55900000],
>>>>  sp=0xffffffff558fd6d0,  free space=1013k
>>>> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
>>>> C=native code)
>>>> V  [libjvm.so+0xc52730]  Unsafe_SetLong+0x14c
>>>> j  sun.misc.Unsafe.putLong(Ljava/lang/Object;JJ)V+-1589889552
>>>> j  sun.misc.Unsafe.putLong(Ljava/lang/Object;JJ)V+0
>>>> j  com.orientechnologies.common.serialization.OUnsafeBinaryConverter.
>>>> putLong([BIJLjava/nio/ByteOrder;)V+27
>>>> j  com.orientechnologies.common.serialization.types.OLongSerializer.
>>>> serializeNative(Ljava/lang/Long;[BI[Ljava/lang/Object;)V+12
>>>> j  com.orientechnologies.orient.core.storage.impl.local.paginated.wal.
>>>> OOperationUnitId.toStream([BI)I+19
>>>> j  com.orientechnologies.orient.core.storage.impl.local.paginated.wal.
>>>> OOperationUnitRecord.toStream([BI)I+6
>>>> j  com.orientechnologies.orient.core.storage.impl.local.paginated.wal.
>>>> OAtomicUnitStartRecord.toStream([BI)I+3
>>>> j  com.orientechnologies.orient.core.storage.impl.local.paginated.wal.
>>>> OWALRecordsFactory.toStream(Lcom/orientechnologies/orient/
>>>> core/storage/impl/local/paginated/wal
>>>> /OWALRecord;)[B+204
>>>> j  com.orientechnologies.orient.core.storage.impl.local.
>>>> paginated.wal.OWriteAheadLog.log(Lcom/orientechnologies/
>>>> orient/core/storage/impl/local/paginated/wal/OWALReco
>>>> rd;)Lcom/orientechnologies/orient/core/storage/impl/
>>>> local/paginated/wal/OLogSequenceNumber;+15
>>>> j  com.orientechnologies.orient.core.storage.impl.local.paginated.base.
>>>> ODurableComponent.startDurableOperation(Lcom/
>>>> orientechnologies/orient/core/storage/impl/local/
>>>> paginated/OStorageTransaction;)V+28
>>>> j  com.orientechnologies.orient.core.storage.impl.local.
>>>> paginated.OPaginatedCluster.startDurableOperation(Lcom/
>>>> orientechnologies/orient/core/storage/impl/local/pagin
>>>> ated/OStorageTransaction;)V+13
>>>> j  com.orientechnologies.orient.core.storage.impl.local.
>>>> paginated.OPaginatedCluster.create(I)V+48
>>>> j  com.orientechnologies.orient.core.storage.impl.local.paginated.
>>>> OLocalPaginatedStorage.addClusterInternal(Ljava/lang/
>>>> String;ILjava/lang/String;Z[Ljava/lang/Object;
>>>> )I+125
>>>> j  com.orientechnologies.orient.core.storage.impl.local.paginated.
>>>> OLocalPaginatedStorage.doAddCluster(Ljava/lang/
>>>> String;Ljava/lang/String;Z[Ljava/lang/Object;)I+51
>>>> j  com.orientechnologies.orient.core.storage.impl.local.paginated.
>>>> OLocalPaginatedStorage.create(Ljava/util/Map;)V+140
>>>> j  com.orientechnologies.orient.core.db.raw.ODatabaseRaw.create()Lcom/
>>>> orientechnologies/orient/core/db/ODatabase;+74
>>>> j  com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.
>>>> create()Lcom/orientechnologies/orient/core/db/ODatabase;+4
>>>> j  com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.
>>>> create()Lcom/orientechnologies/orient/core/db/ODatabase;+5
>>>> j  com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.
>>>> create()Lcom/orientechnologies/orient/core/db/ODatabase;+4
>>>> j  com.orientechnologies.orient.core.db.ODatabaseRecordWrapperAbstract
>>>> .create()Lcom/orientechnologies/orient/core/db/ODatabase;+11
>>>> j  com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.
>>>> create()Lcom/orientechnologies/orient/core/db/ODatabase;+4
>>>>
>>>>  --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OrientDB" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to