You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Dmitry Shohov (JIRA)" <ji...@apache.org> on 2014/01/28 15:43:42 UTC

[jira] [Created] (CASSANDRA-6628) Cassandra crashes on Solaris sparcv9 using java 64bit

Dmitry Shohov created CASSANDRA-6628:
----------------------------------------

             Summary: Cassandra crashes on Solaris sparcv9 using java 64bit
                 Key: CASSANDRA-6628
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6628
             Project: Cassandra
          Issue Type: Bug
          Components: Core
         Environment: checked 1.2.x line and 2.0.x
            Reporter: Dmitry Shohov


When running cassandra 2.0.4 (and other versions) on Solaris and java 64 bit, JVM crashes. Issue is described once in CASSANDRA-4646 but closed as invalid.

The reason for this crash is some memory allignment related problems and incorrect sun.misc.Unsafe usage. If you look into DirectByteBuffer in jdk, you will see that it checks os.arch before using getLong methods.

I have a patch, which check for the os.arch and if it is not one of the known, it reads longs and ints byte by byte.

Although patch fixes the problem in cassandra, it will still crash without similar fixes in the lz4 library. I already provided the patch for Unsafe usage in lz4.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)