Snappy jpy issue

Hi, I am trying to import snappy under
Python 2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Dec 6 2015, 18:08:32) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2

yet I cam getting the following error:

import snappy

A fatal error has been detected by the Java Runtime Environment:

SIGBUS (0x7) at pc=0x00002b919fc43eca, pid=37698, tid=0x00002b9194f46be0

JRE version: (8.0_121-b13) (build )

Java VM: Java HotSpot™ 64-Bit Server VM (25.121-b13 mixed mode linux-amd64 compressed oops)

Problematic frame:

j java.lang.Object.()V+0

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try “ulimit -c unlimited” before starting Java again

An error report file with more information is saved as:

/home/z3425578/Downloads/hs_err_pid37698.log

If you would like to submit a bug report, please visit:

http://bugreport.java.com/bugreport/crash.jsp

I compiled jpy and am able to import jpy but get the same error once I import snappy, which appears to import it’s own version of jpy.

How do I proceed? Is it possible to stop snappy from importing jpy since a working version of jpy is available?
Please let me know.
Thanks, Mark

Could you attach the hs_err_pid37698.log file, please?

hs_err_pid37698.log (55.9 KB)

I uploaded the hs_err_pid37698.log file.
Thank you for your help.
Regards, Mark

From this log file, I see the initialization of the Java VM is failing. But I don’t know what the cause is.

No, this is not possible. because jpy is the basis for snappy. It needs it.

Have you tried to create your jpy module on your own?

Initially we tried to use snappy with out external jpy module. It was failing to initialize. So we compiled a version of jpy independent of snappy and imported it in python, which works fine. Snappy uses the jpy which come with snappy, which does not seem to able to initlize JVM and fails every time.

  1. What version of JVM is support by jpy snappy i.e. any restrictions such as JDK vs OracleJAVA?
  2. Are there any restrictions as to supported architecture (i686, x86_64 etc) of JVM for snappy?
  3. jpy.so file provided with snappy is complied against GLIBC2_14 I believe where as GLIBC2_2 what is installed on your system, though GLIB2_2 is listed as supported GLIBC in jpy.so provided by snappy, it does not seem to be recognized by RHEL/CentOS 6. This is the reason we complied a newer version of jpy and was trying to make snappy use that instead of what is provided with the snappy.
  4. Is CentOS/RHEL 6 supported OS for snappy?
  5. Is python 2.7 support by snappy?
    Thanks, Mark
  1. Tested is only Oracle JDK version 8. It might work with OpenJDK but there is no guarantee.
  2. There are no artificial restrictions regarding the architecture. If Python and Java and the OS have the same bitness everything should be fine.
  3. To let snappy use the newly compiled and already installed jpy you need to remove the following files from the snappy directory:
    and also jpyconfig.properties and jpyconfig.py. Then snappy should find the new one.
  4. We have not explicitly tested with CentOS. As you found out, there seems to be an issue. But in general, it should work.
  5. Yes, it should work with Python 2.7

Hi Mapet,

I tried as per below but it did not work.
I note that I did not find all the 6 files you specified and that there are two locations that you may be referring to.
I may have also overlooked something else…
Please let me know what you think.
Thanks, Mark

pwd
/share/apps/anaconda/2.7/lib/python2.7/site-packages/snappy

mv jdl.so backup_jdl.so
mv jpy.so backup_jpy.so
mv jpy-0.8.0.dist-info backup_jpy-0.8.0.dist-info
mv jpyutil.py backup_jpyutil.py
mv jpyconfig.py backup_jpyconfig.py
mv jpyconfig.properties backup_jpyconfig.properties

ls -ltr
total 612
drwxr-sr-x 2 root root 4096 Jan 15 2017 lib
drwxr-sr-x 2 root root 4096 Jan 15 2017 backup_jpy-0.8.0.dist-info
drwxr-sr-x 2 root root 4096 Aug 1 19:34 tests
drwxr-sr-x 3 root root 4096 Aug 1 19:34 testdata
-rw-r–r-- 1 root root 12399 Aug 1 19:34 snappyutil.py
-rw-r–r-- 1 root root 14889 Aug 1 19:34 init.py
drwxr-sr-x 2 root root 4096 Aug 1 19:34 examples
-rw-r–r-- 1 root root 641 Aug 1 19:34 setup.py
-rw-r–r-- 1 root root 11388 Sep 16 13:24 init.pyc
-rw-r–r-- 1 root root 1228 Sep 16 14:48 snappyutil.log
-rwxrwxrwx 1 root root 204 Sep 16 14:48 snappy.ini
-rw-r–r-- 1 root root 20461 Sep 16 14:48 jpyutil.pyc
-rw-r–r-- 1 root root 110 Sep 16 14:48 jpy.linux-x86_64-2.7.info
-rw-r–r-- 1 root root 366 Sep 16 14:48 jpyconfig.pyc
-rw-r–r-- 1 root root 22652 Sep 16 14:48 backup_jpyutil.py
-rw-r–r-- 1 root root 325 Sep 16 14:48 backup_jpyconfig.py
-rw-r–r-- 1 root root 423 Sep 16 14:48 backup_jpyconfig.properties
-rw-r–r-- 1 root root 28245 Sep 16 14:48 backup_jdl.so
-rwxr-xr-x 1 root root 452313 Sep 16 14:55 backup_jpy.so

apython27
Python 2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Dec 6 2015, 18:08:32)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

import jpy
import snappy

A fatal error has been detected by the Java Runtime Environment:

SIGBUS (0x7) at pc=0x00002b17352d1be7, pid=44505, tid=0x00002b1729191be0

JRE version: (8.0_141-b16) (build )

Java VM: OpenJDK 64-Bit Server VM (25.141-b16 mixed mode linux-amd64 )

Problematic frame:

j java.lang.Object.()V+0

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try “ulimit -c unlimited” before starting Java again

An error report file with more information is saved as:

/tmp/hs_err_pid44505.log

If you would like to submit a bug report, please visit:

http://bugreport.java.com/bugreport/crash.jsp

there is also this location:

pwd
/share/apps/anaconda/2.7/lib/python2.7/site-packages/build/lib/snappy

ls -ltr
total 548
-rw-r–r-- 1 root bitsadmin 12075 Jan 15 2017 snappyutil.py
-rw-r–r-- 1 root bitsadmin 636 Jan 15 2017 setup.py
-rw-r–r-- 1 root bitsadmin 110 Jan 15 2017 jpy.linux-x86_64-2.7.info
-rw-r–r-- 1 root bitsadmin 14470 Jan 15 2017 init.py
-rw-r–r-- 1 root bitsadmin 22652 Feb 11 2017 jpyutil.py
-rw-r–r-- 1 root bitsadmin 452144 Feb 11 2017 jpy.so
-rw-r–r-- 1 root bitsadmin 333 Feb 11 2017 jpyconfig.py
-rw-r–r-- 1 root bitsadmin 453 Feb 11 2017 jpyconfig.properties
-rw-r–r-- 1 root bitsadmin 27743 Feb 11 2017 jdl.so
-rw-r–r-- 1 root bitsadmin 177 Feb 14 2017 snappy.ini

Maybe you try with Oracle JDK. The Open JDK might be the cause.