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

ice40: incorrectly invoking set_io aborts #147

Closed
whitequark opened this issue Nov 25, 2018 · 1 comment
Closed

ice40: incorrectly invoking set_io aborts #147

whitequark opened this issue Nov 25, 2018 · 1 comment

Comments

@whitequark
Copy link
Member

whitequark commented Nov 25, 2018

E.g.:

# top.pcf
set_io io[0]
terminate called after throwing an instance of 'std::out_of_range'
  what():  vector::_M_range_check: __n (which is 2) >= this->size() (which is 2)
build_top.sh: line 5: 25970 Aborted                 nextpnr-ice40 --up5k --package sg48 --pcf top.pcf --json top.json --asc top.txt

Backtrace:

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff60ba2f1 in __GI_abort () at abort.c:79
#2  0x00007ffff647c943 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff6482896 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff64828d1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff6482b04 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff647e851 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00000000006a1927 in std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_range_check (this=<optimized out>, __n=<optimized out>)
    at /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_vector.h:960
#8  std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::at (this=<optimized out>, __n=<optimized out>)
    at /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_vector.h:981
#9  nextpnr_ice40::apply_pcf (ctx=0xb9ee490, filename=<incomplete type>, in=...) at /home/whitequark/Projects/nextpnr/ice40/pcf.cc:53
#10 0x000000000068d1a6 in Ice40CommandHandler::customAfterLoad (this=<optimized out>, ctx=0xb9ee490)
    at /home/whitequark/Projects/nextpnr/ice40/main.cc:84
#11 0x00000000005d9d1c in nextpnr_ice40::CommandHandler::executeMain (this=0x7fffffffd768, ctx=...)
    at /home/whitequark/Projects/nextpnr/common/command.cc:228
#12 0x00000000005dc0e1 in nextpnr_ice40::CommandHandler::exec (this=0x7fffffffd768) at /home/whitequark/Projects/nextpnr/common/command.cc:303
#13 0x000000000068e5b7 in main (argc=<optimized out>, argv=<optimized out>) at /home/whitequark/Projects/nextpnr/ice40/main.cc:161
@whitequark whitequark changed the title Using ctx.addClock with a nonexistent signal aborts ice40: incorrectly invoking set_io aborts Nov 25, 2018
@whitequark
Copy link
Member Author

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant