20 Dec 2023, 15:05

Hello,

Recently the API endpoint for ticket retrieval stopped working. When trying to retrieve ticket information, we get the following error: Maximum execution time of 30 seconds exceeded in my_uvdesk_path/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php on line 179 .

When we go back up the error 500 call stack, we see that the error appears on line 338 of .../vendor/uvdesk/api-bundle/Tickets.php with the objectSerializer method:
338 $ticket = json_decode($this->objectSerializer($ticketObj), true);

For your information, we've been noticing slowdowns on our server for about 2 weeks now when executing PHP scripts and UVdesk, and the PHP used by UVdesk is in Apache 2.0 Handler (Server API) mode.

Has anyone experienced this problem with the bundle API?

Here is the call stack returned by error 500:

#	Time	Memory	Function	Location
1	0.0002	358976	{main}	.../index.php:0
2	0.0002	359472	require_once	.../index.php:5
3	0.0199	438856	Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run	.../autoload_runtime.php:35
4	0.0199	438856	Symfony\Component\HttpKernel\Kernel->handle	.../HttpKernelRunner.php:35
5	0.0685	787064	Symfony\Component\HttpKernel\HttpKernel->handle	.../Kernel.php:202
6	0.0686	787856	Symfony\Component\HttpKernel\HttpKernel->handleRaw	.../HttpKernel.php:75
7	0.6312	2087024	Webkul\UVDesk\ApiBundle\API\Tickets->viewTicket	.../HttpKernel.php:153
8	0.9465	2808440	Webkul\UVDesk\ApiBundle\API\Tickets->objectSerializer	.../Tickets.php:338
9	0.9516	2858392	Symfony\Component\Serializer\Serializer->serialize	.../Tickets.php:930
10	0.9518	2858768	Symfony\Component\Serializer\Serializer->normalize	.../Serializer.php:134
11	0.9519	2859896	Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->normalize	.../Serializer.php:161
12	13.8178	29074480	Symfony\Component\Serializer\Serializer->normalize	.../AbstractObjectNormalizer.php:216
13	25.4620	52693256	Symfony\Component\Serializer\Serializer->normalize	.../Serializer.php:179
14	25.4621	52693256	Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->normalize	.../Serializer.php:161
15	25.4641	52684464	Symfony\Component\Serializer\Serializer->normalize	.../AbstractObjectNormalizer.php:216
16	25.4642	52684464	Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->normalize	.../Serializer.php:161
17	29.3178	61156112	Symfony\Component\Serializer\Serializer->normalize	.../AbstractObjectNormalizer.php:216
18	29.3178	61156112	Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->normalize	.../Serializer.php:161
19	29.4725	61456544	Symfony\Component\Serializer\Serializer->normalize	.../AbstractObjectNormalizer.php:216
20	29.4726	61457160	Symfony\Component\Serializer\Serializer->normalize	.../Serializer.php:179
21	29.4727	61457160	Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->normalize	.../Serializer.php:161
22	29.5261	61702376	Symfony\Component\Serializer\Serializer->normalize	.../AbstractObjectNormalizer.php:216
23	29.5264	61703368	Symfony\Component\Serializer\Serializer->normalize	.../Serializer.php:179
24	29.5265	61703368	Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->normalize	.../Serializer.php:161
25	29.8922	62579512	Symfony\Component\Serializer\Serializer->normalize	.../AbstractObjectNormalizer.php:216
26	29.8923	62580128	Symfony\Component\Serializer\Serializer->normalize	.../Serializer.php:179
27	29.8923	62580128	Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->normalize	.../Serializer.php:161
28	29.9460	62783400	Symfony\Component\Serializer\Serializer->normalize	.../AbstractObjectNormalizer.php:216
29	29.9463	62784392	Symfony\Component\Serializer\Serializer->normalize	.../Serializer.php:179
30	29.9463	62784392	Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->normalize	.../Serializer.php:161
31	30.0589	63223576	Symfony\Component\Serializer\Serializer->normalize	.../AbstractObjectNormalizer.php:216
32	30.0589	63223576	Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->normalize

Here's the configuration we're using:
UVdesk: 1.1.0 (I don't know which method was used to install it)
API bundle: v1.1.1 (installed with composer)

Cordially.