Out of curiosity, are you ssh-ing or remote logging into a system and running the application? On 23 Jan 2006, at 12:00 pm, Dr Andy Herbert wrote: > Hi, > > All drivers etc are now patched up to date. > > When using the NVidia hardware accelerated drivers: > > Windows open correctly without error, however when a strip is removed > analysis crashes with the following error message: > >>>> GL_VENDOR = NVIDIA Corporation > GL_RENDERER = Quadro FX 500/FX 600/AGP/SSE2 > GL_VERSION = 2.0.1 NVIDIA 81.78 > X Error of failed request: BadMatch (invalid parameter attributes) > Major opcode of failed request: 144 (GLX) > Minor opcode of failed request: 5 (X_GLXMakeCurrent) > Serial number of failed request: 10600 > Current serial number in output stream: 10600 > > > > When using mesa 6.4.1: > windows open without any contours and the following error message: > >>>> make_current_gl_handler failed: 0 > Problem in if (!init_gl_handler(gl_handler)) > Exception in Tkinter callback > Traceback (most recent call last): > File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__ > return self.func(*args) > File > "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ > WindowPopup.py", line 2768, in resize > self.setupWidgetHandler(canvas, isCanvas=True) > File > "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ > WindowPopup.py", line 2494, in setupWidgetHandler > widget.handler = self.handlerClass(widget) > GlHandler.error: allocating Gl_handler object > make_current_gl_handler failed: 0 > Problem in if (!init_gl_handler(gl_handler)) > Exception in Tkinter callback > Traceback (most recent call last): > File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__ > return self.func(*args) > File > "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ > WindowPopup.py", line 2768, in resize > self.setupWidgetHandler(canvas, isCanvas=True) > File > "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ > WindowPopup.py", line 2494, in setupWidgetHandler > widget.handler = self.handlerClass(widget) > GlHandler.error: allocating Gl_handler object > make_current_gl_handler failed: 0 > Problem in if (!init_gl_handler(gl_handler)) > Exception in Tkinter callback > Traceback (most recent call last): > File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__ > return self.func(*args) > File > "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ > WindowPopup.py", line 2768, in resize > self.setupWidgetHandler(canvas, isCanvas=True) > File > "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ > WindowPopup.py", line 2494, in setupWidgetHandler > widget.handler = self.handlerClass(widget) > GlHandler.error: allocating Gl_handler object > > > analysis however doesn't crash when strips are removed. All the other > openGL apps I've tried work correctly with both mesa and hardware. > > Cheers > > Andy > > > On Thu, 2006-01-19 at 18:55 +0000, Dr Andy Herbert wrote: >> Hi Wayne >> >> I hope this error message means more to you than me! >> >>>>> make_current_gl_handler failed: 0 >> Problem in if (!init_gl_handler(gl_handler)) >> Exception in Tkinter callback >> Traceback (most recent call last): >> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__ >> return self.func(*args) >> File >> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >> WindowPopup.py", line 2768, in resize >> self.setupWidgetHandler(canvas, isCanvas=True) >> File >> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >> WindowPopup.py", line 2494, in setupWidgetHandler >> widget.handler = self.handlerClass(widget) >> GlHandler.error: allocating Gl_handler object >> make_current_gl_handler failed: 0 >> Problem in if (!init_gl_handler(gl_handler)) >> Exception in Tkinter callback >> Traceback (most recent call last): >> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__ >> return self.func(*args) >> File >> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >> WindowPopup.py", line 2768, in resize >> self.setupWidgetHandler(canvas, isCanvas=True) >> File >> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >> WindowPopup.py", line 2494, in setupWidgetHandler >> widget.handler = self.handlerClass(widget) >> GlHandler.error: allocating Gl_handler object >> make_current_gl_handler failed: 0 >> Problem in if (!init_gl_handler(gl_handler)) >> Exception in Tkinter callback >> Traceback (most recent call last): >> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__ >> return self.func(*args) >> File >> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >> WindowPopup.py", line 2768, in resize >> self.setupWidgetHandler(canvas, isCanvas=True) >> File >> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >> WindowPopup.py", line 2494, in setupWidgetHandler >> widget.handler = self.handlerClass(widget) >> GlHandler.error: allocating Gl_handler object >> >> >> Cheers >> >> Andy >> >> On Thu, 2006-01-19 at 18:12 +0000, Wayne Boucher wrote: >>> Right, I think the only way for it to have failed there is for >>> make_current_gl_handler() to have failed. And I've not known >>> that to fail >>> (except silently, i.e. it fails but says it has not failed, in >>> which case >>> GL crashes). So this is a puzzle. Now in make_current_gl_handler >>> () there >>> are the lines: >>> >>> if (!ok || !(glGetError() == GL_NO_ERROR)) >>> return CCPN_FALSE; >>> >>> you could change that to: >>> >>> if (!ok) /* removed glGetError() */ >>> { >>> printf("make_current_gl_handler failed: %d\n", glGetError()); >>> return CCPN_FALSE; >>> } >>> >>> and see if it works (re-compile as usual in ccpnmr1.0/c). If >>> that fails >>> (and it probably will) then we are probably stuffed. But it >>> would be >>> interesting to know what the error code is. (I'll have to try >>> and find >>> where that information is stored, what they mean.) >>> >>> Wayne >>> >>> On Thu, 19 Jan 2006, Dr Andy Herbert wrote: >>> >>>> Hi, >>>> >>>> I modified gl_handler.c as described, including the following >>>> amongst >>>> others: >>>> >>>> if (!init_gl_handler(gl_handler)) >>>> { >>>> FREE(gl_handler_p, struct Gl_handler_p); >>>> printf("Problem in if (!init_gl_handler(gl_handler))\n"); >>>> >>>> return NULL; >>>> } >>>> >>>> This is where the printf function is printed: >>>> >>>>>>> Problem in if (!init_gl_handler(gl_handler)) >>>> Exception in Tkinter callback >>>> Traceback (most recent call last): >>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>> __call__ >>>> return self.func(*args) >>>> File >>>> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >>>> WindowPo pup.py", line 2768, in resize >>>> self.setupWidgetHandler(canvas, isCanvas=True) >>>> File >>>> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >>>> WindowPo pup.py", line 2494, in setupWidgetHandler >>>> widget.handler = self.handlerClass(widget) >>>> GlHandler.error: allocating Gl_handler object >>>> Problem in if (!init_gl_handler(gl_handler)) >>>> Exception in Tkinter callback >>>> Traceback (most recent call last): >>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>> __call__ >>>> return self.func(*args) >>>> File >>>> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >>>> WindowPo pup.py", line 2768, in resize >>>> self.setupWidgetHandler(canvas, isCanvas=True) >>>> File >>>> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >>>> WindowPo pup.py", line 2494, in setupWidgetHandler >>>> widget.handler = self.handlerClass(widget) >>>> GlHandler.error: allocating Gl_handler object >>>> Problem in if (!init_gl_handler(gl_handler)) >>>> Exception in Tkinter callback >>>> Traceback (most recent call last): >>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>> __call__ >>>> return self.func(*args) >>>> File >>>> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >>>> WindowPo pup.py", line 2768, in resize >>>> self.setupWidgetHandler(canvas, isCanvas=True) >>>> File >>>> "/usr/local/ccpnmr.debug/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/ >>>> WindowPo pup.py", line 2494, in setupWidgetHandler >>>> widget.handler = self.handlerClass(widget) >>>> GlHandler.error: allocating Gl_handler object >>>> >>>> >>>> Hope this is more useful. >>>> >>>> Cheers >>>> >>>> Andy >>>> >>>> On Thu, 2006-01-19 at 13:14 +0000, Wayne Boucher wrote: >>>>> Hello, >>>>> >>>>> That could be one of a couple of things (unfortunately: that >>>>> error message >>>>> will have to be expanded). So the only real way to find out is >>>>> to go into >>>>> the C code and put some debug statements in and then re-compile. >>>>> >>>>> So in ccpnmr1.0/c/memops/global/gl_handler.c in the function >>>>> new_gl_handler() there are a few early return statements (in >>>>> the next >>>>> release there will be a new one). Put a "printf" statement in >>>>> to each >>>>> one. So for example, the first one would become: >>>>> >>>>> visual = glXChooseVisual(display, DefaultScreen(display), >>>>> dblBuf); >>>>> if (!visual) >>>>> { >>>>> printf("could not find visual\n"); >>>>> return NULL; >>>>> } >>>>> >>>>> Then re-compile (with a "make" in the ccpnmr1.0/c directory, >>>>> not the >>>>> global directory) and try again. >>>>> >>>>> In fact, you might want to stick in the following above that >>>>> visual check >>>>> (this will be in the next release): >>>>> >>>>> if (!glXQueryExtension(display, &dummy, &dummy)) >>>>> { >>>>> printf("GLX extension not supported\n"); >>>>> return NULL; /* check that OpenGL's GLX extension >>>>> supported */ >>>>> } >>>>> >>>>> with >>>>> >>>>> int dummy; >>>>> >>>>> defined at the top of the function. My (first) guess is that >>>>> maybe the >>>>> GLX is not set up somewhere in the /etc config file, that query >>>>> command >>>>> would trap that. Alternatively it's possible the last argument to >>>>> glXCreateContext is wrong (in the next release this will be >>>>> settable at >>>>> run time but currently it is only settable at compile time). >>>>> >>>>> Note that if this initialisation fails you are toast, hence the >>>>> later >>>>> error messages. >>>>> >>>>> Wayne >>>>> >>>>> On Thu, 19 Jan 2006, Dr Andy Herbert wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> I recently needed to change the graphics card in my linux box >>>>>> from an >>>>>> NVidia Geforce class to an NVidia quadro 4 type. When using >>>>>> openGL >>>>>> graphics with the bundled mesa lib analysis spits out the >>>>>> following >>>>>> error message when opening a window: >>>>>> >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPo pup.py", line 2768, in resize >>>>>> self.setupWidgetHandler(canvas, isCanvas=True) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPo pup.py", line 2494, in setupWidgetHandler >>>>>> widget.handler = self.handlerClass(widget) >>>>>> GlHandler.error: allocating Gl_handler object >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPo pup.py", line 2768, in resize >>>>>> self.setupWidgetHandler(canvas, isCanvas=True) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPo pup.py", line 2494, in setupWidgetHandler >>>>>> widget.handler = self.handlerClass(widget) >>>>>> GlHandler.error: allocating Gl_handler object >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPo pup.py", line 2768, in resize >>>>>> self.setupWidgetHandler(canvas, isCanvas=True) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPo pup.py", line 2494, in setupWidgetHandler >>>>>> widget.handler = self.handlerClass(widget) >>>>>> GlHandler.error: allocating Gl_handler object >>>>>> >>>>>> and the following when moving the cursor on the new window (which >>>>>> doesn't show any spectra): >>>>>> >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2814, in motion >>>>>> w = canvas.canvas_width >>>>>> AttributeError: WindowCanvas instance has no attribute >>>>>> 'canvas_width' >>>>>> Exception in Tkinter callback >>>>>> Traceback (most recent call last): >>>>>> File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in >>>>>> __call__ >>>>>> return self.func(*args) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/memops/gui/ >>>>>> ScrolledWindow.py", line 1333, in leave >>>>>> self.leave_func(event) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2925, in leave >>>>>> self.parent.endCrosshair() >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/AnalysisPopup.py", line 317, in endCrosshair >>>>>> popup.endCrosshair() >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2959, in endCrosshair >>>>>> self.endCanvasCrosshair(self.scrolled_window.canvases[j][i]) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2932, in endCanvasCrosshair >>>>>> self.setupWidgetHandler(canvas, isCanvas=True) >>>>>> File >>>>>> "/usr/local/ccpnmr.1.0.8/ccpnmr/ccpnmr1.0/python/ccpnmr/ >>>>>> analysis/WindowPopup.py", line 2494, in setupWidgetHandler >>>>>> widget.handler = self.handlerClass(widget) >>>>>> GlHandler.error: allocating Gl_handler object >>>>>> >>>>>> >>>>>> This doesn't happen when I use the NVidia hardware accelerated >>>>>> graphics >>>>>> drivers, however then I still get a version of the random >>>>>> crashing >>>>>> reported earlier. >>>>>> >>>>>> Cheers >>>>>> >>>>>> Andy >>>>>> >>>>>> -- >>>>>> Dr Andy Herbert >>>>>> Department of Chemistry >>>>>> University of Edinburgh >>>>>> West Mains Road >>>>>> Edinburgh >>>>>> UK >>>>>> EH9 3JJ >>>>>> Tel: +44 (0)131 650 4704 or 650 7372 >>>>>> Email: [log in to unmask] >>>>>> >>>> -- >>>> Dr Andy Herbert >>>> Department of Chemistry >>>> University of Edinburgh >>>> West Mains Road >>>> Edinburgh >>>> UK >>>> EH9 3JJ >>>> Tel: +44 (0)131 650 4704 or 650 7372 >>>> Email: [log in to unmask] >>>> > -- > Dr Andy Herbert > Department of Chemistry > University of Edinburgh > West Mains Road > Edinburgh > UK > EH9 3JJ > Tel: +44 (0)131 650 4704 or 650 7372 > Email: [log in to unmask]