[GRASS-dev] [GRASS GIS] #3910: nviz: Switching to 3d view kills the wxGUI
GRASS GIS
trac at osgeo.org
Sun Sep 22 11:10:19 PDT 2019
#3910: nviz: Switching to 3d view kills the wxGUI
---------------------------+---------------------------------
Reporter: neteler | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 7.8.1
Component: wxGUI | Version: git-releasebranch78
Keywords: nviz, python3 | CPU: Unspecified
Platform: Linux |
---------------------------+---------------------------------
(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 at entry=0x55feadc10810,
name=name at entry=0x7f1c14aaf006 "GLX", major_opcode=major_opcode at entry=0
x55feaf092f94, first_event=first_event at entry=0x7fffbb41b3d4,
first_error=first_error at entry=0x55feaf092f98) at QuExt.c:43
43 LockDisplay(dpy);
(gdb) where
#0 0x00007f1c1901d03d in XQueryExtension
(dpy=dpy at entry=0x55feadc10810, name=name at entry=0x7f1c14aaf006
"GLX", major_opcode=major_opcode at entry=0x55feaf092f94,
first_event=first_event at entry=0x7fffbb41b3d4,
first_error=first_error at entry=0x55feaf092f98) at QuExt.c:43
#1 0x00007f1c14aaae8d in InitDisplayInfoEntry (dpy=0x55feadc10810) at
libglxmapping.c:645
#2 0x00007f1c14aaae8d in __glXLookupDisplay (dpy=<optimized out>,
dpy at 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
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3910>
GRASS GIS <https://grass.osgeo.org>
More information about the grass-dev
mailing list