← Back to team overview

kicad-developers team mailing list archive

Re: Zone fill hangup - more info


On 02/08/2018 04:28 PM, Tomasz Wlostowski wrote:
> On 08/02/18 21:15, Steven A. Falco wrote:
>> I continue to have problems performing a zone fill with the latest kicad 5 builds.  A copy of the project that is causing me trouble is here:
>> https://www.dropbox.com/sh/lw7lhg7jyigvyi7/AAB0ALAWmYS2LmOlw7-spqP6a?dl=0
> Steve,
> 3 quick questions:
> - does your system support OpenMP?
> - are the VMs running single core CPUs?
> - could you post a stack trace of the hanged pcbnew process?
> Cheers,
> Tom

For the fedora VM, I think OpenMP is supported.  Here is a little part of the log file from when I built the image.  Apparently, it finds OpenMP version 4.5:

-- Performing Test COMPILER_SUPPORTS_WSHADOW - Success
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Found wxWidgets: -pthread;;;-lwx_gtk2u_gl-3.0-gtk2;-lwx_gtk2u_aui-3.0-gtk2;-lwx_gtk2u_adv-3.0-gtk2;-lwx_gtk2u_html-3.0-gtk2;-lwx_gtk2u_core-3.0-gtk2;-lwx_baseu_net-3.0-gtk2;-lwx_baseu-3.0-gtk2;-lwx_baseu_xml-3.0-gtk2;-lwx_gtk2u_stc-3.0-gtk2 (found suitable version "3.0.2", minimum required is "3.0.0") 
-- Found OpenGL: /usr/lib64/libOpenGL.so

I don't know how to test Windows to see if it supports OpenMP.

The VMs are running with a single core allocated.  I could try the experiment of allocating a second core, if it will give you more information.

Below is a stack trace.  I tried continuing and stopping a few times.  Each time it seems to land in the same area.  ZONE_FILLER calls PROGRESS_REPORTER calls wxMicroSleep.

	Thanks for looking at this,

fedora27$ gdb pcbnew
GNU gdb (GDB) Fedora 8.0.1-35.fc27
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pcbnew...Reading symbols from /home/sfalco/pcbnew...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Missing separate debuginfos, use: dnf debuginfo-install kicad-r11969.7ad436c7-nightlies.fc27.x86_64
(gdb) run
Starting program: /usr/bin/pcbnew 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Detaching after fork from child process 2005.
Detaching after fork from child process 2007.
Detaching after fork from child process 2009.
Detaching after fork from child process 2011.
Detaching after fork from child process 2013.
04:38:41 PM: Debug: kiface SEARCH_STACK:
04:38:41 PM: Debug:   [ 0]:/usr/share/kicad/modules
04:38:41 PM: Debug:   [ 1]:/usr/share/kicad/modules/packages3d
04:38:41 PM: Debug:   [ 2]:/usr/share/kicad/template
04:38:41 PM: Debug:   [ 3]:/home/sfalco/kicad/template
04:38:41 PM: Debug:   [ 4]:/usr/local/share
[New Thread 0x7fffd75cb700 (LWP 2015)]
[New Thread 0x7fffcd272700 (LWP 2016)]
[New Thread 0x7fffcca71700 (LWP 2017)]
[Thread 0x7fffcd272700 (LWP 2016) exited]
[New Thread 0x7fffcd272700 (LWP 2018)]
[Thread 0x7fffcca71700 (LWP 2017) exited]
[New Thread 0x7fffcca71700 (LWP 2019)]
[Thread 0x7fffcd272700 (LWP 2018) exited]
[New Thread 0x7fffcd272700 (LWP 2020)]
[Thread 0x7fffcca71700 (LWP 2019) exited]
ElemsClear: clearing all _ELEMS for project 
SetProjectFullName: old:'' new:'/home/sfalco/kicad/new_weather/main/main.pro'
04:39:01 PM: Debug: Loading project '/home/sfalco/kicad/new_weather/main/main.pro' settings.
wxFrame 14PCB_EDIT_FRAME            : disabled
[Thread 0x7fffcd272700 (LWP 2020) exited]
Thread 1 "pcbnew" received signal SIGINT, Interrupt.
0x00007ffff3931f50 in nanosleep () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007ffff3931f50 in nanosleep () from /lib64/libpthread.so.0
#1  0x00007ffff6531cbc in wxMicroSleep(unsigned long) ()
   from /lib64/libwx_baseu-3.0-gtk2.so.0
#2  0x00007fffdfeff452 in PROGRESS_REPORTER::KeepRefreshing() ()
   from /usr/bin/_pcbnew.kiface
#3  0x00007fffdfbeef39 in ZONE_FILLER::Fill(std::vector<ZONE_CONTAINER*, std::allocator<ZONE_CONTAINER*> >) [clone ._omp_fn.0] () from /usr/bin/_pcbnew.kiface
#4  0x00007ffff3d63cdf in GOMP_parallel () from /lib64/libgomp.so.1
#5  0x00007fffdfbecbac in ZONE_FILLER::Fill(std::vector<ZONE_CONTAINER*, std::allocator<ZONE_CONTAINER*> >) () from /usr/bin/_pcbnew.kiface
#6  0x00007fffdfc52174 in ZONE_FILLER_TOOL::ZoneFillAll(TOOL_EVENT const&) ()
   from /usr/bin/_pcbnew.kiface
#7  0x00007fffdffc9b80 in COROUTINE<int, TOOL_EVENT const&>::callerStub(long)
    () from /usr/bin/_pcbnew.kiface
#8  0x00007fffe001f661 in make_fcontext () from /usr/bin/_pcbnew.kiface
#9  0x3f0000003f000400 in ?? ()
#10 0x3f8000003e85d0ba in ?? ()
#11 0x000000003f048485 in ?? ()
#12 0x00000000000495d1 in ?? ()
#13 0x00007ffff391b440 in main_arena () from /lib64/libc.so.6
#14 0x00007ffff391b440 in main_arena () from /lib64/libc.so.6
#15 0x0000555558123f70 in ?? ()
#16 0x0000555558123f70 in ?? ()
#17 0x0000000000000000 in ?? ()

Follow ups