[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi] boost regex segfault in wx_test
From: |
Greg Chicares |
Subject: |
[lmi] boost regex segfault in wx_test |
Date: |
Tue, 9 Feb 2016 15:51:37 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.5.0 |
Using the new compiler to build lmi HEAD, I get a segfault in 'wx_test'.
One line of attack would be to use standard <regex> instead. If that
doesn't help, then a dumber but safer extract_last_copyright_year()
implementation might be wanted.
/opt/lmi/bin[0]$gdb --quiet ./wx_test.exe
Reading symbols from ./wx_test.exe...done.
(gdb) set arg --ash_nazg --data_path=/opt/lmi/data
(gdb) r
Starting program: /opt/lmi/bin/wx_test.exe --ash_nazg --data_path=/opt/lmi/data
[New Thread 1512.0x3f0]
Program received signal SIGSEGV, Segmentation fault.
boost::basic_regex<char, boost::regex_traits<char,
boost::cpp_regex_traits<char> > >::do_assign (
this=0x4a5d6a <vtable for
SkeletonTest::CreateDocManager()::DocManagerTest+1962>,
p1=0x52d2258
"\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272",
<incomplete sequence \360\255\272>...,
p2=0x52d2258
"\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272---Type
<return> to
continue, or q <return> to quit---
\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272",
<incomplete sequence \360\255\272>..., f=86843992)
at /opt/lmi/third_party/include/boost/regex/v4/basic_regex.hpp:52
52 : m_ptraits(t), m_expression(0), m_expression_len(0) {}
(gdb) bt
#0 boost::basic_regex<char, boost::regex_traits<char,
boost::cpp_regex_traits<char> > >::do_assign (
this=0x4a5d6a <vtable for
SkeletonTest::CreateDocManager()::DocManagerTest+1962>,
p1=0x52d2258
"\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272",
<incomplete sequence \360\255\272>...,
p2=0x52d2258
"\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272\r\360\255\272",
<incomplete s---Type <return> to continue, or q <return> to quit---
equence \360\255\272>..., f=86843992)
at /opt/lmi/third_party/include/boost/regex/v4/basic_regex.hpp:52
#1 0x004172f8 in boost::basic_regex<char, boost::regex_traits<char,
boost::cpp_regex_traits<char> > >::assign (f=0,
p2=0x4a5d7d <vtable for
SkeletonTest::CreateDocManager()::DocManagerTest+1981> "",
p1=0x4a5d6a <vtable for
SkeletonTest::CreateDocManager()::DocManagerTest+1962> "(?:\\d{4}, )+(\\d{4})",
this=0x22e7b0)
at /opt/lmi/third_party/include/boost/regex/v4/basic_regex.hpp:254
#2 boost::basic_regex<char, boost::regex_traits<char,
boost::cpp_regex_traits<char> > >::assign (f=0,
p=0x4a5d6a <vtable for
SkeletonTest::CreateDocManager()::DocManagerTest+1962> "(?:\\d{4}, )+(\\d{4})",
this=0x22e7b0)
at /opt/lmi/third_party/include/boost/regex/v4/basic_regex.hpp:239
#3 boost::basic_regex<char, boost::regex_traits<char,
boost::cpp_regex_traits<char> > >::basic_regex (f=0,
p=0x4a5d6a <vtable for
SkeletonTest::CreateDocManager()::DocManagerTest+1962> "(?:\\d{4}, )+(\\d{4})",
this=0x22e7b0)
at /opt/lmi/third_party/include/boost/regex/v4/basic_regex.hpp:208
#4 (anonymous namespace)::extract_last_copyright_year (html=...)
at /opt/lmi/src/lmi/wx_test_about_version.cpp:126
#5 wx_test_case_about_dialog_version::expect_about_dialog::OnInvoked (
this=<optimized out>, d=<optimized out>)
---Type <return> to continue, or q <return> to quit---
at /opt/lmi/src/lmi/wx_test_about_version.cpp:192
#6 0x0045c942 in wxTestingModalHook::Enter (this=<optimized out>,
dlg=<optimized out>) at /opt/lmi/local/include/wx-3.1/wx/testing.h:361
#7 0x6e14a915 in wxModalDialogHook::CallEnter(wxDialog*) ()
from
/opt/lmi/local/lib/wxmsw310u_gcc_gcc-491-ac28a959aabe36e26ea039ed78a51b54.dll
#8 0x6df87417 in wxDialog::ShowModal() ()
from
/opt/lmi/local/lib/wxmsw310u_gcc_gcc-491-ac28a959aabe36e26ea039ed78a51b54.dll
#9 0x03454829 in AboutDialog::ShowModal (address@hidden)
at /opt/lmi/src/lmi/about_dialog.cpp:100
#10 0x034db700 in Skeleton::UponAbout (this=0x4e2bbe0)
at /opt/lmi/src/lmi/skeleton.cpp:459
#11 0x6dc02e42 in wxAppConsoleBase::HandleEvent(wxEvtHandler*, void
(wxEvtHandler::*)(wxEvent&), wxEvent&) const ()
from
/opt/lmi/local/lib/wxmsw310u_gcc_gcc-491-ac28a959aabe36e26ea039ed78a51b54.dll
#12 0x0022f134 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) k
Kill the program being debugged? (y or n) y
(gdb) q
/opt/lmi/bin[0]$
- [lmi] boost regex segfault in wx_test,
Greg Chicares <=