harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Varlamov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-1912) [drlvm][jit][opt] SIGSEGV during stack dump on Linux
Date Thu, 22 Feb 2007 12:33:21 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-1912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474993
] 

Alexey Varlamov commented on HARMONY-1912:
------------------------------------------

Ilya, thank you for spending efforts in this area. The suggested patch is a good step forward,
yet I do not quite see how it fixes this particular issue - Vitaly's comment points to different
problem which is not covered. OTOH the particular problem is not reproduced with the patch
:) Can you clarify your vision please?

Notes on the patch:
1) Unjustified change in nt_exception_filter.cpp, IMO just replace LOGGER_EXIT(-1); with ABORT():
-#include "clog.h"
+#include "cxxlog.h"
2) Inaccurate condition in if statement:
+    if(interpreter_enabled() && thread)
+        st_print_stack_interpreter(thread, frames, num_frames);
+    else
+        st_print_stack_jit(thread, frames, num_frames);
+
3) In st_print_stack_[jit|int], seems that "frame_num" and "count" are duplicates, even semantically;
they differ only by this (redundant !) if statement:
+        if (frame_num < num_frames)
+            ++frame_num; // Go to the next native frame

PS. Though I dislike the current design (too messy to my taste, e.g. I do not follow why iterate
the stack several times), I accept evolutionary improvements better serve our short-term goals.
Thanks again for the patch!

> [drlvm][jit][opt] SIGSEGV during stack dump on Linux
> ----------------------------------------------------
>
>                 Key: HARMONY-1912
>                 URL: https://issues.apache.org/jira/browse/HARMONY-1912
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: SUSE9
>            Reporter: Alexey Varlamov
>         Assigned To: Alexey Varlamov
>            Priority: Minor
>         Attachments: 1912_workarround.patch, crash_handler.diff, log_lnx_ia32_after.txt,
log_lnx_ia32_before.txt, log_win_ia32_after.txt, stack_test.zip
>
>
> There is some issue in StackInfo, manifesting itself as a segmentation fault during stack
dump.
> For example, see HARMONY-1911, HARMONY-1908, HARMONY-1908, HARMONY-1905.
> Typical backtrace is as follows:
> SIGSEGV in VM code. 
> Stack trace: 
> 41: Jitrino::Ia32::StackInfo::readByteSize(unsigned char const*) const (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.cpp:107)

> 42: Jitrino::Ia32::RuntimeInterface::getBcLocationForNative(Jitrino::MethodDesc*, unsigned
long long, unsigned short*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp:78)

> 43: Jitrino::Jitrino::GetBcLocationForNative(Jitrino::MethodDesc*, unsigned long long,
unsigned short*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/main/Jitrino.cpp:358)

> 44: get_bc_location_for_native (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:590)

> 45: Dll_JIT::get_bc_location_for_native(Method*, void*, unsigned short*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/include/dll_jit_intf.h:240)

> 46: get_file_and_line (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/stack/stack_trace.cpp:60)

> 47: st_get_java_method_info (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/stack/stack_dump.cpp:196)

> 48: st_print_stack(Registers*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/stack/stack_dump.cpp:242)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message