Bug 22484

Summary: Notification area icons are not displayed
Product: pixman Reporter: blaise <mgavl69>
Component: pixmanAssignee: Søren Sandmann Pedersen <soren.sandmann>
Status: RESOLVED FIXED QA Contact: Søren Sandmann Pedersen <soren.sandmann>
Severity: normal    
Priority: medium CC: mgavl69
Version: git master   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: revert patch
X log file
screenshot of invisible tray icons
Xorg0log_Xsession.errors
xorg.conf
Patch to git master of the X server
Xserver-Gdb-Logs

Description blaise 2009-06-25 18:25:40 UTC
Xorg-Xserver git master/kernel 2.6.31-rc1/gnome 2.26.2
nvidia driver 185.18.14/compiz 0.8.2/Ubuntu 9.04

The notification area icons are invisible but still fully interactable since about pixman 0.15.10 with the nvidia driver. Gnome 2.26.2 has a dependency on the older version of 0.13.2 pixman so I built the notification area from gnome git but still the icons are not displayed. The NV driver displays the notifications area correctly. Wine (v1.1.24 from git) app notifications are the only ones displayed correctly.

Let me know if you need anymore info/debugging.

There's a similar ticket but with Mandriva/kde here.
https://qa.mandriva.com/show_bug.cgi?id=51723
Comment 1 Søren Sandmann Pedersen 2009-06-29 09:50:25 UTC
- Can you try git master of pixman? (X log file, please)

- What depth do you use?

- Can you bisect pixman to find out which commit introduced the problem?
Comment 2 Daisuke SUZUKI 2009-06-29 23:18:57 UTC
Created attachment 27246 [details] [review]
revert patch

I have same problem with several X drivers.
0.15.10 works fine, but 0.15.12+ does not.

| - Can you try git master of pixman? (X log file, please)
  
git master does not fix for me.

| - What depth do you use?

Depth 24, framebuffer bpp 32

| - Can you bisect pixman to find out which commit introduced the problem?

I found that following commit introduces the problem.

http://cgit.freedesktop.org/pixman/commit/?id=7aeed3fc08b3359a3e4e6178f569dbb28ffdad08

0.15.14 + (attached) revert patch fix this problem.
Comment 3 Søren Sandmann Pedersen 2009-06-30 10:33:03 UTC
Thanks for tracking this one down - I have a couple more questions:

  - which X drivers specifically, and which version of X? An X log file where this happens would still be useful

  - Are the notification icons invisible, or are they black? (A screenshot might help).

It is quite likely that this is just a bug in the notification area, so I'd like to see if I can reproduce it myself.


Thanks,
Comment 4 Daisuke SUZUKI 2009-06-30 10:49:35 UTC
Created attachment 27268 [details]
X log file

This is X log file where this happens
Comment 5 Søren Sandmann Pedersen 2009-06-30 10:55:33 UTC
Thanks.

I can reproduce with the NV driver and the "noaccel" option.
Comment 6 Daisuke SUZUKI 2009-06-30 10:57:06 UTC
Created attachment 27269 [details]
screenshot of invisible tray icons

Thank you for reply.

(In reply to comment #3)
> Thanks for tracking this one down - I have a couple more questions:
> 
>   - which X drivers specifically, and which version of X? An X log file where
> this happens would still be useful

intel driver 2.6.3 / vmware drver 10.16.6 / NVIDIA drver 185.18.14
xserver-1.6.1
(posted X log is vmware case)

>   - Are the notification icons invisible, or are they black? (A screenshot
> might help).

The notification icons are invisible as attached screenshot.
There are 2 icons which are not visible. (gnome-volume-control-applet
and nm-applet, GNOME-2.26.2)

> It is quite likely that this is just a bug in the notification area, so I'd
> like to see if I can reproduce it myself.

thanks.
Comment 7 Søren Sandmann Pedersen 2009-06-30 12:20:08 UTC
Blaise, you said that you could reproduce this with the git master X server? Can you please attach an X log file when that happens?

Thanks.
Comment 8 blaise 2009-06-30 13:45:44 UTC
Created attachment 27274 [details]
Xorg0log_Xsession.errors

Attachments from the newest git master.
Comment 9 blaise 2009-06-30 13:59:50 UTC
Created attachment 27275 [details]
xorg.conf

Almost forgot the xorg.conf[attachment].
Comment 10 Søren Sandmann Pedersen 2009-07-02 14:51:10 UTC
What's going on here is that the 1.6 server is calling pixman with bogus coordinates, and due to an old bug in pixman this would actually work.

I'm not totally sure how to fix this because as far as pixman is concerned what the X server is doing is legal (though bizarre), and the correct result really is invisible.

I think the NVIDIA driver problem might be different because the coordinate issue should be fixed in git master. 

Blaise, if you could find out whether it still happens with the patch from comment 2, that would be helpful.
Comment 11 blaise 2009-07-02 19:59:23 UTC
  Same problem with the revert patch on comment 2. 

  If I use something like Alltray I can dock items to the notification area and they appear fine , Wine app icons also. If I open up an app and tell it to create a tray icon it'll flash a grey box and then no icon but the invis app icon is there. It's being masked off/out somehow. I'll test out the new gnome-panel also.
  Is there a way I can bisect pixman individually apart from rebuilding the xserver and the rest of it alongside? I've been fooling around with it but am probably doing something wrong. Would an Xscope provide any useful info?
Comment 12 Søren Sandmann Pedersen 2009-07-03 11:43:31 UTC
Created attachment 27366 [details] [review]
Patch to git master of the X server

Here is a patch to the X server that I think may fix the issue for git master of X. Please let me know if it works.

The issue for 1.6 servers is different and hairier ...
Comment 13 blaise 2009-07-03 14:15:51 UTC
You're on the right track...I get the fusion-icon and networkmanager applet showing up. But if I use a program which creates a tray icon I get a blank icon and a segfault 11. I'm rebuilding xserver with --enable-debug and see what I get.

::Xorg.0.log.old::
II) AT Translated Set 2 keyboard: Device reopened after 1 attempts.
(II) ImPS/2 Generic Wheel Mouse: Device reopened after 1 attempts.

Backtrace:
0: /usr/X11R6/bin/X(xorg_backtrace+0x28) [0x464638]
1: /usr/X11R6/bin/X [0x467d55]
2: /lib/libc.so.6 [0x7f090669d040]
3: /usr/lib64/xorg/modules/extensions/libdbe.so [0x7f090429e1b9]
4: /usr/X11R6/bin/X [0x4a5f03]
5: /usr/X11R6/bin/X(ResizeChildrenWinSize+0x1e8) [0x456908]
6: /usr/X11R6/bin/X [0x479a73]
7: /usr/X11R6/bin/X(xf86EnableDisableFBAccess+0xaa) [0x479d0a]
8: /usr/X11R6/bin/X [0x53f96f]
9: /usr/X11R6/bin/X(xf86Wakeup+0x259) [0x472449]
10: /usr/X11R6/bin/X(WakeupHandler+0x4b) [0x436beb]
11: /usr/X11R6/bin/X(WaitForSomething+0x1ef) [0x4620bf]
12: /usr/X11R6/bin/X [0x431590]
13: /usr/X11R6/bin/X [0x426935]
14: /lib/libc.so.6(__libc_start_main+0xe6) [0x7f09066885a6]
15: /usr/X11R6/bin/X [0x4264e9]
Segmentation fault at address (nil)

Fatal server error:
Caught signal 11 (Segmentation fault). Server aborting


Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
Please also check the log file at "/usr/var/log/Xorg.0.log" for additional information.
Comment 14 Søren Sandmann Pedersen 2009-07-03 14:48:14 UTC
At first glance, the backtrace doesn't seem to be related to this bug anymore, but it would still be useful to know:

  - What does the backtrace look like if you attach gdb?
    (ie., ssh in from another machine, then use "gdb --pid <pid of X>")

  - What program specifically is causing this crash?

Thanks.
Comment 15 blaise 2009-07-03 18:29:19 UTC
Since I only use/have 1 machine gdb'ing the xserver(X) is odd at least by the methods I've tried and read. The only thing I've found useful is Xscope or an idirect methodology. I'll get back to you once I get X back up to normal since I've been mucking about with it which it hasn't liked.  
Comment 16 blaise 2009-07-03 20:55:59 UTC
(In reply to comment #15)
> Since I only use/have 1 machine gdb'ing the xserver(X) is odd at least by the
> methods I've tried and read. The only thing I've found useful is Xscope or an
> idirect methodology. I'll get back to you once I get X back up to normal since
> I've been mucking about with it which it hasn't liked.  
> 
The app I'm using to crash the Xserver is Vlc by switching off/on the invisible tray icon under Preferences.
Comment 17 blaise 2009-07-04 10:08:56 UTC
Created attachment 27382 [details]
Xserver-Gdb-Logs

Added attachment Xserver-Gdb-Logs
Comment 18 Søren Sandmann Pedersen 2009-07-04 12:55:44 UTC
Okay, this crash seems to be related to event processing, which is something I know almost nothing about. If you can file a new bug against the X server and attach the 4414 and 4501 backtraces that would be helpful.

As far as this bug is concerned, I think the IncludeInferior patch I posted before fixes the problem for git master. For 1.6, some hack will have to be applied to pixman - I'm not yet sure of the details.

Comment 19 blaise 2009-07-04 15:36:52 UTC
Created Ticket 22620 for the Xserver Vlc Tray Icon Segfault. 

I don't use the vlc tray icon so that's why I never came across this before. It's one big can o' worms. Other than that the notification cons are normal. Thanks for all your help. 
Comment 20 blaise 2009-07-04 15:37:15 UTC
(In reply to comment #19)
> Created Ticket 22620 for the Xserver Vlc Tray Icon Segfault. 
> 
> I don't use the vlc tray icon so that's why I never came across this before.
> It's one big can o' worms. Other than that the notification cons are normal.
> Thanks for all your help. 
> 

icons not cons....
Comment 21 Pierre Willenbrock 2009-07-09 07:15:00 UTC
(In reply to comment #12)
> Created an attachment (id=27366) [details]
> Patch to git master of the X server
> 
> Here is a patch to the X server that I think may fix the issue for git master
> of X. Please let me know if it works.
> 
> The issue for 1.6 servers is different and hairier ...

This patch misses adding another array entry in gcv for IncludeInferior, possibly leading to various seemingly unrelated crashes(on VT switch in my case).
Comment 22 Søren Sandmann Pedersen 2009-07-09 14:26:14 UTC
You are right, thanks.

Fixed in 08df24555cb432eb0d90a3f63275e9485e777c4c
Comment 23 Søren Sandmann Pedersen 2009-07-10 00:17:23 UTC
I have pushed a workaround for the 1.6 issue to pixman master. 

Testing of pixman git master with a 1.6 server would be much appreciated. If there is any problem, please reopen this bug.

Thanks.

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.