[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] Input-sequence anomaly [Was: wx_test: output strings truncated
From: |
Greg Chicares |
Subject: |
Re: [lmi] Input-sequence anomaly [Was: wx_test: output strings truncated to one character] |
Date: |
Thu, 11 Feb 2016 12:12:18 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.5.0 |
On 02/11/2016 04:44 AM, Greg Chicares wrote:
> On 02/11/2016 03:30 AM, Greg Chicares wrote:
> [...]
>> Let's try the last example above in gdb:
>
> Once more, to localize the problem...looks like it goes haywire in
> InputSequenceEditor::add_row().
Now I've localized it as much as I can in lmi. It runs up to
'input_sequence_entry.cpp' line 532:
if(!keywords_only_)
{
combo->AutoComplete(kw); // <-- call into wx
}
where gdb gives a fairly sensible backtrace. When I execute that line,
calling into wx, __cxa_pure_virtual() is trapped, and the backtrace
looks dodgier. This is a completely new build (in an msw-xp VM) of
wx (and wxPdfDoc) using the latest SHASUM in lmi HEAD, which means wx
HEAD as of approximately a day ago, and a completely new build of lmi
using that updated wx, to rule out anything like a cosmic-ray hit.
/opt/lmi/bin[0]$gdb --quiet lmi_wx_shared.exe
Reading symbols from lmi_wx_shared.exe...done.
(gdb) set arg --ash_nazg --data_path=/opt/lmi/data
(gdb) b __cxa_pure_virtual
Function "__cxa_pure_virtual" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (__cxa_pure_virtual) pending.
(gdb) b InputSequenceEntry::UponOpenEditor(wxCommandEvent&)
Function "InputSequenceEntry::UponOpenEditor(wxCommandEvent&)" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 2 (InputSequenceEntry::UponOpenEditor(wxCommandEvent&)) pending.
(gdb) r
Starting program: /opt/lmi/bin/lmi_wx_shared.exe --ash_nazg
--data_path=/opt/lmi/data
[New Thread 476.0x144]
Breakpoint 2, InputSequenceEntry::UponOpenEditor (this=0x49a07f8)
at /lmi/src/lmi/input_sequence_entry.cpp:1359
1359 {
(gdb) b input_sequence_entry.cpp:483
Breakpoint 3 at 0x2b42471: input_sequence_entry.cpp:483. (4 locations)
(gdb) c
Continuing.
Breakpoint 3, (anonymous namespace)::InputSequenceEditor::InputSequenceEditor (
input=..., title=..., parent=<optimized out>, this=0x22be3c)
at /lmi/src/lmi/input_sequence_entry.cpp:337
337 add_row();
(gdb) s
(anonymous namespace)::InputSequenceEditor::add_row (this=<optimized out>)
at /lmi/src/lmi/input_sequence_entry.cpp:485
485 insert_row(rows_count_);
(gdb) s
(anonymous namespace)::InputSequenceEditor::InputSequenceEditor (input=...,
title=..., parent=<optimized out>, this=0x22be3c)
at /lmi/src/lmi/input_sequence_entry.cpp:335
335 SetSizerAndFit(top);
(gdb) n
337 add_row();
(gdb) s
(anonymous namespace)::InputSequenceEditor::add_row (this=0x22be3c)
at /lmi/src/lmi/input_sequence_entry.cpp:485
485 insert_row(rows_count_);
(gdb) s
(anonymous namespace)::InputSequenceEditor::insert_row (this=0x22be38,
address@hidden, new_row=<optimized out>)
at /lmi/src/lmi/input_sequence_entry.cpp:489
489 {
(gdb) n
490 int const prev_row = new_row - 1;
(gdb) n
503 wxSizerFlags const flags = wxSizerFlags().Align(wxALIGN_LEFT |
wxALIGN_CENTRE_VERTICAL);
(gdb) n
490 int const prev_row = new_row - 1;
(gdb) n
492 int insert_pos = Col_Max * new_row;
(gdb) n
506 if(!keywords_.empty())
(gdb) n
538 value_ctrl = new(wx) wxTextCtrl(this, wxID_ANY, "0");
(gdb) n
539 value_ctrl->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
(gdb) bt
#0 (anonymous namespace)::InputSequenceEditor::insert_row (
address@hidden, new_row=<optimized out>)
at /lmi/src/lmi/input_sequence_entry.cpp:539
#1 0x02b42492 in (anonymous namespace)::InputSequenceEditor::add_row (
this=0x22be3c) at /lmi/src/lmi/input_sequence_entry.cpp:485
#2 (anonymous namespace)::InputSequenceEditor::InputSequenceEditor (
input=..., title=..., parent=<optimized out>, this=0x22be3c)
at /lmi/src/lmi/input_sequence_entry.cpp:337
#3 InputSequenceEntry::UponOpenEditor (this=<optimized out>)
at /lmi/src/lmi/input_sequence_entry.cpp:1364
#4 0x664c2e42 in wxAppConsoleBase::HandleEvent(wxEvtHandler*, void
(wxEvtHandler::*)(wxEvent&), wxEvent&) const ()
from
/opt/lmi/local/lib/wxmsw310u_gcc_gcc-491-1ce7f42362ba3075eeb4be4679f88dd3.dll
#5 0x0022c46c in ?? ()
#6 0x00000000 in ?? ()
(gdb) n
542 sizer_->wxSizer::Insert(insert_pos++, value_ctrl,
wxSizerFlags(flags).TripleBorder(wxRIGHT));
(gdb) n
543 wxStaticText* from_label = new(wx) wxStaticText(this, wxID_ANY,
LARGEST_FROM_TEXT);
(gdb) c
Continuing.
Breakpoint 3, (anonymous namespace)::InputSequenceEditor::sequence (s=...,
this=<optimized out>) at /lmi/src/lmi/input_sequence_entry.cpp:371
371 add_row();
(gdb) s
(anonymous namespace)::InputSequenceEditor::add_row (this=0x22be3c)
at /lmi/src/lmi/input_sequence_entry.cpp:485
485 insert_row(rows_count_);
(gdb) s
(anonymous namespace)::InputSequenceEditor::insert_row (this=0x22be38,
address@hidden, new_row=<optimized out>)
at /lmi/src/lmi/input_sequence_entry.cpp:489
489 {
(gdb) n
490 int const prev_row = new_row - 1;
(gdb) n
503 wxSizerFlags const flags = wxSizerFlags().Align(wxALIGN_LEFT |
wxALIGN_CENTRE_VERTICAL);
(gdb) n
490 int const prev_row = new_row - 1;
(gdb) n
492 int insert_pos = Col_Max * new_row;
(gdb) n
506 if(!keywords_.empty())
(gdb) n
517 );
(gdb) n
520 wxArrayString kw;
(gdb) n
521 std::copy(keywords_.begin(), keywords_.end(),
std::back_inserter(kw));
(gdb) n
522 combo->Append(kw);
(gdb) n
524 if(keywords_only_)
(gdb) n
522 combo->Append(kw);
(gdb) n
524 if(keywords_only_)
(gdb) n
532 combo->AutoComplete(kw);
(gdb) bt
#0 (anonymous namespace)::InputSequenceEditor::insert_row (
address@hidden, new_row=<optimized out>)
at /lmi/src/lmi/input_sequence_entry.cpp:532
#1 0x02b42d24 in (anonymous namespace)::InputSequenceEditor::add_row (
this=0x22be3c) at /lmi/src/lmi/input_sequence_entry.cpp:485
#2 (anonymous namespace)::InputSequenceEditor::sequence (s=...,
this=<optimized out>) at /lmi/src/lmi/input_sequence_entry.cpp:371
#3 InputSequenceEntry::UponOpenEditor (this=<optimized out>)
at /lmi/src/lmi/input_sequence_entry.cpp:1404
#4 0x664c2e42 in wxAppConsoleBase::HandleEvent(wxEvtHandler*, void
(wxEvtHandler::*)(wxEvent&), wxEvent&) const ()
from
/opt/lmi/local/lib/wxmsw310u_gcc_gcc-491-1ce7f42362ba3075eeb4be4679f88dd3.dll
#5 0x0022c46c in ?? ()
#6 0x00000000 in ?? ()
(gdb) n
Breakpoint 1, 0x66ccb5d0 in __cxa_pure_virtual ()
from
/opt/lmi/local/lib/wxmsw310u_gcc_gcc-491-1ce7f42362ba3075eeb4be4679f88dd3.dll
(gdb) bt
#0 0x66ccb5d0 in __cxa_pure_virtual ()
from
/opt/lmi/local/lib/wxmsw310u_gcc_gcc-491-1ce7f42362ba3075eeb4be4679f88dd3.dll
#1 0x66d46f66 in wxTextAutoCompleteData::ChangeStrings(wxArrayString const&)
()
from
/opt/lmi/local/lib/wxmsw310u_gcc_gcc-491-1ce7f42362ba3075eeb4be4679f88dd3.dll
#2 0x0022b770 in ?? ()
#3 0x04c790c3 in ?? ()
#4 0x00002024 in ?? ()
#5 0xc845c700 in ?? ()
#6 0xffffffff in ?? ()
#7 0x48387de8 in ?? ()
#8 0xc04d8b00 in ?? ()
#9 0xc7240c89 in ?? ()
#10 0x0001c845 in ?? ()
#11 0xc1890000 in ?? ()
#12 0xe8bc4589 in ?? ()
#13 0x004ff526 in DBDictionary::DBDictionary (this=0x8b0b74c0,
__vtt_parm=0x8cc15ff, __in_chrg=<optimized out>)
at /lmi/src/lmi/dbdict.cpp:100
#14 0x24048900 in ?? ()
#15 0x08cc15ff in ?? ()
---Type <return> to continue, or q <return> to quit---
#16 0xec83670b in ?? ()
#17 0x14c48310 in ?? ()
#18 0x04c25e5b in ?? ()
#19 0x748d9000 in ?? ()
#20 0x068b0026 in ?? ()
#21 0x44c7f189 in ?? ()
#22 0x00000424 in ?? ()
#23 0x04c70000 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]$
- Re: [lmi] wx_test: output strings truncated to one character, (continued)
Re: [lmi] wx_test: output strings truncated to one character, Vadim Zeitlin, 2016/02/10
- Re: [lmi] wx_test: output strings truncated to one character, Greg Chicares, 2016/02/10
- Re: [lmi] wx_test: output strings truncated to one character, Vadim Zeitlin, 2016/02/10
- Re: [lmi] wx_test: output strings truncated to one character, Greg Chicares, 2016/02/10
- Re: [lmi] wx_test: output strings truncated to one character, Greg Chicares, 2016/02/10
- [lmi] Input-sequence anomaly [Was: wx_test: output strings truncated to one character], Greg Chicares, 2016/02/10
- Re: [lmi] Input-sequence anomaly [Was: wx_test: output strings truncated to one character], Greg Chicares, 2016/02/10
- Re: [lmi] Input-sequence anomaly [Was: wx_test: output strings truncated to one character],
Greg Chicares <=
- Re: [lmi] Input-sequence anomaly, Vadim Zeitlin, 2016/02/11
- Re: [lmi] Input-sequence anomaly, Vadim Zeitlin, 2016/02/11
- Re: [lmi] Input-sequence anomaly, Greg Chicares, 2016/02/11