Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken node on indexed interface modport #1430

Open
veripoolbot opened this issue May 6, 2019 · 5 comments
Open

Broken node on indexed interface modport #1430

veripoolbot opened this issue May 6, 2019 · 5 comments

Comments

@veripoolbot
Copy link

@veripoolbot veripoolbot commented May 6, 2019


Author Name: Jonathan Kimmitt (@jrrk2)
Original Redmine Issue: 1430 from https://www.veripool.org

Original Assignee: Wilson Snyder (@wsnyder)


%Error: Internal Error: See the manual and http://www.veripool.org/verilator for more assistance.
- V3Ast.cpp:1045:     Dumping work-ver/Variane_testharness_990_final.tree
- V3Broken.cpp:278:   Broken called under broken, skipping recursion.
- V3StatsReport.cpp:241:statsReport: 
%Error: Internal Error: Aborting since under --debug

Program received signal SIGABRT, Aborted.
0x00007ffff7195428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
#0  0x00007ffff7195428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff719702a in __GI_abort () at abort.c:89
#2  0x00000000005a1ce6 in V3Error::vlAbort () at ../V3Error.cpp:141
#3  0x00000000005a2405 in V3Error::v3errorEnd (sstr=...) at ../V3Error.cpp:224
#4  0x00000000005b5aca in FileLine::v3errorEnd (this=0x2ddd3d0, str=...) at ../V3FileLine.cpp:242
#5  0x0000000000438b12 in AstNode::v3errorEnd (this=0x66ade10, str=...) at ../V3Ast.cpp:1084
#6  0x00000000004389c9 in AstNode::v3errorEndFatal (this=0x66ade10, str=...) at ../V3Ast.cpp:1070
#7  0x00000000004681b0 in BrokenCheckVisitor::processAndIterate (this=0x7fffffff8fe0, nodep=0x66ade10) at ../V3Broken.cpp:226
#8  0x000000000046882f in BrokenCheckVisitor::visit (this=0x7fffffff8fe0, nodep=0x66ade10) at ../V3Broken.cpp:260
#9  0x00000000004171d8 in AstNVisitor::visit (this=0x7fffffff8fe0, nodep=0x66ade10) at ./V3Ast__gen_visitor.h:175
#10 0x00000000004166e0 in AstNVisitor::visit (this=0x7fffffff8fe0, nodep=0x66ade10) at ./V3Ast__gen_visitor.h:120
#11 0x000000000044840e in AstIfaceRefDType::accept (this=0x66ade10, v=...) at ../V3AstNodes.h:573
#12 0x000000000043683e in AstNode::iterateAndNextConst (this=0xddc590, v=...) at ../V3Ast.cpp:827
#13 0x0000000000436438 in AstNode::iterateChildrenConst (this=0xdb8320, v=...) at ../V3Ast.cpp:763
#14 0x0000000000466e4d in AstNVisitor::iterateChildrenConst (this=0x7fffffff8fe0, nodep=0xdb8320) at ../V3Ast.h:2206
#15 0x0000000000468629 in BrokenCheckVisitor::processAndIterate (this=0x7fffffff8fe0, nodep=0xdb8320) at ../V3Broken.cpp:247
#16 0x000000000046882f in BrokenCheckVisitor::visit (this=0x7fffffff8fe0, nodep=0xdb8320) at ../V3Broken.cpp:260
#17 0x000000000041899c in AstNVisitor::visit (this=0x7fffffff8fe0, nodep=0xdb8320) at ./V3Ast__gen_visitor.h:292
#18 0x0000000000454fc4 in AstTypeTable::accept (this=0xdb8320, v=...) at ../V3AstNodes.h:5835
#19 0x000000000043683e in AstNode::iterateAndNextConst (this=0xdb8320, v=...) at ../V3Ast.cpp:827
#20 0x0000000000436480 in AstNode::iterateChildrenConst (this=0xdb7cf0, v=...) at ../V3Ast.cpp:765
#21 0x0000000000466e4d in AstNVisitor::iterateChildrenConst (this=0x7fffffff8fe0, nodep=0xdb7cf0) at ../V3Ast.h:2206
#22 0x0000000000468629 in BrokenCheckVisitor::processAndIterate (this=0x7fffffff8fe0, nodep=0xdb7cf0) at ../V3Broken.cpp:247
#23 0x000000000046882f in BrokenCheckVisitor::visit (this=0x7fffffff8fe0, nodep=0xdb7cf0) at ../V3Broken.cpp:260
#24 0x0000000000417004 in AstNVisitor::visit (this=0x7fffffff8fe0, nodep=0xdb7cf0) at ./V3Ast__gen_visitor.h:165
#25 0x000000000040cbce in AstNetlist::accept (this=0xdb7cf0, v=...) at ../V3AstNodes.h:5868
#26 0x000000000041aad8 in AstNVisitor::iterate (this=0x7fffffff8fe0, nodep=0xdb7cf0) at ../V3Ast.h:2197
#27 0x000000000046886e in BrokenCheckVisitor::BrokenCheckVisitor (this=0x7fffffff8fe0, nodep=0xdb7cf0) at ../V3Broken.cpp:265
#28 0x0000000000466c4e in V3Broken::brokenAll (nodep=0xdb7cf0) at ../V3Broken.cpp:283
#29 0x000000000043892c in AstNode::dumpTreeFile (this=0xdb7cf0, filename="work-ver/Variane_testharness_018_dearray.tree", append=false, doDump=false) at ../V3Ast.cpp:1064
#30 0x00000000004085f9 in V3Global::dumpCheckGlobalTree (stagename="dearray", newNumber=0, doDump=false) at ../Verilator.cpp:153
#31 0x0000000000617d37 in V3Inst::dearrayAll (nodep=0xdb7cf0) at ../V3Inst.cpp:578
#32 0x00000000004088d2 in process () at ../Verilator.cpp:234
#33 0x00000000004099e2 in main (argc=243, argv=0x7fffffff9568, env=0x7fffffff9d08) at ../Verilator.cpp:631

@veripoolbot

This comment has been minimized.

Copy link
Author

@veripoolbot veripoolbot commented May 6, 2019


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2019-05-06T12:33:27Z


The line before "Internal Error" should have been an error about node 66ade10

 3:1: IFACEREFDTYPE 0x66ade10 <e1760744> {gl86} @dt=this@(w1)iface cell=s_cut if=AXI_BUS mp=Master -> CELL 0x66a7e40 <e299965\

4#> {gl75} s_cut -> IFACE 0x5fd0a90 {m20} AXI_BUS__A40_AB40_AC5_AD1 L7 [LIB]

Somehow processing has lost AXI_BUS__A40_AB40_AC5_AD1. Can you make a test case?

@veripoolbot

This comment has been minimized.

Copy link
Author

@veripoolbot veripoolbot commented May 6, 2019


Original Redmine Comment
Author Name: Jonathan Kimmitt (@jrrk2)
Original Date: 2019-05-06T13:46:16Z


If the entire (preprocessed) design is acceptable as a testcase, please find it attached.

@veripoolbot

This comment has been minimized.

Copy link
Author

@veripoolbot veripoolbot commented May 6, 2019


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2019-05-06T22:42:33Z


What command line are you using? Can you please check with the most recent version? If that fails, a reduced test case would be appreciated, as would like something we can add to the regressions.

@veripoolbot

This comment has been minimized.

Copy link
Author

@veripoolbot veripoolbot commented May 7, 2019


Original Redmine Comment
Author Name: Jonathan Kimmitt (@jrrk2)
Original Date: 2019-05-07T07:35:19Z


The usual command line, as stated in the attached logfile: verilator -cc --top-module ariane_testharness --debug --gdbbt verilate-tokens.v is sufficient to demonstrate the problem. Since I'm not particularly familiar with your code it could be difficult to dissect further. Nevertheless since it is pre-processed open source code, I see no reason why it could not go in the regression suite, once the problem is reproduced and identified at your end. I have rerun with the latest release (Verilator 4.012 2019-03-23) with no obvious change in behaviour. If you want me to rerun with any other flags, I'm happy to do so, but to a non C++ developer the diagnostics don't mean a lot.

@veripoolbot

This comment has been minimized.

Copy link
Author

@veripoolbot veripoolbot commented May 22, 2019


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2019-05-22T02:06:19Z


Tracked this down to an issue that indexed interfaces with modports are broken in LinkDot. Stay tuned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.