← Back to team overview

kicad-developers team mailing list archive

Re: OSX: Pin Table crashes Library Editor

 

> 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



Follow ups

References