[Bug 127] New: On segfault, with "signals on exceptions" enabled SableVM hangs

[email protected] Thu, 7 Apr 2005 19:18:28 -0400
Newsgroups gmane.comp.java.vm.sablevm.bugs
Message-ID <[email protected]>
http://sablevm.org/bugs/show_bug.cgi?id=127

           Summary: On segfault, with "signals on exceptions" enabled
                    SableVM hangs
           Product: SableVM
           Version: trunk
          Platform: Sun
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: default
        AssignedTo: [email protected]
        ReportedBy: [email protected]
         QAContact: [email protected]


I noticed that when a "real" segfault happens in JNI code ran by SableVM
and SableVM was compiled with --enable-signals-for-exceptions, instead of
showing any kind of error and exiting it hangs.

For example, when Eclipse's native code segfaults the top of java stack is eg.

--- stack trace dump (begin) ---
Thread ID: 1, Posix ID: 1076109440
(StringCreator.java:62)  java/lang/StringCreator.createString
(internal frame)
(Throwable.java:-1)  java/lang/Throwable.nativeGetStackTraceList  n
(Throwable.java:510)  java/lang/Throwable.fillInStackTrace
(Throwable.java:165)  java/lang/Throwable.<init>
(Exception.java:78)  java/lang/Exception.<init>
(RuntimeException.java:76)  java/lang/RuntimeException.<init>
(NullPointerException.java:80)  java/lang/NullPointerException.<init>
(internal frame)
(OS.java:-1)  org/eclipse/swt/internal/gtk/OS._gtk_entry_set_text  n
(OS.java:3769)  org/eclipse/swt/internal/gtk/OS.gtk_entry_set_text
(Combo.java:1399)  org/eclipse/swt/widgets/Combo.setItems
......

Attempt to run the same code with --disable-signals-for-exceptions
results in a simple and immediate segfault and program termination.

Shouldn't we have some per-thread flag or simply reuse thread 'status'
value, assuming that if a thread not "running java" segfaults, it
segfaults truly?



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are the QA contact for the bug, or are watching the QA contact.