You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Egor Pasko (JIRA)" <ji...@apache.org> on 2006/11/09 07:22:37 UTC
[jira] Created: (HARMONY-2115) [drlvm][jit][opt] "syncopt"
optimization pass crashes (on HelloWorld) because expects old CFG structure
[drlvm][jit][opt] "syncopt" optimization pass crashes (on HelloWorld) because expects old CFG structure
-------------------------------------------------------------------------------------------------------
Key: HARMONY-2115
URL: http://issues.apache.org/jira/browse/HARMONY-2115
Project: Harmony
Issue Type: Bug
Components: DRLVM
Environment: any
Reporter: Egor Pasko
Priority: Trivial
to reproduce the crash
* copy opt.emconf to syncopt.emconf
* add "syncopt," before "statprof" in the new syncopt.emconf file (no quotes, obviously)
* run with -Xem:syncopt switch
> $HARMONY -Xem:syncopt Hello
SIGSEGV in VM code.
Stack trace:
1: Jitrino::CFGInst::next() const (??:-1)
2: Jitrino::FixupSyncEdgesWalker::isCatchAllAndMonExit(Jitrino::Node*, Jitrino::Opnd*&, Jitrino::Opnd*&, Jitrino::Node*&, Jitrino::Edge*&, Jitrino::Node*&) (??:-1)
3: Jitrino::FixupSyncEdgesWalker::applyToNode3(Jitrino::Node*) (??:-1)
4: Jitrino::FixupSyncEdgesWalker::applyToCFGNode(Jitrino::Node*) (??:-1)
5: ?? (002b0ab1 :2)
6: void Jitrino::NodeWalk<Jitrino::FixupSyncEdgesWalker>(Jitrino::ControlFlowGraph&, Jitrino::FixupSyncEdgesWalker&) (??:-1)
7: Jitrino::SyncOpt::runPass() (??:-1)
8: Jitrino::SyncOptPass::_run(Jitrino::IRManager&) (??:-1)
9: Jitrino::OptPass::run() (??:-1)
10: Jitrino::runPipeline(Jitrino::CompilationContext*) (??:-1)
11: Jitrino::compileMethod(Jitrino::CompilationContext*) (??:-1)
12: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (??:-1)
here "syncopt":
* expects all dispatch nodes to have catch blocks (if you recompile in debug mode, you'll see it)
* expects instructions in basic blocks to be linked in a circle (which is now outdated, instructions end with NULL)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (HARMONY-2115) [drlvm][jit][opt] "syncopt"
optimization pass crashes (on HelloWorld) because expects old CFG structure
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2115?page=all ]
Egor Pasko updated HARMONY-2115:
--------------------------------
Patch Info: (was: [Patch Available])
> [drlvm][jit][opt] "syncopt" optimization pass crashes (on HelloWorld) because expects old CFG structure
> -------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-2115
> URL: http://issues.apache.org/jira/browse/HARMONY-2115
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: any
> Reporter: Egor Pasko
> Priority: Trivial
> Attachments: 0001-syncopt-fixed.txt
>
>
> to reproduce the crash
> * copy opt.emconf to syncopt.emconf
> * add "syncopt," before "statprof" in the new syncopt.emconf file (no quotes, obviously)
> * run with -Xem:syncopt switch
> > $HARMONY -Xem:syncopt Hello
> SIGSEGV in VM code.
> Stack trace:
> 1: Jitrino::CFGInst::next() const (??:-1)
> 2: Jitrino::FixupSyncEdgesWalker::isCatchAllAndMonExit(Jitrino::Node*, Jitrino::Opnd*&, Jitrino::Opnd*&, Jitrino::Node*&, Jitrino::Edge*&, Jitrino::Node*&) (??:-1)
> 3: Jitrino::FixupSyncEdgesWalker::applyToNode3(Jitrino::Node*) (??:-1)
> 4: Jitrino::FixupSyncEdgesWalker::applyToCFGNode(Jitrino::Node*) (??:-1)
> 5: ?? (002b0ab1 :2)
> 6: void Jitrino::NodeWalk<Jitrino::FixupSyncEdgesWalker>(Jitrino::ControlFlowGraph&, Jitrino::FixupSyncEdgesWalker&) (??:-1)
> 7: Jitrino::SyncOpt::runPass() (??:-1)
> 8: Jitrino::SyncOptPass::_run(Jitrino::IRManager&) (??:-1)
> 9: Jitrino::OptPass::run() (??:-1)
> 10: Jitrino::runPipeline(Jitrino::CompilationContext*) (??:-1)
> 11: Jitrino::compileMethod(Jitrino::CompilationContext*) (??:-1)
> 12: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (??:-1)
> here "syncopt":
> * expects all dispatch nodes to have catch blocks (if you recompile in debug mode, you'll see it)
> * expects instructions in basic blocks to be linked in a circle (which is now outdated, instructions end with NULL)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HARMONY-2115) [drlvm][jit][opt] "syncopt"
optimization pass crashes (on HelloWorld) because expects old CFG structure
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2115?page=comments#action_12449577 ]
Egor Pasko commented on HARMONY-2115:
-------------------------------------
the patch crashes ThreadTest, I will provide a new one
> [drlvm][jit][opt] "syncopt" optimization pass crashes (on HelloWorld) because expects old CFG structure
> -------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-2115
> URL: http://issues.apache.org/jira/browse/HARMONY-2115
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: any
> Reporter: Egor Pasko
> Priority: Trivial
> Attachments: 0001-syncopt-fixed.txt
>
>
> to reproduce the crash
> * copy opt.emconf to syncopt.emconf
> * add "syncopt," before "statprof" in the new syncopt.emconf file (no quotes, obviously)
> * run with -Xem:syncopt switch
> > $HARMONY -Xem:syncopt Hello
> SIGSEGV in VM code.
> Stack trace:
> 1: Jitrino::CFGInst::next() const (??:-1)
> 2: Jitrino::FixupSyncEdgesWalker::isCatchAllAndMonExit(Jitrino::Node*, Jitrino::Opnd*&, Jitrino::Opnd*&, Jitrino::Node*&, Jitrino::Edge*&, Jitrino::Node*&) (??:-1)
> 3: Jitrino::FixupSyncEdgesWalker::applyToNode3(Jitrino::Node*) (??:-1)
> 4: Jitrino::FixupSyncEdgesWalker::applyToCFGNode(Jitrino::Node*) (??:-1)
> 5: ?? (002b0ab1 :2)
> 6: void Jitrino::NodeWalk<Jitrino::FixupSyncEdgesWalker>(Jitrino::ControlFlowGraph&, Jitrino::FixupSyncEdgesWalker&) (??:-1)
> 7: Jitrino::SyncOpt::runPass() (??:-1)
> 8: Jitrino::SyncOptPass::_run(Jitrino::IRManager&) (??:-1)
> 9: Jitrino::OptPass::run() (??:-1)
> 10: Jitrino::runPipeline(Jitrino::CompilationContext*) (??:-1)
> 11: Jitrino::compileMethod(Jitrino::CompilationContext*) (??:-1)
> 12: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (??:-1)
> here "syncopt":
> * expects all dispatch nodes to have catch blocks (if you recompile in debug mode, you'll see it)
> * expects instructions in basic blocks to be linked in a circle (which is now outdated, instructions end with NULL)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (HARMONY-2115) [drlvm][jit][opt] "syncopt"
optimization pass crashes (on HelloWorld) because expects old CFG structure
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2115?page=all ]
Egor Pasko updated HARMONY-2115:
--------------------------------
Attachment: syncopt-fixed-for-new-cfg.txt
updated patch (syncopt-fixed-for-new-cfg.txt) is to be applied. It is slightly more readable, but does the same thing actually. ThreadTest failure occures only if "syncopt" is inserted in the optimization pass. And this is another issue -- HARMONY-2184
With this patch tests on SUSE9 pass: c-unit, smoke, kernel (ThreadTest failed sometimes as without patch) (Jitrino-in-debug build)
against r474293
> [drlvm][jit][opt] "syncopt" optimization pass crashes (on HelloWorld) because expects old CFG structure
> -------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-2115
> URL: http://issues.apache.org/jira/browse/HARMONY-2115
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: any
> Reporter: Egor Pasko
> Priority: Trivial
> Attachments: 0001-syncopt-fixed.txt, syncopt-fixed-for-new-cfg.txt
>
>
> to reproduce the crash
> * copy opt.emconf to syncopt.emconf
> * add "syncopt," before "statprof" in the new syncopt.emconf file (no quotes, obviously)
> * run with -Xem:syncopt switch
> > $HARMONY -Xem:syncopt Hello
> SIGSEGV in VM code.
> Stack trace:
> 1: Jitrino::CFGInst::next() const (??:-1)
> 2: Jitrino::FixupSyncEdgesWalker::isCatchAllAndMonExit(Jitrino::Node*, Jitrino::Opnd*&, Jitrino::Opnd*&, Jitrino::Node*&, Jitrino::Edge*&, Jitrino::Node*&) (??:-1)
> 3: Jitrino::FixupSyncEdgesWalker::applyToNode3(Jitrino::Node*) (??:-1)
> 4: Jitrino::FixupSyncEdgesWalker::applyToCFGNode(Jitrino::Node*) (??:-1)
> 5: ?? (002b0ab1 :2)
> 6: void Jitrino::NodeWalk<Jitrino::FixupSyncEdgesWalker>(Jitrino::ControlFlowGraph&, Jitrino::FixupSyncEdgesWalker&) (??:-1)
> 7: Jitrino::SyncOpt::runPass() (??:-1)
> 8: Jitrino::SyncOptPass::_run(Jitrino::IRManager&) (??:-1)
> 9: Jitrino::OptPass::run() (??:-1)
> 10: Jitrino::runPipeline(Jitrino::CompilationContext*) (??:-1)
> 11: Jitrino::compileMethod(Jitrino::CompilationContext*) (??:-1)
> 12: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (??:-1)
> here "syncopt":
> * expects all dispatch nodes to have catch blocks (if you recompile in debug mode, you'll see it)
> * expects instructions in basic blocks to be linked in a circle (which is now outdated, instructions end with NULL)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (HARMONY-2115) [drlvm][jit][opt] "syncopt"
optimization pass crashes (on HelloWorld) because expects old CFG structure
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2115?page=all ]
Egor Pasko updated HARMONY-2115:
--------------------------------
Patch Info: [Patch Available]
> [drlvm][jit][opt] "syncopt" optimization pass crashes (on HelloWorld) because expects old CFG structure
> -------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-2115
> URL: http://issues.apache.org/jira/browse/HARMONY-2115
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: any
> Reporter: Egor Pasko
> Priority: Trivial
> Attachments: 0001-syncopt-fixed.txt, syncopt-fixed-for-new-cfg.txt
>
>
> to reproduce the crash
> * copy opt.emconf to syncopt.emconf
> * add "syncopt," before "statprof" in the new syncopt.emconf file (no quotes, obviously)
> * run with -Xem:syncopt switch
> > $HARMONY -Xem:syncopt Hello
> SIGSEGV in VM code.
> Stack trace:
> 1: Jitrino::CFGInst::next() const (??:-1)
> 2: Jitrino::FixupSyncEdgesWalker::isCatchAllAndMonExit(Jitrino::Node*, Jitrino::Opnd*&, Jitrino::Opnd*&, Jitrino::Node*&, Jitrino::Edge*&, Jitrino::Node*&) (??:-1)
> 3: Jitrino::FixupSyncEdgesWalker::applyToNode3(Jitrino::Node*) (??:-1)
> 4: Jitrino::FixupSyncEdgesWalker::applyToCFGNode(Jitrino::Node*) (??:-1)
> 5: ?? (002b0ab1 :2)
> 6: void Jitrino::NodeWalk<Jitrino::FixupSyncEdgesWalker>(Jitrino::ControlFlowGraph&, Jitrino::FixupSyncEdgesWalker&) (??:-1)
> 7: Jitrino::SyncOpt::runPass() (??:-1)
> 8: Jitrino::SyncOptPass::_run(Jitrino::IRManager&) (??:-1)
> 9: Jitrino::OptPass::run() (??:-1)
> 10: Jitrino::runPipeline(Jitrino::CompilationContext*) (??:-1)
> 11: Jitrino::compileMethod(Jitrino::CompilationContext*) (??:-1)
> 12: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (??:-1)
> here "syncopt":
> * expects all dispatch nodes to have catch blocks (if you recompile in debug mode, you'll see it)
> * expects instructions in basic blocks to be linked in a circle (which is now outdated, instructions end with NULL)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (HARMONY-2115) [drlvm][jit][opt] "syncopt"
optimization pass crashes (on HelloWorld) because expects old CFG structure
Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-2115?page=all ]
Egor Pasko updated HARMONY-2115:
--------------------------------
Attachment: 0001-syncopt-fixed.txt
the fix attached (absolutely safe to commit, syncopt is unused now)
with fix applied you will get a crash in DominatorTree which is another issue:
SIGSEGV in VM code.
Stack trace:
1: Jitrino::DominatorTree::dominates(Jitrino::Node*, Jitrino::Node*) (??:-1)
2: Jitrino::LoopTree::findLoopHeaders(Jitrino::StlVector<Jitrino::Node*, Jitrino::StlMMAllocator<Jitrino::Node*> >&) (??:-1)
3: Jitrino::LoopTree::rebuild(bool) (??:-1)
4: Jitrino::LoopBuilder::computeLoops(bool) (??:-1)
5: Jitrino::OptPass::computeLoops(Jitrino::IRManager&, bool) (??:-1)
6: Jitrino::OptPass::computeDominatorsAndLoops(Jitrino::IRManager&, bool) (??:-1)
7: Jitrino::StaticProfilerPass::_run(Jitrino::IRManager&) (??:-1)
[snip]
> [drlvm][jit][opt] "syncopt" optimization pass crashes (on HelloWorld) because expects old CFG structure
> -------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-2115
> URL: http://issues.apache.org/jira/browse/HARMONY-2115
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: any
> Reporter: Egor Pasko
> Priority: Trivial
> Attachments: 0001-syncopt-fixed.txt
>
>
> to reproduce the crash
> * copy opt.emconf to syncopt.emconf
> * add "syncopt," before "statprof" in the new syncopt.emconf file (no quotes, obviously)
> * run with -Xem:syncopt switch
> > $HARMONY -Xem:syncopt Hello
> SIGSEGV in VM code.
> Stack trace:
> 1: Jitrino::CFGInst::next() const (??:-1)
> 2: Jitrino::FixupSyncEdgesWalker::isCatchAllAndMonExit(Jitrino::Node*, Jitrino::Opnd*&, Jitrino::Opnd*&, Jitrino::Node*&, Jitrino::Edge*&, Jitrino::Node*&) (??:-1)
> 3: Jitrino::FixupSyncEdgesWalker::applyToNode3(Jitrino::Node*) (??:-1)
> 4: Jitrino::FixupSyncEdgesWalker::applyToCFGNode(Jitrino::Node*) (??:-1)
> 5: ?? (002b0ab1 :2)
> 6: void Jitrino::NodeWalk<Jitrino::FixupSyncEdgesWalker>(Jitrino::ControlFlowGraph&, Jitrino::FixupSyncEdgesWalker&) (??:-1)
> 7: Jitrino::SyncOpt::runPass() (??:-1)
> 8: Jitrino::SyncOptPass::_run(Jitrino::IRManager&) (??:-1)
> 9: Jitrino::OptPass::run() (??:-1)
> 10: Jitrino::runPipeline(Jitrino::CompilationContext*) (??:-1)
> 11: Jitrino::compileMethod(Jitrino::CompilationContext*) (??:-1)
> 12: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (??:-1)
> here "syncopt":
> * expects all dispatch nodes to have catch blocks (if you recompile in debug mode, you'll see it)
> * expects instructions in basic blocks to be linked in a circle (which is now outdated, instructions end with NULL)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira