Bug 1049011

Summary: GWT compiler crash on Fedora 20
Product: [Fedora] Fedora Reporter: Greg Sheremeta <gshereme>
Component: abrt-java-connectorAssignee: Jakub Filak <jfilak>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 20CC: ahughes, alitke, dbhole, ecohen, jberan, jerboaa, jfilak, jvanek, omajid, ptisnovs
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: abrt-java-connector-1.0.8-3.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1063322 (view as bug list) Environment:
Last Closed: 2014-02-28 18:40:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1060198, 1063322    
Attachments:
Description Flags
hs_err_pid.log
none
core_backtrace none

Description Greg Sheremeta 2014-01-06 18:56:43 UTC
Description of problem:
GWT compiling on Fedora 20 using either OpenJDK 1.7 or Oracle JDK 1.7 causes a crash:

[INFO] Compiling module com.github.gwtbootstrap.Bootstrap
[INFO]    Compiling 6 permutations
[INFO]       Compiling permutation 0...
[INFO]       Compiling permutation 2...
[INFO]       Process output
[INFO]          Compiling
[INFO]             Compiling permutation 1...
[INFO]       Compiling permutation 3...
[INFO]       Compiling permutation 4...
[INFO]       Compiling permutation 5...
[INFO]    Compile of permutations succeeded
*** Error in `java': double free or corruption (out): 0x00007eff24015d60 ***
======= Backtrace: =========
/lib64/libc.so.6[0x342ce75d9f]
/lib64/libc.so.6[0x342ce7d098]
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.3.0.fc20.x86_64/jre-abrt/lib/amd64/server/libjvm.so(+0x8dcc3b)[0x7eff2b9d6c3b]
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.3.0.fc20.x86_64/jre-abrt/lib/amd64/server/libjvm.so(+0x5ce967)[0x7eff2b6c8967]
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.3.0.fc20.x86_64/jre-abrt/lib/amd64/server/libjvm.so(JVM_Halt+0x30)[0x7eff2b706b10]
[0x7eff210135ec]
<snip>

I've duplicated this in two GWT projects, GWT-Bootstrap and oVirt.

Does not crash on Fedora 19.

Version-Release number of selected component (if applicable):
Fedora 20

java-1.7.0-openjdk.x86_64                                          1:1.7.0.60-2.4.3.0.fc20                                 @fedora  
java-1.7.0-openjdk-devel.x86_64                                    1:1.7.0.60-2.4.3.0.fc20                                 @fedora  
java-1.7.0-openjdk-headless.x86_64                                 1:1.7.0.60-2.4.3.0.fc20                                 installed

GWT 2.5.1


How reproducible:
Always


Steps to Reproduce:
1. Setup a Fedora 20 vm
2. sudo yum install java-devel maven git
3. git clone https://github.com/gwtbootstrap/gwt-bootstrap.git
4. cd gwt-bootstrap
5. mvn package
<crash right after GWT compile>

Actual results:
crash right after GWT compile

Expected results:
no crash

Additional info:
Encountered while GWT compiling for multiple browsers., at the very end of the GWT compile. It doesn't crash if only compiling for one browser, but you'd only ever compile for one browser for development work, so it's not a valid workaround path.)

I first reported the bug against GWT: https://code.google.com/p/google-web-toolkit/issues/detail?id=8513

Comment 1 Deepak Bhole 2014-01-06 19:12:14 UTC
Is there a full stack trace and/or an hs_err file available?

Comment 2 Adam Litke 2014-01-06 19:17:21 UTC
I am also hitting this problem.

Comment 3 Greg Sheremeta 2014-01-06 19:35:20 UTC
Created attachment 846282 [details]
hs_err_pid.log

Comment 4 Greg Sheremeta 2014-01-06 19:36:08 UTC
Created attachment 846283 [details]
core_backtrace

Comment 5 Greg Sheremeta 2014-01-06 19:37:30 UTC
I have the entire ABRT directory -- let me know if you need anything else. I can also ship you the VM if you want to duplicate (although it's pretty easy to dupe on your own VM)

Comment 6 Greg Sheremeta 2014-01-06 19:43:46 UTC
This may or may not be related, but Eclipse also crashes in Fedora 20, and it did not in 19.

Blogged here: http://eclipseandlinux.blogspot.com/2013/10/google-talk-plugin-presence-breaks.html
Discussed here: https://bugs.eclipse.org/bugs/show_bug.cgi?id=334466

Comment 7 Deepak Bhole 2014-01-06 21:24:15 UTC
Thanks Greg. The Eclipse issue appears to be unrelated.

Can you please provide a listing of what else is available in the ABRT directory? The hs_err file does not appear to be complete as it has no JVM state information, just a partial trace and that too is a pure Java error (unlike this one which appears to be in the JVM itself).

Comment 8 Greg Sheremeta 2014-01-06 22:08:22 UTC
Sure, I have

-rw-rw----. 1 greg abrt         5 Jan  3 12:19 abrt_version
-rw-rw----. 1 greg abrt         4 Jan  3 12:19 analyzer
-rw-rw----. 1 greg abrt         6 Jan  3 12:19 architecture
-rw-rw----. 1 greg abrt       172 Jan  3 12:19 cgroup
-rw-rw----. 1 greg abrt       819 Jan  3 12:19 cmdline
-rw-rw----. 1 greg abrt        18 Jan  3 12:19 component
-rw-rw----. 1 greg abrt     39560 Jan  3 12:19 core_backtrace
-rw-rw----. 1 greg abrt 180834304 Jan  3 12:19 coredump
-rw-rw----. 1 greg abrt         1 Jan  3 12:19 count
-rw-rw----. 1 greg abrt      3728 Jan  3 12:19 dso_list
-rw-rw----. 1 greg abrt      2981 Jan  3 12:19 environ
-rw-rw----. 1 greg abrt        78 Jan  3 12:19 executable
-rw-rw----. 1 greg abrt        21 Jan  3 12:19 hostname
-rw-rw----. 1 greg abrt        23 Jan  3 12:19 kernel
-rw-rw----. 1 greg abrt        10 Jan  3 12:19 last_occurrence
-rw-rw----. 1 greg abrt      1323 Jan  3 12:19 limits
-rw-rw----. 1 greg abrt     19575 Jan  3 12:19 maps
-rw-rw----. 1 greg abrt      1167 Jan  3 12:19 open_fds
-rw-rw----. 1 greg abrt       375 Jan  3 12:19 os_info
-rw-rw----. 1 greg abrt        29 Jan  3 12:19 os_release
-rw-rw----. 1 greg abrt        49 Jan  3 12:19 package
-rw-rw----. 1 greg abrt         4 Jan  3 12:19 pid
-rw-rw----. 1 greg abrt         6 Jan  3 12:19 pkg_arch
-rw-rw----. 1 greg abrt         1 Jan  3 12:19 pkg_epoch
-rw-rw----. 1 greg abrt        27 Jan  3 12:19 pkg_name
-rw-rw----. 1 greg abrt        12 Jan  3 12:19 pkg_release
-rw-rw----. 1 greg abrt         8 Jan  3 12:19 pkg_version
-rw-rw----. 1 greg abrt       926 Jan  3 12:19 proc_pid_status
-rw-rw----. 1 greg abrt        24 Jan  3 12:19 pwd
-rw-rw----. 1 greg abrt       119 Jan  3 12:19 reason
-rw-rw----. 1 greg abrt         4 Jan  3 12:19 runlevel
-rw-rw----. 1 greg abrt        10 Jan  3 12:19 time
-rw-rw----. 1 greg abrt         4 Jan  3 12:19 type
-rw-rw----. 1 greg abrt         4 Jan  3 12:19 uid
-rw-rw----. 1 greg abrt         5 Jan  3 12:19 username
-rw-rw----. 1 greg abrt        40 Jan  3 12:19 uuid
-rw-rw----. 1 greg abrt       702 Jan  3 12:19 var_log_messages

Lmk if there's a way to turn off abrt and generate the hs_err file. Stopping abrtd didn't do the trick.

Comment 9 Deepak Bhole 2014-01-06 22:18:14 UTC
Pavel, do you know why abrt might not be generating the hs_err file?

Comment 10 Greg Sheremeta 2014-01-10 16:01:52 UTC
Deepak, are any of those other files useful?

Comment 11 Deepak Bhole 2014-01-10 16:34:48 UTC
Hi Greg, unfortunately not afaik as they do not provide a full picture. 

Please bear with us (Pavel is on my team) on slow responses as we are currently fully engaged working on the January security update due next week.

Comment 12 Greg Sheremeta 2014-01-22 17:56:53 UTC
Deepak, Pavel, any progress on this?

Comment 13 Pavel Tisnovsky 2014-02-03 16:47:05 UTC
Hi Greg, Deepak,

the problem is caused by loading the abrt-java connector two times. I don't know exactly how the GWT build script handles java command line options, but it effectively use each option two times, so the connector is initialized and deinitialized two times too. We identified the issue (mutex is free-ed from memory in the deinitialization callback function).

If you would want, there are RPMs containing fix:
http://koji.fedoraproject.org/koji/taskinfo?taskID=6485811

Comment 14 Einav Cohen 2014-02-03 18:07:22 UTC
Thank you, Pavel.

- Should the component of this BZ be changed from "java-1.7.0-openjdk" to "abrt-java-connector"?

- Will the fix be backported to Fedora 20? If so: Any estimation on when will it happen?

Comment 15 Jakub Filak 2014-02-04 09:09:23 UTC
(In reply to Einav Cohen from comment #14)
Reassigning this bug from java-1.7.0-openjdk to abrt-java-connector as this is clearly a bug in abrt-java-connector.

Upstream commit https://github.com/jfilak/abrt-java-connector/commit/71ac5da86488ace3ebb3f3fa4adc747a511634e2 fixes this bug.

I'm about to release abrt-java-connector with this bug fixed for all supported Fedora releases.

Comment 16 Fedora Update System 2014-02-04 13:50:04 UTC
abrt-java-connector-1.0.8-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/abrt-java-connector-1.0.8-2.fc20

Comment 17 Fedora Update System 2014-02-05 03:36:21 UTC
Package abrt-java-connector-1.0.8-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing abrt-java-connector-1.0.8-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-2001/abrt-java-connector-1.0.8-2.fc20
then log in and leave karma (feedback).

Comment 18 Fedora Update System 2014-02-06 03:52:35 UTC
Package abrt-java-connector-1.0.8-3.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing abrt-java-connector-1.0.8-3.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-2001/abrt-java-connector-1.0.8-3.fc20
then log in and leave karma (feedback).

Comment 19 Fedora Update System 2014-02-28 18:40:17 UTC
abrt-java-connector-1.0.8-3.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.