Hi all, I'm getting the following errors from a piece of code.. (in cleanup) Can't call method "prepare_cached" on unblessed reference at /usr/lib/perl5/site_perl/5.6.0/Apache/Session/Lock/MySQL.pm line 69 during global destruction. (in cleanup) Can't call method "release_all_locks" on an undefined value at /usr/lib/perl5/site_perl/5.6.0/Apache/Session.pm line 576 during global destruction. My initialisation is as follows: $sessionID = param("Session_ID"); # if the sessionID exists but is empty, or is '0', it's counted as a new session if(defined($sessionID)) { if ($sessionID ne "" && $sessionID ne "0") { eval { tie %session, 'Apache::Session::MySQL', $sessionID, { DataSource => $DBDataSource, UserName => $DBUserName, Password => $DBPassword, LockDataSource => $DBDataSource, LockUserName => $DBUserName, LockPassword => $DBPassword }; }; } else { undef $sessionID; } } if(!(defined(%session))) { tie %session, 'Apache::Session::MySQL', undef, { DataSource => $DBDataSource, UserName => $DBUserName, Password => $DBPassword, LockDataSource => $DBDataSource, LockUserName => $DBUserName, LockPassword => $DBPassword }; $sessionID = $session{_session_id}; } # at this point we have: # %session contains all the session info we may have stored # $sessionID is the unique key for this session # # if %session is unset, then the session doesn't exist if(not defined %session) { # well we didn't get a session, so instead of creating a new one, flag an error # -snip- exit; } It's calling this exit, because I've put in debugging calls. That's when I get the above errors, which don't want to go away :( Cheers, Miah