Assertion failed in flattenBVHTree() while using 3D viewer with raytracing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Fix Released
|
Undecided
|
Mario Luzeiro |
Bug Description
Attempting to use 3D viewer with raytracing engine results in the following error:
cbvh_
After pressing "Continue" button (if dialog stays responsible) the board is drawn without any 3d models, even if they are enabled preferences. Removing most of the footprints from the board gets rid of the assertion, but the models are still invisible.
This bug is reproducible for example with "pic_programmer" demo. To reproduce:
- load the project "pic_programmer"
- open pcbnew
- open 3D viewer (works fine with default settings)
- push raytracer button in the toolbar (assertion window is shown, the board is rendered without models after pressing "Continue")
This is with kicad from Debian experimental. There was no assertion with some daily builds from PPA, but the models were not visible anyway.
Application: kicad
Version: 5.0.0-rc2-
Libraries:
wxWidgets 3.0.4
libcurl/7.58.0 OpenSSL/1.0.2o zlib/1.2.8 libidn2/2.0.4 libpsl/0.20.1 (+libidn2/2.0.4) libssh2/1.8.0 nghttp2/1.31.0 librtmp/2.3
Platform: Linux 4.15.0-2-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,
Boost: 1.62.0
Curl: 7.58.0
Compiler: GCC 7.3.0 with C++ ABI 1011
Build settings:
USE_
USE_
KICAD_
KICAD_
KICAD_
KICAD_
BUILD_
KICAD_
KICAD_SPICE=OFF
ASSERT INFO:
/build/
BACKTRACE:
[1] wxEvtHandler:
[2] wxEventHashTabl
[3] wxEvtHandler:
[4] wxEvtHandler:
[5] wxEvtHandler:
[6] wxEvtHandler:
[7] wxAppConsoleBas
[8] wxApp::DoIdle()
[9] g_main_
[10] g_main_loop_run
[11] gtk_main
[12] wxGUIEventLoop:
[13] wxEventLoopBase
[14] wxAppConsoleBas
[15] wxEntry(int&, wchar_t**)
[16] __libc_start_main
[17] _start
Changed in kicad: | |
assignee: | nobody → Mario Luzeiro (mrluzeiro) |
I can give a look on this once I get some time..
but still stranger, I remember to tested with that demo board.
also,
nPrimitives is a uint16_t
so this assert may not make sense and should always be true: "nPrimitives < 65536"