Skip to content

Application crashes when reading from socket fails #5

@ralflang

Description

@ralflang

am trying to create Ingo filter rules, but getting authentication errors when saving the rule and when enabling the whitelist it crashes with following error
A fatal error has occurred

Error reading data from socket

in /opt/local/www/apache2/horde/vendor/horde/socket_client/lib/Horde/Socket/Client.php:207

  1. require_once() /opt/local/www/apache2/horde/web/ingo/basic.php:3
  2. Ingo_Basic_Base->__construct() /opt/local/www/apache2/horde/vendor/horde/ingo/basic.php:31
  3. Ingo_Basic_Whitelist->_init() /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Basic/Base.php:49
  4. Ingo_Factory_Script->activateAll() /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Basic/Whitelist.php:47
  5. Ingo_Script_Base->activate() /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Factory/Script.php:200
  6. Ingo_Transport_Timsieved->setScriptActive() /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Script/Base.php:407
  7. Ingo_Transport_Timsieved->_connect() /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Transport/Timsieved.php:106
  8. Horde\ManageSieve\Client->__construct() /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Transport/Timsieved.php:77
  9. Horde\ManageSieve\Client->_handleConnectAndLogin() /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php:220
  10. Horde\ManageSieve\Client->login() /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php:248
  11. Horde\ManageSieve\Client->_cmdAuthenticate() /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php:397
  12. Horde\ManageSieve\Client->_doCmd() /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php:622
  13. Horde\ManageSieve\Client->_recvLn() /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php:987
  14. Horde\Socket\Client->gets() /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php:940

Details

The full error message is logged in Horde's log file, and is shown below only to administrators. Non-administrative users will not see error details.

Horde\Socket\Client\Exception Object
(
[message:protected] => Error reading data from socket
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => /opt/local/www/apache2/horde/vendor/horde/socket_client/lib/Horde/Socket/Client.php
[line:protected] => 207
[trace:Exception:private] => Array
(
[0] => Array
(
[file] => /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php
[line] => 940
[function] => gets
[class] => Horde\Socket\Client
[type] => ->
)

        [1] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php
                [line] => 987
                [function] => _recvLn
                [class] => Horde\ManageSieve\Client
                [type] => ->
            )

        [2] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php
                [line] => 622
                [function] => _doCmd
                [class] => Horde\ManageSieve\Client
                [type] => ->
            )

        [3] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php
                [line] => 397
                [function] => _cmdAuthenticate
                [class] => Horde\ManageSieve\Client
                [type] => ->
            )

        [4] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php
                [line] => 248
                [function] => login
                [class] => Horde\ManageSieve\Client
                [type] => ->
            )

        [5] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/managesieve/src/Client.php
                [line] => 220
                [function] => _handleConnectAndLogin
                [class] => Horde\ManageSieve\Client
                [type] => ->
            )

        [6] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Transport/Timsieved.php
                [line] => 77
                [function] => __construct
                [class] => Horde\ManageSieve\Client
                [type] => ->
            )

        [7] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Transport/Timsieved.php
                [line] => 106
                [function] => _connect
                [class] => Ingo_Transport_Timsieved
                [type] => ->
            )

        [8] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Script/Base.php
                [line] => 407
                [function] => setScriptActive
                [class] => Ingo_Transport_Timsieved
                [type] => ->
            )

        [9] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Factory/Script.php
                [line] => 200
                [function] => activate
                [class] => Ingo_Script_Base
                [type] => ->
            )

        [10] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Basic/Whitelist.php
                [line] => 47
                [function] => activateAll
                [class] => Ingo_Factory_Script
                [type] => ->
            )

        [11] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/ingo/lib/Basic/Base.php
                [line] => 49
                [function] => _init
                [class] => Ingo_Basic_Whitelist
                [type] => ->
            )

        [12] => Array
            (
                [file] => /opt/local/www/apache2/horde/vendor/horde/ingo/basic.php
                [line] => 31
                [function] => __construct
                [class] => Ingo_Basic_Base
                [type] => ->
            )

        [13] => Array
            (
                [file] => /opt/local/www/apache2/horde/web/ingo/basic.php
                [line] => 3
                [args] => Array
                    (
                        [0] => /opt/local/www/apache2/horde/vendor/horde/ingo/basic.php
                    )

                [function] => require_once
            )

    )

[previous:Exception:private] =>
[logged] => 1
[extraDetails:protected] =>
[isLogged:Horde\Exception\HordeException:private] =>
[_logLevel:protected] => 0

)

Expected: Reading from socket failed does not fatally crash the application but gives the user feedback he can act upon, i.e. retry

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions