perSbaglio …storie da un “blogger” nato per sbaglio

19Sep/100

Gtk+ TreeSortModel ed oscuri segfaults

Ho passato tutta questa domenica mattina cercando di risolvere questo strano bug che si verificava in Vala Toys

A differenza di quanto scritto nel bug report dopo un po' di prove ho notato:

  • non era dovuto al multithread implementato nel parser di Vala Toys
  • era di facile riproduzione, ma si verificava solo con un determinato file sorgente incluso nel progetto di esempio di waf
  • non dipendeva da qualche stato interno del modello in quando si verificava anche ricreando ogni volta il sortmodel da zero

Dopo svariate ore ne sono venuto fuori anche grazie a questo post che, sebbene non del tutto pertinente, mi ha quanto meno messo una pulce nell'orecchio: ricontrollare la funzione utilizzata per il sort.

Ed ecco che gira e rigira noto subito un bug alla riga 539 di vtgutils.vala dove erroneamente utilizzo la variabile vala invece che valb, ma soprattutto mi rendo conto che la funzione cosi' come è scritta non è asimmetrica (caratteristica richiesta dalla documentazione della GtkTreeIterCompareFunc).

Quest'ultimo errore è anche confermato dall'output di debug che avevo aggiunto al codice e spiega anche come mai il segfault lo avessi solo con quel determinato sorgente:

...
ValaToys-INFO: vtgsourceoutlinerview.vala:375: compare constructor:Sample vs new result: -1
...
ValaToys-INFO: vtgsourceoutlinerview.vala:375: compare new vs constructor:Sample result: -1

Sistemato quest'ultimo dettaglio il segfault è magicamente scomparso.

Da ciò ho imparato:

  1. Se un'implentazione è errata anche se sembra un errore innocuo, il segfault è sempre dietro l'angolo
  2. E' umanamente possibile superare il limite fissato dal 'Moccolo a Delta di Dirac'

P.S.

E' uscito Vala Toys versione 0.10.0

Tagged as: No Comments
17Jul/100

uChumby Client: un aggiornamento

Direi che la versione zero è finalmente pronta, ora non mi rimane che:

  1. Vedere come si implementa una External Music Source con il Chumby framework
  2. Irrobustire il codice che dialoga in rete con uChumby server
  3. Implementare un minimo di skin per i controlli in modo da rendere più gradevole l'interfaccia
  4. Implementare un pannello di configurazione

Altro giro altra bambolina: uchumby2.mp4

Tagged as: , , No Comments
17Jul/100

uChumby Client

Un client per il server uChumby (un brigde fra UPnP e Chumby) o meglio ancora: Andrea vs. Actionscript  1- 0!

C'è ancora moltissimo da fare, ma qualche cosa si muove finalmente: uchumby.3gp

Chiedo venia per la qualità sia video che audio, ma questo é quello che passa il convento ;)

3Jul/100

uChumby Server

Vi ricordate di questa stupida idea che avevo avuto?

Finalmente è pronto un primo prototipo funzionante del webserver che fa da bridge verso la rete Universal Plug'n'Play.

uChumby Server

uChumby Server

Ora non ho altre scuse per non imparare un po' di ActionScript

Tagged as: , No Comments
29Jun/100

E’ nata un’altra criatura

Proprio nel suo stile "piano, piano... pacatamente" si è trovata uno spazio su web e si è manifestata crescendo ad una inspettata velocità.

Benvenuta RhythmPnP!

Tagged as: No Comments