lmi
[Top][All Lists]
Advanced

[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]$




reply via email to

[Prev in Thread] Current Thread [Next in Thread]