Schlagwörter: JSON Boolean SSO
-
AutorBeiträge
-
-
7. September 2024 um 0:04 Uhr - Views: 225 #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
-
19. September 2024 um 18:13 Uhr #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.
-
5. November 2024 um 13:25 Uhr #33125
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 -
13. Dezember 2024 um 15:27 Uhr #33795
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
-
25. Februar 2025 um 12:09 Uhr #34297
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-
25. Februar 2025 um 12:19 Uhr #34298
Hello Christian,
Have you tried to install the Perl module JSON::XS (like: “cpanm -n -q JSON::XS”)?
Best
Emin -
25. Februar 2025 um 16:58 Uhr #34300
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 withData::Dumper
andCarp::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
-
-
25. Februar 2025 um 13:10 Uhr #34299
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 -
3. März 2025 um 12:47 Uhr #34366
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
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.