Launching LibreOffice cause Xorg Server crash, if glamor is used as AccelMethod

Bug #1493639 reported by RussianNeuroMancer
0
Affects Status Importance Assigned to Milestone
X.Org X server
Fix Released
Critical
xorg-server (Ubuntu)
New
Undecided
Unassigned

Bug Description

Launching LibreOffice cause Xorg Server crash, if glamor is used as AccelMethod.
Upstream report: https://bugs.freedesktop.org/show_bug.cgi?id=91923
Patch is available:
https://bugs.freedesktop.org/show_bug.cgi?id=90667#c27
https://bugs.freedesktop.org/attachment.cgi?id=117133

Revision history for this message
In , M-kaffanke (m-kaffanke) wrote :

Created attachment 116056
backtrace of the crash

Hello there,

I hope you can help me.

I have the same crash backtrace again and again but from different reasons. Sometimes its emacs, than its libreoffice, but it can also be chromium browser or firefox. Mostly - I'm not sure its when i resize the windows - but that is just a guess, because it does not happen systematically from my point of view. (its the same with awesome windowmanager or enlightenment)

It just coredumps....

I will add the core dump and also the X log file and the .xsession-error (which differs a bit)

Revision history for this message
In , M-kaffanke (m-kaffanke) wrote :

Created attachment 116058
Xorg.0.log - the xorg logfile

Revision history for this message
In , M-kaffanke (m-kaffanke) wrote :

Created attachment 116059
.xsession-errors

Revision history for this message
In , M-kaffanke (m-kaffanke) wrote :

Please help me soon, I will try also patches for you...

Thanks very much.

Revision history for this message
In , M-kaffanke (m-kaffanke) wrote :

As I mentioned allready, the bug comes from different applications, because I work most with emacs, so I will give you the emacs core dump too, maybe you can help me now... :(

Revision history for this message
In , M-kaffanke (m-kaffanke) wrote :

Created attachment 116125
emacs core dump

But I think emacs core dumps just because of the xorg coredump which comes first.

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

Created attachment 116170
Xorg log

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

Created attachment 116171
gdb backtrace

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

I have the same problem. It seems to mostly happen when I resize frames in certain programs.

I can more or less reproduce it by resizing the frames in 'git gui' but it also occurs in LibreOffice and Emacs.

I'm running on an Intel i5-2500k and use a Radeon R9 290 graphics card with xf86-video-radeon.

I added my own log file and backtraces.

Revision history for this message
In , Michel Dänzer (michel-daenzer) wrote :

(In reply to André from comment #8)
> I can more or less reproduce it by resizing the frames in 'git gui' but it
> also occurs in LibreOffice and Emacs.

Which window manager(s) does it happen with for you?

Do you guys use any special window manager configuration, e.g. non-opaque window resizes?

Revision history for this message
In , M-kaffanke (m-kaffanke) wrote :

I also had the Idea about window resizing, until today it also crashed while using mu4e for my mails, just switching from one mail to another. That worked for 20 emails, but now it crashed with the same Xorg backtrace.

I use awesome windowmanager, and will add my rc.lua for you. I don't think there are special configurations.

Here is my xorg config:

------ begin .xinitrc ------
#!/bin/bash

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
    for f in /etc/X11/xinit/xinitrc.d/?* ; do
        [ -x "$f" ] && . "$f"
    done
    unset f
fi

[[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources

exec awesome
------ end .xinitrc -----

------ begin .Xresources ------
! This is a comment placed above some Xft settings
!Xft.dpi: 115 ! this is an inline comment
Xft.dpi: 122
Xft.antialias: true
Xft.hinting: true
Xft.hintstyle: hintslight
------ end .Xresources ------

having 2 files in my /etc/X11/xinit/xinitrc.d:

------ begin 30-dbus.sh -----
#!/bin/bash

# launches a session dbus instance
if [ -z "${DBUS_SESSION_BUS_ADDRESS-}" ] && type dbus-launch >/dev/null; then
  eval $(dbus-launch --sh-syntax --exit-with-session)
fi
------ end 30-dbus.sh -------
------ begin 40-libcanberra-gtk-module.sh ------
#!/bin/bash

case "${DESKTOP_SESSION-}" in
  gnome) # Done by gnome-settings-daemon
  ;;
  *)
    # Extra check in case DESKTOP_SESSION is not set correctly
    if [[ -z ${GNOME_DESKTOP_SESSION_ID-} ]]; then
      if [[ -z ${GTK_MODULES-} ]]; then
        GTK_MODULES="canberra-gtk-module"
      else
        GTK_MODULES="$GTK_MODULES:canberra-gtk-module"
      fi
      export GTK_MODULES
    fi
  ;;
esac
--------- end 40-libcaberra-gtk-module.sh ------

ok and then i have no xorg.conf in my /etc/X11 directory but a /etc/X11/xorg.conf.d dirctory, having one file:
------ begin 20-tastatur.conf -----
# Deutsches Layout
Section "InputClass"
 Identifier "keyboard"
 MatchIsKeyboard "yes"
 Option "XkbLayout" "de,se"
 Option "XkbVariant" "nodeadkeys"
 Option "XkbOptions" "grp:alt_space_toggle"
EndSection
------- end 20-tastatur.conf ----

I will send my rc.lua via attachment.

Any hints about that configuration?

Thanks,
Martin

Revision history for this message
In , M-kaffanke (m-kaffanke) wrote :

Created attachment 116238
rc.lua for my awesome windowmanager

Revision history for this message
In , M-kaffanke (m-kaffanke) wrote :

could you tell me where you would start to fix that problem?

I know some C, but I don't know where to start with that problem. Just tell me your thoughts what you as a developer would try, and I try to test that.

thanks.

Revision history for this message
In , Michel Dänzer (michel-daenzer) wrote :

I've been unable to reproduce the crash with xserver Git master, although I've confirmed I'm hitting the same code path with git gui.

After reproducing the crash with gdb attached, please run the following commands at the gdb prompt and post their output:

frame 2
p *(PixmapPtr)dst
p *(glamor_pixmap_private*)dixLookupPrivate(&((PixmapPtr)dst)->devPrivates, &glamor_pixmap_private_key)

Revision history for this message
In , M-kaffanke (m-kaffanke) wrote :

Hi Michael,

I get:

(gdb) frame 2
#2 0x0000000000598d2e in OsAbort () at utils.c:1342
1342 utils.c: File or direcotry not found.
(gdb) p *(PixmapPtr)dst
No symbol "dst" in current context.
(gdb) p *(glamor_pixmap_private*)dixLookupPrivate(&((PixmapPtr)dst)->devPrivates, &glamor_pixmap_private_key)
No symbol "dst" in current context.

so I think I have to install or do something before doing that?

Thanks,
Martin

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

Created attachment 116628
GDB output emacs

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

Created attachment 116629
GDB output git gui

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

Created attachment 116630
GDB output LibreOffice

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

I added three stacktraces from different programs with the output of the commands you have given.

LibreOffice crashes when I add a frame (Insert -> Frame) and then resize it with the handles. Sometimes it takes two or three resize operations before the crash occurs.

git gui crashes when I move the splitter seperating the different parts of the window. It also take several move operations before the crash. It seems that in this case the dst argument for fbBltOne is not 0x0.

Emacs crashes when I resize the window. It occurs less often and I have to resize the window 10 times or so. It has a different stacktrace than the others so I tried to get the right variable for your commands.

If you need any other output or things to try out just tell me.

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

I'm running Arch Linx with xfce4.

xfwm4 (4.12.3-1)
xorg-server (1.17.2-1)
xf86-video-ati (1:7.5.0-2)

As mentioned before I have a Radeon R9 290 graphics card with 2 monitors on DVI and one on HDMI. But the crashes occur even if I connect only one monitor.

Revision history for this message
In , Michel Dänzer (michel-daenzer) wrote :

(In reply to André from comment #18)
> I added three stacktraces from different programs with the output of the
> commands you have given.

Thanks. Can you also print *glamor_priv?

So far, the only way I could see this happen is if glMapBuffer() fails.

Or, maybe there's memory corruption going on. Any chance one of you could run Xorg in valgrind, try reproducing a crash and see if valgrind finds anything wrong?

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

Created attachment 116650
Valgrind output from Xorg

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

Created attachment 116651
GDB output LibreOffice

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

Created attachment 116652
GDB output git gui

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

I updated the gdb output to include glamor_priv.

I also tried to run valgrind. I've run a bare Xorg without my usual xfce4 environment. I disabled the leak checks because after the crash I got around 40MB of leak output.

Do you have any clue what component could cause the corruption, then I could try to change it.

(In reply to m.kaffanke from comment #10)
> I use awesome windowmanager, and will add my rc.lua for you. I don't think
> there are special configurations.

What graphics card and driver are you using?

Revision history for this message
In , Michel Dänzer (michel-daenzer) wrote :

Created attachment 116666
Assert that glMapBuffer returns non-NULL

Thanks for the valgrind output, but unfortunately, it doesn't shed any more light on this mystery for me.

Can you try applying this xserver patch and reproducing the problem with gdb attached to Xorg? Does it fail the added assertion before it crashes?

Revision history for this message
In , Michel Dänzer (michel-daenzer) wrote :

BTW, has one of you tried if this also happens with xserver 1.16.y?

Revision history for this message
In , Airlied-freedesktop (airlied-freedesktop) wrote :

Created attachment 117133
X server patch to make current in some fallback paths

this X server patch should fix this.

Revision history for this message
In , Michel Dänzer (michel-daenzer) wrote :

*** Bug 90941 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Freedesktop-4 (freedesktop-4) wrote :

I'm now running xorg-server-1.17.2-4 on Arch (which includes the patch) and didn't had a crash with the programs I tested.

Revision history for this message
In , Michel Dänzer (michel-daenzer) wrote :

commit db5337afb248edf81087cf8d74006fc496d70589
Author: Dave Airlie <email address hidden>
Date: Wed Jul 15 17:56:11 2015 +1000

    glamor: make current in prepare paths

Revision history for this message
In , Michel Dänzer (michel-daenzer) wrote :

*** Bug 91923 has been marked as a duplicate of this bug. ***

Changed in xorg-server (Ubuntu):
status: New → Fix Committed
status: Fix Committed → New
tags: added: patch regression-release wily
Changed in xorg-server:
importance: Unknown → Critical
status: Unknown → Fix Released
summary: Launching LibreOffice cause Xorg Server crash, if glamor is used as
- AcceleMethod
+ AccelMethod
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.