Bug 18591 - Massive font corruption in JProfiler [EXA]
Summary: Massive font corruption in JProfiler [EXA]
Status: RESOLVED MOVED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-18 05:01 UTC by Øyvind Stegard
Modified: 2019-11-19 07:29 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Screenshot showing the corruption (54.66 KB, image/png)
2008-11-18 05:01 UTC, Øyvind Stegard
no flags Details

Description Øyvind Stegard 2008-11-18 05:01:13 UTC
Hi,

Just wanted to quickly report another issue with EXA acceleration and the radeon driver. JProfiler is next to unusable because of massive font corruption when scrolling.

* Compiz or not does not matter.
* Disabling EXA-acceleration fixes the problem.
* ATI X1400 radeon mobile GPU.
* radeon driver 6.9.0+git20081003.f9826a56-0ubuntu2.1

Please see the attached screenshot.

lspci here (from other bug report):
http://launchpadlibrarian.net/19073276/lspci-vvnn.txt

Xorg log here (from other bug report):
https://bugs.freedesktop.org/attachment.cgi?id=20090


Regards,
Øyvind
Comment 1 Øyvind Stegard 2008-11-18 05:01:59 UTC
Created attachment 20399 [details]
Screenshot showing the corruption
Comment 2 Øyvind Stegard 2008-11-18 05:03:45 UTC
What sets JProfiler apart from most other apps I use, is that it's a Swing-based Java GUI-application. Maybe they do font rendering slightly differently, which triggers the problems.
Comment 3 Clemens Eisserer 2008-11-18 06:34:32 UTC
The Java's X11 pipeline does font-rendering in software, so I guess its not something font-related at all.
However they are using ShmPut/Get a lot for such operations, maybe there is a race somewhere.

By the way I've written an RENDER based backend for Java: http://78.31.67.79:8080/jxrender/
This backend uses hw-accaleration almost everywhere, would be great if you could give it a try :)

Comment 4 Clemens Eisserer 2008-11-18 06:36:23 UTC
Does the problem also persist if you start it with -Dsun.java2d.pmoffscreen=false ?
Comment 5 Michel Dänzer 2008-11-18 14:48:52 UTC
Have you tried disabling the usual suspects like AccelDFS or RenderAccel to see if that works around the problem?
Comment 6 Øyvind Stegard 2008-11-19 06:12:46 UTC
(In reply to comment #4)
> Does the problem also persist if you start it with
> -Dsun.java2d.pmoffscreen=false ?
> 

This fixes the problem completely.
Comment 7 Øyvind Stegard 2008-11-19 06:13:38 UTC
(In reply to comment #5)
> Have you tried disabling the usual suspects like AccelDFS or RenderAccel to see
> if that works around the problem?
> 

Will do  ..
Comment 8 Øyvind Stegard 2008-12-06 05:17:09 UTC
(In reply to comment #7)
> (In reply to comment #5)
> > Have you tried disabling the usual suspects like AccelDFS or RenderAccel to see
> > if that works around the problem?
> > 
> 
> Will do  ..
> 

Hi again,

Some more data points:

AccelDFS==false     => does not help, corruption the same.
RenderAccel==false  => does not help, corruption the same.
AccelDFS==false && RenderAccel==false => does not help, corruption the same. 

When using old XAA, there is no corruption.

Disabling use of offscreen-pixmaps in Java2D solves the problem (like I've stated in earlier comment). But this workaround most be done on a per-application basis.

Regards,
Øyvind
Comment 9 Clemens Eisserer 2008-12-06 06:21:27 UTC
I've donated a fix last week which automatically disables pmoffscreen if SHMPixmaps are not available - it will be integrated into JDK6u12 (next update).
This should also improve performance when EXA drivers are used.

After all, there is still a problem somewhere in the driver, even if is hidden by the fix.
Comment 10 Øyvind Stegard 2008-12-06 06:41:41 UTC
(In reply to comment #9)
> I've donated a fix last week which automatically disables pmoffscreen if
> SHMPixmaps are not available - it will be integrated into JDK6u12 (next
> update).
> This should also improve performance when EXA drivers are used.
> 
> After all, there is still a problem somewhere in the driver, even if is hidden
> by the fix.
> 

That sounds nice :) You are right, there must be a problem in the driver somewhere as well, since when using old XAA, there is no corruption at all.
Comment 11 Michel Dänzer 2008-12-11 06:32:54 UTC
(In reply to comment #9)
> I've donated a fix last week which automatically disables pmoffscreen if
> SHMPixmaps are not available - it will be integrated into JDK6u12 (next
> update).

Is it possible that pmoffscreen is actually doing something wrong when SHMPixmaps aren't available?

Is there a testcase simpler than JProfiler, or at least freely available?
Comment 12 Clemens Eisserer 2008-12-11 08:06:08 UTC
> Is it possible that pmoffscreen is actually doing something wrong when
> SHMPixmaps aren't available?
I don't think so. However when SHMPixmaps aren't available the code agressivly does SHMGet/ShmPut.

> Is there a testcase simpler than JProfiler, or at least freely available?
In general it should happen with any Swing application, sadly I don't have an ATI card. 
Øyvind: Could you try Jedit to see wether the problem persists also there?
Comment 13 Øyvind Stegard 2008-12-11 14:48:33 UTC
(In reply to comment #12)
> > Is it possible that pmoffscreen is actually doing something wrong when
> > SHMPixmaps aren't available?
> I don't think so. However when SHMPixmaps aren't available the code agressivly
> does SHMGet/ShmPut.
> 
> > Is there a testcase simpler than JProfiler, or at least freely available?
> In general it should happen with any Swing application, sadly I don't have an
> ATI card. 
> Øyvind: Could you try Jedit to see wether the problem persists also there?
> 

Tested two more Java Swing apps with radeon+EXA:
* JEdit is OK, no problems.
* OxygenXML is OK, no problems.

Might be JProfiler that's doing something unusual which triggers problems. I should also note, JProfiler is the only app that defaults to native look-and-feel, the others use the classic Swing theme it seems.

Btw. when starting up Opera, I get this message:
opera: X Shared memory extension is not available. ZPixmap not supported

So, shared memory pixmaps are disabled, just like recent nvidia drivers do by default ?
Comment 14 Øyvind Stegard 2008-12-11 14:52:21 UTC
This problem does not seem to occur anymore with JProfiler5 + latest Java 6 update 11. :)
Comment 15 Øyvind Stegard 2008-12-11 15:33:17 UTC
(In reply to comment #14)
> This problem does not seem to occur anymore with JProfiler5 + latest Java 6
> update 11. :)
> 

And incidentally, that might also be the reason why there is no corruption in OxygenXML or Jedit, either.
Comment 16 Roland Lezuo 2015-01-20 08:17:47 UTC
7.4.99+git20140806.fbf575cb-0ubuntu0sarvatt3less /u
Comment 17 Roland Lezuo 2015-01-20 08:21:31 UTC
ubuntu-gnome 14.10 with : 7.4.99+git20140806.fbf575cb-0ubuntu0sarvatt3

The corruption is still there, rendering matlab editor (java based) useless, unless -Dsun.java2d.pmoffscreen=false is used.
Comment 18 Martin Peres 2019-11-19 07:29:02 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/issues/4.


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.