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

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/ex...c?r=1.336.2.50

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, si trova 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 (probabilmente) 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, e quindi potrebbe verificarsi questo errore.