Bug 1264134 - OpenJDK Java 1.7 crashes due to unhandled exception raised from libmalaga
OpenJDK Java 1.7 crashes due to unhandled exception raised from libmalaga
Status: CLOSED WORKSFORME
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: malaga (Show other bugs)
6.4
x86_64 Linux
unspecified Severity medium
: rc
: ---
Assigned To: Mike FABIAN
BaseOS QE - Apps
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-09-17 11:09 EDT by Deepu K S
Modified: 2016-09-06 02:35 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-03-20 12:46:01 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Deepu K S 2015-09-17 11:09:41 EDT
Description of problem:
OpenJDK 1.7 crash happens due to an unhandled exception raised from `libmalaga`

We are running JBoss EAP 6.3.2 and have deployed solr 1.4 with Finnish word analysis using sukija on it,  on a RHEL 6.4 OS. Sukija is then using the  C library Malaga via JNA. Under certain circumstances (e.g. invalid input / error during processing), throw function is called, which can under certain circumstances call longjmp function from glibc, which crashes JNA. This causes SIGSEGV for the running JVM 

Version-Release number of selected component (if applicable):
Red Hat Enterprise Linux 6.4
java-1.7.0-openjdk-1.7.0.71-2.5.3.2.el6_6.x86_64
libmalaga-7.12-6.el6.x86_64
glibc-2.12-1.107.el6_4.5.x86_64

How reproducible:
Crash is sporadic, but yet aren't able to catch the exact reproducer.

Steps to Reproduce:
1. Will try if we capture more information when it occurs again.
2.
3.

Actual results:
JVM crash.

Expected results:
Crash should not happen.

Additional info:

*** longjmp causes uninitialized stack frame ***: /usr/lib/jvm/jre/bin/java terminated

Stacktrace :
Core was generated by `/usr/lib/jvm/jre/bin/java -D[Standalone] -server -XX:+UseCompressedOops -verbos'.
Program terminated with signal 6, Aborted.
#0  0x0000003a97c328e5 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	  return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) bt
#0  0x0000003a97c328e5 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x0000003a97c340c5 in abort () at abort.c:92
#2  0x0000003a97c707f7 in __libc_message (do_abort=2, fmt=0x3a97d56e1d "*** %s ***: %s terminated\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:198
#3  0x0000003a97d02547 in __fortify_fail (msg=0x3a97d56ddc "longjmp causes uninitialized stack frame") at fortify_fail.c:32
#4  0x0000003a97d024d9 in ____longjmp_chk () at ../sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S:84
#5  0x0000003a97d02443 in __longjmp_chk (env=0x7fbec7087340, val=<value optimized out>) at ../setjmp/longjmp.c:40
#6  0x00007fbec805281d in throw () at ./basic.c:734
#7  0x00007fbec8052ef5 in complain (message=<value optimized out>) at ./basic.c:757
#8  0x00007fbec805d30e in value_in_value (value1=0x7fbec5f38e22, value2=0x7fbec5f38e1a) at ./values.c:2382
#9  0x00007fbec8059f32 in execute_rule (rule_sys=<value optimized out>, rule_number=-939115428) at ./rules.c:496
#10 0x00007fbec8050e61 in execute_rules (analysis=<value optimized out>, rule_sys=0x7fbef8051f30, state=0x7fbefc0b9830, link_feat=<value optimized out>, link_surf=0x7fbefc083d40 "tai", 
    link_surf_end=0x7fbefc083d41 "ai", count_states=<value optimized out>, create_tree=<value optimized out>, rule_type=<value optimized out>) at ./analysis.c:940
#11 0x00007fbec80512fa in analyse (grammar=<value optimized out>, input=<value optimized out>, create_tree=FALSE, analyse_all=<value optimized out>) at ./analysis.c:1107
#12 0x00007fbec8061763 in analyse_item (item=0x7fbefc083de0 "tai", grammar=MORPHOLOGY) at ./libmalaga.c:100
#13 0x00007fbec8293034 in ?? ()
#14 0x0000000000000000 in ?? ()
(gdb)
Comment 3 Mike FABIAN 2015-10-13 03:10:18 EDT
Is there an easier way to reproduce this?
Comment 4 Jens Petersen 2015-10-15 04:42:53 EDT
BTW malaga seems not no longer actively maintained upstream.
Just wonder if using libvoikko might be better, but I don't
if it is possible or would help here, but it is still actively
maintained and also includes its own malaga parser for Finnish.

Note You need to log in before you can comment on or make changes to this bug.