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
28Aug/100

Passeggiate in montagna

Un'estate che ricorderà di sicuro per le belle e a volte lunghe passeggiate sui monti (e non...)

Cascatelle dell'Infernaccio

Cascatelle dell'Infernaccio

Al Berro

Al Berro

Scendendo dal Berro

Scendendo dal Berro

Verso Foce

Verso Foce

Redentore

Redentore

17Aug/100

Qualche esperimento fotografico

Utilmamente mi sono divertito un po' sia con la luce che con la composizione. I risultati non sono eccezionali, penso che siano solo decenti, ma mi piacciono comunque poichè non preparati e spontanei.

Uomo e monte

Uomo e monte

Cinema al parco

Cinema al parco

Passeggiata

Passeggiata

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