You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "George Timoshenko (JIRA)" <ji...@apache.org> on 2007/05/08 11:32:15 UTC

[jira] Updated: (HARMONY-3817) [drlvm][jit] size == 1 and illegal address reported to jvmti for inlined methods causes a crash

     [ https://issues.apache.org/jira/browse/HARMONY-3817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

George Timoshenko updated HARMONY-3817:
---------------------------------------

    Attachment: HARMONY-3817.patch

The problem was not in JVMTI support.

it was just a bug in the last code patching solution (HARMONY-3189)

with the patch debug build runs OK.

please verify that code sizes are being reported correctly.

> [drlvm][jit] size == 1 and illegal address reported to jvmti for inlined methods causes a crash
> -----------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3817
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3817
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: at least win32 and linux64
>            Reporter: Rustem Rafikov
>         Attachments: HARMONY-3817.patch
>
>
> Starting on r528408 (after H-3189 commit; April, Friday 13 :)) method size == 1 and illegal address are reported for inlined methods. 
> Look at the stack traces:
> 1. Release build
> Right after crashing:
> SIGSEGV in VM code.
> Stack trace:
>   0: DumpMethodLoad (jvmtisym/src/jvmtisym.c:871)
>   1: jvmti_send_region_compiled_method_load_event (??:-1)
>   2: java/lang/EMThreadSupport.onTimeout()V (EMThreadSupport.java:-2)
>   3: java/lang/EMThreadSupport.run()V (EMThreadSupport.java:68)
>   4: java/lang/EMThreadSupport$1.run()V (EMThreadSupport.java:44)
>   5: java/lang/Thread.run()V (Thread.java:-1)
>   6: java/lang/Thread.runImpl()V (Thread.java:-1)
> <end of stack trace>
> Using gdb:
> gdb -c core ./java:
> [...]
> (gdb) bt
> #0  0x00002aab0cb73cfe in DumpMethodLoad (jvmti_env=0x5d43e0, functionID=0x1263b50, meth_sz=1, address=0x2aab2ec41c61,
>     map_length=1, map=0x2aab0e35a500, compile_info=0x0) at jvmtisym.c:871
> #1  0x00002aaaaac63209 in jvmti_send_region_compiled_method_load_event ()
>    from /home/lab_perfstat/rrafikov/spec/platform/r528408-2/bin/default/libharmonyvm.so
> #2  0x00002aaaaac35856 in compiled_method_load ()
>    from /home/lab_perfstat/rrafikov/spec/platform/r528408-2/bin/default/libharmonyvm.so
> #3  0x00002aaaacfc14b4 in Jitrino::CompilationInterface::sendCompiledMethodLoadEvent ()
>    from /home/lab_perfstat/rrafikov/spec/platform/r528408-2/bin/default//libjitrino.so
> #4  0x00002aaaacfe7d09 in Jitrino::Ia32::CodeEmitter::reportInlinedMethod ()
>    from /home/lab_perfstat/rrafikov/spec/platform/r528408-2/bin/default//libjitrino.so
> #5  0x00002aaaacfe7f8e in Jitrino::Ia32::CodeEmitter::reportCompiledInlinees ()
>    from /home/lab_perfstat/rrafikov/spec/platform/r528408-2/bin/default//libjitrino.so
> #6  0x00002aaaacfe545d in Jitrino::Ia32::CodeEmitter::runImpl ()
> [...]
> (gdb) disass 0x2aab2ec41c61 0x2aab2ec41c62
> Dump of assembler code from 0x2aab2ec41c61 to 0x2aab2ec41c62:
> 0x00002aab2ec41c61:     Cannot access memory at address 0x2aab2ec41c61
> [...]
> Adding 'printf's shows a lot of methods are reported with meth_sz=1. 
> The crash can be workarounded by commenting reportCompiledInlinees call in codegenerator/ia32/Ia32CodeEmitter.cpp.
> 2. Debug build
> Debug build fails on assertion:
> java: platform/r528408/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32CodeEmitter.cpp:175: void Jitrino::Ia32::CompiledMethodInfo::includeInst(Jitrino::Ia32::Inst*, long long unsigned int): Assertion `!locationMap.has(instStartAddr)' failed.
> SIGABRT in VM code.
> Stack trace:
>   0: raise (??:-1)
>   1: ?? (??:-1)
>   2: java/lang/EMThreadSupport.onTimeout()V (EMThreadSupport.java:-2)
>   3: java/lang/EMThreadSupport.run()V (EMThreadSupport.java:68)
>   4: java/lang/EMThreadSupport$1.run()V (EMThreadSupport.java:44)
>   5: java/lang/Thread.run()V (Thread.java:-1)
>   6: java/lang/Thread.runImpl()V (Thread.java:-1)
> <end of stack trace>

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