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

Verilator not running on Ubuntu 14.04 (due to use of static object) #1041

Closed
veripoolbot opened this issue Feb 24, 2016 · 3 comments
Closed
Labels
resolution: no fix needed Closed; no fix required (not a bug)

Comments

@veripoolbot
Copy link
Contributor


Author Name: Yura Pyatnychko
Original Redmine Issue: 1041 from https://www.veripool.org
Original Date: 2016-02-24


I am able to run verilator fine on scientific linux but on Ubuntu 14.04 the compiled object file fails at a segmentation fault right at startup...
I sort of suspect that this may have to do with the version of c++.. On the scientific linux machine I am compiling with /usr/include/c++/4.4.4 or /usr/include/c++/4.4.7 while on Ubuntu the only library I see is /usr/include/c++/4.9

I greatly appreciate any guidance on resolving this problem..

#0  0x00007ffff7b4b33a in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x0000000000421c39 in std::_Rb_tree_iterator<std::pair<char const* const, VerilatedScope const*> >::operator-- (this=0x7fffffffd030) at /usr/include/c++/4.9/bits/stl_tree.h:218
#2  0x0000000000421b80 in std::_Rb_tree<char const*, std::pair<char const* const, VerilatedScope const*>, std::_Select1st<std::pair<char const* const, VerilatedScope const*> >, VerilatedCStrCmp, std::allocator<std::pair<char const* const, VerilatedScope const*> > >::_M_get_insert_unique_pos (this=0x1c4ce10 <VerilatedImp::s_s+80>, __k=@0x7fffffffd1c0: 0x1c6c0c0 "TOP.v.ps_1.client_dma_1.mac_1.crc_check_1") at /usr/include/c++/4.9/bits/stl_tree.h:1454
#3  0x0000000000420083 in std::_Rb_tree<char const*, std::pair<char const* const, VerilatedScope const*>, std::_Select1st<std::pair<char const* const, VerilatedScope const*> >, VerilatedCStrCmp, std::allocator<std::pair<char const* const, VerilatedScope const*> > >::_M_get_insert_hint_unique_pos (this=0x1c4ce10 <VerilatedImp::s_s+80>, __position=..., __k=@0x7fffffffd1c0: 0x1c6c0c0 "TOP.v.ps_1.client_dma_1.mac_1.crc_check_1")
     at /usr/include/c++/4.9/bits/stl_tree.h:1546
#4  0x000000000041e7e9 in std::_Rb_tree<char const*, std::pair<char const* const, VerilatedScope const*>, std::_Select1st<std::pair<char const* const, VerilatedScope const*> >, VerilatedCStrCmp, std::allocator<std::pair<char const* const, VerilatedScope const*> > >::_M_insert_unique_ (this=0x1c4ce10 <VerilatedImp::s_s+80>, __position=..., __v=...) at /usr/include/c++/4.9/bits/stl_tree.h:1599
#5  0x000000000041d50a in std::map<char const*, VerilatedScope const*, VerilatedCStrCmp, std::allocator<std::pair<char const* const, VerilatedScope const*> > >::insert (this=0x1c4ce10 <VerilatedImp::s_s+80>, __position=..., 
     __x=...) at /usr/include/c++/4.9/bits/stl_map.h:683
#6  0x000000000041c621 in VerilatedImp::scopeInsert (scopep=0x1c6bac0) at /usr/local/verilator//include/verilated_imp.h:159
#7  0x000000000041b122 in VerilatedScope::configure (this=0x1c6bac0, symsp=0x1c67c40, prefixp=0x1c67c20 "TOP", suffixp=0xd48838 "v.ps_1.client_dma_1.mac_1.crc_check_1") at /usr/local/verilator//include/verilated.cpp:1164
#8  0x0000000000b26835 in Vhpr_projname_test_unit__Syms::Vhpr_projname_test_unit__Syms (this=0x1c67c40, topp=0x7ffff6f54010, namep=0x1c67c20 "TOP") at Vhpr_projname_test_unit__Syms.cpp:83
#9  0x0000000000429f6d in Vhpr_projname_test_unit::Vhpr_projname_test_unit (this=0x7ffff6f54010, __VCname=0xd46c07 "TOP") at Vhpr_projname_test_unit.cpp:28
#10 0x0000000000415988 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at ../project_tb.cpp:29
#11 0x00000000004159c3 in _GLOBAL__sub_I_top () at ../C/project_tb.cpp:532
#12 0x0000000000d44bed in __libc_csu_init ()
#13 0x00007ffff752ead5 in __libc_start_main () from /lib64/libc.so.6
#14 0x00000000004032b9 in _start ()

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2016-02-25T03:34:30Z


It looks like you are constructing the model statically? You can't do that, you need to use "new" as shown in the examples.

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Yura Pyatnychko
Original Date: 2016-02-25T16:39:00Z


That was the problem. I was creating the model object outside the main() function call.

Thank you very much Wilson!

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2016-02-25T17:03:49Z


Great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
resolution: no fix needed Closed; no fix required (not a bug)
Projects
None yet
Development

No branches or pull requests

1 participant