[Mixminion-it] Compilazione Mixminion
dirtydog a autistici.org
dirtydog a autistici.org
Ven 5 Nov 2010 00:46:57 CET
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ciao,
> [...]
>> Subito prima dell'output riportato da te io ho
>>
>> ERROR: test_clearableQueue (mixminion.test.MiscTests)
>> Traceback (most recent call last):
>>
>> File "build/lib.linux-i686-2.6/mixminion/test.py", line 787, in
>> test_clearableQueue
>>
>> q.clear()
>>
>> File "build/lib.linux-i686-2.6/mixminion/ThreadUtils.py", line 51, in
>> clear
>>
>> if self._empty(): return
>>
>> AttributeError: ClearableQueue instance has no attribute '_empty'
> [...]
>> Potrebbe essere qui la causa? Da quel che ho capito la classe
>> ClearableQueue deriva dalla classe (standard?) Queue. Questa non ha il
>> metodo _empty(), bensi` empty(). Un typo? E` cambiata la classe Queue?
>>
ho scoperto che _empty() e` un metodo privato della classe base Queue
[1], che non viene visto dalla classe derivata a causa di come python
tratta i _ .
Purtroppo empty() blocca un mutex e per qualche strano motivo questo
mette in deadlock alcuni dei test, il primo e` "test_clearableQueue".
Copiando la definizione di _empty() tutti i test sono andati a buon fine.
In allegato la patch.
Lorenzo
[1]
http://svn.python.org/projects/python/branches/release21-maint/Lib/Queue.py
>
> Da quello che ho capito io, nella Queue originale della versione di
> python su cui stavano sviluppando,
> non esistevano ne la possibilità di cancellare tutta la coda in un
> colpo solo ne quella di impostare un timeout,
> per cui hanno creato due classi: ClearableQueue e TimeoutQueue per farlo.
> Non riesco a capire se siano subclass della classe Queue originale o
> meno, perché
> quello che avviene è questo:
>
> # Imported here so we can get it in mixminion.server without being shadowed
> # by the old Queue.py file.
> from Queue import Queue, Empty
> MessageQueue = Queue
> QueueEmpty = Empty
> del Queue
> del Empty
>
> ma non so che effetto abbia il comando "del Classe"
> tuttavia, nelle versioni attuali di Python, il modulo Queue gestisce
> sicuramente il timeout, mentre
> non sono sicuro della cancellazione della coda, idealmente si potrebbe
> fare a meno delle classi speciali
> create da mixminion e usare quelle standard.
>
> Ho anche cercato il metodo _emtpy e in effetti non esiste in
> ThreadUtils, ma purtroppo per noi questa volta non credo si tratti di
> un typo,
> perché rinominandolo in empty il test rimane appeso con questo output:
>
>
> running run
> running build
> running build_py
> running build_ext
> running build_scripts
> copying and adjusting build/mixminion -> build/scripts-2.6
> copying and adjusting build/mixminiond -> build/scripts-2.6
> ....
>
> siamo ad un punto morto :P
>
> Luigi
> _______________________________________________
> Mixminion-it mailing list
> Mixminion-it a winstonsmith.org
> http://lists.winstonsmith.org/mailman/listinfo/mixminion-it
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkzTRecACgkQj5JKviTtwDw6lwCdE/mrFZds86IT03GX4pUfw6Fy
NjwAmgPqCNCCvnfOqCHVhaMpk9VI2EH+
=CV+m
-----END PGP SIGNATURE-----
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: ThreadUtils.py.patch
Tipo: text/x-patch
Dimensione: 124 bytes
Descrizione: non disponibile
URL: <http://lists.winstonsmith.org/pipermail/mixminion-it/attachments/20101105/243511f0/attachment.bin>
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: ThreadUtils.py.patch.sig
Tipo: application/pgp-signature
Dimensione: 72 bytes
Descrizione: non disponibile
URL: <http://lists.winstonsmith.org/pipermail/mixminion-it/attachments/20101105/243511f0/attachment.pgp>
More information about the Mixminion-it
mailing list