Yet more information on shutdown b0rkenness

Dave Peticolas dave@krondo.com
26 Nov 2001 02:36:31 -0800


--=-M7XHLi92Yl185qchG78x
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sun, 2001-11-25 at 13:06, Derek Atkins wrote:
> Here's what appears to be going on...  Due to user input,
> we call gnc_shutdown().  Fine.  That calls out to Scheme's
> gnc:shutdown.  So far so good.
>=20
> Next, gnc:shutdown does some scheme stuff and eventually
> calls into gnc_file_quit().
>=20
> Now, here's where life get's interesting.  You see, gnc_file_quit
> calls gnc_gui_refresh_all() which eventually leads to
> gnc_default_currency() which calls gnc_option_db_lookup_currency_option()=
.
> Now this calls out to a scheme function (I can't tell which one
> because it's obtained by a lookup function).  And this is where
> the problem is.  Whatever is being called eventually calls
> gnc_get_current_book().
>=20
> Unfortunately, by this time, the book() has already been destroyed, as
> has the session.  And voila, we've got ourselves into a nice loop
> where the book needs the session to emit an event, and the session
> needs the book (because it just does).
>=20
> Here is the gdb trace showing what's going on (starting at
> gnc_shutdown).  Hopefully someone who knows more about the shutdown
> C<->Scheme interactions can track it down using this information.

This should be fixed now.

dave


--=-M7XHLi92Yl185qchG78x
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQA8Ahsv5effKKCmfpIRAp0/AJ48PCWDbeU0GQlyEwv7y9QwTwEhjwCgk+tL
xplUB1U67aKzWEqny/EaPsg=
=7idU
-----END PGP SIGNATURE-----

--=-M7XHLi92Yl185qchG78x--