[Bug 266873] www/apache24: creating forked processes at 100% CPU spinning in sched_yield()

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 25 Nov 2022 00:10:15 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266873

Eero Hänninen <fax@nohik.ee> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fax@nohik.ee

--- Comment #7 from Eero Hänninen <fax@nohik.ee> ---
This issue seems to be related with libomp and Imagemagcik. I have faced same
problem with php-fpm. Php-fpm master process takes 100% cpu and truss show just
endless
sched_yield()                                    = 0 (0x0)

So I have removed OpenMP support from Imagemagcik and let poudriere recompile
php-gd and php pecl-imagick extension. After that problem is gone. As far as I
tested, this libomp problem presents in 13.1-RELEASE and 13-STABLE, but not in
13.0-RELEASE or even 12.2-RELEASE.

This issue can be reproduce with Imagemagcik 6.x simply, take jpg format
picture about 600kb or larger size and execute:
convert -bench 40 image.jpg -sharpen 0x1 null:

And watch this process with truss. If Imagemagcik is compiled with OpenMP
support then sooner or later you will see:
sched_yield()                                    = 0 (0x0)

and I dont know is this process come to end or not.

without OpenMP support process completes fast and there is no sched_yield()
loop.

Another note, seems that pecl-imagcik Readme file has extra section for
Imagemagcik and OpenMP implementations:
https://github.com/Imagick/imagick/blob/master/README.md

Hope this helps.

-- 
You are receiving this mail because:
You are the assignee for the bug.