Bug#651316: libdrm-intel1: X.org crashes when I try to play a video

2011-12-11 Thread Modestas Vainius
Hello,

On sekmadienis 11 Gruodis 2011 03:07:34 Cyril Brulebois wrote:
 tag 651316 - patch fixed-upstream
 thanks
 
 Hi,
 
 Modestas Vainius mo...@debian.org (10/12/2011):
  tags 651316 patch fixed-upstream
  thanks
 
 please don't do that. There are several bugs here, plenty of reporters,
 at least 3 involved packages, and different causes. That's enough of a
 mess.
 
  I had the same problem. The backtrace of X crashes was:
  […]
  I upgraded libdrm to the master branch as of writing (
  dd9a5b4f7fb07c78db4e7481bedca1b981030e3f )
  and the problem is gone now.
  
  I suggest pulling the relevant patches into the debian package as the
  problem is pretty serious. I was not able to get any video to play due
  this crash.
 
 With latest master (libdrm+xxvintel) and patched libva, crashes seem to
 be gone, but playback is still failing, at least on a machine of mine.
 With latest libdrm master (and released xxvintel), I'm still getting
 crashes, possibly with an extra kernel bug, so I'm keeping this bug open
 with no tag for now.

If X crashes on me with libdrm master, I will let you know. Yet for now, it is 
rock solid: no crashes and playback is fine so it's kind of relief for me. 
This is on a

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated 
Graphics Controller (rev 12)

[  2481.678] (II) intel(0): Integrated Graphics Chipset: Intel(R) Clarkdale
[  2481.678] (--) intel(0): Chipset: Clarkdale

Linux mdxdesktop 3.1.0-1-amd64 #1 SMP Tue Nov 29 13:47:12 UTC 2011 x86_64 
GNU/Linux

-- 
Modestas Vainius mo...@debian.org


signature.asc
Description: This is a digitally signed message part.


Bug#651316: libdrm-intel1: X.org crashes when I try to play a video

2011-12-10 Thread Modestas Vainius
tags 651316 patch fixed-upstream
thanks

Hello,

On penktadienis 09 Gruodis 2011 19:50:48 Pedro Antonio Neves wrote:
 After installing the patched versions of libva and
 xserver-xorg-video-intel_2.17.0-1+kibi1 I'm still unable to play video
 files. The windows show up but they're black.

I had the same problem. The backtrace of X crashes was:

(gdb) bt
#0  0x7f9fd101b405 in *__GI_raise (sig=optimized out) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x7f9fd101e680 in *__GI_abort () at abort.c:92
#2  0x7f9fd10145b1 in *__GI___assert_fail (assertion=0x7f9fceddb7a7 
bo_gem-map_count == 0, 
file=optimized out, line=1016, function=0x7f9fceddbe70 
drm_intel_gem_bo_map) at assert.c:81
#3  0x7f9fcedd8b10 in drm_intel_gem_bo_map (bo=0x7f9fd8010b90, 
write_enable=1) at 
../../intel/intel_bufmgr_gem.c:1016
#4  0x7f9fceffcac3 in intel_alloc_and_map (name=optimized out, size=4096, 
bop=0x7fffe3bf6b30, 
virtualp=0x7fffe3bf6b38, intel=optimized out) at ../../src/i965_video.c:392
#5  0x7f9fceffe420 in I965DisplayVideoTextured (scrn=0x7f9fd39c7e80, 
adaptor_priv=optimized out, 
id=optimized out, dstRegion=0x7f9fd8013c80, width=optimized out, 
height=optimized out, 
video_pitch=312, video_pitch2=624, src_w=624, src_h=352, drw_w=884, 
drw_h=499, pixmap=0x7f9fd816d8f0) at 
../../src/i965_video.c:1301
#6  0x7f9fceff57de in I830PutImageTextured (scrn=0x7f9fd39c7e80, src_x=0, 
src_y=optimized out, 
drw_x=optimized out, drw_y=optimized out, src_w=624, src_h=352, drw_w=884, 
drw_h=499, 
id=842094169, buf=0x7f9fc9aca000 '\020' repeats 200 times..., 
width=624, height=352, sync=1, 
clipBoxes=0x7fffe3bf6da0, data=0x7f9fd5542f90, drawable=0x7f9fd8240380)
at ../../src/intel_video.c:1579
#7  0x7f9fd30599ce in xf86XVPutImage (client=optimized out, 
pDraw=0x7f9fd8240380, pPort=0x7f9fd5543d10, 
pGC=optimized out, src_x=optimized out, src_y=optimized out, src_w=624, 
src_h=352, 
drw_x=0, drw_y=23, drw_w=884, drw_h=499, format=0x7f9fd5543a90, 
data=0x7f9fc9aca000 '\020' 
repeats 200 times..., sync=1, width=624, height=352) at 
../../../../hw/xfree86/common/xf86xv.c:1865
#8  0x7f9fd00f1e02 in ProcXvShmPutImage (client=0x7f9fd8240740) at 
../../Xext/xvdisp.c:1091
#9  0x7f9fd3004fc9 in Dispatch () at ../../dix/dispatch.c:432
#10 0x7f9fd2ff422a in main (argc=8, argv=optimized out, envp=optimized 
out) at ../../dix/main.c:287
(gdb) q

I upgraded libdrm to the master branch as of writing ( 
dd9a5b4f7fb07c78db4e7481bedca1b981030e3f )
and the problem is gone now.

$ git log 2.4.28..master | cat
commit dd9a5b4f7fb07c78db4e7481bedca1b981030e3f
Author: Chris Wilson ch...@chris-wilson.co.uk
Date:   Tue Dec 6 13:12:37 2011 +

intel: Evict cached VMA in order to make room for new mappings

As the max number of VMA mappings is a hard per-process limit, we need
to include the number of currently active mappings when evicting in
order to make room for a new mmap.

Signed-off-by: Chris Wilson ch...@chris-wilson.co.uk

commit e4b60f29609e9993dc7268993da509530862aa78
Author: Chris Wilson ch...@chris-wilson.co.uk
Date:   Mon Dec 5 21:29:05 2011 +

intel: Add an interface to limit vma caching

There is a per-process limit on the number of vma that the process can
keep open, so we cannot keep an unlimited cache of unused vma's (besides
keeping track of all those vma in the kernel adds considerable overhead).
However, in order to work around inefficiencies in the kernel it is
beneficial to reuse the vma, so keep a MRU cache of vma.

Signed-off-by: Chris Wilson ch...@chris-wilson.co.uk

commit 902ee661f1864aaf8325621085f6a1b5a6a3673a
Author: Dave Airlie airl...@redhat.com
Date:   Mon Dec 5 21:24:48 2011 +

test/radeon: add missing files for dist

commit 5c5332bbc38ff25c06081ac53a15ad583ad4cbc4
Author: Chris Wilson ch...@chris-wilson.co.uk
Date:   Mon Dec 5 10:39:49 2011 +

intel: Clean up mmaps on freeing the buffer

As a precautionary measure munmap on buffer free so that we never leak
the vma. Also include a warning during debugging.

Signed-off-by: Chris Wilson ch...@chris-wilson.co.uk

I suggest pulling the relevant patches into the debian package as the
problem is pretty serious. I was not able to get any video to play due this
crash.


signature.asc
Description: This is a digitally signed message part.


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

2011-04-17 Thread Modestas Vainius
forwarded 622653 https://bugs.freedesktop.org/show_bug.cgi?id=36319
tags 622653 upstream fixed-upstream patch
thanks

Hello,

On trečiadienis 13 Balandis 2011 19:58:06 Julian Andres Klode wrote:
 Package: xserver-xorg-video-intel
 Version: 2:2.14.902-1
 Severity: grave
 
 X crashed about 4 times today. It did not crash directly after the
 upgrade or yesterday, as far as I can remember, but now it seems
 to crash. I am running GNOME 3 with gnome-shell, and thus use
 compositing.
 
 
 I attached upgrade logs of the past days, as well as
 a X log showing the bug.  The relevant part is:
 
 Backtrace:
 [  5306.687] 0: /usr/bin/Xorg (xorg_backtrace+0x28) [0x4aacc8]
 [  5306.687] 1: /usr/bin/Xorg (0x40+0x61e59) [0x461e59]
 [  5306.687] 2: /lib/libpthread.so.0 (0x7f52090f9000+0xef60)
 [0x7f5209107f60] [  5306.687] 3: /usr/lib/libdrm_intel.so.1
 (drm_intel_bo_emit_reloc+0x0) [0x7f5205c2adb0] [  5306.687] 4:
 /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f5205e34000+0x227a0)
 [0x7f5205e567a0] [  5306.687] 5:
 /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f5205e34000+0x2797f)
 [0x7f5205e5b97f] [  5306.687] 6:
 /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f5205e34000+0x29d5f)
 [0x7f5205e5dd5f] [  5306.687] 7:
 /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f5205e34000+0x27473)
 [0x7f5205e5b473] [  5306.687] 8: /usr/bin/Xorg (miPolyRectangle+0xd8)
 [0x550228]
 [  5306.687] 9: /usr/bin/Xorg (0x40+0xdf142) [0x4df142]
 [  5306.687] 10: /usr/bin/Xorg (0x40+0x46082) [0x446082]
 [  5306.687] 11: /usr/bin/Xorg (0x40+0x48909) [0x448909]
 [  5306.687] 12: /usr/bin/Xorg (0x40+0x257ab) [0x4257ab]
 [  5306.687] 13: /lib/libc.so.6 (__libc_start_main+0xfd) [0x7f5207e55c4d]
 [  5306.687] 14: /usr/bin/Xorg (0x40+0x25339) [0x425339]
 [  5306.687] Segmentation fault at address (nil)
 [  5306.687]
 Fatal server error:
 [  5306.687] Caught signal 11 (Segmentation fault). Server aborting
 [  5306.687]
 [  5306.687]

The bug is i965 specific. Upstream has just fixed it hence the fix is NOT 
included in the latest 2.15.0 release. It would great if you could add the 
attached patch (which is a backport from upstream) to the 2.15.0 package.

-- 
Modestas Vainius modes...@vainius.eu
From: Chris Wilson ch...@chris-wilson.co.uk
Subject: i965/video: We need 150 dwords of space for video state emission
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36319
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622653
Origin: backport, commit:c9fb69cb2502917dfb2828c90802de7766072899,
commit:a51cd83d25f2f9f2107219d5671194f931601244
Last-Update: 2011-04-17

(Actually around 131, with additional 10% just for safety.)

intel: Beware the unsigned promotion when checking for batch overflows

diff --git a/src/i965_video.c b/src/i965_video.c
index c757681..53a9394 100644
--- a/src/i965_video.c
+++ b/src/i965_video.c
@@ -1210,7 +1210,7 @@ I965DisplayVideoTextured(ScrnInfoPtr scrn,
 			intel_batch_submit(scrn);
 		}
 
-		intel_batch_start_atomic(scrn, 100);
+		intel_batch_start_atomic(scrn, 150);
 
 		i965_emit_video_setup(scrn, surface_state_binding_table_bo, n_src_surf, pixmap);
 
diff --git a/src/intel_batchbuffer.h b/src/intel_batchbuffer.h
index 605932a..2403a38 100644
--- a/src/intel_batchbuffer.h
+++ b/src/intel_batchbuffer.h
@@ -50,14 +50,14 @@ static inline int intel_vertex_space(intel_screen_private *intel)
 }
 
 static inline void
-intel_batch_require_space(ScrnInfoPtr scrn, intel_screen_private *intel, unsigned int sz)
+intel_batch_require_space(ScrnInfoPtr scrn, intel_screen_private *intel, int sz)
 {
 	assert(sz  intel-batch_bo-size - 8);
 	if (intel_batch_space(intel)  sz)
 		intel_batch_submit(scrn);
 }
 
-static inline void intel_batch_start_atomic(ScrnInfoPtr scrn, unsigned int sz)
+static inline void intel_batch_start_atomic(ScrnInfoPtr scrn, int sz)
 {
 	intel_screen_private *intel = intel_get_screen_private(scrn);
 


signature.asc
Description: This is a digitally signed message part.


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

2011-04-17 Thread Modestas Vainius
Hello,

On sekmadienis 17 Balandis 2011 19:39:34 Julian Andres Klode wrote:
 On So, 2011-04-17 at 19:32 +0300, Modestas Vainius wrote:
  forwarded 622653 https://bugs.freedesktop.org/show_bug.cgi?id=36319
  tags 622653 upstream fixed-upstream patch
  thanks
  
  Hello,
  
  On trečiadienis 13 Balandis 2011 19:58:06 Julian Andres Klode wrote:
   Package: xserver-xorg-video-intel
   Version: 2:2.14.902-1
   Severity: grave
   
   X crashed about 4 times today. It did not crash directly after the
   upgrade or yesterday, as far as I can remember, but now it seems
   to crash. I am running GNOME 3 with gnome-shell, and thus use
   compositing.
   
   
   I attached upgrade logs of the past days, as well as
   a X log showing the bug.  The relevant part is:
   
   Backtrace:
   [  5306.687] 0: /usr/bin/Xorg (xorg_backtrace+0x28) [0x4aacc8]
   [  5306.687] 1: /usr/bin/Xorg (0x40+0x61e59) [0x461e59]
   [  5306.687] 2: /lib/libpthread.so.0 (0x7f52090f9000+0xef60)
   [0x7f5209107f60] [  5306.687] 3: /usr/lib/libdrm_intel.so.1
   (drm_intel_bo_emit_reloc+0x0) [0x7f5205c2adb0] [  5306.687] 4:
   /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f5205e34000+0x227a0)
   [0x7f5205e567a0] [  5306.687] 5:
   /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f5205e34000+0x2797f)
   [0x7f5205e5b97f] [  5306.687] 6:
   /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f5205e34000+0x29d5f)
   [0x7f5205e5dd5f] [  5306.687] 7:
   /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f5205e34000+0x27473)
   [0x7f5205e5b473] [  5306.687] 8: /usr/bin/Xorg (miPolyRectangle+0xd8)
   [0x550228]
   [  5306.687] 9: /usr/bin/Xorg (0x40+0xdf142) [0x4df142]
   [  5306.687] 10: /usr/bin/Xorg (0x40+0x46082) [0x446082]
   [  5306.687] 11: /usr/bin/Xorg (0x40+0x48909) [0x448909]
   [  5306.687] 12: /usr/bin/Xorg (0x40+0x257ab) [0x4257ab]
   [  5306.687] 13: /lib/libc.so.6 (__libc_start_main+0xfd)
   [0x7f5207e55c4d] [  5306.687] 14: /usr/bin/Xorg (0x40+0x25339)
   [0x425339]
   [  5306.687] Segmentation fault at address (nil)
   [  5306.687]
   Fatal server error:
   [  5306.687] Caught signal 11 (Segmentation fault). Server aborting
   [  5306.687]
   [  5306.687]
  
  The bug is i965 specific. Upstream has just fixed it hence the fix is NOT
  included in the latest 2.15.0 release. It would great if you could add
  the attached patch (which is a backport from upstream) to the 2.15.0
  package.
 
 This specific bug or its symptoms have been fixed in 2.14.903 already. I
 am running a self-compiled 2.14.903 since days without any X crash. So
 either those are different problems or something changed in the driver
 that worked around my specific problem while still keeping the
 underlying bug.

I tested unpatched 2.15.0 and I could reproduce the crash reliably. Your and 
my backtraces are the same. Anyways, I don't see any reason not to include the 
patch.


-- 
Modestas Vainius mo...@debian.org


signature.asc
Description: This is a digitally signed message part.


Bug#549588: xserver-xorg-core: Loading glx module causes X server to crash

2009-10-21 Thread Modestas Vainius
severity 549588 grave
tags 549588 upstream
retitle 549588 regression: DRI crashes Xserver with many radeon cards
thanks

Hello,

On trečiadienis 14 Spalis 2009 18:17:56 ender wrote:
 
  On Mon, 2009-10-05 at 13:18 +0200, Julien Cristau wrote:
   On Sun, Oct  4, 2009 at 17:30:33 -0400, Arnout Boelens wrote:
X: radeon_bo_legacy.c:207: legacy_is_pending: Assertion
`bo_legacy-is_pending = bo-cref' failed.
  
   I failed to notice this one, Michel says It's a known bug which was
   reported upstream a while ago.
 
  See above.
 

All you need to do is to revert a single commit (see upstream bug report, see 
ubuntu bug) to fix this random, but very common crash. This bug affects KDE 
very painfully due to its default settings [1]. It is rather unfortunate, that 
upstream does not seem to care. But then it comes the time for Debian 
maintainers to act.

The bug is a regression which causes Xserver crash (which by itself might mean 
data loss). Therefore, up'ing the severity to grave.

1. https://bugs.freedesktop.org/show_bug.cgi?id=24131#c12

-- 
Modestas Vainius modes...@vainius.eu


signature.asc
Description: This is a digitally signed message part.


Bug#549588: xserver-xorg-core: Loading glx module causes X server to crash

2009-10-21 Thread Modestas Vainius
Hello,

On trečiadienis 21 Spalis 2009 20:27:02 Julien Cristau wrote:
 On Wed, Oct 21, 2009 at 20:15:27 +0300, Modestas Vainius wrote:
  The bug is a regression which causes Xserver crash (which by itself
  might mean data loss).
 
 No, it doesn't mean that at all.

Yeah yeah, depends on what is open and how much unsaved data is there. But if 
this wasn't a regression, grave severity would probably be unjustified even if 
it makes default KDE setup on most radeon cards almost unusable.

-- 
Modestas Vainius modes...@vainius.eu


signature.asc
Description: This is a digitally signed message part.


Bug#497523: HAL way

2009-04-17 Thread Modestas Vainius
Hello,

On 2009 m. April 17 d., Friday 11:06:36 Julien Cristau wrote:
 I'd prefer for this to be configured on the desktop environment level,
 rather than system-wide in hal (makes it easier to move from hal to
 something else in the future, for one, and actually makes more sense
 since this is essentially a user preference).
Does a typical user expect tapping/vertical edge scrolling to work out-of-the-
box or not? I think the answer is definitely YES. So if upstream decided to 
disable it (for reasons I still barely understand), I think it is a good idea 
to offer a user to choose another default. At very least, this example is 
worth to be added to /usr/share/doc/xserver-xorg-input-synaptics/examples/ and 
a note in README.Debian.

The bad thing about configuration in DEs is that configuration usually becomes 
DE-only. I prefer xkb to be configured globally for the settings to be shared 
among DEs. The same applies to synaptics.

As for HAL, when it gets dropped, you will simply update the package.

-- 
Modestas Vainius modes...@vainius.eu


signature.asc
Description: This is a digitally signed message part.


Bug#497523: HAL way

2009-04-16 Thread Modestas Vainius
Hello,

rather than editing xorg.conf, one could add 
/etc/hal/fdi/policy/11-x11-synaptics.fdi like:

?xml version=1.0 encoding=ISO-8859-1?
deviceinfo version=0.2
  device
match key=info.capabilities contains=input.touchpad
merge key=input.x11_options.TapButton1 type=string1/merge
merge key=input.x11_options.TapButton2 type=string2/merge
merge key=input.x11_options.TapButton3 type=string3/merge
/match
  /device
/deviceinfo

and restart hal/X. Could this be turned into debconf question?



-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#461783: X.org segfault with kxkb

2008-02-02 Thread Modestas Vainius
Hi,

I had exactly the same problem on my laptop. Backtrace is nearly identical to 
the one reported here and in other merged bug reports. X would simply crash 
when loading KDE session (nearly the end) leaving video card in semi-broken 
state (radeon driver).

2008 m. February 2 d., Saturday, jūs rašėte:
 My kxkb is using the following configuration:
 LayoutList=de(nodeadkeys),us(basic)
 Model=microsoftpro
I can confirm that XkbModel set to microsoftpro in xorg.conf was causing the 
problem which I solved by commenting this statement out and sticking with the 
default keyboard model. The bug is probably more generic as explained in 
other bug reports though.

 After the crash, switching to other VTs is also broken (but switching
 back to VT7 with X works).
Indeed, I have noticed the same. For me once the crash broke something in 
video bios and as a result garbage was being sent to the monitor even after 
full poweroff/power on. I even thought my hardware had broke. Therefore I 
think this bug should be at least of 'grave' severity.


-- 
Modestas Vainius [EMAIL PROTECTED]



signature.asc
Description: This is a digitally signed message part.


Bug#343822: +usr/X11R6/lib/X11/doc/html/Xprint_FAQ.html when building 6.9.0-1+SVN on amd64

2006-01-05 Thread Modestas Vainius
2006 m. sausis 5 d., ketvirtadienis 04:26, Modestas Vainius rašė:
 trunk/debian) on amd64 box. I used up-to-date pbuilder for building. It's
 really strage but it seems the file 'Xprint_FAQ.html' must be readded. I'll
 test if 6.9.0-1 builds with my pbuilder environment (it shouldn't though).
Tonight I did a full binary-arch and binary-indep build of 6.9.0-1 and it 
didn't fail. But binary-arch build of -1 would have failed as it did on amd64 
buildd[1] (because Xprint_FAQ.html gets installed in binary-indep part). If 
I'm not missing something, usr/X11R6/lib/X11/doc/html/Xprint_FAQ.html should 
be added to the MANIFEST.all rather than MANIFEST.amd64.in (as in -1) or 
removed from MANIFEST files all together (as in -1+SVN). Thus the following 
patch (against -1+SVN) should address the problem (I haven't tested it, but 
it should work)

--- old/debian/MANIFEST.all 2006-01-05 11:50:45.0 +0200
+++ debian/MANIFEST.all 2006-01-05 11:49:01.0 +0200
@@ -63,6 +63,7 @@
 usr/X11R6/lib/X11/doc/XiPorting.txt
 usr/X11R6/lib/X11/doc/XiProtocol.txt
 usr/X11R6/lib/X11/doc/Xprint_FAQ.txt
+usr/X11R6/lib/X11/doc/html/Xprint_FAQ.html
 usr/X11R6/lib/X11/doc/Xtrans.txt
 usr/X11R6/lib/X11/doc/XvMC_API.txt
 usr/X11R6/lib/X11/doc/appgroup.txt

1. 
http://amd64.ftbfs.de/fetch.php?pkg=xorg-x11ver=6.9.0.dfsg.1-1arch=amd64stamp=1135999117file=logas=raw


pgp2XqmJDu6BJ.pgp
Description: PGP signature


What's wrong with Xorg from Ubuntu?

2005-04-13 Thread Modestas Vainius
Hello X Strike Force,

X in Debian is really getting obsolete. Yeah, I know, that XFree 4.3 will ship 
with sarge, but nobody knows when sarge will be released anyway. Post-sarge 
plans to get Xorg into Debian seem to be quite far away as current state of 
Xorg packaging shows. I know, that it's extremely difficult to package X for 
Debian mostly because of the number of architectures it needs to be ported to 
(I've been following the process with xf4.3 closely). But currently situation 
is different. Ubuntu has great packages of the lastest Xorg release. Ubuntu 
packages are definitely not an option for sid (as sarge release is so [?] 
close and only 4 archs are supported), but, IMHO, they would be quite OK for 
experimetal and a great base for Debian to start work on Xorg. But this is 
not happening. So the question comes up: what is so wrong with Xorg packages 
from Ubuntu?

Please understand me right, XFree86 4.3 works great here, no stability 
problems, but ppl on desktops want to be more up-to-date, they want new 
features (such as composite extension). Debian should benefit from Ubuntu as 
Ubuntu benefits from Debian. Both distros are about Free Software, aren't 
they?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#281050: xserver-common: [i810] Memory leak

2005-01-20 Thread Modestas Vainius
Hello,

After a few hours of investigation I've tracked down this bug. At least I've 
discovered what code causes Xserver to leak memory, when the bug is 
exploited by gpdf. It's as simple as the following:

cursor = gdk_cursor_new_for_display(display, GDK_WATCH);
// ... //
gdk_cursor_unref(cursor);

This code gets repeated approx. twice as many times as there are pages in the 
pdf (when processing both bookmarks and thumbnails). While this is the bug in 
the gpdf itself (the cursor should not be set so many times), it reveals  
the bug in the X server. X footprint keeps growing because of repeatable  
memory allocations for the cursor and gdk_cursor_unref() failures to free that 
memory. However, this doesn't happen with all types of cursors. Only 
*animated* ones are affected (I base this hypothesis on my tests). Memory 
occupied by static cursors gets freed properly by the gdk_cursor_unref() 
routine. This explains why other people are not suffering from this bug.

I've made a simple gtk program, which starts executing the code above infinite 
number times once you press the Test memleak! button (thus you will need to 
use CTRL+C or `kill` to terminate the program). Here it's the step-by-step 
guide to reproduce the memleak:

1. Make sure your watch cursor is the animated one or change the argument 2 
of the gdk_cursor_new_for_display() accordingly to the cursor which is 
animated in the theme you're using. If neither is animated, you can obtain one 
from [1] or other source. I extracted the watch cursor from this theme and 
put it on my web site[2]. Simply place it into ~/.icons/your current xcursor 
theme name (in case of core, use default)/cursors/watch This should be 
enough to reproduce the bug without restarting X.

2. Compile memleak.c from [3] with the following command (you will need 
libgtk2.0-dev and its dependences for this):

gcc memleak.c -o memleak -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 
-I/usr/lib/gtk-2.0/include -I/usr/lib/glib-2.0/include 
-I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -L/usr/lib -lgtk-x11-2.0

and start the program.

3. Press the Test memleak! button in the GUI and observe X server memory 
usage (RES field with `top`). If you have a fast pc, X should consume 
hundreds MBs of memory *very* quickly.

4. To kill the program use CTRL+C or `kill` (it's my first gtk program ever, 
so I haven't invested more time in making termination more sophisticated)

Another interesting thing is that X seems to reuse the allocated memory for 
sequent cursor allocations in other programs (like another instance of 
`memleak`) once the program triggering the bug gets terminated. Test this by 
running several instances of `memleak` one after another.

So for now till someone with more knowlegde of XFree86 code fixes the bug a 
simple workaround is to avoid animated cursors. There may be a bug in 
gdk_cursor_unref() too, I haven't checked the code. In any case, I think it's 
a big (security?) problem in the X server code, because any malicious app can 
make X server (which is generally running as root on most systems with DM) 
use large amounts of memory by repeatedly allocating memory for the cursor 
and not freeing it aftwerwards.

It would be great if someone could test this test case on Xorg. Lots of 
distros include animated watch cursors by default these days, and if these 
are big, lots of people might be suffering from this bug.

The fixed gpdf (with the offensive code commented out) is available here[4] 
(the binary for i386, provided there, is compiled w/o optimizations and 
debugging symbols are unstripped)

Related bugs in other locations (neither of which is marked as fixed):

https://bugs.freedesktop.org/show_bug.cgi?id=1043
http://bugs.gentoo.org/show_bug.cgi?id=31982


[1]. http://www.kde-look.org/content/show.php?content=18214
[2]. http://mif.vu.lt/~mova3971/xf/watch
[3]. http://mif.vu.lt/~mova3971/xf/memleak.c
[4]. http://mif.vu.lt/~mova3971/xf/gpdf



pgpvX8xz0JQUj.pgp
Description: PGP signature


Bug#251307: xserver-xfree86: A problem with the new ATI driver: XVideo apps crash X server (on ATI Range IIc (Mach64) card)

2004-05-30 Thread Modestas Vainius
Saturday 29 May 2004 13:45, Michel Dänzer rašė:
 X server symbols aren't automatically visible to modules though; they
 need to be exported with SYMFUNC() in
 xc/programs/Xserver/hw/xfree86/loader/xf86sym.c . It looks like that
 file was overlooked in the patch.

Michel, thank you for the hint! I have made a patch (attached) according to 
your guidelines, put it into debian/patches and recompiled xfree86 
4.3.0.dfsg.1-4 And, yes, there is no message about the unresolved symbol in 
the log anymore. Moreover, a quick test revealed, that mplayer and kaffeine 
seem to work fine and, of course, X doesn't crash. Thus, I think, the bug is 
fixed!
diff -uNr xc.old/programs/Xserver/hw/xfree86/loader/xf86sym.c xc/programs/Xserver/hw/xfree86/loader/xf86sym.c
--- xc.old/programs/Xserver/hw/xfree86/loader/xf86sym.c	2004-05-30 20:07:16.0 +0300
+++ xc/programs/Xserver/hw/xfree86/loader/xf86sym.c	2004-05-30 20:07:44.0 +0300
@@ -569,6 +569,7 @@
SYMFUNC(xf86XVFreeVideoAdaptorRec)
SYMFUNC(xf86XVFillKeyHelper)
SYMFUNC(xf86XVClipVideoHelper)
+   SYMFUNC(xf86XVCopyYUV12ToPacked)
 
/* xf86xvmc.c */
SYMFUNC(xf86XvMCScreenInit)


pgpYGTZxdXGm3.pgp
Description: signature


Bug#251307: xserver-xfree86: A problem with the new ATI driver: XVideo apps crash X server (on ATI Range IIc (Mach64) card)

2004-05-27 Thread Modestas Vainius
Package: xserver-xfree86
Version: 4.3.0.dfsg.1-2
Severity: important
Tags: sid

Hello,

First of all, thank you for including the new ATI driver. I have used
the driver from http://gatos.sf.net for a year or so to get Xv support
for my video card. Finally, the xserver-xfree86 is supposed to support
XVideo on my pretty old video card out of the box.

However, there is one problem currently. It seems that any XVideo app
(I have tested mplayer and kaffeine (xine)) brings the X server down.
/var/log/XFree86.0.log.old provides good hints though. I have attached this
file it doesn't get included in the report automatically.
/var/log/XFree86.0.log.old has the log of the X server instance which was 
crashed by mplayer. /var/log/XFree86.0.log (automatically included)
is from the currently running X server instance. I think, the cause of
my problem is the unresolved symbol:

Symbol xf86XVCopyYUV12ToPacked from module 
/usr/X11R6/lib/modules/drivers/atimisc_drv.o is unresolved!

which yields the following error on crash:

This should not happen!
An unresolved function was called!


That's what 'xvinfo' says:

$ xvinfo - display :0
X-Video Extension version 2.2
screen #0
  Adaptor #0: ATI Mach64 Back-end Overlay Scaler
number of ports: 1
port base: 61
operations supported: PutImage 
supported visuals:
  depth 16, visualID 0x23
  depth 16, visualID 0x24
  depth 16, visualID 0x25
  depth 16, visualID 0x26
  depth 16, visualID 0x27
  depth 16, visualID 0x28
  depth 16, visualID 0x29
  depth 16, visualID 0x2a
number of attributes: 8
  XV_AUTOPAINT_COLOURKEY (range 0 to 1)
  client settable attribute
  client gettable attribute (current value is 1)
  XV_AUTOPAINT_COLORKEY (range 0 to 1)
  client settable attribute
  client gettable attribute (current value is 1)
  XV_COLOURKEY (range 0 to 16777215)
  client settable attribute
  client gettable attribute (current value is 3137)
  XV_COLORKEY (range 0 to 16777215)
  client settable attribute
  client gettable attribute (current value is 3137)
  XV_COLOURKEY_MASK (range 0 to 16777215)
  client settable attribute
  client gettable attribute (current value is 65535)
  XV_COLORKEY_MASK (range 0 to 16777215)
  client settable attribute
  client gettable attribute (current value is 65535)
  XV_SET_DEFAULTS (range 0 to 0)
  client settable attribute
  XV_DOUBLE_BUFFER (range 0 to 1)
  client settable attribute
  client gettable attribute (current value is 0)
maximum XvImage size: 720 x 2048
Number of image formats: 4
  id: 0x32595559 (YUY2)
guid: 59555932--0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
  id: 0x59565955 (UYVY)
guid: 55595659--0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
  id: 0x32315659 (YV12)
guid: 59563132--0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
  id: 0x30323449 (I420)
guid: 49343230--0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)


Feel free to ask for more information. You may send patches to me.
I will test them shortly!


-- Package-specific info:
Contents of /var/lib/xfree86/X.roster:
xserver-xfree86

/etc/X11/X target unchanged from checksum in /var/lib/xfree86/X.md5sum.

X server symlink status:
lrwxr-xr-x1 root root   20 2004-05-27 15:01 /etc/X11/X - 
/usr/bin/X11/XFree86
-rwxr-xr-x1 root root  1745132 2004-05-26 00:30 /usr/bin/X11/XFree86

Contents of /var/lib/xfree86/XF86Config-4.roster:
xserver-xfree86

VGA-compatible devices on PCI bus:
:01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage IIC AGP 
(rev 7a)
:01:00.0 Class 0300: 1002:475a (rev 7a)

/var/lib/xfree86/XF86Config-4.md5sum does not exist.

XFree86 X server configuration file status:
-rw-r--r--1 root root 3052 2004-05-27 15:02 
/etc/X11/XF86Config-4

Contents of /etc/X11/XF86Config-4:
# XF86Config-4 (XFree86 X server configuration file) generated by dexconf, the
# Debian X Configuration tool, using values from the debconf database.
#
# Edit this file with caution, and see the XF86Config-4 manual page.
# (Type man XF86Config-4 at the shell prompt.)
#
# This file is automatically updated on xserver-xfree86 package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xfree86
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
#   cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
#   md5sum /etc/X11/XF86Config-4  

Bug#204358: libxcursor1: This package should provide /usr/lib/libxcursor.so symlink

2003-08-06 Thread Modestas Vainius
Package: libxcursor1
Version: 1.0.2-2
Severity: important
Tags: sid

Currently, package libxcursor-dev contains /usr/lib/libxcursor.so
symlink. However, libxcursor1 should provide it, because it seems
that xfree86 4.3.0-0pre1v1 needs this symlink to be able to find 
libxcursor library. As a result, X cursor theme support is broken 
without libxcursor-dev package, what shouldn't happen.

-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux MDX-Debian 2.6.0-test2-mm4-mdx #1 Tue Aug 5 22:17:31 EEST 2003 
i686
Locale: LANG=lt_LT, LC_CTYPE=lt_LT

Versions of packages libxcursor1 depends on:
ii  libc6  2.3.2-1+i686+mdx2 GNU C Library: Shared libraries an
ii  libxrender10.8.2-1   X Rendering Extension client libra
ii  xlibs  4.3.0-0pre1v1 X Window System client libraries

-- no debconf information