[GRASS5] Driver Update

Malcolm Blue mblue at nb.sympatico.ca
Sat Apr 21 21:15:53 EDT 2001


Hi Glynn,

On first try with the new drivers on Cygwin, I get an access violation during
"d.mon x0" or "d.mon select=x0".  The monitor starts if I do "d.mon -s start=x0",
but then crashes on "d.mon select=x0".

In my initial look at the code, I noticed that for libes/raster/io.c outbuf was
defined as 2048 (BUFFERSIZ), while in display/devices/lib/connect.c inbuf is set
to 4096.  I changed inbuf to 2048 and recompiled in display/devices/lib and
display/devices/XDRIVER, but still got the same error.

I'll look a little more to see if I can see where the error is coming from (but
debugging on Cygwin is tedious at best - and only for console apps).  From my
experience, access violations come from initialized variables or array/struct
overflows.  Any idea where I should look first?

Malcolm


Glynn Clements wrote:

> I've committed a batch of changes to the display driver architecture.
> This consists mainly of merging the various versions of
> driver-specific or transport-specific files.
>
> Given the significance of the changes[1], I would appreciate it if the
> changes can be tested on as many different platforms as possible. In
> particular, feedback from anyone who uses the FIFO option would be
> appreciated.
>
> [1] If a change breaks r.out.foo, it doesn't matter unless you
> actually use that program. If I've broken the display drivers, it's
> going to affect a lot of people.
>
> The changes are primarily in src/display/devices, although
> src/libes/raster/io.c has also been changed.
>
> There is no longer a README.xdriver; instead, code which is specific
> to a particular transport (sockets or FIFOs; IPC has been removed) is
> conditionalised using "#if[n]def USE_G_SOCKS".
>
> Also, the different drivers (XDRIVER, CELL, PNGdriver, HTMLMAP) no
> longer have their own versions of connect.c or SWITCHER.c (in fact,
> SWITCHER.c is no more, the code being distributed into several new
> files in src/display/devices/lib).
>
> *** IMPORTANT NOTE ***
>
> Anyone doing "cvs update" should perform the following step (or
> similar; "make distclean" will also do the job):
>
>         find src/display/devices -name '*.a' -exec rm {} \;
>
> Without the above, you may end up running the old version of main()
> from a copy of SWITCHER.o left behind in driverlib.a.
>
> --
> Glynn Clements <glynn.clements at virgin.net>
>
> ----------------------------------------
> If you want to unsubscribe from GRASS Development Team mailing list write to:
> minordomo at geog.uni-hannover.de with
> subject 'unsubscribe grass5'


---------------------------------------- 
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo at geog.uni-hannover.de with
subject 'unsubscribe grass5'



More information about the grass-dev mailing list