Opened 5 years ago
Last modified 5 years ago
#3910 new defect
nviz: Switching to 3d view kills the wxGUI
Reported by: | neteler | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 7.8.3 |
Component: | wxGUI | Version: | git-releasebranch78 |
Keywords: | nviz, python3 | Cc: | |
CPU: | Unspecified | Platform: | Linux |
Description
(reported via a user)
Switching to 3d view kills the GUI. When it goes to set up GLX, the X11 Display object has random pointers instead of locking functions, so it segfaults. The dpy->lock pointer is invalid:
Thread 1 "python3" received signal SIGSEGV, Segmentation fault. 0x00007f1c1901d03d in XQueryExtension (dpy=dpy@entry=0x55feadc10810, name=name@entry=0x7f1c14aaf006 "GLX", major_opcode=major_opcode@entry=0 x55feaf092f94, first_event=first_event@entry=0x7fffbb41b3d4, first_error=first_error@entry=0x55feaf092f98) at QuExt.c:43 43 LockDisplay(dpy); (gdb) where #0 0x00007f1c1901d03d in XQueryExtension (dpy=dpy@entry=0x55feadc10810, name=name@entry=0x7f1c14aaf006 "GLX", major_opcode=major_opcode@entry=0x55feaf092f94, first_event=first_event@entry=0x7fffbb41b3d4, first_error=first_error@entry=0x55feaf092f98) at QuExt.c:43 #1 0x00007f1c14aaae8d in InitDisplayInfoEntry (dpy=0x55feadc10810) at libglxmapping.c:645 #2 0x00007f1c14aaae8d in __glXLookupDisplay (dpy=<optimized out>, dpy@entry=0x55feadc10810) at libglxmapping.c:737 #3 0x00007f1c14aa6e09 in glXQueryVersion (dpy=0x55feadc10810, major=0x7fffbb41b480, minor=0x7fffbb41b484) at libglx.c:1170 #4 0x00007f1c14b798c5 in wxGLCanvasX11::GetGLXVersion() () at ../include/wx/utils.h:780 #5 0x00007f1c14b79c95 in wxGLContext::wxGLContext(wxGLCanvas*, wxGLContext const*) (this=0x55feae041760, gc=0x55feaf0b8550, other=0x0) at ../src/unix/glx11.cpp:155 #6 0x00007f1c14bead8d in sipwxGLContext::sipwxGLContext(wxGLCanvas*, wxGLContext const*) () at /usr/lib64/python3.7/site- packages/wx/_glcanvas.cpython-37m-x86_64-linux-gnu.so #7 0x00007f1c14beae9c in init_type_wxGLContext () at /usr/lib64/python3.7/site-packages/wx/_glcanvas.cpython-37m-x86_64- linux-gnu.so #8 0x00007f1c1a85f918 in sipSimpleWrapper_init () at /usr/lib64/python3.7/site-packages/wx/siplib.so #9 0x00007f1c228ee1c7 in type_call (kwds=<optimized out>, args=(<GLWindow(parent=<MapFrame(parent=<LayerTree(displayIndex=0, lmgr=<GMFrame(parent=None, baseTitle='GRASS GIS 7.8.0 Layer Manager', iconsize=(16, 16), displayIndex=1, currentPage=<Panel(maptree=<...>) at remote 0x7f1c05729550>, currentPageNum=0, workspaceFile=None, workspaceChanged=False, loadingWorkspace=False, cwdPath=None, _giface=<LayerManagerGrassInterface(lmgr=<...>, mapCreated=<Signal(_name='LayerManagerGrassInterface.mapCreated') at remote 0x7f1bc0bf4ed0>, updateMap=<Signal(_name='LayerManagerGrassInterface.updateMap') at remote 0x7f1bc0bf4fd0>) at remote 0x7f1bc0bf4e50>, _menuTreeBuilder=<LayerManagerMenuData(menustyle=1, model=<TreeModel(_root=<ModuleNode(label='root', data={}, _children=[<ModuleNode(label='&File', data={}, _children=[<ModuleNode(label='Workspace', data={}, _children=[<ModuleNode(label='New', data={'label': 'New', 'description': 'Create new workspace', 'handler': 'OnWorkspaceNew', 'command': '', 'keywords': '', 'shortcut': 'Ctrl+N', 'wxId': <StandardID() at remote 0x7f1c180e2460>, '...(truncated), type=<optimized out>) at /usr/src/debug/python3-3.7.4- 1.fc30.x86_64/Objects/typeobject.c:933 #10 0x00007f1c228ee1c7 in _PyObject_FastCallKeywords (callable=<sip.wrappertype at remote 0x55feae190390>, stack=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3-3.7.4-1.fc30.x86_64/Objects/call.c:199 #11 0x00007f1c228ef829 in call_function (pp_stack=0x7fffbb41b840, oparg=<optimized out>, kwnames=0x0) at /usr/src/debug/python3-3.7.4- 1.fc30.x86_64/Python/ceval.c:4619 #12 0x00007f1c2292ba02 in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3-3.7.4- 1.fc30.x86_64/Python/ceval.c:3093 #13 0x00007f1c228dd080 in _PyEval_EvalCodeWithName (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=0x7f1c0586a068, kwargs=0x7f1c0586a070, kwcount=<optimized out>, kwstep=2, defs=0x7f1bc18a6868, defcount=1, kwdefs=0x0, closure=0x0, name='__init__', qualname='GLWindow.__init__') at /usr/src/debug/python3-3.7.4-1.fc30.x86_64/Python/ceval.c:3930 #14 0x00007f1c228de71e in _PyFunction_FastCallDict (func=<optimized out>, args=0x7fffbb41ba90, nargs=<optimized out>, kwargs=<optimized out>) at /usr/src/debug/python3-3.7.4-1.fc30.x86_64/Objects/call.c:367 #15 0x00007f1c228b29c6 in _PyObject_Call_Prepend (callable=<function at remote 0x7f1bc18a8440>, obj=<optimized out>, args=(<MapFrame(parent=<LayerTree(displayIndex=0, lmgr=<GMFrame(parent=None, baseTitle='GRASS GIS 7.8.0 Layer Manager', iconsize=(16, 16), displayIndex=1, currentPage=<Panel(maptree=<...>) at remote 0x7f1c05729550>, currentPageNum=0, workspaceFile=None, workspaceChanged=False, loadingWorkspace=False, cwdPath=None, _giface=<LayerManagerGrassInterface(lmgr=<...>, mapCreated=<Signal(_name='LayerManagerGrassInterface.mapCreated') at remote 0x7f1bc0bf4ed0>, updateMap=<Signal(_name='LayerManagerGrassInterface.updateMap') at remote 0x7f1bc0bf4fd0>) at remote 0x7f1bc0bf4e50>, _menuTreeBuilder=<LayerManagerMenuData(menustyle=1, model=<TreeModel(_root=<ModuleNode(label='root', data={}, _children=[<ModuleNode(label='&File', data={}, _children=[<ModuleNode(label='Workspace', data={}, _children=[<ModuleNode(label='New', data={'label': 'New', 'description': 'Create new workspace', 'handler': 'OnWorkspaceNew', 'command': '', 'keywords': '', 'shortcut': 'Ctrl+N', 'wxId': <StandardID() at remote 0x7f1c180e2460>, 'icon': ''}, _chil...(truncated), kwargs={'giface': <LayerManagerGrassInterfaceForMapDisplay(_giface=<LayerManagerGrassInte rface(lmgr=<GMFrame(parent=None, baseTitle='GRASS GIS 7.8.0 Layer Manager', iconsize=(16, 16), displayIndex=1, currentPage=<Panel(maptree=<LayerTree(displayIndex=0, lmgr=<...>, notebook=<FlatNotebook(_bForceSelection=False, _nPadding=6, _nFrom=0, _pages=<PageContainer(_ImageList=None, _iActivePage=0, _pDropTarget=<FNBDropTarget(_parent=<...>, _dataobject=<CustomDataObject at remote 0x7f1c058f5910>) at remote 0x7f1c058f57d0>, _nLeftClickZone=0, _iPreviousActivePage=-1, _pRightClickMenu=<Menu at remote 0x7f1c058f5550>, _nXButtonStatus=0, _nArrowDownButtonStatus=0, _pParent=<...>, _nRightButtonStatus=0, _nLeftButtonStatus=0, _nTabXButtonStatus=0, _nHoveringOverTabIndex=-1, _nHoveringOverLastTabIndex=-1, _setCursor=False, _pagesInfoVec=[<PageInfo(_strCaption='Display 1', _TabAngle=0, _ImageIndex=-1, _bEnabled=True, _pos=<Point at remote 0x7f1c057507d0>, _size=<Size at remote 0x7f1c05750870>, _region=<Region at remote 0x7f1c0575b050>...(truncated)) at /usr/src/debug/python3-3.7.4- 1.fc30.x86_64/Objects/call.c:908 #16 0x00007f1c228ed2e3 in slot_tp_init
- GRASS GIS 7.8.0
- System: Fedora 30, 64bit
Change History (3)
comment:1 by , 5 years ago
Milestone: | 7.8.1 → 7.8.2 |
---|
comment:3 by , 5 years ago
Milestone: | → 7.8.3 |
---|
Note:
See TracTickets
for help on using tickets.
Ticket retargeted after milestone closed