[OpenJDK 2D-Dev] request for review: JDK-8028722: XRender: Drawing strings with exactly 254 glyphs causes hangs

Phil Race philip.race at oracle.com
Thu Nov 21 04:43:30 UTC 2013


Hi,

Looks good and is a simple work around.

Not that it impacts us now but I think the tricky question is can we 
ever remove the workaround?
ie how will we ever know when we are using a fixed xrender lib.
I'd like to see core Xrender add a "GetVersion()" API  so we can figure 
this stuff out at runtime.

-phil.

On 11/20/13 7:38 AM, Clemens Eisserer wrote:
> Hi,
>
> Please review my fix for JDK-8028722: "XRender: Drawing strings with
> exactly 254 glyphs causes hangs" available at
> http://cr.openjdk.java.net/~ceisserer/8028722/webrev.00/
> A test is available at:
> http://cr.openjdk.java.net/~ceisserer/8028722/XRenderElt254TextTest.java
>
> Problem description:
> When drawing strings with a length that is a multiple of 254
> characters, the xrender pipeline hangs.
> This is caused by a bug in libXrender/XRenderCompositeText32 which
> calculates a wrong request length in this case and passes garbage
> bytes to the xserver.
>
> Fix description:
> As a workarround, this fix forces a new elt to be used after 253
> characters, doing the split exactly two characters before libXrender
> would do it internally anyway.
> A patch for libXrender is awaiting review currently.
>
> Thank you in advance, Clemens




More information about the 2d-dev mailing list