This board file breaks pcbnew's 3d viewer

Bug #1408494 reported by Anthony Lieuallen
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Undecided
Unassigned

Bug Description

I'm attaching a kicad_pcb file. This is a reduced version of my original/real board. What remains is only the edge cuts, one filled zone on the back, and one custom component on the front. All the other components/traces/etc have been removed.

Removing either the component or the fill makes everything work as expected. (I haven't tried removing the edge cuts; I don't know what to expect in that case.) With both in place, launching the 3d viewer produces a blank white view and a spinning cursor. Usually a few clicks will get it to draw a partial board and open an error dialog saying:

OpenGL error 1282 At:
C:\dev\kicad-winbuilder-3.4\src\kicad\3d-viewer\3d_draw.cpp, line: 1343

in which case the spinning cursor remains until all kicad windows are closed. And only the front silkscreen and solder mask are drawn, no other parts of the board.

I have version:

Application: kicad
Version: (2014-10-27 BZR 5228)-product Release build
wxWidgets: Version 3.0.0 (debug,wchar_t,compiler with C++ ABI 1002,GCC 4.8.2,wx containers,compatible with 2.8)
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW
Boost version: 1.54.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON

If I restore the original board file with all components/traces/etc and remove just (all instances of) that custom component, the 3D view renders. If I restore all and remove only the back layer fill, it is still broken. If I restore all and remove *both* fills, then it works.

(If more files are necessary, for my own reference later: git commit 656697386030b833742c14cfb8ca3ba721f861b1 .)

Tags: 3d-viewer
Revision history for this message
Anthony Lieuallen (8-launchpad-wild-arantius-com) wrote :
Revision history for this message
firewalker (firew4lker) wrote :

I can confirm it with rev 5360 on GNU/Linux.

Application: kicad
Version: (2015-01-08 BZR 5360)-product Release build
wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1002,GCC 4.9.2,wx containers,compatible with 2.8)
Platform: Linux 3.17.6-1-ARCH i686, 32 bit, Little endian, wxGTK
Boost version: 1.54.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON

Revision history for this message
Nick Østergaard (nickoe) wrote :

I get the attached backtrace on linux.

Revision history for this message
jean-pierre charras (jp-charras) wrote :

Looks like a bug in the boost::polygon library which is used in Pcbnew .
We know this bug, but we are not able to fix it.
It happens rarely and look like it happens for some particular zone shapes.
When happens, usually a small change in a zone parameter (try to change the antipad clearance) avoid the crash.

Revision history for this message
Anthony Lieuallen (8-launchpad-wild-arantius-com) wrote :

Is the Boost project aware of this bug? Is it reported in their bug tracker? If so do you have a link to the bug?

Revision history for this message
jean-pierre charras (jp-charras) wrote :
tags: added: 3d-viewer
Revision history for this message
Dilerian (dilerian) wrote :

Hi,

I just wanted to mention that I also noticed the bug in r5596. It does not seem connected to the zone shapes. Removing the irregular zone shapes doesn't fix it.

Changed in kicad:
status: New → Fix Committed
Jon Neal (reportingsjr)
Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.