martedì, luglio 24, 2007

Letture disorganizzate

Come in tutti i periodi movimentati o nei quali il lavoro assorbe il 100% del mio tempo (no, niente sconti) la prima distrazione che ne risente è la lettura.
Di solito leggo a letto, prima di dormire (Maria la siciliana si lamentava un tempo: "Legge, legge... ma che legge??") o nel bus, andando in facoltà.
Con la fine dell'anno accademico e l'estate, queste abitudini vengono sconvolte. A letto, quando mi ci metto, è per dormire finalmente del sonno dei giusti mentre il bel tempo mi permette di prendere la bici per andare in ufficio; lo preferisco di gran lunga a un autobus gelido per l'aria condizionata a palla. Tempo per leggere quindi, zero.

Negli ultimi giorni invece, alcune situazioni curiose mi hanno spinto a notare che i libri, se buttati via dalla porta, rientrano di prepotenza dalla finestra. Leggere è un piacere, una necessità. È trasferirsi in altri mondi, vivere nella testa di altri per un breve periodo (modalità che spesso mi ha spinto verso gli ortonimi, come fu scritto in altre situazioni).
Mi sono dunque ritrovato l'altra notte a non volere rientrare a casa. Era tardi, ma avevo un libro nella borsa e l'aria era troppo mite per mettersi in un letto. Quindi è stato alla luce dei lampioni che mi sono seduto in una panchina di quella che chiamo "la rambla di Roma" per finire un libro. Ho letto allore forse uno dei capitoli più densi e ispirati della storia della letteratura (ok, molti non condivideranno, ma non importa poi molto?). Momenti di pura magia, col sorriso stampato sulle labbra e sotto l'arancio cielo della città.

Ora, per via del DEA (tesina dovuta al secondo anno di dottorato e di cui non ho scritto ancora una riga) mi ritrovo a spulciare nelle biblioteche di Barcellona (cioè, non spulcio, faccio trasferire i libri qui alla stazione di Francia e poi spulcio). Mi ritrovo quindi a leggere un curiosamente scritto libro di logica, Reasoning about Uncertainty di Joseph Alpern, allungato sulla scrivania e ascoltando gli Stones. Non so voi, ma la situazione mi pare irreale. Tornare ai vecchi amori è sempre un'esperienza accattivante, qualunque sia la colonna sonora.
A breve fughe nel parco per altre letture...

giovedì, luglio 19, 2007

Ho ucciso Valgrind

Avevo preparato un post diverso, però questo che mi è capitato stanotte lo dovevo segnare da qualche parte, è troppo impressionante. Sicuro che non avete mai visto qualcosa di simile!


[...]
Skipping All searches!

Starting K procedure.

h: 17 [1]
h: 17 , h_ : 16
::::::::::::::::::::::::current action:::CHECKING
==3588==
==3588== Invalid write of size 4
==3588== at 0x806B99E: different_atoms (search.c:2177)
==3588== by 0x806C0B8: apply_closures2 (search.c:2339)
==3588== by 0x806974E: do_k_plan_search (search.c:1157)
==3588== by 0x80493F6: main (main.c:758)
==3588== Address 0xCFB35B0 is 0 bytes after a block of size 1,704 alloc'd
==3588== at 0x40045EB: calloc (vg_replace_malloc.c:279)
==3588== by 0x806BD56: apply_closures2 (search.c:2278)
==3588== by 0x806974E: do_k_plan_search (search.c:1157)
==3588== by 0x80493F6: main (main.c:758)
==3588==
==3588== More than 100000 total errors detected. I'm not reporting any more.
==3588== Final error counts will be inaccurate. Go fix your program!
==3588== Rerun with --error-limit=no to disable this cutoff. Note
==3588== that errors may occur in your program without prior warning from
==3588== Valgrind, because errors are no longer being displayed.
==3588==
--3588-- INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) - exiting
--3588-- si_code=80; Faulting address: 0x0; sp: 0x62437DEC

valgrind: the 'impossible' happened:
Killed by fatal signal
==3588== at 0xB001A6B1: unlinkBlock (m_mallocfree.c:181)
==3588== by 0xB001B3B7: vgPlain_arena_malloc (m_mallocfree.c:1009)
==3588== by 0xB0032EDC: vgPlain_cli_malloc (replacemalloc_core.c:101)
==3588== by 0xB00021C7: vgMAC_calloc (mac_malloc_wrappers.c:192)
==3588== by 0xB0034611: vgPlain_scheduler (scheduler.c:995)
==3588== by 0xB0051173: run_a_thread_NORETURN (syswrap-linux.c:86)

sched status:
running_tid=1

Thread 1: status = VgTs_Runnable
==3588== at 0x40045EB: calloc (vg_replace_malloc.c:279)
==3588== by 0x806C55B: copy_source_to_dest (search.c:2449)
==3588== by 0x8068945: hash_plan_state (search.c:743)
==3588== by 0x8067C5D: do_enforced_hill_climbing (search.c:202)
==3588== by 0x8068FBC: do_k_plan_search (search.c:993)
==3588== by 0x80493F6: main (main.c:758)


Note: see also the FAQ.txt in the source distribution.
It contains workarounds to several common problems.

If that doesn't help, please report this bug to: www.valgrind.org

In the bug report, send all the above text, the valgrind
version, and what Linux distro you are using. Thanks.