intermittent test failure: qa_pcbnew crashes
Description
the qa_pcbnew
test has started to fail intermittently, somewhere between 9fb05440b3
and 6.0.0-rc1
latest failure
the "/homeless-shelter permission denied" errors are due to build sandboxing by Nix
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:21: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:22: Error: Directory '/homeless-shelter' couldn't be created (error 13: Permission denied)
15:45:22: Error: Failed to inspect the lock file '/homeless-shelter/.cache/kicad_v6.0/_build_source_qa_data_issue3812.kicad_pro.lock' (error 2: No such file or directory)
malloc(): unaligned tcache chunk detected
malloc(): unaligned tcache chunk detected
Running 31 test cases...
unknown location(0): fatal error: in "RegressionZoneFillTests": memory access violation at address: 0x00000000: no mapping at fault address
/build/source/qa/pcbnew/test_zone_filler.cpp(217): last checkpoint
*** 1 failure is detected in the test module "Pcbnew module tests"
88% tests passed, 1 tests failed out of 8
Total Test time (real) = 18.82 sec
The following tests FAILED:
7 - qa_pcbnew (SEGFAULT)
Errors while running CTest
make: *** [Makefile:105: test] Error 8
some more logs of failures are available here
https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.kicad-unstable-small.x86_64-linux/all
that also shows the error didn't occur before updating to 6.0.0-rc1
i've done some bisecting, as the failure is intermittent i used a longer duration of the qa_pcbnew
test as an indicator
that ended up with this
There are only 'skip'ped commits left to test.
The first bad commit could be any of:
b8bb04c43277d2fdfedb25ddfc8102b9ea54a3bc
e87fdf06c1f576bb81dc1445ed1e5ef9f14b8bc4
8d6cd4ad99070ddeedba054ab772e4c6cddb49c8
d5abbd0d14689aaac69c91cf05385e6fc729796b
5155093ec01e2d0f92d06f6d3c1f019ca2155e99
8c69a856fc532c42e3cb3dc86a12b4de26d61e2d
f485ba933827ca66af3b111120accb2d3f8aec1c
We cannot bisect more!
(maybe not entirely resolved?)
i did catch several failures during this
34a0d1947ad05d30c0bebafa4a93b24af6b8ed11
after 18s:
"unknown location(0): fatal error: in "RegressionZoneFillTests": memory access violation at address: 0x00000000: no mapping at fault address"
"/build/source/qa/pcbnew/test_zone_filler.cpp(217): last checkpoint"
f485ba933827ca66af3b111120accb2d3f8aec1c
,
5155093ec01e2d0f92d06f6d3c1f019ca2155e99
after 0.15s:
"unknown location(0): fatal error: in "TestZoneFiller/BasicZoneFills": memory access violation at address: 0x00000018: no mapping at fault address"
"/build/source/qa/pcbnew/test_zone_filler.cpp(109): last checkpoint: "BasicZoneFills" test entry"
619771725196b931af0744767b6e2ce7d298632b
,
1f8b72c194da2d473f086222ea051fe9517a5fd5
after 19s:
"malloc(): unaligned tcache chunk detected"
c088de5f75806d84bc265924239c72ea608ad41b
after 18s:
"unknown location(0): fatal error: in "RegressionZoneFillTests": signal: SIGABRT (application abort requested)"
"malloc(): unaligned tcache chunk detected"
full build logs for these builds can be provided
Steps to reproduce
- run
qa_pcbnew
several times (it has taken me 1, 9, 2 attempts to get the failure)
KiCad Version
latest at the time of writing
Application: KiCad
Version: 6.0.0-rc1-34a0d1947a, release build
Libraries:
wxWidgets 3.1.4
libcurl/7.79.1 OpenSSL/1.1.1l zlib/1.2.11 brotli/1.0.9 libssh2/1.10.0 nghttp2/1.43.0
Platform: Linux 5.15.0 x86_64, 64 bit, Little endian, wxGTK, , wayland
Build Info:
Date: Jan 1 1980 00:00:00
wxWidgets: 3.1.4 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.69.0
OCC: 7.5.1
Curl: 7.79.1
ngspice: 34
Compiler: GCC 10.3.0 with C++ ABI 1014
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON