You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Mikhail Fursov (JIRA)" <ji...@apache.org> on 2007/07/18 11:14:04 UTC
[jira] Commented: (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:comment-tabpanel#action_12513495 ]
Mikhail Fursov commented on HARMONY-3817:
-----------------------------------------
George,
I've checked your patch and have a question.
What if 'inst->getNext()' is a pseudo inst that does not have assigned physical location?
> [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
> Assignee: Mikhail Fursov
> Attachments: HARMONY-3817.patch, 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.