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

pure virtual method called/seg. fault #584

Closed
veripoolbot opened this issue Nov 30, 2012 · 2 comments
Closed

pure virtual method called/seg. fault #584

veripoolbot opened this issue Nov 30, 2012 · 2 comments
Labels
resolution: duplicate Closed; issue or pull request already exists

Comments

@veripoolbot
Copy link
Contributor


Author Name: Alex Solomatnikov
Original Redmine Issue: 584 from https://www.veripool.org
Original Date: 2012-11-30


The same RTL compiles with verilator 3.841 w/o problem.

However, the latest version in git fails.

Running regular version under gdb:

pure virtual method called
terminate called without an active exception

Program received signal SIGABRT, Aborted.
0x0000003d37030285 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x0000003d37030285 in raise () from /lib64/libc.so.6
#1  0x0000003d37031d30 in abort () from /lib64/libc.so.6
#2  0x00000034754bed94 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib64/libstdc++.so.6
#3  0x00000034754bce46 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x00000034754bce73 in std::terminate() () from /usr/lib64/libstdc++.so.6
#5  0x00000034754bd3cf in __cxa_pure_virtual () from /usr/lib64/libstdc++.so.6
#6  0x00000000005f3d72 in WidthVisitor::visit(AstNodeVarRef*, AstNUser*) ()
#7  0x000000000045ec71 in AstNVisitor::visit(AstVarXRef*, AstNUser*) ()
#8  0x00000000004752ee in AstVarXRef::accept(AstNVisitor&, AstNUser*) ()
#9  0x000000000046978f in AstNode::iterateAndNext(AstNVisitor&, AstNUser*) ()
#10 0x00000000005fdde5 in WidthVisitor::visit(AstAttrOf*, AstNUser*) ()
#11 0x0000000000475692 in AstAttrOf::accept(AstNVisitor&, AstNUser*) ()
#12 0x000000000046978f in AstNode::iterateAndNext(AstNVisitor&, AstNUser*) ()
#13 0x00000000005ec410 in WidthVisitor::visit(AstSelBit*, AstNUser*) ()
#14 0x000000000041bc66 in AstSelBit::accept(AstNVisitor&, AstNUser*) ()
#15 0x000000000046978f in AstNode::iterateAndNext(AstNVisitor&, AstNUser*) ()
#16 0x00000000006004f6 in WidthVisitor::visit(AstNodeAssign*, AstNUser*) ()
#17 0x000000000045dbfd in AstNVisitor::visit(AstAssign*, AstNUser*) ()
#18 0x000000000041bf1f in AstAssign::accept(AstNVisitor&, AstNUser*) ()
#19 0x000000000046978f in AstNode::iterateAndNext(AstNVisitor&, AstNUser*) ()
#20 0x000000000046982e in AstNode::iterateChildren(AstNVisitor&, AstNUser*) ()
#21 0x00000000005f24fa in WidthVisitor::visit(AstNode*, AstNUser*) ()
#22 0x000000000045dc8d in AstNVisitor::visit(AstBegin*, AstNUser*) ()
#23 0x00000000004755f6 in AstBegin::accept(AstNVisitor&, AstNUser*) ()
#24 0x000000000046978f in AstNode::iterateAndNext(AstNVisitor&, AstNUser*) ()
#25 0x0000000000469856 in AstNode::iterateChildren(AstNVisitor&, AstNUser*) ()
#26 0x00000000005ee0f1 in WidthVisitor::visit(AstNodeFTask*, AstNUser*) ()
#27 0x000000000045eac1 in AstNVisitor::visit(AstTask*, AstNUser*) ()
#28 0x000000000041be24 in AstTask::accept(AstNVisitor&, AstNUser*) ()
#29 0x000000000046978f in AstNode::iterateAndNext(AstNVisitor&, AstNUser*) ()
#30 0x0000000000469842 in AstNode::iterateChildren(AstNVisitor&, AstNUser*) ()
#31 0x00000000005f24fa in WidthVisitor::visit(AstNode*, AstNUser*) ()
#32 0x000000000045e545 in AstNVisitor::visit(AstNodeModule*, AstNUser*) ()
#33 0x000000000045e395 in AstNVisitor::visit(AstModule*, AstNUser*) ()
#34 0x000000000041bd7a in AstModule::accept(AstNVisitor&, AstNUser*) ()
#35 0x0000000000469241 in AstNode::iterateListBackwards(AstNVisitor&, AstNUser*) ()
#36 0x0000000000469284 in AstNode::iterateChildrenBackwards(AstNVisitor&, AstNUser*) ()
#37 0x00000000005eaab3 in WidthVisitor::visit(AstNetlist*, AstNUser*) ()
#38 0x000000000045d24a in AstNetlist::accept(AstNVisitor&, AstNUser*) ()
#39 0x000000000046ce01 in AstNode::acceptSubtreeReturnEdits(AstNVisitor&, AstNUser*) ()
#40 0x00000000005e913b in V3Width::width(AstNetlist*) ()
#41 0x0000000000459c6d in process() ()
#42 0x000000000045cdd0 in main ()

Debug version under gdb:

Program received signal SIGSEGV, Segmentation fault.
0x00000034754bdbab in __dynamic_cast () from /usr/lib64/libstdc++.so.6
(gdb) bt
#0  0x00000034754bdbab in __dynamic_cast () from /usr/lib64/libstdc++.so.6
#1  0x000000000044863a in AstNode::castNodeDType (this=0x1) at ./V3Ast__gen_impl.h:137
#2  0x000000000049b852 in AstVar::childDTypep (this=0xa9d3a70) at ../V3AstNodes.h:896
#3  0x000000000064eeaf in WidthVisitor::visit (this=0x7fffffffd3a0, nodep=0xa9d3a70, vup=0x0) at ../V3Width.cpp:767
#4  0x000000000049b7bb in AstVar::accept (this=0xa9d3a70, v=..., vup=0x0) at ../V3AstNodes.h:880
#5  0x000000000051b5ab in AstNode::iterate (this=0xa9d3a70, v=..., vup=0x0) at ../V3Ast.h:1135
#6  0x000000000064f8c1 in WidthVisitor::visit (this=0x7fffffffd3a0, nodep=0xd9f9c80, vup=0x7fffffffc9b0) at ../V3Width.cpp:835
#7  0x00000000004802ff in AstNVisitor::visit (this=0x7fffffffd3a0, nodep=0xd9f9c80, vup=0x7fffffffc9b0) at ./V3Ast__gen_visitor.h:246
#8  0x000000000049cd3f in AstVarXRef::accept (this=0xd9f9c80, v=..., vup=0x7fffffffc9b0) at ../V3AstNodes.h:1170
#9  0x000000000048f772 in AstNode::iterateAndNext (this=0xd9f9c80, v=..., vup=0x7fffffffc9b0) at ../V3Ast.cpp:768
#10 0x000000000064dbc0 in WidthVisitor::visit (this=0x7fffffffd3a0, nodep=0xd9f9d80) at ../V3Width.cpp:636
#11 0x00000000004a0ba7 in AstAttrOf::accept (this=0xd9f9d80, v=..., vup=0x7fffffffcb30) at ../V3AstNodes.h:2700
#12 0x000000000048f772 in AstNode::iterateAndNext (this=0xd9f9d80, v=..., vup=0x7fffffffcb30) at ../V3Ast.cpp:768
#13 0x000000000064cfcd in WidthVisitor::visit (this=0x7fffffffd3a0, nodep=0x23b0fe0, vup=0x7fffffffcc50) at ../V3Width.cpp:527
#14 0x000000000042df19 in AstSelBit::accept (this=0x23b0fe0, v=..., vup=0x7fffffffcc50) at ../V3AstNodes.h:699
#15 0x000000000048f772 in AstNode::iterateAndNext (this=0x23b0fe0, v=..., vup=0x7fffffffcc50) at ../V3Ast.cpp:768
#16 0x0000000000652f14 in WidthVisitor::visit (this=0x7fffffffd3a0, nodep=0x23b1420) at ../V3Width.cpp:1209
#17 0x000000000047c87f in AstNVisitor::visit (this=0x7fffffffd3a0, nodep=0x23b1420, vup=0x0) at ./V3Ast__gen_visitor.h:11
#18 0x000000000043160f in AstAssign::accept (this=0x23b1420, v=..., vup=0x0) at ../V3AstNodes.h:1615
#19 0x000000000048f772 in AstNode::iterateAndNext (this=0x23b05e0, v=..., vup=0x0) at ../V3Ast.cpp:768
#20 0x000000000048f5bf in AstNode::iterateChildren (this=0x23af880, v=..., vup=0x0) at ../V3Ast.cpp:747
#21 0x0000000000655e77 in WidthVisitor::visit (this=0x7fffffffd3a0, nodep=0x23af880, vup=0x0) at ../V3Width.cpp:1590
#22 0x000000000047ca7f in AstNVisitor::visit (this=0x7fffffffd3a0, nodep=0x23af880, vup=0x0) at ./V3Ast__gen_visitor.h:19
#23 0x00000000004a03bd in AstBegin::accept (this=0x23af880, v=..., vup=0x0) at ../V3AstNodes.h:2472
#24 0x000000000048f772 in AstNode::iterateAndNext (this=0x23aa400, v=..., vup=0x0) at ../V3Ast.cpp:768
#25 0x000000000048f60f in AstNode::iterateChildren (this=0x23a9460, v=..., vup=0x0) at ../V3Ast.cpp:749
#26 0x0000000000654dd6 in WidthVisitor::visit (this=0x7fffffffd3a0, nodep=0x23a9460, vup=0x0) at ../V3Width.cpp:1468
#27 0x000000000047fcff in AstNVisitor::visit (this=0x7fffffffd3a0, nodep=0x23a9460, vup=0x0) at ./V3Ast__gen_visitor.h:222
#28 0x0000000000430601 in AstTask::accept (this=0x23a9460, v=..., vup=0x0) at ../V3AstNodes.h:1416
#29 0x000000000048f772 in AstNode::iterateAndNext (this=0x22cc470, v=..., vup=0x0) at ../V3Ast.cpp:768
#30 0x000000000048f5e7 in AstNode::iterateChildren (this=0x22d2360, v=..., vup=0x0) at ../V3Ast.cpp:748
#31 0x0000000000655e77 in WidthVisitor::visit (this=0x7fffffffd3a0, nodep=0x22d2360, vup=0x0) at ../V3Width.cpp:1590
#32 0x000000000047e97f in AstNVisitor::visit (this=0x7fffffffd3a0, nodep=0x22d2360, vup=0x0) at ./V3Ast__gen_visitor.h:144
#33 0x000000000047e37f in AstNVisitor::visit (this=0x7fffffffd3a0, nodep=0x22d2360, vup=0x0) at ./V3Ast__gen_visitor.h:119
#34 0x000000000042f551 in AstModule::accept (this=0x22d2360, v=..., vup=0x0) at ../V3AstNodes.h:1229
#35 0x000000000048f838 in AstNode::iterateListBackwards (this=0xa1c6b30, v=..., vup=0x0) at ../V3Ast.cpp:787
#36 0x000000000048f8be in AstNode::iterateChildrenBackwards (this=0xaee010, v=..., vup=0x0) at ../V3Ast.cpp:795
#37 0x0000000000655ce2 in WidthVisitor::visit (this=0x7fffffffd3a0, nodep=0xaee010) at ../V3Width.cpp:1578
#38 0x000000000047b577 in AstNetlist::accept (this=0xaee010, v=..., vup=0x7fffffffd360) at ../V3AstNodes.h:4466
#39 0x000000000048f9ef in AstNode::acceptSubtreeReturnEdits (this=0xaee010, v=..., vup=0x7fffffffd360) at ../V3Ast.cpp:821
#40 0x000000000065c447 in WidthVisitor::mainAcceptEdit (this=0x7fffffffd3a0, nodep=0xaee010) at ../V3Width.cpp:2349
#41 0x00000000006442eb in V3Width::width (nodep=0xaee010) at ../V3Width.cpp:2367
#42 0x00000000004760ca in process () at ../Verilator.cpp:193
#43 0x0000000000479e68 in main (argc=32, argv=0x7fffffffdd18, env=0x7fffffffde20) at ../Verilator.cpp:675

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2012-11-30T11:58:13Z


I suspect this was #�. Please try latest git.

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Alex Solomatnikov
Original Date: 2012-11-30T18:29:10Z


You are right - it works after #� fix.

@veripoolbot veripoolbot added the resolution: duplicate Closed; issue or pull request already exists label Dec 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
resolution: duplicate Closed; issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

1 participant