harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Loenko" <mloe...@gmail.com>
Subject Re: [jira] Created: (HARMONY-5290) [drlvm][jit] SIGSEGV in JIT code
Date Tue, 11 Dec 2007 15:02:45 GMT
since it's a regression and JIT bugs in general may impact any app
(even if we don't know that for the moment), I'm for committing the
fix

Thanks,
Mikhail

2007/12/11, Pavel Ozhdikhin <pavel.ozhdikhin@gmail.com>:
> The fix is in JIRA, I'm running tests to check it.
>
> Thanks,
> Pavel
>
>
> On 12/11/07, Tim Ellison <t.p.ellison@gmail.com> wrote:
> >
> > This issue does seem to be the cause of a number of current test failures.
> > Anyone care to take ownership of it?
> >
> > Regards,
> > Tim
> >
> > Andrey Pavlenko (JIRA) wrote:
> > > [drlvm][jit] SIGSEGV in JIT code
> > > --------------------------------
> > >
> > >                  Key: HARMONY-5290
> > >                  URL: https://issues.apache.org/jira/browse/HARMONY-5290
> > >              Project: Harmony
> > >           Issue Type: Bug
> > >           Components: DRLVM
> > >          Environment: Linux x86/x64
> > >             Reporter: Andrey Pavlenko
> > >             Priority: Critical
> > >
> > >
> > > The following test causes VM crash.  I've marked this issue as critical
> > because it seems to be a regression and causes an error of the functional
> > test
> > http://people.apache.org/~smishura/r602572/Linux_x86/func/functional/org/apache/harmony/test/func/jit/HLO/peel/LoopVar2/738_LoopVar2.html
> > >
> > > public class Test {
> > >
> > >     boolean flag = false;
> > >
> > >     public static void main(String[] args) {
> > >         System.exit((new Test()).test());
> > >     }
> > >
> > >     public int test() {
> > >         int limit = 100000;
> > >         int i = -1;
> > >         int k = -1;
> > >         while (k < limit) {
> > >             k++;
> > >             for (i = 0; i < k; i++) {
> > >                 flag = true;
> > >             }
> > >         }
> > >         return ((k == limit) && (i == limit)) ? 0 : 1;
> > >     }
> > > }
> > >
> > > SIGSEGV in VM code.
> > > Stack trace:
> > >   0: Jitrino::ControlFlowGraph::addEdge(Jitrino::Node*, Jitrino::Node*,
> > Jitrino::Edge*, double) (walkers.cpp:-1)
> > >   1: Jitrino::ControlFlowGraph::addEdge(Jitrino::Node*, Jitrino::Node*,
> > double) (walkers.cpp:-1)
> > >   2: Jitrino::FlowGraph::doTranslatorCleanupPhase(Jitrino::IRManager&)
(
> > walkers.cpp:-1)
> > >   3: Jitrino::TranslatorSession::postTranslatorCleanup() (walkers.cpp:-1
> > )
> > >   4: Jitrino::TranslatorSession::run() (walkers.cpp:-1)
> > >   5: Jitrino::runPipeline(Jitrino::CompilationContext*) (walkers.cpp:-1)
> > >   6: Jitrino::compileMethod(Jitrino::CompilationContext*) (
> > walkers.cpp:-1)
> > >   7: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (
> > walkers.cpp:-1)
> > >   8: JIT_compile_method_with_params (??:-1)
> > >   9: Dll_JIT::compile_method_with_params(void*, Method*,
> > OpenMethodExecutionParams) (apr_strtok.c:-1)
> > >  10: compile_do_compilation_jit(Method*, JIT*) (apr_strtok.c:-1)
> > >  11: vm_compile_method (??:-1)
> > >  12: DrlEMImpl::methodProfileIsReady(MethodProfile*) (inet_pton.c:-1)
> > >  13: EBProfileCollector::onTimeout() (inet_pton.c:-1)
> > >  14: DrlEMImpl::tbsTimeout() (inet_pton.c:-1)
> > >  15: ProfilerThreadTimeout (em_intf.cpp:-1)
> > >  16: Java_java_lang_EMThreadSupport_onTimeout (??:-1)
> > >  17: 0xA6093C26  <Generated stub>
> > >  18: java/lang/EMThreadSupport.run()V (EMThreadSupport.java:68)
> > >  19: java/lang/EMThreadSupport$1.run()V (EMThreadSupport.java:44)
> > >  20: java/lang/Thread.run()V (Thread.java:657)
> > >  21: java/lang/Thread.runImpl()V (Thread.java:668)
> > >  22: ?? (??:-1)
> > >  23: .L294 (ini_iA32.cpp:-1)
> > >  24: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*)
> > (inet_pton.c:-1)
> > >  25: ExecuteMethod (em_intf.cpp:-1)
> > >  26: vm_execute_java_method_array (apr_strtok.c:-1)
> > >  27: call_method_no_ref_result(JNIEnv_External*, _jobject*, _jmethodID*,
> > jvalue*, jvalue*, int) (jni_method.cpp:-1)
> > >  28: CallVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*)
> > (apr_strtok.c:-1)
> > >  29: jthread_wrapper_start_proc(void*) (apr_strtok.c:-1)
> > >  30: start_thread (??:-1)
> > >  31: clone (??:-1)
> > > <end of stack trace>
> > > Segmentation fault
> > >
> > >
> > >
> > >
> >
>

Mime
View raw message