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.
