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--