Schlagwörter: 

Ansicht von 6 Antwort-Themen
  • Autor
    Beiträge
    • #31967

      Hello

      After we migrated to OTOBO 11 from an OTRS 6, there is an issue that arises while using the customer interface while trying to create a new case.

      There is an error saying that the page has changed and needs to be reloaded and then it hangs

      In the logs it shows the following error message

      Fri Sep 06 14:43:27.936658 2024] [perl:error] [pid 14400:tid 14400] [client 172.20.16.245:56496] encountered object ‚0‘, but neither allow_blessed, convert_blessed nor allow_tags settings are enabled (or TO_JSON/FREEZE method missing) at /opt/otobo/bin/psgi-bin/../../Kernel/System/JSON.pm line 131.\n, referer: https://172.20.0.87/otobo/customer.pl?Action=CustomerTicketMessage

       

      It kind of dissapears afeter restarting apache, but then it shows up again.

      Has anyone resolved this issue?

       

      Best Regards

       

      Alvaro C

    • #32109

      Has any one found this issue, we couldn’t let the migrated system in OTOBO 11, we had to rollback to OTOBO 10.1.9 because of this issue.

       

    • #33125
      zzz
      Teilnehmer

        Hey,

        In case someone else faces this issue: Remove libjson-xs-perl and try the package libcpanel-json-xs-perl or install JSON::XS via cpan/cpanm.

        Best
        Emin

      • #33795
        bes
        Teilnehmer

          Hi Alvaro,

          I didn’t check explicitly why this error occurs in your case. But it sounds similar to an issue that was reported in a different context. You could try the solution that was proposed there: https://github.com/RotherOSS/otobo/issues/3765#issuecomment-2480034502 .

          Best regards,

          Bernhard

           

        • #34297
          Christian Bartel
          Teilnehmer

            Hello!

            sadly have to bring up that topic again.
            Last friday we upgraded one of our customers from OTOBO 10.1.7 to 11.0.7 – and now a part of their agents is experiencing several problems in the Agent-Webinterface, which all trigger this exact error-message like mentioned above:

            encountered object ‚0‘, but neither allow_blessed, convert_blessed nor allow_tags settings are enabled (or TO_JSON/FREEZE method missing) at /opt/otobo/bin/psgi-bin/../../Kernel/System/JSON.pm line 131.\n

            The interesting part about it:
            this happens only to users utilizing SingleSingOn/Kerberos for their login, which is handled by a apache2 webserver.
            These users can successfully login, but basically every action within the Agent-WebGUI triggers this error.
            All users signing in directly have no problems whatsoever, which is why it took us a while to realize that there is a problem at all.

            We tried the fixes mentioned by Emin, as well as the solution linked by Bernhard – so far none of it helped for our SSO-Users.

            Maybe someone has another idea where this might come from or why it affects only SSO-Users?

            Thank you and best regards,
            Christian

            • #34298
              zzz
              Teilnehmer

                Hello Christian,

                Have you tried to install the Perl module JSON::XS (like: “cpanm -n -q JSON::XS”)?

                Best
                Emin

              • #34300
                bes
                Teilnehmer

                   

                  Hi Christian,

                  I looked at line 131 of Kernel/System/JSON.pm. This is in the method Encode() which is basically generating JSON. The error message says that the input parameter Data`, which  should be encoded, is the string ‚0‘ which has been blessed into an object. My guess is that this parameter is some kind of Boolean object. All JSON modules have to be told what to do with objects. This hasn’t been done in Kernel/System/JSON.pm as Encode() is not meant to serialize object.

                  My advice is the advice of an developper. Do a quick adaption of Kernel/System/JSON.pm and print out the call stack and the parameter Data. This can be done with Data::Dumper and Carp::cluck(). Then it should become obvious who is passing that unexpected parameter. My guess is that it is a custom module on your installation. The fix would be to pass the plain strings ‚1‘ or ‚0‘.

                  Best regards,

                  Bernhard

              • #34299
                Christian Bartel
                Teilnehmer

                  Hi Emin,

                  thank you for that very quick response!

                  We’ve tried libjson-xs-perl, libcpanel-json-xs-perl via apt-packagemanager, as well as installing JSON::XS via cpan.
                  But as mentioned, libjson-xs-perl together with the adaption by Bernhard is functional for all our non-SSO-Users.
                  So what baffles me the most right now is how/why the authentication-method of the agent has anything to do with that problem.

                  Best regards,
                  Christian

                • #34366
                  Christian Bartel
                  Teilnehmer

                    Hello Bernhard,
                    thank you for your response!

                    We don’t have any custom modules running in this OTOBO-Instance. Also, by now, there are barely any packages installed anymore since i tried to narrow down where the error might come from.
                    We got some dumps, like you proposed – triggered the error (in this case trying to open the Calendar with an AgentUser who is authenticated via SSO)…
                    the following is the resulting output:

                    ====================================================
                    Data:
                    $VAR1 = {
                    'IsRTLLanguage' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                    'CustomerInfoSet' => '1',
                    'CheckSearchStringsForStopWords' => 0,
                    'CustomerPanelSessionName' => 'OTOBOCustomerInterface',
                    'SessionIDCookie' => '***',
                    'VideoChatEnabled' => undef,
                    'SessionUseCookie' => '1',
                    'WebMaxFileUpload' => '240000000',
                    'Baselink' => '/otobo/index.pl?',
                    'SearchFrontend' => '',
                    'NavbarOrderItems' => '',
                    'InputFieldsActivated' => '1',
                    'OverviewScreen' => 'CalendarOverview',
                    'CheckEmailAddresses' => '1',
                    'MenuDragDropEnabled' => '1',
                    'OpenMainMenuOnHover' => '1',
                    'CalendarWeekDayStart' => '1',
                    'SessionID' => '***',
                    'Refresh' => undef,
                    'CGIHandle' => '/otobo/index.pl',
                    'Action' => 'AgentAppointmentCalendarOverview',
                    'WebPath' => '/otobo-web/',
                    'ChallengeToken' => '***',
                    'UserLanguage' => 'de',
                    'IncludeUnknownTicketCustomers' => '0',
                    'Autocomplete' => {
                    'DynamicFieldDBSearch' => {
                    'AutoCompleteActive' => '1',
                    'QueryDelay' => '100',
                    'MaxResultsDisplayed' => '20',
                    'MinQueryLength' => '2',
                    'ButtonText' => 'Kunden suchen'
                    },
                    'DynamicFieldContactWD' => {
                    'AutoCompleteActive' => '1',
                    'QueryDelay' => '100',
                    'MaxResultsDisplayed' => '20',
                    'MinQueryLength' => '2',
                    'ButtonText' => 'Suche'
                    },
                    'CustomerSearch' => {
                    'QueryDelay' => '100',
                    'AutoCompleteActive' => '1',
                    'MaxResultsDisplayed' => '20',
                    'ButtonText' => 'Kunden suchen',
                    'MinQueryLength' => '2'
                    },
                    'UserSearch' => {
                    'QueryDelay' => '100',
                    'AutoCompleteActive' => '1',
                    'ButtonText' => 'Benutzer suchen',
                    'MinQueryLength' => '2',
                    'MaxResultsDisplayed' => '20'
                    },
                    'DynamicFieldReference' => {
                    'MaxResultsDisplayed' => '20',
                    'MinQueryLength' => '2',
                    'ButtonText' => 'Suche',
                    'AutoCompleteActive' => '1',
                    'QueryDelay' => '100'
                    },
                    'Default' => {
                    'MaxResultsDisplayed' => '20',
                    'MinQueryLength' => '2',
                    'ButtonText' => 'Suche',
                    'AutoCompleteActive' => '1',
                    'QueryDelay' => '100'
                    }
                    },
                    'Subaction' => '',
                    'SessionName' => 'OTOBOAgentInterface',
                    'RichTextSet' => '1',
                    'PendingStateIDs' => [
                    7,
                    8,
                    13,
                    6,
                    16
                    ]
                    };

                    Stack:
                    TEST at /opt/otobo-11.0.7/bin/psgi-bin/../../Kernel/Output/Template/Document.pm line 242.
                    ------------------------------------------------------
                    ====================================================
                    Data:
                    $VAR1 = {
                    'InputFieldsActivated' => '1',
                    'NavbarOrderItems' => '',
                    'Baselink' => '/otobo/index.pl?',
                    'SearchFrontend' => '',
                    'CheckEmailAddresses' => '1',
                    'OverviewScreen' => 'CalendarOverview',
                    'CalendarWeekDayStart' => '1',
                    'MenuDragDropEnabled' => '1',
                    'OpenMainMenuOnHover' => '1',
                    'VideoChatEnabled' => undef,
                    'SessionUseCookie' => '1',
                    'IsRTLLanguage' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                    'CustomerInfoSet' => '1',
                    'CheckSearchStringsForStopWords' => 0,
                    'CustomerPanelSessionName' => 'OTOBOCustomerInterface',
                    'SessionIDCookie' => '***',
                    'WebMaxFileUpload' => '240000000',
                    'UserLanguage' => 'de',
                    'IncludeUnknownTicketCustomers' => '0',
                    'WebPath' => '/otobo-web/',
                    'ChallengeToken' => '***',
                    'RichTextSet' => '1',
                    'PendingStateIDs' => [
                    7,
                    8,
                    13,
                    6,
                    16
                    ],
                    'Autocomplete' => {
                    'DynamicFieldDBSearch' => {
                    'AutoCompleteActive' => '1',
                    'QueryDelay' => '100',
                    'MaxResultsDisplayed' => '20',
                    'MinQueryLength' => '2',
                    'ButtonText' => 'Kunden suchen'
                    },
                    'DynamicFieldContactWD' => {
                    'AutoCompleteActive' => '1',
                    'QueryDelay' => '100',
                    'MaxResultsDisplayed' => '20',
                    'MinQueryLength' => '2',
                    'ButtonText' => 'Suche'
                    },
                    'CustomerSearch' => {
                    'QueryDelay' => '100',
                    'AutoCompleteActive' => '1',
                    'MaxResultsDisplayed' => '20',
                    'ButtonText' => 'Kunden suchen',
                    'MinQueryLength' => '2'
                    },
                    'UserSearch' => {
                    'QueryDelay' => '100',
                    'AutoCompleteActive' => '1',
                    'ButtonText' => 'Benutzer suchen',
                    'MinQueryLength' => '2',
                    'MaxResultsDisplayed' => '20'
                    },
                    'DynamicFieldReference' => {
                    'MaxResultsDisplayed' => '20',
                    'MinQueryLength' => '2',
                    'ButtonText' => 'Suche',
                    'AutoCompleteActive' => '1',
                    'QueryDelay' => '100'
                    },
                    'Default' => {
                    'MaxResultsDisplayed' => '20',
                    'MinQueryLength' => '2',
                    'ButtonText' => 'Suche',
                    'AutoCompleteActive' => '1',
                    'QueryDelay' => '100'
                    }
                    },
                    'Subaction' => '',
                    'SessionName' => 'OTOBOAgentInterface',
                    'SessionID' => '***',
                    'Refresh' => undef,
                    'CGIHandle' => '/otobo/index.pl',
                    'Action' => 'AgentAppointmentCalendarOverview'
                    };

                    Stack:
                    TEST at /opt/otobo-11.0.7/bin/psgi-bin/../../Kernel/Output/Template/Document.pm line 242.
                    ------------------------------------------------------

                    For my (uneducated) eyes, it looks like „IsRTLLanguage“ might be (a part of) the Problem.
                    Then again, PERL – or in general programming – is not exactly my strongsuit..

                    Thank you and best regards,
                    Christian

                Ansicht von 6 Antwort-Themen
                • Du musst angemeldet sein, um auf dieses Thema antworten zu können.