guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GOOPS method cache locking bug?


From: Mikael Djurfeldt
Subject: Re: GOOPS method cache locking bug?
Date: Mon, 21 Apr 2003 20:27:14 +0200
User-agent: Gnus/5.090018 (Oort Gnus v0.18) Emacs/21.2 (gnu/linux)

Andreas Rottmann <address@hidden> writes:

> The loading goes well, but if the last line is added, I get the
> deadlock illustrated by the following backtrace (all done with guile
> 1.7, quite recent CVS checkout).  

[...]

> Probably I should point out that the (load-plugin pm "gql") method
> call results in loading a C++ plugin that builds up another guile also
> containing classes and methods built with the Goops C API. It seems
> the GOOPS method cache should use a recursive mutex, but doesn't. I'll
> try to patch it too use a recursive mutex and then see if that fixes
> it.

I don't see why we should have a recursive mutex on a method cache.
We are locking the cache of a generic function only during execution
of GOOPS internal administrative code.  It seems to me that the only
occasion where a recursive call could happen is in the apply generic
MOP, but that MOP is not activated yet, and when it is, care will be
taken that deadlock doesn't happen.

Of course, what you see could be the cause of a GOOPS bug, but the
bug, in that case, is probably not associated with cache locking.

If you supply a minimal example, with code, demonstrating the bug, I
will try to assist in finding the problem.

Best regards,
Mikael D.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]