pcbnew opengl crash on "big" file, legacy & cairo works, debug output

Bug #1787221 reported by User12020310012
4
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
High
Tomasz Wlostowski

Bug Description

Hello,

pcbnew stops working in accelerated mode (OpenGl) when board has to many features to render
works in legacy and cairo mode using cpu

Log file, interesting part:
i965: Failed to submit batchbuffer: Input/output error
pcbnew: /usr/include/boost/interprocess/sync/posix/mutex.hpp:91: boost::interprocess::ipcdetail::posix_mutex::~posix_mutex(): Assertion `res == 0' failed.

Application: kicad
Version: (6.0.0-rc1-dev-313-g8db3618), 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.15.0-30-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.58.0
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_ACTION_MENU=OFF
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=OFF
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Tags: gal pcbnew opengl
Revision history for this message
User12020310012 (user12020310012-deactivatedaccount) wrote :
Revision history for this message
Tomasz Wlostowski (twlostow) wrote :

How much RAM/what graphics card do you have?

Tom

Revision history for this message
User12020310012 (user12020310012-deactivatedaccount) wrote :

RAM 16GB,
Integrated Intel HD 4000
https://ark.intel.com/products/64896/Intel-Core-i5-3320M-Processor-3M-Cache-up-to-3_30-GHz

same thing is happening on Windows 10 64bit, latest drivers (have dual boot)

Revision history for this message
User12020310012 (user12020310012-deactivatedaccount) wrote :

glxinfo output if it is of any help

Revision history for this message
User12020310012 (user12020310012-deactivatedaccount) wrote :

dmesg

[21695.310058] i915 0000:00:02.0: Resetting chip after gpu hang
[21703.310044] i915 0000:00:02.0: Resetting chip after gpu hang
[21711.310011] i915 0000:00:02.0: Resetting chip after gpu hang
[21714.413924] asynchronous wait on fence i915:[global]:1532ad timed out
[21719.309988] i915 0000:00:02.0: Resetting chip after gpu hang
[21727.341952] i915 0000:00:02.0: Resetting chip after gpu hang
[25074.324916] i915 0000:00:02.0: Resetting chip after gpu hang
[25082.325330] i915 0000:00:02.0: Resetting chip after gpu hang
[25090.325340] i915 0000:00:02.0: Resetting chip after gpu hang
[25098.325328] i915 0000:00:02.0: Resetting chip after gpu hang
[25106.292908] i915 0000:00:02.0: Resetting chip after gpu hang

description: updated
summary: - pcbnew opengl crash on "big" file, legacy works, debug output
+ pcbnew opengl crash on "big" file, legacy & cairo works, debug output
Revision history for this message
Tomasz Wlostowski (twlostow) wrote :

Hi, it crashes on my PC (also intel graphics). In the case of this particular board, the workaround is to disable showing of pad clearances (they're drawn in very GPU-memory-consuming way).

Working on a proper fix.
Tom

Changed in kicad:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Tomasz Wlostowski (twlostow)
Revision history for this message
jean-pierre charras (jp-charras) wrote :

This board looks strange to me: there are 28000 pads to create a very basic copper zone.
And these 27000 of 28000 pads are illegal SMD pads on all layers, that cannot be created by pcbnew.

28000 pads have certainly a *very high cost* in matter of memory and calculation time.
So I am not sure there is a bug.

Revision history for this message
User12020310012 (user12020310012-deactivatedaccount) wrote :

New design uses Kicad v5 pad instead of multiple per piece.
https://github.com/electroniceel/protoboard/pull/3

Will convert this .kicad_pcb file and see if crash persists.

Revision history for this message
User12020310012 (user12020310012-deactivatedaccount) wrote :

@jean oh I see what you mean. both F.Cu and B.Cu layers enabled on SMD footprint. Will suggest going to 2 separate layers

Revision history for this message
Tomasz Wlostowski (twlostow) wrote :

This looks like an issue with Intel graphics drivers (crash in glCopyBufferSubData()). Could someone check if this board causes a crash on Nvidia/Ati drivers?

Tom

Revision history for this message
Seth Hillbrand (sethh) wrote :

NVidia here. Does not crash.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

I can confirm the nvidia drivers on linux does not crash.

Revision history for this message
Tomasz Wlostowski (twlostow) wrote :

Thanks Wayne, the bug looks specific to Intel drivers. I'll make a workaround disabling hardware framebuffer copying on intel devices.

Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision aab40ee9e8dbe3ba8d0cb69ff37f298c29a9d7a3
https://git.launchpad.net/kicad/patch/?id=aab40ee9e8dbe3ba8d0cb69ff37f298c29a9d7a3

Changed in kicad:
status: Confirmed → Fix Committed
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.