[GRASS-dev] Maybe a bug?

Recently, I’ve found that when I close GRASS (6.1 cvs) on my Mac, it doesn’t seem to exit some of the GRASS libraries. When I’ve tried to update my binary version (and discard the old one), I’m getting errors that following files are still in use, even after I’ve quite GRASS and x11.

libgrass_gis.6.1.cvs.dylib
libgrass_driver.gis.6.1.cvs.dylib
libgrass_datetime.gis.6.1.cvs.dylib
monitorcap

I can only exit them by rebooting. Has anyone else run into this? It is annoying. Is it symptomatic of a larger problem?

Michael


Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics and Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

Michael Barton wrote:

Recently, I¹ve found that when I close GRASS (6.1 cvs) on my Mac, it doesn¹t
seem to exit some of the GRASS libraries. When I¹ve tried to update my
binary version (and discard the old one), I¹m getting errors that following
files are still in use, even after I¹ve quite GRASS and x11.

libgrass_gis.6.1.cvs.dylib
libgrass_driver.gis.6.1.cvs.dylib
libgrass_datetime.gis.6.1.cvs.dylib
monitorcap

The fact that libgrass_driver is amongst them implies a display
driver. Use "ps ax" to list the running processes, and kill anything
which is left over from a GRASS session.

I have no idea why monitorcap would be affected; it isn't a binary
file. I don't know about MacOSX specifically, but Unix allows you to
"delete" (i.e. unlink) files which are open; it just won't let you
modify a file which is mapped for execution (i.e. executables or
shared libraries).

--
Glynn Clements <glynn@gclements.plus.com>

On checking, I realized that a further file/process named "PNG" was also
open. When I killed that, the others closed too. Is this the PNG driver that
is somehow not getting closed? Why not when I shut down GRASS entirely?

Michael
__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics and Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

From: Glynn Clements <glynn@gclements.plus.com>
Date: Wed, 31 May 2006 23:01:10 +0100
To: Michael Barton <michael.barton@asu.edu>
Cc: GRASS developers list <grass-dev@grass.itc.it>
Subject: Re: [GRASS-dev] Maybe a bug?

Michael Barton wrote:

Recently, I¹ve found that when I close GRASS (6.1 cvs) on my Mac, it doesn¹t
seem to exit some of the GRASS libraries. When I¹ve tried to update my
binary version (and discard the old one), I¹m getting errors that following
files are still in use, even after I¹ve quite GRASS and x11.

libgrass_gis.6.1.cvs.dylib
libgrass_driver.gis.6.1.cvs.dylib
libgrass_datetime.gis.6.1.cvs.dylib
monitorcap

The fact that libgrass_driver is amongst them implies a display
driver. Use "ps ax" to list the running processes, and kill anything
which is left over from a GRASS session.

I have no idea why monitorcap would be affected; it isn't a binary
file. I don't know about MacOSX specifically, but Unix allows you to
"delete" (i.e. unlink) files which are open; it just won't let you
modify a file which is mapped for execution (i.e. executables or
shared libraries).

--
Glynn Clements <glynn@gclements.plus.com>

Michael Barton wrote:

On checking, I realized that a further file/process named "PNG" was also
open. When I killed that, the others closed too. Is this the PNG driver that
is somehow not getting closed?

Yes.

Why not when I shut down GRASS entirely?

The Init.sh script does the following on termination:

  # GRASS session finished
  tput clear
  echo "Closing monitors....."
  for MON in `d.mon -L | grep running | grep -v "not running" | sed 's/ .*//'`
  do
      echo d.mon stop=$MON
      d.mon stop=$MON
  done

It's possible that the PNG driver gets omitted from the "for" loop, or
that "d.mon stop=..." fails for some reason. It's hard to say which or
why without more information.

--
Glynn Clements <glynn@gclements.plus.com>