[Tickets #12265] Re: stable IMAP packages throws tons of errors, flooding the mailserver logs until disk overflow.
noreply at bugs.horde.org
noreply at bugs.horde.org
Tue May 21 11:59:06 UTC 2013
BITTE NICHT AUF DIESE NACHRICHT ANTWORTEN. NACHRICHTEN AN DIESE
E-MAIL-ADRESSE WERDEN NICHT GELESEN.
Ticket-URL: http://bugs.horde.org/ticket/12265
------------------------------------------------------------------------------
Ticket | 12265
Aktualisiert Von | torben at dannhauer.info
Zusammenfassung | stable IMAP packages throws tons of errors, flooding the
| mailserver logs until disk overflow.
Warteschlange | Horde Framework Packages
Version | Git master
Typ | Bug
Status | Unconfirmed
Priorität | 1. Low
Milestone |
Patch |
Zuständige |
+Neue Anlage | Socket.php.patch
------------------------------------------------------------------------------
torben at dannhauer.info (2013-05-21 11:59) hat geschrieben:
>> Looking into the file mentioned in the error message, I found that in
>> both cases the parameter $this->_stream is used, but it is NULL
>> instead of a reasource. What can cause this problem?
>
> Nothing. Logging in would have failed if the connection to the
> server could not be established. Even if the connection is broken
> after logging in, _stream will still be a stream resource.
>
> Unless you did something like update Horde_Imap_Client and had
> active sessions which you should never do.
>
> Finally, maybe its a bug in Courier that has not being tickled until
> now. But at a minimum would need an IMAP log (and I can verify that
> I can access a Courier server without any issues).
This even occurs some time after a reboot, so it is certtain nothing
in the context of a wrong update procedure.
It seems to happen if the IMAP server has lots of open connections.
could it happen that the IMAP server invalidates the handle and thus
it is now null?
The error is located in Imap sockets protected function _readStream()
The reason for the flooded error logs is, that the do-while loop is
infinite if the stream is NULL, since the "break;" is only called with
a vaild stream.
So even it seems to be a rare occassion whrer the strem handle is
NULL, the code should handle such a sittuation correctly.
have a code proposal ( see attached patch) which handles the NULL
handle correctly.
Therfore I recommend to check in the loop at first for a null null
handle and exit the loop with break, please see the fix
4190,4193d4189
< if( is_null($this->_stream)) {
< $this->_debug->info("ERROR: Stream is NULL!");
< break;
< }
torben at dannhauer.info (2013-05-21 11:59) hat hochgeladen: Socket.php.patch
http://bugs.horde.org/h/services/download/?module=whups&actionID=download_file&file=Socket.php.patch&ticket=12265&fn=%2FSocket.php.patch
More information about the bugs
mailing list