kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #18644
Re: OSX: Pin Table crashes Library Editor
Yep, that’s exactly the crash that I debugged.
It is a simple "null-pointer not checked” issue… which in this case is present at many places in the OS X wxWidgets code.
Regards,
Bernhard
> On 15 Jun 2015, at 18:48, Andy Peters <devel@xxxxxxxxx> wrote:
>
>>
>> On Jun 14, 2015, at 12:41 PM, Bernhard Stegmaier <stegmaier@xxxxxxxxxxxxx> wrote:
>>
>> Hi,
>>
>> FYI… I guess this is only OS X related.
>>
>> Yesterday I wanted to use the Pin Table for the first time and it always crashes the Library Editor.
>> After some debugging I am pretty sure that this is a bug in the OS X implementation of wxDataViewCtrl if using wx[V|H]SCROLL when creating it.
>> Did the Pin Table ever work for somebody on OS X (I guess it never did)?
>>
>> I already filed a bug report for wxWidgets (still under moderation, so it doesn’t show up yet).
>> I don’t know how long this will take, so attached a fix/workaround that did it for me (for anyone interested, maybe Adam?).
>>
>> The only possible workaround in KiCad seems to be to remove the wxVSCROLL from
>> m_Pins = new wxDataViewCtrl( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxDV_HORIZ_RULES|wxDV_MULTIPLE|wxDV_ROW_LINES|wxDV_VERT_RULES|wxVSCROLL );
>> In my tests OS X doesn’t seem to need this (scroll bars are dynamically shown when needed even without this flag).
>> But, I don’t know about other platforms and this piece of code probably can’t be #ifdef’d because this is generated code from wxFormBuilder
>
> It crashes on my Macs, both 10.10 and 10.9, using Adam’s nightlies. I just fired up BZR 5694 and it crashes when you try to display the pin table.
>
> Exception Type: EXC_BAD_ACCESS (SIGSEGV)
> Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
>
> VM Regions Near 0:
> -->
> __TEXT 000000010b438000-000000010b531000 [ 996K] r-x/rwx SM=COW /Applications/Kicad/kicad.app/Contents/MacOS/kicad
>
> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
> 0 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010b971bcb wxWindow::DoGetClientSize(int*, int*) const + 43
> 1 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010b9703f0 wxWindow::MacCreateScrollBars(long) + 208
> 2 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010b96fa31 wxWindow::Create(wxWindow*, int, wxPoint const&, wxSize const&, long, wxString const&) + 289
> 3 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010b9bbc5b wxControl::Create(wxWindow*, int, wxPoint const&, wxSize const&, long, wxValidator const&, wxString const&) + 27
> 4 libwx_osx_cocoau_adv-3.0.0.dylib 0x000000010b70aa1a wxDataViewCtrl::Create(wxWindow*, int, wxPoint const&, wxSize const&, long, wxValidator const&, wxString const&) + 90
> 5 _eeschema.kiface 0x0000000116fd8bc4 wxDataViewCtrl::wxDataViewCtrl(wxWindow*, int, wxPoint const&, wxSize const&, long, wxValidator const&, wxString const&) + 148
> 6 _eeschema.kiface 0x0000000116fd8407 DIALOG_LIB_EDIT_PIN_TABLE_BASE::DIALOG_LIB_EDIT_PIN_TABLE_BASE(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long) + 439
> 7 _eeschema.kiface 0x0000000116fd378e DIALOG_LIB_EDIT_PIN_TABLE::DIALOG_LIB_EDIT_PIN_TABLE(wxWindow*, LIB_PART&) + 206
> 8 _eeschema.kiface 0x000000011704dfeb LIB_EDIT_FRAME::OnOpenPinTable(wxCommandEvent&) + 59
> 9 libwx_baseu-3.0.0.dylib 0x000000010c1ea3c0 wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) + 240
> 10 libwx_baseu-3.0.0.dylib 0x000000010c1eb7cb wxEvtHandler::ProcessEvent(wxEvent&) + 283
> 11 _eeschema.kiface 0x00000001171ca05c EDA_BASE_FRAME::ProcessEvent(wxEvent&) + 28
> 12 libwx_baseu-3.0.0.dylib 0x000000010c1eb8c4 wxEvtHandler::ProcessEventLocally(wxEvent&) + 164
> 13 libwx_baseu-3.0.0.dylib 0x000000010c1eb76e wxEvtHandler::ProcessEvent(wxEvent&) + 190
> 14 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010bb91bf4 wxWindowBase::TryAfter(wxEvent&) + 228
> 15 libwx_baseu-3.0.0.dylib 0x000000010c1eb7f4 wxEvtHandler::ProcessEvent(wxEvent&) + 324
> 16 libwx_osx_cocoau_aui-3.0.0.dylib 0x000000010b5e9aba wxAuiToolBar::OnLeftUp(wxMouseEvent&) + 810
> 17 libwx_baseu-3.0.0.dylib 0x000000010c1ea3c0 wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) + 240
> 18 libwx_baseu-3.0.0.dylib 0x000000010c1eb87d wxEvtHandler::ProcessEventLocally(wxEvent&) + 93
> 19 libwx_baseu-3.0.0.dylib 0x000000010c1eb76e wxEvtHandler::ProcessEvent(wxEvent&) + 190
> 20 libwx_baseu-3.0.0.dylib 0x000000010c1ebb7f wxEvtHandler::SafelyProcessEvent(wxEvent&) + 15
> 21 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010ba568b4 wxWidgetCocoaImpl::DoHandleMouseEvent(NSEvent*) + 100
> 22 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010ba3fd75 -[NSWindow(wxNSWindowSupport) WX_filterSendEvent:] + 149
> 23 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010ba3fdc0 -[wxNSWindow sendEvent:] + 32
> 24 com.apple.AppKit 0x00007fff90170312 -[NSApplication sendEvent:] + 2504
> 25 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010b95fa48 -[wxNSApplication sendEvent:] + 136
> 26 com.apple.AppKit 0x00007fff90099c68 -[NSApplication run] + 711
> 27 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010ba338ae wxGUIEventLoop::OSXDoRun() + 110
> 28 libwx_baseu-3.0.0.dylib 0x000000010c1b6104 wxCFEventLoop::DoRun() + 52
> 29 libwx_baseu-3.0.0.dylib 0x000000010c0c4075 wxEventLoopBase::Run() + 165
> 30 libwx_baseu-3.0.0.dylib 0x000000010c076681 wxAppConsoleBase::MainLoop() + 209
> 31 libwx_osx_cocoau_core-3.0.0.dylib 0x000000010b9b94ea wxApp::OnRun() + 26
> 32 org.kicad-eda.kicad 0x000000010b454009 APP_KICAD::OnRun() + 25
> 33 libwx_baseu-3.0.0.dylib 0x000000010c114de7 wxEntry(int&, wchar_t**) + 71
> 34 org.kicad-eda.kicad 0x000000010b453940 main + 48
> 35 org.kicad-eda.kicad 0x000000010b43da14 start + 52
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
> More help : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
References