← Back to team overview

kicad-developers team mailing list archive

hard crash with pcbnew

 

On 05/08/2015 09:18 AM, Bob Gustafson wrote:


On 05/07/2015 10:22 PM, Andy Peters wrote:
On May 6, 2015, at 12:55 PM, Andy Peters <devel@xxxxxxxxx> wrote:

Using Adam’s nightly OS X builds, most recently BZR 5645, pcbnew is
repeatedly crashing. It happens on both my 10.9 machine and my 10.10
machine. In OpenGL mode, it seems to get confused about menus, or
something. It happens if I right-click to do something. I am not
exactly sure what conditions cause it. Attached is the relevant part
of the bug report:


Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Application Specific Information:
*** Terminating app due to uncaught exception
'NSInternalInconsistencyException', reason: 'Menu to be set as
submenu is already a submenu of some menu.'
abort() called
terminating with uncaught exception of type NSException
OK, some more testing. I built BZR 5645 on the 10.9 machine.

As Bob has noticed, it can sometimes be difficult to select a thin
line, such as the board outline on the edge cuts. You have to be
pretty accurate with your mouse. And I’ve noticed that if I just
click-click-click impatiently, trying to get Kicad to recognize the
selection, the exception noted above is thrown.

In parallel to all of this, I have noticed that with recent versions,
pcbnew is slow to start up. In fact, a spinning beachball replaces
the cursor for a little bit as it launches. And in some cases there
is a slight delay between a mouse click and Kicad’s recognition of
same. I wish I knew when this started. I first noticed it when using
Adam’s nightlies, which I believe are configured to work on 10.7 and
newer. I always build for whatever OS I’m actually running, so I do a
build on my 10.10 laptop and my 10.9 iMac. My builds seem to run
faster than Adam’s in this regard.

Perhaps that slight startup delay is a red herring, I do not know.

Anyways, what I think is happening is that before Kicad can display
the correct context menu, it’s still processing mouse clicks and
trying to put up another menu at the same time, and it gets all
confused.

————————

And dang-nabbit, right now I saw a new one. Again with the
click-click-click-click on the edge cut line, finally the line
properties dialog came up, and I went to change a coordinate, and
bang — crash again. But this time it’s a new exception:

NSInvalidArgumentException,
reason: ‘Unlocking Focus on wrong view (<wxNSView:0x60800366fc0>),
expected <wxNSButton: 0x608000563180>’
abort() called
terminating with uncaught exception of type NSException

So I think maybe I have a poison build of wxWidgets, but it was also
happening with Adam’s nightlies.

-a
_______________________________________________
My little Macbook Air is not the speediest Mac around, but I haven't
really noticed any slowness in the GUI response. When I double-click
on the KiCad.app icon in the Finder, the base window comes up very
snappily.

I will try again to crash pcbnew - using fast click-click-click as you
note.

Bob G


The difference in speed may be due to differences in board complexity. I
have a very very simple board. If you are working with a complex -
almost finished - design, then perhaps the time-to-draw is significantly
different, with some timing related crash opportunities.

If you have a test design that is relatively complex to share with the
group, then we could all be clicking on the same test.

Application: kicad
Version: (2015-05-05 BZR 5645)-product Release build
wxWidgets: Version 3.0.2 (debug,UTF-8,compiler with C++ ABI 1002,GCC
4.2.1,STL containers,compatible with 2.8)
Platform: Mac OS X (Darwin 14.3.0 x86_64), 64 bit, Little endian, wxMac
Boost version: 1.54.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=ON
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON

Ahah - a crash in pcbnew

I think I was in OpenGL mode and wished to bring up a dialog box
conflict, I clicked on the intersection of an edge cut line and a
Footprint NAME on F.cu (This is odd - it looks like a line). The
selection box came up and I selected the edge-cut line.

I double-clicked the edge-cut line, then when the Line Segment
Properties dialog box came up, I changed the Start point from 3.2 to
3.1, then clicked OK. I saw a for an instant, two of the edge-cut lines.
One was the original, the other tilted up a bit, then the crash - see below.

Then I tried to do it again - following my own recipe above. Hmm - I was
able to change the properties of the line and it did not crash. Will try
again - maybe I need to be more precise about my actions.

The edge cut line is fat - 0.04\'94, so I don\'92t have any problems
clicking on it.

I have been trying for 10 minutes to get it to crash again. If I triple
click, the double brings up the Clarify Selection box and the 3rd click
on the default position - clarify selection - just cancels the box. This
loop seems pretty solid.

Note also that Adam is building two versions at the same time - with and
without the python scripting. I am using the one with scripting.

Hope this helps.

Bob G


Process:               kicad [25695]
Path: /Applications/Kicad/kicad.app/Contents/MacOS/kicad
Identifier:            org.kicad-eda.kicad
Version:               ??? (???)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           kicad [25695]
User ID:               501

Date/Time:             2015-05-08 09:29:52.161 -0500
OS Version:            Mac OS X 10.10.3 (14D136)
Report Version:        11
Anonymous UUID:        5EC3DCC9-7506-88B6-B795-E06635F030BC

Sleep/Wake UUID:       CF903ED8-1023-4E08-8F84-4085066BA105

Time Awake Since Boot: 960000 seconds
Time Since Wake:       120000 seconds

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Application Specific Information:
*** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: 'Unlocking Focus on wrong view
(<wxNSView: 0x60000036f9c0>), expected <wxNSButton: 0x608000379680>'
abort() called
terminating with uncaught exception of type NSException

Application Specific Backtrace 1:
0   CoreFoundation                      0x00007fff94e7403c
__exceptionPreprocess + 172
1   libobjc.A.dylib                     0x00007fff8f0f376e
objc_exception_throw + 43
2   CoreFoundation                      0x00007fff94e73eed +[NSException
raise:format:] + 205
3   AppKit                              0x00007fff8b5f783e -[NSView
unlockFocus] + 254
4   libwx_osx_cocoau_core-3.0.0.dylib   0x0000000103f961ea
_ZN24wxMacCoreGraphicsContextD2Ev + 58
5   libwx_osx_cocoau_core-3.0.0.dylib   0x0000000103f9628f
_ZN24wxMacCoreGraphicsContextD0Ev + 15
6   libwx_osx_cocoau_core-3.0.0.dylib   0x000000010405d769
_ZN10wxGCDCImplD2Ev + 41
7   libwx_osx_cocoau_core-3.0.0.dylib   0x0000000103f90e2f
_ZN14wxClientDCImplD0Ev + 15
8   _pcbnew.kiface                      0x000000010c81f4c7
_ZN14EDA_DRAW_PANEL12OnMouseEventER12wxMouseEvent + 4279
9   libwx_baseu-3.0.0.dylib             0x00000001047bf3c0
_ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler + 240
10  libwx_baseu-3.0.0.dylib             0x00000001047c087d
_ZN12wxEvtHandler19ProcessEventLocallyER7wxEvent + 93
11  libwx_baseu-3.0.0.dylib             0x00000001047c076e
_ZN12wxEvtHandler12ProcessEventER7wxEvent + 190
12  libwx_osx_cocoau_core-3.0.0.dylib   0x00000001041c08d3
_ZN24wxScrollHelperEvtHandler12ProcessEventER7wxEvent + 35



Follow ups

References