Bug 892251
Summary: | [abrt] java-1.7.0-openjdk-devel-1.7.0.9-2.3.3.2.fc17: os::abort: Process /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin/java was killed by signal 6 (SIGABRT) | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Dan <dpitic> | ||||||||||||||||||||||||||||
Component: | eclipse | Assignee: | Alexander Kurtakov <akurtako> | ||||||||||||||||||||||||||||
Status: | CLOSED CANTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||||||||||||||||||||
Severity: | unspecified | Docs Contact: | |||||||||||||||||||||||||||||
Priority: | unspecified | ||||||||||||||||||||||||||||||
Version: | 17 | CC: | ahughes, akurtako, andjrobins, dbhole, h2794354, jerboaa, jvanek, kdaniel, narada314, omajid, overholt, rgrunber, swagiaal | ||||||||||||||||||||||||||||
Target Milestone: | --- | ||||||||||||||||||||||||||||||
Target Release: | --- | ||||||||||||||||||||||||||||||
Hardware: | x86_64 | ||||||||||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||||||||||
Whiteboard: | abrt_hash:9d8e1c1bea6d1319f68175c5ca80bf498c5e1938 | ||||||||||||||||||||||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||||||||||||||||||||||
Doc Text: | Story Points: | --- | |||||||||||||||||||||||||||||
Clone Of: | Environment: | ||||||||||||||||||||||||||||||
Last Closed: | 2013-02-28 13:07:23 UTC | Type: | --- | ||||||||||||||||||||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||||||||||||||||||||
Documentation: | --- | CRM: | |||||||||||||||||||||||||||||
Verified Versions: | Category: | --- | |||||||||||||||||||||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||||||||||||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||||||||||||||||||||
Embargoed: | |||||||||||||||||||||||||||||||
Attachments: |
|
Description
Dan
2013-01-06 05:58:04 UTC
Created attachment 673244 [details]
File: core_backtrace
Created attachment 673245 [details]
File: environ
Created attachment 673246 [details]
File: backtrace
Created attachment 673247 [details]
File: limits
Created attachment 673248 [details]
File: cgroup
Created attachment 673249 [details]
File: smolt_data
Created attachment 673250 [details]
File: executable
Created attachment 673251 [details]
File: maps
Created attachment 673252 [details]
File: dso_list
Created attachment 673253 [details]
File: proc_pid_status
Created attachment 673254 [details]
File: var_log_messages
Created attachment 673255 [details]
File: open_fds
Can you also post /home/dpitic/prg/android/lib/commons-math3-3-1-api-4/hs_err_pid2547.log please? (In reply to comment #13) > Can you also post > /home/dpitic/prg/android/lib/commons-math3-3-1-api-4/hs_err_pid2547.log > please? I deleted all of the error log files unfortunately, because I found a workaround. The error occurred when I tried to run JUnit 4 tests using the Eclipse test runner on code compiled for Android. This happened when I used the standard Android project configuration in Eclipse. To fix the problem and be able to successfully run the unit tests, I had to remove the Android library and manually specify it as an external JAR library. I can easily reproduce a similar error by fixing the Android project properties (which will add back the Android library and make the project a standard Android project) and running the unit tests. Let me know if you still want it? Do you see tests crashing their own jvm or whole eclipse is down? (In reply to comment #15) > Do you see tests crashing their own jvm or whole eclipse is down? Tests just crash their own JVM. Eclipse keeps running thankfully. Looks like an invalid class is getting pre-loaded into the VM. The function throwing the error has: if (!find_field(ik, name_symbol, signature_symbol, &fd, allow_super)) { ResourceMark rm; tty->print_cr("Invalid layout of %s at %s", ik->external_name(), name_symbol->as_C_string()); fatal("Invalid layout of preloaded class"); } I can see the fatal() message in the backtrace, but the former was likely printed to the terminal somewhere; would it be possible for you to check please? (In reply to comment #17) > Looks like an invalid class is getting pre-loaded into the VM. The function > throwing the error has: > > if (!find_field(ik, name_symbol, signature_symbol, &fd, allow_super)) { > ResourceMark rm; > tty->print_cr("Invalid layout of %s at %s", ik->external_name(), > name_symbol->as_C_string()); > fatal("Invalid layout of preloaded class"); > } > > > I can see the fatal() message in the backtrace, but the former was likely > printed to the terminal somewhere; would it be possible for you to check > please? The class is java.lang.String. I have recreated the error and attached the error log file, as you originally requested in comment #13. Created attachment 686330 [details]
JRE error log
Error log after the problem was replicated.
I think this might be a common error. Looking at Google, most suggestions say to try Run As -> Android Application http://stackoverflow.com/questions/12273118/internal-error-javaclasses-cpp129 http://stackoverflow.com/questions/13030111/fatal-error-invalid-layout-of-java-lang-string-at-value (In reply to comment #20) > I think this might be a common error. Looking at Google, most suggestions > say to try Run As -> Android Application > > > http://stackoverflow.com/questions/12273118/internal-error-javaclasses-cpp129 > > http://stackoverflow.com/questions/13030111/fatal-error-invalid-layout-of- > java-lang-string-at-value I can't test this suggestion because in my case, the JUnit tests are for an Android library project, which cannot be launched as an Android Application. Besides, I don't understand how running as an Android Application will launch the JUnit tests? Says here that you have to debug as android application: http://mobile.tutsplus.com/tutorials/android/android-sdk-junit-testing/ I am going to pass this on to the Eclipse component as well as this error is outside the scope of OpenJDK. (In reply to comment #22) > Says here that you have to debug as android application: > > http://mobile.tutsplus.com/tutorials/android/android-sdk-junit-testing/ > > I am going to pass this on to the Eclipse component as well as this error is > outside the scope of OpenJDK. The first bullet point on this link: http://developer.android.com/tools/testing/testing_android.html States that: "Android test suites are based on JUnit. You can use plain JUnit to test a class that doesn't call the Android API, or Android's JUnit extensions to test Android components...." This is exactly what I am trying to do. Sorry, I am not familiar with Android development so I am not sure what you mean -- are you writing test cases for pure Java code that do not use Android API in anyway (either itself or via dependencies)? If so, why is the project being created as an Android project? Android classes are somehow ending up on the classpath and the JVM cannot understand them. This is either a problem with the configuration or with the Eclipse plug-in being used. Either way though, there is nothing that can be done in OpenJDK packages to make this work. (In reply to comment #24) > Sorry, I am not familiar with Android development so I am not sure what you > mean -- are you writing test cases for pure Java code that do not use > Android API in anyway (either itself or via dependencies)? If so, why is the > project being created as an Android project? > > Android classes are somehow ending up on the classpath and the JVM cannot > understand them. This is either a problem with the configuration or with the > Eclipse plug-in being used. Either way though, there is nothing that can be > done in OpenJDK packages to make this work. Yes, that's what I'm doing. My Android application is composed of several Eclipse Android projects, one of which is the main project that launches the application, and the remaining projects are Android library projects. One of the library projects uses Android API calls. The remaining two library projects are pure Java source code with no Android API calls. Both of these projects cause the crashes we've been looking at when I try to run JUnit tests. As mentioned in comment #14, I can work around this problem. According to this: http://developer.android.com/tools/building/index.html It looks like the Android build process creates normal Java .class files which should work normally with JUnit. Following this, the .class files are converted to Dalvik byte code, but this and subsequent steps should be of no concern to JUnit. Unfortunately this interaction is not something I am familiar with. You might want to bring this up with the developers/forums of ADT, as they may have encountered this sort of issue in the past and may readily have a solution at hand. *** Bug 915177 has been marked as a duplicate of this bug. *** I'm closing this one as it's a problem with Android tools which we don't ship in Fedora. If eclipse itself misbehaves please reopen. |