[Debtags-devel] Any Idea why this fails?

Benjamin Mesing bensmail@gmx.net
Wed, 15 Sep 2004 11:58:03 +0200


> There is an hint: in the last version iirc I introduced expanding of
> tags using the Equivs: fields, and the fault is in that code.  Try
> protecting the load with a mutex, to see if it would solve the problem.
As I expected this does not solve the problem. The mutex is not locked
when the action (triggered asynchron) reaches the code, which is not
surprising as it can happen hours after the first call (as I said it is
triggered by user interaction). 
I still do not have a clear idea why this happen, but I can try to
explain when:
- updateDebtags() is the function which calls
  Debtags::TagDB::outputSystem()
- updateDebtags() resides in a dynamic library which can be loaded and
  unloaded at runtime.

The following scenarios exist:
A - works
      * loading the library and in the initialization code calling
        updateDebtags() twice
        
B - does not work
      * loading the library and in in the initialization code calling
        updateDebtags()
      * calling updateDebtags() (asynchronus triggered by the user)
        later

C - works
      * loading the library and in in the initialization code calling
        updateDebtags()
      * unloading the library
      * loading the library (asynchronus triggered by the user) and in
        the initialization code calling updateDebtags()

Hope this can give you a clue - or perhaps ensures that with the update
you spoke about will make the problem dissapear. It would be great if
you could do this update soon as I would really like to release a new
version of Debian Package Search, which comes with the option to hide
facets to reduce complexity.
As a side note I would like to mention that for the facets the short and
long descriptions contain only the facet name. That is something that
should also be fixed.

Greetings Ben