[logo] 
 
Home
News
Activity
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  BugVise
  CovVise
  Force-Gate-Sim
  Gspice
  IPC::Locker
  Rsvn
  SVN::S4
  SystemPerl
  Voneline
  WFH
General Info
  Papers

Issue #329

seg. fault on incorrect Verilog

Added by Alex Solomatnikov over 2 years ago. Updated about 2 years ago.

Status:ClosedStart date:03/07/2011
Priority:NormalDue date:
Assignee:Wilson Snyder% Done:

0%

Category:Parser
Target version:-

Description

The following erroneous code causes seg. fault:

module site_rbuf #(parameter WIDTH=WIDTH, parameter DEPTH=`NUM_REQS)

gdb trace:

- V3LinkDot.cpp:729: linkDotGuts: - V3LinkJump.cpp:239: linkJump: - V3Param.cpp:384: param:

Program received signal SIGSEGV, Segmentation fault. 0x000000000061d962 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ff150) at ../V3Width.cpp:573 573 if (nodep->varp()->width()==0) { #0 0x000000000061d962 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ff150) at ../V3Width.cpp:573 #1 0x0000000000471c0b in AstNVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ff150) at ./V3Ast__gen_visitor.h:207 #2 0x000000000048ad09 in AstVarRef::accept (this=0xa88880, v=..., vup=0x7fffff3ff150) at ../V3AstNodes.h:857 #3 0x0000000000480f5f in AstNode::iterateAndNext (this=0xa88880, v=..., vup=0x7fffff3ff150) at ../V3Ast.cpp:772 #4 0x000000000061d510 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0x998870, vup=0x0) at ../V3Width.cpp:538 #5 0x000000000048a0a7 in AstVar::accept (this=0x998870, v=..., vup=0x0) at ../V3AstNodes.h:606 #6 0x00000000004fa4d7 in AstNode::iterate (this=0x998870, v=..., vup=0x0) at ../V3Ast.h:921 #7 0x000000000061d998 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ff3d0) at ../V3Width.cpp:575 #8 0x0000000000471c0b in AstNVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ff3d0) at ./V3Ast__gen_visitor.h:207 #9 0x000000000048ad09 in AstVarRef::accept (this=0xa88880, v=..., vup=0x7fffff3ff3d0) at ../V3AstNodes.h:857 #10 0x0000000000480f5f in AstNode::iterateAndNext (this=0xa88880, v=..., vup=0x7fffff3ff3d0) at ../V3Ast.cpp:772 #11 0x000000000061d510 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0x998870, vup=0x0) at ../V3Width.cpp:538 #12 0x000000000048a0a7 in AstVar::accept (this=0x998870, v=..., vup=0x0) at ../V3AstNodes.h:606 #13 0x00000000004fa4d7 in AstNode::iterate (this=0x998870, v=..., vup=0x0) at ../V3Ast.h:921 #14 0x000000000061d998 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ff650) at ../V3Width.cpp:575 #15 0x0000000000471c0b in AstNVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ff650) at ./V3Ast__gen_visitor.h:207 #16 0x000000000048ad09 in AstVarRef::accept (this=0xa88880, v=..., vup=0x7fffff3ff650) at ../V3AstNodes.h:857 #17 0x0000000000480f5f in AstNode::iterateAndNext (this=0xa88880, v=..., vup=0x7fffff3ff650) at ../V3Ast.cpp:772 #18 0x000000000061d510 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0x998870, vup=0x0) at ../V3Width.cpp:538 ---Type <return> to continue, or q <return> to quit--- #19 0x000000000048a0a7 in AstVar::accept (this=0x998870, v=..., vup=0x0) at ../V3AstNodes.h:606 #20 0x00000000004fa4d7 in AstNode::iterate (this=0x998870, v=..., vup=0x0) at ../V3Ast.h:921 #21 0x000000000061d998 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ff8d0) at ../V3Width.cpp:575 #22 0x0000000000471c0b in AstNVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ff8d0) at ./V3Ast__gen_visitor.h:207 #23 0x000000000048ad09 in AstVarRef::accept (this=0xa88880, v=..., vup=0x7fffff3ff8d0) at ../V3AstNodes.h:857 #24 0x0000000000480f5f in AstNode::iterateAndNext (this=0xa88880, v=..., vup=0x7fffff3ff8d0) at ../V3Ast.cpp:772 #25 0x000000000061d510 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0x998870, vup=0x0) at ../V3Width.cpp:538 #26 0x000000000048a0a7 in AstVar::accept (this=0x998870, v=..., vup=0x0) at ../V3AstNodes.h:606 #27 0x00000000004fa4d7 in AstNode::iterate (this=0x998870, v=..., vup=0x0) at ../V3Ast.h:921 #28 0x000000000061d998 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ffb50) at ../V3Width.cpp:575 #29 0x0000000000471c0b in AstNVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ffb50) at ./V3Ast__gen_visitor.h:207 #30 0x000000000048ad09 in AstVarRef::accept (this=0xa88880, v=..., vup=0x7fffff3ffb50) at ../V3AstNodes.h:857 #31 0x0000000000480f5f in AstNode::iterateAndNext (this=0xa88880, v=..., vup=0x7fffff3ffb50) at ../V3Ast.cpp:772 #32 0x000000000061d510 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0x998870, vup=0x0) at ../V3Width.cpp:538 #33 0x000000000048a0a7 in AstVar::accept (this=0x998870, v=..., vup=0x0) at ../V3AstNodes.h:606 #34 0x00000000004fa4d7 in AstNode::iterate (this=0x998870, v=..., vup=0x0) at ../V3Ast.h:921 #35 0x000000000061d998 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ffdd0) at ../V3Width.cpp:575 #36 0x0000000000471c0b in AstNVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff3ffdd0) at ./V3Ast__gen_visitor.h:207 #37 0x000000000048ad09 in AstVarRef::accept (this=0xa88880, v=..., vup=0x7fffff3ffdd0) at ../V3AstNodes.h:857 #38 0x0000000000480f5f in AstNode::iterateAndNext (this=0xa88880, v=..., vup=0x7fffff3ffdd0) at ../V3Ast.cpp:772 #39 0x000000000061d510 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0x998870, vup=0x0) at ../V3Width.cpp:538 #40 0x000000000048a0a7 in AstVar::accept (this=0x998870, v=..., vup=0x0) at ../V3AstNodes.h:606 #41 0x00000000004fa4d7 in AstNode::iterate (this=0x998870, v=..., vup=0x0) at ../V3Ast.h:921 ---Type <return> to continue, or q <return> to quit--- #42 0x000000000061d998 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff400050) at ../V3Width.cpp:575 #43 0x0000000000471c0b in AstNVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff400050) at ./V3Ast__gen_visitor.h:207 #44 0x000000000048ad09 in AstVarRef::accept (this=0xa88880, v=..., vup=0x7fffff400050) at ../V3AstNodes.h:857 #45 0x0000000000480f5f in AstNode::iterateAndNext (this=0xa88880, v=..., vup=0x7fffff400050) at ../V3Ast.cpp:772 #46 0x000000000061d510 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0x998870, vup=0x0) at ../V3Width.cpp:538 #47 0x000000000048a0a7 in AstVar::accept (this=0x998870, v=..., vup=0x0) at ../V3AstNodes.h:606 #48 0x00000000004fa4d7 in AstNode::iterate (this=0x998870, v=..., vup=0x0) at ../V3Ast.h:921 #49 0x000000000061d998 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff4002d0) at ../V3Width.cpp:575 #50 0x0000000000471c0b in AstNVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff4002d0) at ./V3Ast__gen_visitor.h:207 #51 0x000000000048ad09 in AstVarRef::accept (this=0xa88880, v=..., vup=0x7fffff4002d0) at ../V3AstNodes.h:857 #52 0x0000000000480f5f in AstNode::iterateAndNext (this=0xa88880, v=..., vup=0x7fffff4002d0) at ../V3Ast.cpp:772 #53 0x000000000061d510 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0x998870, vup=0x0) at ../V3Width.cpp:538 #54 0x000000000048a0a7 in AstVar::accept (this=0x998870, v=..., vup=0x0) at ../V3AstNodes.h:606 #55 0x00000000004fa4d7 in AstNode::iterate (this=0x998870, v=..., vup=0x0) at ../V3Ast.h:921 #56 0x000000000061d998 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff400550) at ../V3Width.cpp:575 #57 0x0000000000471c0b in AstNVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff400550) at ./V3Ast__gen_visitor.h:207 #58 0x000000000048ad09 in AstVarRef::accept (this=0xa88880, v=..., vup=0x7fffff400550) at ../V3AstNodes.h:857 #59 0x0000000000480f5f in AstNode::iterateAndNext (this=0xa88880, v=..., vup=0x7fffff400550) at ../V3Ast.cpp:772 #60 0x000000000061d510 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0x998870, vup=0x0) at ../V3Width.cpp:538 #61 0x000000000048a0a7 in AstVar::accept (this=0x998870, v=..., vup=0x0) at ../V3AstNodes.h:606 #62 0x00000000004fa4d7 in AstNode::iterate (this=0x998870, v=..., vup=0x0) at ../V3Ast.h:921 #63 0x000000000061d998 in WidthVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff4007d0) at ../V3Width.cpp:575 #64 0x0000000000471c0b in AstNVisitor::visit (this=0x7fffffffd300, nodep=0xa88880, vup=0x7fffff4007d0) at ./V3Ast__gen_visitor.h:207 ---Type <return> to continue, or q <return> to quit---^CQuit

History

#1 Updated by Wilson Snyder over 2 years ago

  • Category set to Parser
  • Status changed from New to Resolved
  • Assignee set to Wilson Snyder

That's a fun one! Fixed in git for 3.812+.

#2 Updated by Wilson Snyder about 2 years ago

  • Status changed from Resolved to Closed

In 3.812.

Also available in: Atom PDF