Problem Details


Severe:

BAD GLX Drawable exits application.

This is the most annoying error I know of. The application goes away, nothing is saved, no core is dropped. Save frequently to minimize it's effect. It seems to happen in rashes, particularly when you first install the image editor.

This accurs most frequently when image windows have been previously closed, and you open another window. This reuses the old window, and the widgets are realized immediately, rather than when the top level window is managed.

I suspect somone is using a ginit callback when it will never be called.

More information as of May 9:

The problem still exists with variations of the error condition. Lately it has been and X11 error of access denied. It appears to be consistently glxMakeCurrentReadSGI that is involved, and does occur when a window has been managed, and the ilViewer is painting a new image.

Here's a typical backtrace:

X Error of failed request:  GLXBadDrawable
  Major opcode of failed request:  141 (GLX)
  Minor opcode of failed request:  17 (X_GLXVendorPrivateWithReply)
  Serial number of failed request:  45
  Current serial number in output stream:  45
[3] Process 27983 (imageEditor) stopped at [__exit:62 ,0xfadee54]
         Source (of cuexit.c) not available for Process 27983
(dbx) where
>  0 __exit(0x1, 0x10000, 0x1, 0x0) ["cuexit.c":62, 0xfadee54]
   1 _XDefaultError(0x1, 0x10000, 0x1, 0x0) ["XlibInt.c":2901, 0xf65d50c]
   2 _XError(0x100c35f8, 0x7fff2398, 0x1, 0x0) ["XlibInt.c":2953, 0xf5f60e8]
   3 _XReply(0x100c35f8, 0x7fff2398, 0x0, 0x0) ["XlibInt.c":1836, 0xf602b38]
   4 __glXSendMakeCurrentRead(0x100c35f8, 0x1030bc58, 0x0, 0x7fff2398) ["../glx/glx_ext.c":1170, 0xd9d52fc]
   5 glXMakeCurrentReadSGI(0x100c35f8, 0x4000609, 0x40002c1, 0x1030bc58) ["../glx/glx_ext.c":1552, 0xd9bf110]
   6 ilHwContextDesc::replace(const ilHwContextDesc&)(this = 0xb40028, newDesc = 0x100b60d0) ["/usr/people/ilbuild/roots/godot/il/src/hw/ilHwContext.c++":75, 0x5fb8c478]
   7 ::ilHwSetContext(const ilHwContextDesc&)(desc = 0x100b60d0) ["/usr/people/ilbuild/roots/godot/il/src/hw/ilHwContext.c++":174, 0x5fb88450]
   8 ilHwDrawMgr::render(ilHwDrawReq*)(this = 0x103dee80, r = 0x1031d9c0) ["/usr/people/ilbuild/roots/godot/il/src/hw/ilHwDrawMgr.c++":234, 0x5fb8da70]
   9 ilHwDrawReq::process(void)(this = 0x1031d9c0) ["/usr/people/ilbuild/roots/godot/il/src/hw/ilHwDrawMgr.c++":200, 0x5fb90200]
   10 ilMpRequest::execute(void)(this = 0x1031d9c0) ["/usr/people/ilbuild/roots/godot/il/src/mp/ilMpManager.c++":880, 0x5fb71da0]
   11 ilMpGraphicsQueue::process(ilMpThread*,int)(this = 0x1031b418, thread = 0x7fff2884, __P273532544 = 162) ["/usr/people/ilbuild/roots/godot/il/src/mp/ilMpQueue.c++":407, 0x5fb77120]
   12 ilMpThread::run(int&,int)(this = 0x7fff2884, doneFlag = 0x1031ac88, doneValue = 8) ["/usr/people/ilbuild/roots/godot/il/src/mp/ilMpThread.c++":196, 0x5fb7a72c]
   13 ilMpManager::wait(void)(this = 0x1031ac58) ["/usr/people/ilbuild/roots/godot/il/src/mp/ilMpManager.c++":431, 0x5fb72960]
   14 ilMpManager::start(ilMpManager**)(this = 0x1031ac58, pMgr = (nil)) ["/usr/people/ilbuild/roots/godot/il/src/mp/ilMpManager.c++":348, 0x5fb73718]
   15 ilDisplay::qPaint(ilMpNode*,int,int,int,int,iflOrientation,ilView*,int,ilMpManager**)(this = 0x102f45d0, parent = (nil), x = 0, y = 0, nx = 154, ny = 352, orientation = iflUpperLeftOrigin=1, __P274210400 = (nil), mode = -805306368, pMgr = (nil)) ["/usr/people/ilbuild/roots/godot/il/src/display/ilDisplay.c++":2014, 0x5fc11c78]
   16 ilDisplay::paint(int,int,int,int,iflOrientation,ilView*,int)(this = 0x102f45d0, x = 0, y = 0, nx = 154, ny = 352, orientation = iflUpperLeftOrigin=1, view = (nil), mode = -805306368) ["/usr/people/ilbuild/roots/godot/il/src/display/ilDisplay.c++":1903, 0x5fc1139c]
More (n if no)?
   17 ilDisplay::redraw(int,int,int,int,iflOrientation,int)(this = 0x102f45d0, x = 0, y = 0, nx = 154, ny = 352, orientation = iflUpperLeftOrigin=1, mode = 0) ["/usr/people/ilbuild/roots/godot/il/src/display/ilDisplay.c++":1846, 0x5fc112bc]
   18 ilViewer::event(_XEvent*)(this = 0x102f45d0, event = 0x7fff2e54) ["/usr/people/ilbuild/roots/godot/il/src/display/ilViewer.c++":728, 0x5fc2552c]
   19 AgiVkViewer::input(_WidgetRec*,_XEvent*)(this = 0x102974b8, w = 0x10297ca0, event = 0x7fff2e54) ["/usr/people/pdj/Agi/editor/baseops/AgiVkViewer.C":205, 0x3fcf60d0]
   20 ilVkViewer::inputHandler(_WidgetRec*,void*,_XEvent*,char*)(w = 0x10297ca0, clientData = 0x102974b8, event = 0x7fff2e54, __P275813072 = 0x7fff2d69 = "\001") ["/usr/people/pdj/Agi/il/IL/vk/ilVkViewer.c++":556, 0x4348d8]
   21 XtDispatchEventToWidget(0x10297ca0, 0x7fff2e54, 0x1, 0x0) ["Event.c":1001, 0xf798264]
   22 _XtDefaultDispatcher(0x1, 0x10000, 0x7fff2e54, 0x0) ["Event.c":1476, 0xf796ddc]
   23 XtDispatchEvent(0x1, 0x10000, 0x7fff2e54, 0x10016b68) ["Event.c":1568, 0xf7978a4]
   24 SoXt::dispatchEvent(_XEvent*)(0x10306348, 0x10000, 0x1, 0x0) ["SoXt.c++":386, 0xc5fe640]
   25 SoXt::mainLoop(void)(0x1, 0x10000, 0x1, 0x0) ["SoXt.c++":418, 0xc5fec9c]
   26 VkSoApp::run(void)(this = 0x10016a10) ["/vince/6.2-mar09/work/vk/vk/debug-o32/base/VkSoApp.c++":22, 0x655f9c]
   27 main(argc = 2, argv = 0x7fff2f34) ["/usr/people/pdj/Agi/editor/main.C":90, 0x41c0bc]
   28 __istart() ["crt1tinit.s":13, 0x41be40]
(dbx) 


Moderate:

Generating VRML scenes gets the wrong elevations.

This happens for some combinations of Fit to Result and differences in image orientation of the warped image and reference image. One workaround is to use Size of Reference while generating the image.

JPEG Files cannot be read, just written.

This is due to a naming clash in Inventor that should be fixed in Inventor 2.1.3. There is an unresolved question at SGI about being able to load and run Inventor 2.1.3 on IRIX 6.2.

Moving image directories may lose the reference.

The editor tries to keep references to images from breaking when moving either the description file or a directory common to the description file and the image. It is not at all robust.

The pathname comparisons do not handle '..' and do not always record the full pathname. Avoiding relative pathnames and paths with '.' or '.. for images specified on the command line helps.

Geospatial properties are not always updated when operator inputs change.

A Sub operator applied to a Collage operator does not see the geospatial change when an input to the Collage changes, for example.


Minor:


Closed Problems

Closed June 1, 1997, Version 1.0:

Geospatial properties are not always updated when operator inputs change (one part)

If you copy a directory, then both the original and the local images are candidates. In this case the original image is preferred, even if it changes. This seems unnatural - the local copy should be preferred.

Closed May 9:

Workstation Freezes, drops back to logon.

I believe most of the problems here are just Impact Graphics problems. It's fairly infrequent with the latest patches. Here's my patch list for the 6.2 Indigo^2 Max Impact 4MB TRAM:

I  patchSG0001038       05/24/96  Patch SG0001038
I  patchSG0001208       05/24/96  Patch SG0001208: XFS 6.2 rollup patch
I  patchSG0001227       01/01/97  Patch SG0001227: IRIX 6.2 Routing Enhancements
I  patchSG0001239       05/24/96  Patch SG0001239
I  patchSG0001247       10/21/96  Patch SG0001247: Irix 6.2 networking fixes for rpcbind, IP alias, TOS, etc.
I  patchSG0001281       05/24/96  Patch SG0001281: rmail security patch for 6.2
I  patchSG0001366       10/21/96  Patch SG0001366: IRIX 6.2 Networking Commands Patch
I  patchSG0001447       09/25/96  Patch SG0001447: Bug fix patch for Indigo2 Impact and Impact 10000
I  patchSG0001505       01/01/97  Patch SG0001505: Irix 6.2 Posix 1003.1b compliance
I  patchSG0001528       01/09/97  Patch SG0001528: Directly link 6.2 codecs with libcl
I  patchSG0001537       01/09/97  Patch SG0001537: fam rollup patch
I  patchSG0001574       01/01/97  Patch SG0001574: X server patch for Irix 6.2

Color Model selection causes SEGV.

There are a number of places where conversion of color models and data types does not happen consistently. At times, specifying a color model inconsistent with the current number of channels causes a SEGV.

If you subtract an rgb image like fish.rgb and a luminance image like 40105C5.tif and save the result as a .agi file, compare the result of displaying it in the editor and displaying it in imgview. The histograms seem to show quite different pixel values, so it does not appear to be scaling. There is a test case in /usr/share/Agile/testOpers/subtract.agi

I've hit the SEGV using ilColorImg on a DEM and choosing a model which requires more channels.

Update Mar 3:

The SEGV has gone away. The problem with subtract is demonstrated by the first tree in /usr/share/Agile/test/subtract.agi.

Hardware Acceleration of Warp causes SEGV.

Occasionally there is a dropped core, sometimes a failed assertion if you are running the debug libraries of IL. Sometimes the mesh rendering fails. Cores come from ilHWTexArea, among others.

There is a debug indicator in the Proj Warp control panel that shows accel=0 or 1 to help isolate the problem. I think I need to provide more "hints". IL 3.1.1 improved the situation.

Some operators occasionally do not update the image display.

This is seen most frequently with ConvImg when changing the kernel values. You can force an update by reselecting the EdgeMode or perhaps the Data Type (which forces creation of a new kernel).

Closed Feb 8:

Some parameter changes are not seen as changes to the description file.

Changing a Blur Radius, for example, and then quitting does not give a warning that the description file has been changed.