Bug 18388 - GlxExtensionInit() infinite loop on regen in Xvfb/Xephyr
Summary: GlxExtensionInit() infinite loop on regen in Xvfb/Xephyr
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: 7.4 (2008.09)
Hardware: All All
: medium normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2008-11-05 09:09 UTC by Julien Cristau
Modified: 2008-11-07 10:25 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
proposed patch (828 bytes, patch)
2008-11-05 09:09 UTC, Julien Cristau
no flags Details | Splinter Review

Description Julien Cristau 2008-11-05 09:09:23 UTC
Created attachment 20074 [details] [review]
proposed patch

mi/miinitext.c:InitExtensions() does:
   GlxPushProvider(&__glXDRISWRastProvider);
   if (!noGlxExtension) GlxExtensionInit();

On server regen, the call to GlxPushProvider() turns __glXProviderStack into a circular list, because __glXDRISWRastProvider is already there.  If swrast_dri.so is not found, the loop over __glXProviderStack in GlxExtensionInit() won't stop...
The attached patch fixes that, but I'm not sure it's correct.
Comment 1 Julien Cristau 2008-11-07 10:25:46 UTC
On Wed, Nov  5, 2008 at 09:09:23 -0800, bugzilla-daemon@freedesktop.org wrote:

> The attached patch fixes that, but I'm not sure it's correct.
> 
got an ack from krh, so I pushed this to master.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.