Post  |  Commenti

20th
FEB

Comportamento anomalo in Safari con tag IMG

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted by redsend | Filed under BugFix

Oggi ho passato più di 6 ore per correggere un bug.

Scrivo questo post per aiutare quei poveri programmatori che si troveranno nella mia stessa situazione. Brevemente spiegherò i sintomi che venivano rilevati nell’applicazione web e poi vi illustrerò da cosa dipendeva il problema e come viene risolto.

I sintomi che si presentavano era un azzeramento anomalo della sessione, venivano resettate alcune variabili in sessione e rigenerati alcuni codici di controllo che quindi compromettevano il flusso tra le pagine web dell’applicazione. I cookie erano impostati correttamente e con durata infinita, quindi non poteva essere un problema di scadenza dei cookie. I file della sessione erano scrivibili e venivano correttamente aggiornati in altri casi e quindi non poteva essere un problema di permessi sui file della sessione, altrimenti l’errore si sarebbe presentato a monte. L’errore accadeva solo utilizzando Safari e con Firefox questo non accadeva, il che complicava ancora di più le cose perché trattandosi di sessioni PHP e quindi di script che vengono eseguiti lato server non aveva alcun senso che su un browser funzionasse mentre sull’altro no.

L’errore che era stato commesso era un tag immagine con l’attributo src uguale a stringa vuota (src=”" per intenderci).

In questo caso Firefox semplicemente eliminava l’immagine dal flusso HTML e quindi non accadeva nulla di strano, mentre Safari, il buono e caro Safari (sto cercando di trattenermi dal rompere tutto), cosa fà? Suppone che per qualche arcano motivo l’immagine inserita senza path si trovi nell’indirizzo della pagina php invocata e quindi effettua un secondo chiamata alla pagina che compromette tutto il funzionamento della sessione PHP e del flusso che stavano seguendo le pagine.

Per farmi capire meglio la pagina chiamata ad esempio era index.php e Safari trovando un tang IMG con src=”" sostituisce all’indirizzo dell’immagine index.php, quindi otteniamo una cosa del genere: src=”index.php”, in che corrisponde ad una seconda invocazione della pagina index.php che potrebbe, come nel mio caso, compromettere il flusso che si stava seguendo attraverso form etc… questo perché, ad esempio, nell’invocazione di index.php senza nessun parametro e sottomissione di form, veniva esegueto l’azzeramento della sessione…

Bhè ottimo lavoro da parte di quelli di Safari per questa emerita scelta progettuale… e spero di aver risparmiato tante ore di debug ad altri poveri programmatori che si troveranno in questa situazione.

Tags: > > > >

4th
NOV

Eclipse e il problema copia/incolla su kde

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted by raphe | Filed under BugFix, Linux, Programmi

Nel titolo è menzionato eclipse ma l’articolo si adatta comunque a qualsiasi IDE Eclipse-based, quindi se avete problemi col taglia/copia/incolla con Aptana o Zend Studio o qualsiasi altro va bene lo stesso.

Di che problema sto parlando? Chi utilizza uno di questi editor in ambiente kde avrà notato che il taglia/copia/incolla non funziona come dovrebbe: quando si copia del testo viene incollato il precedente, o ne viene incollato solo un pezzo e, peggio ancora, quando si taglia qualcosa poi non si riesce più ad incollarlo…perdendolo! Il problema si presenta solo con le scorciatoie da tastiera e non con l’uso del click destro.

Il problema sta nella fase di taglia/copia ed è dovuto ad un qualche tipo di conflitto con klipper, il gestore degli appunti di kde. Infatti pare che il problema non si presenti sotto ambiente Gnome.

Nel bugtrace di eclipse questo bug è segnalato da anni ma non è mai stato risolto, incredibile!

Per risolvere il problema ci sono due modi:

  • Workaround: quando copiate il testo premete due volte ctrl+c e quando tagliate del testo premete prima ctrl+c e poi ctrl+x. Al momento dell’incolla tutto dovrebbe funzionare. Per qualche strano motivo premendo due volte i tasti il testo selezionato viene inserito correttamente in klipper.
  • Drastico: chiudete klipper. Se non usate le funzionalità di klipper potete benissimo non eseguirlo all’avvio del sistema e il problema non si presenterà.
  • Consigliato: come segnalato qui, click destro su klipper > configura klipper > togliete la spunta a “prevent empty clipboard”. Ora dovrebbe funzionare tutto!
Tags: > > > > > > > > >

10th
DIC

Gentoo, vmware-modules e kernel 2.6.26

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted by raphe | Filed under BugFix, Linux

Dopo l’aggiornamento del kernel alla versione 2.6.26 potreste aver problemi con l’aggiornamento di vmware-modules. Un errore simile a questo:

Using 2.6.x kernel build system.
make -C /usr/src/linux/include/.. M=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.26-gentoo-r3'
make[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.

WARNING: Symbol version dump /usr/src/linux-2.6.26-gentoo-r3/Module.symvers
is missing; modules will have no dependencies and modversions.

CC [M]  /var/tmp/portage/app-emulation/vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.o
/var/tmp/portage/app-emulation/vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:171: error: unknown field ‘nopage’ specified in initializer
/var/tmp/portage/app-emulation/vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:172: warning: initialization from incompatible pointer type
/var/tmp/portage/app-emulation/vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:175: error: unknown field ‘nopage’ specified in initializer
/var/tmp/portage/app-emulation/vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.c:176: warning: initialization from incompatible pointer type
make[3]: *** [/var/tmp/portage/app-emulation/vmware-modules-1.0.0.15-r1/work/vmmon-only/linux/driver.o] Error 1
make[2]: *** [_module_/var/tmp/portage/app-emulation/vmware-modules-1.0.0.15-r1/work/vmmon-only] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.26-gentoo-r3′
make: *** [vmmon.ko] Error 2
*
* ERROR: app-emulation/vmware-modules-1.0.0.15-r1 failed.
* Call stack:
*               ebuild.sh, line   49:  Called src_compile
*             environment, line 3208:  Called linux-mod_src_compile
*             environment, line 2427:  Called die
* The specific snippet of code:
*               eval “emake HOSTCC=\”$(tc-getBUILD_CC)\”                                               CROSS_COMPILE=${CHOST}-                                          LDFLAGS=\”$(get_abi_LDFLAGS)\”                                           ${BUILD_FIXES}                                          ${BUILD_PARAMS}                          ${BUILD_TARGETS} ” || die “Unable to emake HOSTCC=”$(tc-getBUILD_CC)” CROSS_COMPILE=${CHOST}- LDFLAGS=”$(get_abi_LDFLAGS)” ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}”;
*  The die message:
*   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=   auto-build VMWARE_VER=VME_S1B1 KERNEL_DIR=/usr/src/linux KBUILD_OUTPUT=/usr/src/linux
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at ‘/var/tmp/portage/app-emulation/vmware-modules-1.0.0.15-r1/temp/build.log’.
* The ebuild environment file is located at ‘/var/tmp/portage/app-emulation/vmware-modules-1.0.0.15-r1/temp/environment’.

Vediamo come risolverlo.

Leggi il resto…

Tags: > > > > >
Il contenuto di questo Blog è rilasciato sotto Licenza Creative Commons (Leggi)