Hello, i have an issue with Skype lately (i compile mesa, kernel, drm, xserver from git periodically and i use a A8-6500 with its IGP with r600g and glamor). It crashes the x server if i use bi directional video call. It seems to work in one-way video. The x server restarts, but skype continues to work for about half a minute more, including sending video. One problem is that i dont see any errors in any logs, not dmesg or xorg log so i cant say which component is the culprit.
Now it seems that a similar issue existed in the past and it was related to some drivers that couldnt handle multiple xv instances (one for the received video, the other for the local video thumbnail). And there was a workaround of disabling the local video thumbnail which cant be done on the current Skype (4.3). The glamor xv reports 16 available ports though.
Is there any other way of diagnosing this error? Maybe i have some issue with the 32 bit driver installation? Although i had no problems whatsoever (gaming on Steam, vdpau etc works well for example) other than this.
On Tue, Oct 28, 2014 at 8:13 AM, Laszlo Kertesz laszlo.kertesz@gmail.com wrote:
Hello, i have an issue with Skype lately (i compile mesa, kernel, drm, xserver from git periodically and i use a A8-6500 with its IGP with r600g and glamor). It crashes the x server if i use bi directional video call. It seems to work in one-way video. The x server restarts, but skype continues to work for about half a minute more, including sending video. One problem is that i dont see any errors in any logs, not dmesg or xorg log so i cant say which component is the culprit.
Now it seems that a similar issue existed in the past and it was related to some drivers that couldnt handle multiple xv instances (one for the received video, the other for the local video thumbnail). And there was a workaround of disabling the local video thumbnail which cant be done on the current Skype (4.3). The glamor xv reports 16 available ports though.
Is there any other way of diagnosing this error? Maybe i have some issue with the 32 bit driver installation? Although i had no problems whatsoever (gaming on Steam, vdpau etc works well for example) other than this.
Attach gdb to the xserver and get a backtrace when it crashes. Make sure you install the debug symbols for the xserver, etc. http://www.x.org/wiki/Development/Documentation/ServerDebugging/
Alex
On Tue, 2014-10-28 at 09:41 -0400, Alex Deucher wrote:
On Tue, Oct 28, 2014 at 8:13 AM, Laszlo Kertesz laszlo.kertesz@gmail.com wrote:
Hello, i have an issue with Skype lately (i compile mesa, kernel, drm, xserver from git periodically and i use a A8-6500 with its IGP with r600g and glamor). It crashes the x server if i use bi directional video call. It seems to work in one-way video. The x server restarts, but skype continues to work for about half a minute more, including sending video. One problem is that i dont see any errors in any logs, not dmesg or xorg log so i cant say which component is the culprit.
Now it seems that a similar issue existed in the past and it was related to some drivers that couldnt handle multiple xv instances (one for the received video, the other for the local video thumbnail). And there was a workaround of disabling the local video thumbnail which cant be done on the current Skype (4.3). The glamor xv reports 16 available ports though.
Is there any other way of diagnosing this error? Maybe i have some issue with the 32 bit driver installation? Although i had no problems whatsoever (gaming on Steam, vdpau etc works well for example) other than this.
Attach gdb to the xserver and get a backtrace when it crashes. Make sure you install the debug symbols for the xserver, etc. http://www.x.org/wiki/Development/Documentation/ServerDebugging/
Alex
I idd a bdb trace a while back and it does seem incomplete probably because something wasnt compiled with debug on.
Program received signal SIGABRT, Aborted. 0x00007f530e3d5077 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. Continuing. [Thread 0x7f53083d7700 (LWP 32676) exited]
Program terminated with signal SIGABRT, Aborted. The program no longer exists.
Anyway, the cause is clearly glamor on r600g related as i have disabled glamor and on exa i did not have any such issues. Even with the newest xserver git build it does crash nonetheless.
last commit is glamor: Make sure glamor_egl_close_screen wraps glamor_close_screen
On Thu, Dec 18, 2014 at 5:03 PM, Kertesz Laszlo laszlo.kertesz@gmail.com wrote:
On Tue, 2014-10-28 at 09:41 -0400, Alex Deucher wrote:
On Tue, Oct 28, 2014 at 8:13 AM, Laszlo Kertesz laszlo.kertesz@gmail.com wrote:
Hello, i have an issue with Skype lately (i compile mesa, kernel, drm, xserver from git periodically and i use a A8-6500 with its IGP with r600g and glamor). It crashes the x server if i use bi directional video call. It seems to work in one-way video. The x server restarts, but skype continues to work for about half a minute more, including sending video. One problem is that i dont see any errors in any logs, not dmesg or xorg log so i cant say which component is the culprit.
Now it seems that a similar issue existed in the past and it was related to some drivers that couldnt handle multiple xv instances (one for the received video, the other for the local video thumbnail). And there was a workaround of disabling the local video thumbnail which cant be done on the current Skype (4.3). The glamor xv reports 16 available ports though.
Is there any other way of diagnosing this error? Maybe i have some issue with the 32 bit driver installation? Although i had no problems whatsoever (gaming on Steam, vdpau etc works well for example) other than this.
Attach gdb to the xserver and get a backtrace when it crashes. Make sure you install the debug symbols for the xserver, etc. http://www.x.org/wiki/Development/Documentation/ServerDebugging/
Alex
I idd a bdb trace a while back and it does seem incomplete probably because something wasnt compiled with debug on.
Program received signal SIGABRT, Aborted. 0x00007f530e3d5077 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. Continuing. [Thread 0x7f53083d7700 (LWP 32676) exited]
Program terminated with signal SIGABRT, Aborted. The program no longer exists.
Anyway, the cause is clearly glamor on r600g related as i have disabled glamor and on exa i did not have any such issues. Even with the newest xserver git build it does crash nonetheless.
The question is whether the issue is in glamor or r600g or mesa.
Alex
Attached gdb trace (crashed on latest git x server).
On 26.12.2014 09:01, Kertesz Laszlo wrote:
Attached gdb trace (crashed on latest git x server).
Did it include commit 70a6f65f9e2b26ef7539dcacfcfea927bc1f13fd ('glamor: Make sure Xvideo source image data is properly aligned')? If not, does that help by any chance?
If not, can you make sure debugging symbols are available for /usr/lib/x86_64-linux-gnu/xorg/modules/libglamoregl.so, and get another backtrace?
On Fri, 2014-12-26 at 10:26 +0900, Michel Dänzer wrote:
On 26.12.2014 09:01, Kertesz Laszlo wrote:
Attached gdb trace (crashed on latest git x server).
Did it include commit 70a6f65f9e2b26ef7539dcacfcfea927bc1f13fd ('glamor: Make sure Xvideo source image data is properly aligned')? If not, does that help by any chance?
If not, can you make sure debugging symbols are available for /usr/lib/x86_64-linux-gnu/xorg/modules/libglamoregl.so, and get another backtrace?
Yes i do have that commit (last is modesetting: Add vblank synchronization support when using Present.). And i enabled debug in the xserver with --enable-debug, is there something else i need to add for libglamoregl?
On 26.12.2014 12:10, Kertesz Laszlo wrote:
On Fri, 2014-12-26 at 10:26 +0900, Michel Dänzer wrote:
On 26.12.2014 09:01, Kertesz Laszlo wrote:
Attached gdb trace (crashed on latest git x server).
Did it include commit 70a6f65f9e2b26ef7539dcacfcfea927bc1f13fd ('glamor: Make sure Xvideo source image data is properly aligned')? If not, does that help by any chance?
If not, can you make sure debugging symbols are available for /usr/lib/x86_64-linux-gnu/xorg/modules/libglamoregl.so, and get another backtrace?
Yes i do have that commit (last is modesetting: Add vblank synchronization support when using Present.). And i enabled debug in the xserver with --enable-debug, is there something else i need to add for libglamoregl?
If you're building and installing packages from xserver Git, you may need to install the corresponding debugging package. Otherwise, make sure /usr/lib/x86_64-linux-gnu/xorg/modules/libglamoregl.so is actually the one you built from Git, and that it doesn't get stripped.
On Fri, 2014-12-26 at 12:17 +0900, Michel Dänzer wrote:
On 26.12.2014 12:10, Kertesz Laszlo wrote:
On Fri, 2014-12-26 at 10:26 +0900, Michel Dänzer wrote:
On 26.12.2014 09:01, Kertesz Laszlo wrote:
Attached gdb trace (crashed on latest git x server).
Did it include commit 70a6f65f9e2b26ef7539dcacfcfea927bc1f13fd ('glamor: Make sure Xvideo source image data is properly aligned')? If not, does that help by any chance?
If not, can you make sure debugging symbols are available for /usr/lib/x86_64-linux-gnu/xorg/modules/libglamoregl.so, and get another backtrace?
Yes i do have that commit (last is modesetting: Add vblank synchronization support when using Present.). And i enabled debug in the xserver with --enable-debug, is there something else i need to add for libglamoregl?
If you're building and installing packages from xserver Git, you may need to install the corresponding debugging package. Otherwise, make sure /usr/lib/x86_64-linux-gnu/xorg/modules/libglamoregl.so is actually the one you built from Git, and that it doesn't get stripped.
Ok, rebuilt the xserver package with debugging symbols (seems that checkinstall strips stuff by default). I got a bigger gdb.txt. See if it helps.
Kertesz Laszlo laszlo.kertesz@gmail.com writes:
Ok, rebuilt the xserver package with debugging symbols (seems that checkinstall strips stuff by default). I got a bigger gdb.txt. See if it helps.
I found a bug -- glamor_xv_put_image was mis-computing the number of lines of changed video when the client drew only a subset of the image. I think the client is drawing at src_y=1, src_h=239 for some weird reason (I suspect a bug in the client).
Try this patch:
Keith Packard keithp@keithp.com writes:
Kertesz Laszlo laszlo.kertesz@gmail.com writes:
Ok, rebuilt the xserver package with debugging symbols (seems that checkinstall strips stuff by default). I got a bigger gdb.txt. See if it helps.
I found a bug -- glamor_xv_put_image was mis-computing the number of lines of changed video when the client drew only a subset of the image. I think the client is drawing at src_y=1, src_h=239 for some weird reason (I suspect a bug in the client).
Try this patch:
From eaa4225413b31314070f9a52d9290649e79a3b0f Mon Sep 17 00:00:00 2001 From: Keith Packard keithp@keithp.com Date: Sat, 27 Dec 2014 09:11:33 -0800 Subject: [PATCH] glamor: Fix nlines in glamor_xv_put_image when src_y is odd
The number of lines of video to update in the texture needs to be computed from the height of the updated source, not the full height of the source.
Signed-off-by: Keith Packard keithp@keithp.com
glamor/glamor_xv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/glamor/glamor_xv.c b/glamor/glamor_xv.c index 1c877da..83e24ad 100644 --- a/glamor/glamor_xv.c +++ b/glamor/glamor_xv.c @@ -435,7 +435,7 @@ glamor_xv_put_image(glamor_port_private *port_priv, }
top = (src_y) & ~1;
- nlines = (src_y + height) - top;
nlines = (src_y + src_h) - top;
switch (id) { case FOURCC_YV12:
If the point is to upload only from the src_[xywh] recctangle, shouldn't the glamor_upload_sub_pixmap_to_texture() calls be using src_w instead of width, too?
Eric Anholt eric@anholt.net writes:
--- a/glamor/glamor_xv.c +++ b/glamor/glamor_xv.c @@ -435,7 +435,7 @@ glamor_xv_put_image(glamor_port_private *port_priv, }
top = (src_y) & ~1;
- nlines = (src_y + height) - top;
nlines = (src_y + src_h) - top;
switch (id) { case FOURCC_YV12:
If the point is to upload only from the src_[xywh] recctangle, shouldn't the glamor_upload_sub_pixmap_to_texture() calls be using src_w instead of width, too?
It doesn't need to, but it could as an optimization. Skipping lines at the top and bottom is also just an optimization as the source rectangle defines a subset of the provided buffer, after all. I just fixed that optimization.
Keith Packard keithp@keithp.com writes:
Eric Anholt eric@anholt.net writes:
--- a/glamor/glamor_xv.c +++ b/glamor/glamor_xv.c @@ -435,7 +435,7 @@ glamor_xv_put_image(glamor_port_private *port_priv, }
top = (src_y) & ~1;
- nlines = (src_y + height) - top;
nlines = (src_y + src_h) - top;
switch (id) { case FOURCC_YV12:
If the point is to upload only from the src_[xywh] recctangle, shouldn't the glamor_upload_sub_pixmap_to_texture() calls be using src_w instead of width, too?
It doesn't need to, but it could as an optimization. Skipping lines at the top and bottom is also just an optimization as the source rectangle defines a subset of the provided buffer, after all. I just fixed that optimization.
glamor_xv_render is trying to scale from dst coords to src coords using multiplication by src_w / dst_w, though, so if the src pixmap was width wide instead of src_w wide, I think you'd be rendering wrong.
Keith Packard keithp@keithp.com writes:
Eric Anholt eric@anholt.net writes:
--- a/glamor/glamor_xv.c +++ b/glamor/glamor_xv.c @@ -435,7 +435,7 @@ glamor_xv_put_image(glamor_port_private *port_priv, }
top = (src_y) & ~1;
- nlines = (src_y + height) - top;
nlines = (src_y + src_h) - top;
switch (id) { case FOURCC_YV12:
If the point is to upload only from the src_[xywh] recctangle, shouldn't the glamor_upload_sub_pixmap_to_texture() calls be using src_w instead of width, too?
It doesn't need to, but it could as an optimization. Skipping lines at the top and bottom is also just an optimization as the source rectangle defines a subset of the provided buffer, after all. I just fixed that optimization.
FWIW, even as is:
Reviewed-by: Eric Anholt eric@anholt.net
Eric Anholt eric@anholt.net writes:
Reviewed-by: Eric Anholt eric@anholt.net
Merged. 09230a2..d723928 master -> master
On Sat, 2014-12-27 at 09:18 -0800, Keith Packard wrote:
Kertesz Laszlo laszlo.kertesz@gmail.com writes:
Ok, rebuilt the xserver package with debugging symbols (seems that checkinstall strips stuff by default). I got a bigger gdb.txt. See if it helps.
I found a bug -- glamor_xv_put_image was mis-computing the number of lines of changed video when the client drew only a subset of the image. I think the client is drawing at src_y=1, src_h=239 for some weird reason (I suspect a bug in the client).
Try this patch:
Tried it and it works. I had a ~10 min Skype call and had no issues.
Kertesz Laszlo laszlo.kertesz@gmail.com writes:
Tried it and it works. I had a ~10 min Skype call and had no issues.
Thanks for testing.
On 19.12.2014 07:03, Kertesz Laszlo wrote:
On Tue, 2014-10-28 at 09:41 -0400, Alex Deucher wrote:
On Tue, Oct 28, 2014 at 8:13 AM, Laszlo Kertesz laszlo.kertesz@gmail.com wrote:
Hello, i have an issue with Skype lately (i compile mesa, kernel, drm, xserver from git periodically and i use a A8-6500 with its IGP with r600g and glamor). It crashes the x server if i use bi directional video call. It seems to work in one-way video. The x server restarts, but skype continues to work for about half a minute more, including sending video. One problem is that i dont see any errors in any logs, not dmesg or xorg log so i cant say which component is the culprit.
Now it seems that a similar issue existed in the past and it was related to some drivers that couldnt handle multiple xv instances (one for the received video, the other for the local video thumbnail). And there was a workaround of disabling the local video thumbnail which cant be done on the current Skype (4.3). The glamor xv reports 16 available ports though.
Is there any other way of diagnosing this error? Maybe i have some issue with the 32 bit driver installation? Although i had no problems whatsoever (gaming on Steam, vdpau etc works well for example) other than this.
Attach gdb to the xserver and get a backtrace when it crashes. Make sure you install the debug symbols for the xserver, etc. http://www.x.org/wiki/Development/Documentation/ServerDebugging/
Alex
I idd a bdb trace a while back and it does seem incomplete probably because something wasnt compiled with debug on.
Program received signal SIGABRT, Aborted. 0x00007f530e3d5077 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. Continuing.
You need to run 'bt full' at this point instead of continuing execution.
dri-devel@lists.freedesktop.org