Assertion failed after opening modedit with opengl canvas

Bug #1445862 reported by henrik
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Undecided
Unassigned

Bug Description

Opening modedit from pcbnew with opengl canvas active fails assertion: "../src/unix/glx11.cpp(86): assert "xid" failed in SetCurrent(): window must be shown". Clicking Continue opens modedit and it seems to work correctly.

Backtrace:

#0 0x00007ffff59e384d in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007ffff466aee4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff466b272 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff535fdd3 in gtk_dialog_run () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#4 0x00007ffff6e4e8f7 in wxGUIAppTraits::ShowAssertDialog (this=<optimised out>, msg=...) at ../src/gtk/utilsgtk.cpp:316
#5 0x00007ffff676c412 in ShowAssertDialog (file=..., line=line@entry=86, func=..., cond=..., msgUser=..., traits=traits@entry=0x7fd6d0) at ../src/common/appbase.cpp:1302
#6 0x00007ffff676c7ed in wxAppConsoleBase::OnAssertFailure (this=this@entry=0x775590, file=<optimised out>, line=86, func=<optimised out>, cond=<optimised out>, msg=<optimised out>)
    at ../src/common/appbase.cpp:781
#7 0x00007ffff6e0f570 in wxApp::OnAssertFailure (this=0x775590, file=<optimised out>, line=<optimised out>, func=<optimised out>, cond=<optimised out>, msg=<optimised out>) at ../src/gtk/app.cpp:507
#8 0x00007ffff676cba8 in wxDefaultAssertHandler (file=..., line=86, func=..., cond=..., msg=...) at ../src/common/appbase.cpp:1093
#9 0x00007ffff6768600 in wxOnAssert (file=file@entry=0x7fffe818cea4 "../src/unix/glx11.cpp", line=line@entry=86,
    func=func@entry=0x7fffe818d023 <wxGLContext::SetCurrent(wxGLCanvas const&) const::__FUNCTION__> "SetCurrent", cond=cond@entry=0x7fffe818cea0 "xid", msg=msg@entry=0x7fffe818cb58 L"window must be shown")
    at ../src/common/appbase.cpp:1178
#10 0x00007fffe818bb6f in wxGLContext::SetCurrent (this=0x3a7d3d0, win=...) at ../src/unix/glx11.cpp:86
#11 0x00007fffdae748d7 in KIGFX::OPENGL_GAL::OPENGL_GAL (this=0x18ec410, aParent=0x2ca9440, aMouseListener=0x2ca9440, aPaintListener=0x2ca9440, aName=...)
    at /home/henrik/koodi/kicad.bzr/common/gal/opengl/opengl_gal.cpp:67
#12 0x00007fffdae59744 in EDA_DRAW_PANEL_GAL::SwitchBackend (this=0x2ca9440, aGalType=EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL) at /home/henrik/koodi/kicad.bzr/common/draw_panel_gal.cpp:294
#13 0x00007fffdae586d4 in EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL (this=0x2ca9440, aParentWindow=0x2caa400, aWindowId=-1, aPosition=..., aSize=..., aGalType=EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL)
    at /home/henrik/koodi/kicad.bzr/common/draw_panel_gal.cpp:64
#14 0x00007fffda754a67 in PCB_DRAW_PANEL_GAL::PCB_DRAW_PANEL_GAL (this=0x2ca9440, aParentWindow=0x2caa400, aWindowId=-1, aPosition=..., aSize=..., aGalType=EDA_DRAW_PANEL_GAL::GAL_TYPE_OPENGL)
    at /home/henrik/koodi/kicad.bzr/pcbnew/pcb_draw_panel_gal.cpp:102
#15 0x00007fffda72857d in FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME (this=0x2caa400, aKiway=0x71a600 <Kiway>, aParent=0x828e90) at /home/henrik/koodi/kicad.bzr/pcbnew/moduleframe.cpp:221
#16 0x00007fffda4eb537 in PCB::IFACE::CreateWindow (this=0x7fffdb7ee8c0 <PCB::kiface>, aParent=0x828e90, aClassId=5, aKiway=0x71a600 <Kiway>, aCtlBits=2) at /home/henrik/koodi/kicad.bzr/pcbnew/pcbnew.cpp:133
#17 0x00000000004789c1 in KIWAY::Player (this=0x71a600 <Kiway>, aFrameType=FRAME_PCB_MODULE_EDITOR, doCreate=true) at /home/henrik/koodi/kicad.bzr/common/kiway.cpp:304
#18 0x00007fffda6dc7fe in PCB_EDIT_FRAME::Process_Special_Functions (this=0x12eee70, event=...) at /home/henrik/koodi/kicad.bzr/pcbnew/edit.cpp:204
#19 0x00007ffff67668be in wxAppConsoleBase::CallEventHandler (this=0x775590, handler=0x12eee70, functor=..., event=...) at ../src/common/appbase.cpp:623
#20 0x00007ffff68f8368 in wxEvtHandler::ProcessEventIfMatchesId (entry=..., handler=<optimised out>, event=...) at ../src/common/event.cpp:1384
#21 0x00007ffff68f846b in wxEventHashTable::HandleEvent (this=<optimised out>, event=..., self=self@entry=0x12eee70) at ../src/common/event.cpp:990
#22 0x00007ffff68f8818 in wxEvtHandler::TryHereOnly (this=0x12eee70, event=...) at ../src/common/event.cpp:1581
#23 0x00007fffdad61d66 in EDA_BASE_FRAME::ProcessEvent (this=0x12eee70, aEvent=...) at /home/henrik/koodi/kicad.bzr/common/basicframe.cpp:164
#24 0x00007ffff68f8623 in wxEvtHandler::DoTryChain (this=<optimised out>, event=...) at ../src/common/event.cpp:1546
#25 0x00007ffff68f8905 in wxEvtHandler::ProcessEvent (this=0x12ef218, event=...) at ../src/common/event.cpp:1487
#26 0x00007ffff7047b48 in wxWindowBase::TryAfter (this=0x2d9aed0, event=...) at ../src/common/wincmn.cpp:3427
#27 0x00007ffff7ba6218 in wxAuiToolBar::OnLeftUp (this=0x2d9aed0, evt=...) at ../src/aui/auibar.cpp:2656
#28 0x00007ffff67668be in wxAppConsoleBase::CallEventHandler (this=0x775590, handler=0x2d9aed0, functor=..., event=...) at ../src/common/appbase.cpp:623
#29 0x00007ffff68f8368 in wxEvtHandler::ProcessEventIfMatchesId (entry=..., handler=<optimised out>, event=...) at ../src/common/event.cpp:1384
#30 0x00007ffff68f846b in wxEventHashTable::HandleEvent (this=<optimised out>, event=..., self=self@entry=0x2d9aed0) at ../src/common/event.cpp:990
#31 0x00007ffff68f8818 in wxEvtHandler::TryHereOnly (this=0x2d9aed0, event=...) at ../src/common/event.cpp:1581
#32 0x00007ffff68f88a3 in TryBeforeAndHere (event=..., this=0x2d9aed0) at ../include/wx/event.h:3671
#33 wxEvtHandler::ProcessEventLocally (this=0x2d9aed0, event=...) at ../src/common/event.cpp:1514
#34 0x00007ffff68f8905 in wxEvtHandler::ProcessEvent (this=0x2d9aed0, event=...) at ../src/common/event.cpp:1487
#35 0x00007ffff68f8677 in wxEvtHandler::SafelyProcessEvent (this=<optimised out>, event=...) at ../src/common/event.cpp:1605
#36 0x00007ffff6e56f4d in gtk_window_button_release_callback (gdk_event=0x2fb0440, win=0x2d9aed0) at ../src/gtk/window.cpp:1529
#37 0x00007ffff53d8c0f in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#38 0x00007ffff4daf245 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#39 0x00007ffff4dc0f3c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#40 0x00007ffff4dc9255 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#41 0x00007ffff4dc99af in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#42 0x00007ffff54f02fc in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#43 0x00007ffff53d7354 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#44 0x00007ffff53d77eb in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#45 0x00007ffff504b76c in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#46 0x00007ffff466ac5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007ffff466af48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007ffff466b272 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#49 0x00007ffff53d6747 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#50 0x00007ffff6e2b9a5 in wxGUIEventLoop::DoRun (this=0x9b7ac0) at ../src/gtk/evtloop.cpp:65
#51 0x00007ffff67aa380 in wxEventLoopBase::Run (this=0x9b7ac0) at ../src/common/evtloopcmn.cpp:78
#52 0x00007ffff6768ab6 in wxAppConsoleBase::MainLoop (this=0x775590) at ../src/common/appbase.cpp:334
#53 0x000000000043f52f in APP_KICAD::OnRun (this=0x775590) at /home/henrik/koodi/kicad.bzr/kicad/kicad.cpp:274
#54 0x00007ffff67ff61d in wxEntry (argc=<optimised out>, argv=<optimised out>) at ../src/common/init.cpp:495
#55 0x000000000043d70c in main (argc=1, argv=0x7fffffffdcd8) at /home/henrik/koodi/kicad.bzr/kicad/kicad.cpp:306

Application: kicad
Version: (2015-04-14 BZR 5599)-product Debug build
wxWidgets: Version 3.0.1 (debug,wchar_t,compiler with C++ ABI 1002,GCC 4.9.1,wx containers,compatible with 2.8)
Platform: Linux 3.16.0-34-generic x86_64, 64 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

Tags: gal

Related branches

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.