Occasional hang with 100% CPU use when opening dialog windows
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Occasionally when opening a new dialog window in EESchema, e.g. adding or editing a symbol, and when using the awesome window manager (awesomewm.org), kicad, the window manager, and X all go to 100% CPU usage and hang. The simplest reproduction I've found is to open a schematic, click the Place Symbol tool, then keep clicking Cancel on the dialog and again on the schematic underneath to re-open the dialog. Usually the hang is triggered within 10s of seconds of clicking.
KiCad is constantly hitting this function call:
https:/
which was introduced in this commit on 9 Jan:
https:/
It looks like an event occasionally comes in before the window is raised and then KiCad continuously tries to raise the window, but presumably keeps getting new events before that can happen. Removing the call to Raise() prevents the hang without any other apparent side effects. A print statement just before the call to raise gets triggered a lot even when not hitting the hang, but just keeps looping once the hang is encountered.
I've not observed this bug under Unity. I haven't tested under any other tiling window managers. I'm using Ubuntu 16.04, and awesome version 4.2. It's possible this is a bug in awesome or some interaction between awesome and KiCad, but I've not seen any similar behaviour in any other applications. The issue occurs on the nightly KiCad builds in the Ubuntu PPA and in my development builds after commit 786312b10 linked above, including on the current master branch.
Application: eeschema
Version: (2018-02-11 revision 62ef635)-master, debug build
Libraries:
wxWidgets 3.0.2
libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.13.0-32-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.2 (wchar_t,wx containers,
Boost: 1.58.0
Curl: 7.47.0
Compiler: GCC 5.4.0 with C++ ABI 1009
Build settings:
USE_
USE_
KICAD_
KICAD_
KICAD_
KICAD_
BUILD_
KICAD_
KICAD_SPICE=ON
tags: | added: awesomewm |
Changed in kicad: | |
importance: | Undecided → Low |
Changed in kicad: | |
status: | Fix Committed → Fix Released |
That's the Mac/OSX dialog- falls-behind- main-window bug fix. Did we have MSW occurrences of that as well, or can we make it Mac-specific?