It's great that gnucash keeps lock files -- however, when it crashes,
a stale lock file is left behind and an ominous-looking error message is
spewed at the user the next time gnucash starts.
I suggest:
- encoding the hostname/PID into the lockfile so that stale lockfiles
from $HOST can be easily detected (if the PID that locked the file
no longer exists, you don't have to worry)
- mentioning in the warning pop-up that the lock-file might be from an
old crashed instance of the program. If the hostname is stored,
display it so that they can try to find the program and kill it.
- rewording "another user" somehow, since it could -- and almost
always will -- be the user who is seeing the message that locked
the file.
For instance:
Gnucash could not obtain the lock for <blah>; it is being used by
process <pid> on the computer <host>. This may be because Gnucash
crashed and left a lock file behind, but it could be that another
instance of Gnucash is using this file already.
What would you like to do?
Daniel
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.6
Locale: LANG=en_US, LC_CTYPE=en_US (ignored: LC_ALL set to en_US)
Versions of packages gnucash depends on:
ii bonobo 1.0.22-2.2 The GNOME Bonobo System.
ii gdk-imlib1 1.9.14-14 imaging library for use with gtk (
ii gnucash-common 1.8.9-2 A personal finance tracking progra
ii guile-1.6-libs 1.6.4-4 Main Guile libraries
ii guile-1.6-slib 1.6.4-4 Guile SLIB support
ii libart2 1.4.2-18 The GNOME canvas widget - runtime
ii libaudiofile0 0.2.6-3 Open-source version of SGI's audio
ii libbonobo2 1.0.22-2.2 The GNOME Bonobo library.
ii libc6 2.3.2.ds1-12 GNU C Library: Shared libraries an
ii libdate-manip-perl 5.42a-2 a perl library for manipulating da
ii libdb3 3.2.9-19.1 Berkeley v3 Database Libraries [ru
ii libesd0 0.2.29-1 Enlightened Sound Daemon - Shared
ii libfinance-quote-perl 1.08-1 Perl module for retrieving stock q
ii libfreetype6 2.1.7-2 FreeType 2 font engine, shared lib
ii libgal23 0.24-1.3 G App Libs (run time library)
ii libgdk-pixbuf-gnome2 0.22.0-3 The GNOME1 Canvas pixbuf library
ii libgdk-pixbuf2 0.22.0-3 The GdkPixBuf image library, gtk+
ii libghttp1 1.0.9-15 original GNOME HTTP client library
ii libglade-gnome0 1:0.17-3 Library to load .glade files at ru
ii libglade0 1:0.17-3 Library to load .glade files at ru
ii libglib1.2 1.2.10-9 The GLib library of C routines
ii libgnome32 1.4.2-18 The GNOME libraries
ii libgnomeprint15 0.37-5 The GNOME Print architecture - run
ii libgnomesupport0 1.4.2-18 The GNOME libraries (Support libra
ii libgnomeui32 1.4.2-18 The GNOME libraries (User Interfac
ii libgtk1.2 1.2.10-16 The GIMP Toolkit set of widgets fo
ii libgtkhtml20 1.0.4-5.1 HTML rendering/editing library - r
ii libguile-ltdl-1 1.6.4-4 Guile's patched version of libtool
ii libguppi16 0.40.3-9 GNOME graph and plot component
ii libgwrapguile1 1.3.4-11 g-wrap: Tool for exporting C libra
ii libice6 4.3.0.dfsg.1-1 Inter-Client Exchange library
ii libltdl3 1.5.6-1 A system independent dlopen wrappe
ii liboaf0 0.6.10-3 The GNOME Object Activation Framew
ii libofx0c102 0.6.6-1 library to support Open Financial
ii liborbit0 0.5.17-9 Libraries for ORBit - a CORBA ORB
ii libpopt0 1.7-4 lib for parsing cmdline parameters
ii libqthreads-12 1.6.4-4 QuickThreads library for Guile
ii libsm6 4.3.0.dfsg.1-1 X Window System Session Management
ii libstdc++5 1:3.3.3-8 The GNU Standard C++ Library v3
ii libx11-6 4.3.0.dfsg.1-1 X Window System protocol client li
ii libxext6 4.3.0.dfsg.1-1 X Window System miscellaneous exte
ii libxi6 4.3.0.dfsg.1-1 X Window System Input extension li
ii libxml1 1:1.8.17-5 GNOME XML library
ii libzvt2 1.4.2-18 The GNOME zvt (zterm) widget
ii oaf 0.6.10-3 The GNOME Object Activation Framew
ii slib 3a1-4 Portable Scheme library
ii xlibs 4.3.0.dfsg.1-1 X Window System client libraries m
ii zlib1g 1:1.2.1.1-3 compression library - runtime
Package: gnucash
Version: 1.8.9-2
Severity: minor
It's great that gnucash keeps lock files -- however, when it crashes,
a stale lock file is left behind and an ominous-looking error message is
spewed at the user the next time gnucash starts.
I suggest:
- encoding the hostname/PID into the lockfile so that stale lockfiles
from $HOST can be easily detected (if the PID that locked the file
no longer exists, you don't have to worry)
- mentioning in the warning pop-up that the lock-file might be from an
old crashed instance of the program. If the hostname is stored,
display it so that they can try to find the program and kill it.
- rewording "another user" somehow, since it could -- and almost
always will -- be the user who is seeing the message that locked
the file.
For instance:
Gnucash could not obtain the lock for <blah>; it is being used by
process <pid> on the computer <host>. This may be because Gnucash
crashed and left a lock file behind, but it could be that another
instance of Gnucash is using this file already.
What would you like to do?
Daniel
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.6
Locale: LANG=en_US, LC_CTYPE=en_US (ignored: LC_ALL set to en_US)
Versions of packages gnucash depends on: quote-perl 1.08-1 Perl module for retrieving stock q pixbuf- gnome2 0.22.0-3 The GNOME1 Canvas pixbuf library
ii bonobo 1.0.22-2.2 The GNOME Bonobo System.
ii gdk-imlib1 1.9.14-14 imaging library for use with gtk (
ii gnucash-common 1.8.9-2 A personal finance tracking progra
ii guile-1.6-libs 1.6.4-4 Main Guile libraries
ii guile-1.6-slib 1.6.4-4 Guile SLIB support
ii libart2 1.4.2-18 The GNOME canvas widget - runtime
ii libaudiofile0 0.2.6-3 Open-source version of SGI's audio
ii libbonobo2 1.0.22-2.2 The GNOME Bonobo library.
ii libc6 2.3.2.ds1-12 GNU C Library: Shared libraries an
ii libdate-manip-perl 5.42a-2 a perl library for manipulating da
ii libdb3 3.2.9-19.1 Berkeley v3 Database Libraries [ru
ii libesd0 0.2.29-1 Enlightened Sound Daemon - Shared
ii libfinance-
ii libfreetype6 2.1.7-2 FreeType 2 font engine, shared lib
ii libgal23 0.24-1.3 G App Libs (run time library)
ii libgdk-
ii libgdk-pixbuf2 0.22.0-3 The GdkPixBuf image library, gtk+
ii libghttp1 1.0.9-15 original GNOME HTTP client library
ii libglade-gnome0 1:0.17-3 Library to load .glade files at ru
ii libglade0 1:0.17-3 Library to load .glade files at ru
ii libglib1.2 1.2.10-9 The GLib library of C routines
ii libgnome32 1.4.2-18 The GNOME libraries
ii libgnomeprint15 0.37-5 The GNOME Print architecture - run
ii libgnomesupport0 1.4.2-18 The GNOME libraries (Support libra
ii libgnomeui32 1.4.2-18 The GNOME libraries (User Interfac
ii libgtk1.2 1.2.10-16 The GIMP Toolkit set of widgets fo
ii libgtkhtml20 1.0.4-5.1 HTML rendering/editing library - r
ii libguile-ltdl-1 1.6.4-4 Guile's patched version of libtool
ii libguppi16 0.40.3-9 GNOME graph and plot component
ii libgwrapguile1 1.3.4-11 g-wrap: Tool for exporting C libra
ii libice6 4.3.0.dfsg.1-1 Inter-Client Exchange library
ii libltdl3 1.5.6-1 A system independent dlopen wrappe
ii liboaf0 0.6.10-3 The GNOME Object Activation Framew
ii libofx0c102 0.6.6-1 library to support Open Financial
ii liborbit0 0.5.17-9 Libraries for ORBit - a CORBA ORB
ii libpopt0 1.7-4 lib for parsing cmdline parameters
ii libqthreads-12 1.6.4-4 QuickThreads library for Guile
ii libsm6 4.3.0.dfsg.1-1 X Window System Session Management
ii libstdc++5 1:3.3.3-8 The GNU Standard C++ Library v3
ii libx11-6 4.3.0.dfsg.1-1 X Window System protocol client li
ii libxext6 4.3.0.dfsg.1-1 X Window System miscellaneous exte
ii libxi6 4.3.0.dfsg.1-1 X Window System Input extension li
ii libxml1 1:1.8.17-5 GNOME XML library
ii libzvt2 1.4.2-18 The GNOME zvt (zterm) widget
ii oaf 0.6.10-3 The GNOME Object Activation Framew
ii slib 3a1-4 Portable Scheme library
ii xlibs 4.3.0.dfsg.1-1 X Window System client libraries m
ii zlib1g 1:1.2.1.1-3 compression library - runtime
-- no debconf information