You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have done a search of the existing issues to make sure I'm not sending in a duplicate
Using TokenStreamRewriter::Delete method lead to program crash. Here is the stack trace :
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
58 ../sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
#1 0x00007ffff74a93ea in __GI_abort () at abort.c:89
#2 0x00007ffff7ae158d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff7adf336 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff7adf381 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff7adf599 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff7b08d4f in std::__throw_logic_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7 0x00007ffff7b763d4 in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8 0x00007ffff7b7658c in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9 0x0000555555745e51 in antlr4::TokenStreamRewriter::Delete (this=0x555555aeb8f0, programName="default", from=21, to=53)
at /home/tom/prog/git/test_antlr/runtime/src/TokenStreamRewriter.cpp:206
#10 0x0000555555745d81 in antlr4::TokenStreamRewriter::Delete (this=0x555555aeb8f0, from=21, to=53)
at /home/tom/prog/git/test_antlr/runtime/src/TokenStreamRewriter.cpp:194
#11 0x000055555570c914 in vPreprocessor::exitIfdef_directive (this=0x555555b06c60, ctx=0x555555ad1940)
at /home/tom/prog/git/test_antlr/demo4/src/vPreprocessor.cpp:19
#12 0x0000555555716212 in vppParser::Ifdef_directiveContext::exitRule (this=0x555555ad1940, listener=0x555555b06c60)
at /home/tom/prog/git/test_antlr/demo4/generated/vppParser.cpp:608
#13 0x00005555557d44b5 in antlr4::tree::ParseTreeWalker::exitRule (this=0x7fffffffddb0, listener=0x555555b06c60, r=0x555555ad1940)
at /home/tom/prog/git/test_antlr/runtime/src/tree/ParseTreeWalker.cpp:43
#14 0x00005555557d43b3 in antlr4::tree::ParseTreeWalker::walk (this=0x7fffffffddb0, listener=0x555555b06c60, t=0x555555ad1940)
at /home/tom/prog/git/test_antlr/runtime/src/tree/ParseTreeWalker.cpp:32
#15 0x00005555557d4386 in antlr4::tree::ParseTreeWalker::walk (this=0x7fffffffddb0, listener=0x555555b06c60, t=0x555555ad03f0)
at /home/tom/prog/git/test_antlr/runtime/src/tree/ParseTreeWalker.cpp:30
#16 0x00005555557d4386 in antlr4::tree::ParseTreeWalker::walk (this=0x7fffffffddb0, listener=0x555555b06c60, t=0x555555bef8e0)
at /home/tom/prog/git/test_antlr/runtime/src/tree/ParseTreeWalker.cpp:30
#17 0x00005555557d4386 in antlr4::tree::ParseTreeWalker::walk (this=0x7fffffffddb0, listener=0x555555b06c60, t=0x555555ad2e20)
at /home/tom/prog/git/test_antlr/runtime/src/tree/ParseTreeWalker.cpp:30
#18 0x00005555557d4386 in antlr4::tree::ParseTreeWalker::walk (this=0x7fffffffddb0, listener=0x555555b06c60, t=0x555555ad8f90)
at /home/tom/prog/git/test_antlr/runtime/src/tree/ParseTreeWalker.cpp:30
#19 0x00005555557d4386 in antlr4::tree::ParseTreeWalker::walk (this=0x7fffffffddb0, listener=0x555555b06c60, t=0x555555af44b0)
at /home/tom/prog/git/test_antlr/runtime/src/tree/ParseTreeWalker.cpp:30
#20 0x00005555557d4386 in antlr4::tree::ParseTreeWalker::walk (this=0x7fffffffddb0, listener=0x555555b06c60, t=0x555555ad8fe0)
at /home/tom/prog/git/test_antlr/runtime/src/tree/ParseTreeWalker.cpp:30
#21 0x00005555557d4386 in antlr4::tree::ParseTreeWalker::walk (this=0x7fffffffddb0, listener=0x555555b06c60, t=0x555555afc4d0)
at /home/tom/prog/git/test_antlr/runtime/src/tree/ParseTreeWalker.cpp:30
#22 0x00005555557d4386 in antlr4::tree::ParseTreeWalker::walk (this=0x7fffffffddb0, listener=0x555555b06c60, t=0x555555ac2c20)
at /home/tom/prog/git/test_antlr/runtime/src/tree/ParseTreeWalker.cpp:30
#23 0x000055555570b8a4 in main () at /home/tom/prog/git/test_antlr/demo4/src/main.cpp:52
(gdb) frame 9
#9 0x0000555555745e51 in antlr4::TokenStreamRewriter::Delete (this=0x555555aeb8f0, programName="default", from=21, to=53)
at /home/tom/prog/git/test_antlr/runtime/src/TokenStreamRewriter.cpp:206
206 replace(programName, from, to, nullptr);
while TokenStreamRewriter::replace has the following prototype: void TokenStreamRewriter::replace(const std::string &programName, size_t from, size_t to, const std::string& text);
Before submitting an issue to ANTLR, please check off these boxes:
Using TokenStreamRewriter::Delete method lead to program crash. Here is the stack trace :
Incriminate code is the following:
while TokenStreamRewriter::replace has the following prototype:
void TokenStreamRewriter::replace(const std::string &programName, size_t from, size_t to, const std::string& text);
The correct code must be
in order to provide a reference on a valid object to
TokenStreamRewriter::replace
The text was updated successfully, but these errors were encountered: