https://bugzilla.redhat.com/show_bug.cgi?id=2173510
--- Comment #1 from Petr Pisar <ppisar(a)redhat.com> ---
It busy-waits on this line:
SDL_FreeYUVOverlay (overlay12=0x55ac9480db70) at
/usr/src/debug/sdl12-compat-1.2.60-2.fc38.x86_64/src/SDL12_compat.c:7535
7535 if (overlay->overlay12 == overlay12) {
in this cycle:
7530 if (overlay12) {
7531 SDL_Renderer *renderer = LockVideoRenderer();
7532 SDL12_YUVData *hwdata = (SDL12_YUVData *) overlay12->hwdata;
7533 QueuedOverlayItem *overlay = QueuedDisplayOverlays.next;
7534 while (overlay != NULL) {
7535 if (overlay->overlay12 == overlay12) {
7536 overlay->overlay12 = NULL; /* don't try to draw this
later. */
7537 }
7538 }
The variables look like this:
(gdb) p *overlay
$4 = {overlay12 = 0x0, dstrect12 = {x = 0, y = 0, w = 100, h = 100}, next =
0x0}
(gdb) p *overlay12
$5 = {format = 1448433993, w = 200, h = 220, planes = 3, pitches =
0x55ac9480dbd8, pixels = 0x0, hwfuncs = 0x1, hwdata = 0x55ac9480dba8,
hw_overlay = 1, UnusedBits = 0}
It looks like a logic bug in the code: "overlay" variable is never nulled in
that cycle, thus the cycle never terminates. Maybe it should have been of a
register storage and updated by a different thread/process.
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=2173510