Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-6628

Cassandra crashes on Solaris sparcv9 using java 64bit

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 2.0.5
    • None
    • None
    • checked 1.2.x line and 2.0.x

    • Normal

    Description

      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.

      Attachments

        1. tmp.patch
          10 kB
          Benedict Elliott Smith
        2. solaris_unsafe_fix.patch
          12 kB
          Dmitry Shohov

        Activity

          People

            shohou Dmitry Shohov
            shohou Dmitry Shohov
            Dmitry Shohov
            Benedict Elliott Smith
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: