Forum Noamweb
Non sei collegato [Login - Registrati]
Vai alla fine

Versione per la stampa  
 Pagine:  1  
Autore: Oggetto: Fatal error: session_start(): Failed to initialize storage module
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 24/8/2005 at 17:13
Fatal error: session_start(): Failed to initialize storage module


Salve a tutti,

volevamo segnalarvi che l'errore in oggetto è prodotto da un bug di PHP (ulteriori informazioni all'URL http://bugs.php.net/bug.php?id=32330).

Vi pregherei di discutere il problema e di segnalare gli eventuali workaround da voi sperimentati in questo post.

Grazie.

:saluto:




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Fede
vengo ogni tanto
**




Risposte: 10
Registrato il: 25/8/2005
Utente offline


[*] Inviato il 25/8/2005 at 08:33


Quota:
Originally posted by Shazan
volevamo segnalarvi che l'errore in oggetto è prodotto da un bug di PHP (ulteriori informazioni all'URL http://bugs.php.net/bug.php?id=32330).


Salve a tutti,

in merito a questo bug, ho letto, all'indirizzo riportato da Shazan (grazie), che esso si manifesta nel momento in cui si personalizza la gestione delle sessioni. In particolare è l'uso combinato e sequenziale delle seguenti funzioni:

session_set_save_handler (...)
session_start ()
session_destroy ()
session_start()

che produce l'errore "Fatal error: session_start():... etc"

Allo stesso indirizzo c'è un breve frammento di codice che permette di replicare l'errore (e, in effetti, genera l'errore).

Detto ciò, sul mio sito, pur non usando mai né la funzione session_set_save_handler() né la funzione session_destroy() e in generale senza personalizzare in alcun modo la gestione delle sessioni, in maniera apparentemente aleatoria mi si presenta lo stesso errore. A volte alcune pagine generano questo errore, altre volte (la maggior parte, fortunatamente) no.

Aggiungo che tale errore si presenta da quando è stato aggiornato il PHP alla versione 4.4.0 (almeno, prima di allora non era mai comparso).

Sul mio server di sviluppo (WinXP SP2, Apache1.3.33, PHP 4.3.11) non sono riuscito a replicare l'errore prodotto sul sito, sebbene soffra comunque del bug evidenziato nella pagina di php.net.

Qualcuno ha osservato un comportamento analogo?

Grazie.

[Modificato il 25/8/2005 da Fede]




--
Fede
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 25/8/2005 at 09:46


Non è chiaro se si tratti dello stesso bug ma il problema sembra essere stato evidenziato anche a questo indirizzo: http://bugs.php.net/bug.php?id=25876



View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 25/8/2005 at 10:00


Dal momento che l'errore segnala la difficoltà di inizializzare la sessione, ho pensato che, nonostante lo spazio occupato su /tmp fosse meno del 10%, il problema potrebbe essere dovuto al raggiungimento del limite del numero massimo di file scrivibili in una partizione, e in effetti ciò può accedere se alcuni script non rimuovono ciò che scrivono in /tmp causando l'accumularsi di file "zombie".

Ho rimosso i file più vecchi per cui se Fede mi da conferma che il problema è risolto potremmo essere d'aiuto agli altri poveretti sparsi per il mondo che ancora stanno penando... :sigh:

[Modificato il 25-8-2005 da Shazan]




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Fede
vengo ogni tanto
**




Risposte: 10
Registrato il: 25/8/2005
Utente offline


[*] Inviato il 25/8/2005 at 10:17


Quota:
Originally posted by Shazan

[...]
Ho rimosso i file più vecchi per cui se Fede mi da conferma che il problema è risolto potremmo essere d'aiuto agli altri poveretti sparsi per il mondo che ancora stanno penando... :sigh:

[Modificato il 25-8-2005 da Shazan]


Intanto ti ringrazio per l'aiuto. Purtroppo non sono in grado di dirti subito se il problema si è risolto, in quanto esso si verifica in modo aleatorio, ossia a volte (poche, per fortuna) una certa pagina che normalmente non dà alcun problema restituisce l'errore in questione. Aspettando qualche secondo (a volte qualche minuto) e magari chiudendo il browser il problema non si presenta più - fino alla volta successiva :-(

Nelle prossime ore terrò d'occhio il sito in modo da poterti dare un riscontro relativo all'eliminazione dei file zombie.

Ciao.




--
Fede
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Valentino
Moderatore
******


Avatar


Risposte: 14
Registrato il: 25/11/2004
Utente offline


[*] Inviato il 25/8/2005 at 10:44


Salve,

Il problema in questione risiede nell'archiviazione ("storage") della sessione.

Anche a me è capitato di visualizzare nelle mie applicazioni questo errore, ma mi è bastato effetturare un F5 ed è tutto tornato al suo posto...
... Ma l'errore potrebbe sempre ripresentarsi!

Nell'esempio riportato da un utente nel BUG Track di PHP.net
Codice:
1: session_set_save_handler (...) 2: session_start () 3: session_destroy () 4: session_start()


qui si riapre una sessione (4) dopo ch'è stata rimossa (3), previa inizializzazione della funzione di gestione delle stesse sessioni (1).

Premo a precisare che non sono un Esperto.

http://cvs.php.net/co.php/php-src/ext/session/session.c?r=1....

Codice:
/* Open session handler first */ if (PS(mod)->s_open(&PS(mod_data), PS(save_path), PS(session_name) TSRMLS_CC) == FAILURE) { php_error_docref(NULL TSRMLS_CC, E_ERROR, "Failed to initialize storage module: %s (path: %s)", PS(mod)->s_name, PS(save_path)); return; }


andando alla riga 639, troverete che in quel punto, il codice gestisce proprio questo errore.

Il problema, probabilmente è causato dalla perdita del SID (PHPSESSID), che da anche il nome alla sessione.

Dato che il SID, quando non viene passato tramite le variabili di POST o GET, viaggia con le variabili GLOBALI, che a loro volta se la chiave del php.ini o del .htaccess è impostata ad off (register_global = off | php_flag register_globals off), queste non vengono inizializzate, potrebbe verificarsi questo errore.

[Modificato il 25.8.2005 da Valentino]
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente Questo utente ha un indirizzo MSN
luca
vengo ogni tanto
**




Risposte: 9
Registrato il: 25/7/2005
Utente offline


[*] Inviato il 25/8/2005 at 18:14


Si da qualche giorno che appare questo fastidioso errore

ad esempio
Fatal error: session_start(): Failed to initialize storage module: user (path: /tmp) in /home/eliborg/public_html/gr/securityImageClass.php on line 32

Non appare sempre sempre, ma abbastanza da dare fastidio

Io ho uno script che girava benissimo da due anni a questa parte...

Ora cosa è possibile fare?

[Modificato il 25/8/2005 da luca]

[Modificato il 25/8/2005 da luca]
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 25/8/2005 at 18:47


Ho appena ricompilato PHP senza l'opzione --with-mm che, avendo a che fare con le sessioni, potrebbe aver aggravato il manifestarsi del bug di PHP.

Dal momento che riprodurre quest'errore è particolarmente difficile (io personalmente non sono mai riuscito a visualizzarlo...), vi pregherei di informarmi se quest'intervento ha contribuito a mitigare il problema.

Grazie

:saluto:




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Fede
vengo ogni tanto
**




Risposte: 10
Registrato il: 25/8/2005
Utente offline


[*] Inviato il 25/8/2005 at 20:56


Quota:
Originally posted by Shazan
Ho appena ricompilato PHP senza l'opzione --with-mm che, avendo a che fare con le sessioni, potrebbe aver aggravato il manifestarsi del bug di PHP.


Se può essere utile oggi pomeriggio, intorno alle 17:00, un utente del mio sito ha riscontrato di nuovo l'errore in oggetto. Se non proprio eliminato, sembrerebbe quanto meno ridotto di frequenza rispetto ai giorni precedenti

Quota:
Originally posted by Shazan
Dal momento che riprodurre quest'errore è particolarmente difficile (io personalmente non sono mai riuscito a visualizzarlo...), vi pregherei di informarmi se quest'intervento ha contribuito a mitigare il problema.


Per il momento, da quando hai ricompilato il PHP, l'errore sembrerebbe non essersi più verificato. Domani potrò essere più preciso...

Grazie.




--
Fede
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Fede
vengo ogni tanto
**




Risposte: 10
Registrato il: 25/8/2005
Utente offline


[*] Inviato il 26/8/2005 at 12:03


Fino a questo momento, da quando il PHP è stato ricompilato, l'errore non si è più presentato.



--
Fede
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Fede
vengo ogni tanto
**




Risposte: 10
Registrato il: 25/8/2005
Utente offline


[*] Inviato il 26/8/2005 at 21:16


Per tutta la giornata di oggi il problema non si è presentato. Sembrerebbe tutto a posto... :)

Grazie




--
Fede
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 27/8/2005 at 13:16


Benissimo, anche se non ho trovato nessuna conferma dell'incompatibilità tra PHP 4.4.0 e l'opzione --with-mm che, anzi, è solitamente consigliata. Comunque, la stabilità è più importante delle prestazioni.

Grazie per la collaborazione.

:saluto:




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Livio
vengo ogni tanto
**




Risposte: 38
Registrato il: 13/12/2004
Utente offline


[*] Inviato il 10/9/2005 at 19:37


l'errore si ripresenta... :(



View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 10/9/2005 at 22:20


Sembra strano perché sono diversi giorni che non si presenta.
Sicuro che il database non abbia qualche tabella corrotta? Hai provato il check a corredo con CPanel?




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Livio
vengo ogni tanto
**




Risposte: 38
Registrato il: 13/12/2004
Utente offline


[*] Inviato il 11/9/2005 at 08:28


effettuato il check del db, tutto ok, integro e perfettamente funzionante.

l'errore si presenta nelle stesse modalità segnalate dagli altri utenti.

Bye!
;)




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 11/9/2005 at 08:45


Puoi fornirci via email un link ad una pagina da monitorare che dia l'errore per favore?

Grazie

:saluto:




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Livio
vengo ogni tanto
**




Risposte: 38
Registrato il: 13/12/2004
Utente offline


[*] Inviato il 11/9/2005 at 14:16


mail inviata.



View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 11/9/2005 at 20:07


L'unica soluzione sembra un downgrade alla versione precedente (in corso).



View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 11/9/2005 at 20:26


E' stata ripristinata la versione 4.3.11.
Molto probabilmente la compilazione della versione 4.4.0 produce un binario bacato sul sistema in questione.

Vi prego, come sempre, di tenermi informato sull'eventuale persistere dei malfunzionamenti.

Grazie

:saluto:




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Livio
vengo ogni tanto
**




Risposte: 38
Registrato il: 13/12/2004
Utente offline


[*] Inviato il 12/9/2005 at 06:52


monitoraggio partito, se si dovesse ripresentare l'errore faccio un fischio...

fino ad ora tutto ok.

Bye!
;)

p.s.: grandi come sempre!




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 12/9/2005 at 19:42


Quota:
Originally posted by Livio
p.s.: grandi come sempre!


Grazie! :embaressed:

Abbiamo comunque stabilito che chi dovesse riscontrare ancora questo problema, può richiedere lo spostamento IMMEDIATO E GRATUITO dell'account presso un altro server (previa verifica da parte nostra della presenza dell'errore nei log). Del resto ho notato il problema si verifica su non più di 4 o 5 siti che, evidentemente, fanno un uso intensivo delle sessioni.




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 4/11/2005 at 20:42


Anche se ormai il problema è risolto da tempo, leggevo che con alcune configurazioni del php.ini è importantissimo che la sessione venga inizializzata prima che venga inviato qualsiasi tipo di output alla pagina. Non so se poteva dipendere anche da questo visto che erano sempre le stesse pagine a dare l'errore, però se vi capita di dare un'occhiata al codice potrebbe essere interessante capirci qualcosa.



View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Fede
vengo ogni tanto
**




Risposte: 10
Registrato il: 25/8/2005
Utente offline


[*] Inviato il 4/11/2005 at 23:08


Quota:
Originally posted by Shazan
Anche se ormai il problema è risolto da tempo, leggevo che con alcune configurazioni del php.ini è importantissimo che la sessione venga inizializzata prima che venga inviato qualsiasi tipo di output alla pagina.

Premesso che in tutte le pagine del mio sito la sessione viene inizializzata prima di inviare alcun output al client, questo errore ogni tanto si ripresenta, anche se con minor frequenza (con un certo tempismo, non privo d'ironia, si è ripresentato proprio stasera - per pochi minuti - a cavallo delle 21:00). Di solito l'errore si manifesta per qualche decina di minuti, (e solo su alcune pagine, apparentemente casuali a anche in corrispondenza di pochi accessi al sito) e poi, così come appare, improvvisamente sparisce. Tuttavia non ritengo necessario, per il momento, il trasferimento su un altro server.

Ho preso nota delle ultime 5 "apparizioni" dell'errore attraverso l'error log di cPanel. Se pensate che possano esservi d'aiuto posso riportarvi le date e gli orari. Se inoltre credete che possa in qualche modo aiutarvi a capirne la causa, nei limiti del possibile, sono a vostra disposizione.

Saluti




--
Fede
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1425
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 5/11/2005 at 08:09


Un utente (comprensibilmente irritato per il fatto che gli sviluppatori di PHP sembrano ignorare questo bug) sostiene di aver risolto il problema. Vedasi l'ultimo post all'URL http://bugs.php.net/bug.php?id=25876



View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Fede
vengo ogni tanto
**




Risposte: 10
Registrato il: 25/8/2005
Utente offline


[*] Inviato il 5/11/2005 at 10:00


Quota:
Originally posted by Shazan
Un utente (comprensibilmente irritato per il fatto che gli sviluppatori di PHP sembrano ignorare questo bug) sostiene di aver risolto il problema. Vedasi l'ultimo post all'URL http://bugs.php.net/bug.php?id=25876

Intanto grazie per la segnalazione.
Mi sembra di capire che l'autore di quel post inviti a indicare esplicitamente il modulo storage (files) da impiegare per salvare il file della sessione sul server usando la funzione PHP sessione_module_name(), giusto?

A tal proposito, sul mio server di sviluppo, ho provato a indicare come modulo di storage non "files", ma "user" ed ecco che mi è apparso l'errore: «Fatal error: session_start(): Failed to initialize storage module: user... » Identico a quello in questione. Verrebbe quasi da pensare che il PHP per qualche motivo improvvisamente non più in grado di usare il modulo di storage di default (files) usasse il modulo "user", con la conseguente generazione dell'errore. Ma è solo un'ipotesi...

Comunque, ora ho introdotto la modifica indicata sopra e vi terrò aggiornati sull'effetto prodotto.

Grazie.




--
Fede
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
 Pagine:  1  

  Vai all'inizio

Powered by XMB 1.9.11
XMB Forum Software © 2001-2012 The XMB Group