This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: [64bit] Problem with emacs and shared memory under X11
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin-apps at cygwin dot com
- Date: Thu, 18 Jul 2013 10:37:48 +0200
- Subject: Re: [64bit] Problem with emacs and shared memory under X11
- References: <51D803A0 dot 7090700 at cornell dot edu> <51D82992 dot 5010402 at dronecode dot org dot uk> <51E70D37 dot 5020600 at dronecode dot org dot uk>
- Reply-to: cygwin-apps at cygwin dot com
On Jul 17 22:31, Jon TURNEY wrote:
> On 19/06/2013 23:39, Yaakov (Cygwin/X) wrote:
> > There appears to be a bug in the MIT-SHM extension with the 64-bit
> > xserver; both XWin and Xvfb have manifested this so far. The easiest way to
> > trigger this is to install gnome-themes-standard, add
> > gtk-theme-name="Adwaita" to your ~/.gtkrc-2.0, then start a GTK+2 program
> > (e.g. gtk-demo), but GTK+3 programs also show this. Starting the server
> > with -extension MIT-SHM, or using a 32-bit server even with MIT-SHM, works
> > fine.
>
> On 06/07/2013 15:28, Jon TURNEY wrote:
> > On 06/07/2013 12:46, Ken Brown wrote:
> >> On 64bit Cygwin, if I try to run emacs under X11 while cygserver is running,
> >> emacs fails to connect to the X server. The error message from the X server is
> >>
> >> BadShmSeg (invalid shared segment parameter) on protocol request 131
> >>
> >> To reproduce:
> >>
> >> 1. Install the current version of emacs-X11 (24.3-4).
> >>
> >> 2. Start the (64bit) cygserver service.
> >>
> >> 3. Start the (64bit) X server, e.g., by typing "startxwin" in a Cygwin Terminal.
> >>
> >> 4. In the resulting xterm, try to start emacs:
> >>
> >> $ emacs-X11.exe -Q &
> >>
> >> The result is that emacs displays the error message above and then aborts.
> >>
> >> emacs-X11 works fine if the X server is started when cygserver is not running.
> >
> > Yup, there's some kind of bug which affects SHM use by the X server on 64bit.
> > I am looking into it.
> >
> > You can also work around this by starting the X server with '-extension MIT-SHM'
>
> After going around in circles on this a few times, this is what I now think I
> know:
>
> The proximate cause of this error is that the x86_64 libcairo2 package appears
> to be built with IPC_RMID_DEFERRED_RELEASE defined, which should only happen
> on systems which allow processes to shmat() to a shared memory segment which
> has already been marked for deletion with shmctl(IPC_RMID) (A non-portable
> Linux behaviour)
>
> (This behaviour can be turned on in cygwin by setting the
> 'kern.ipc.shm_allow_removed' to 'yes' in /etc/cygserver.conf, so that is also
> a work around)
>
> Attached is the configure test extracted from cairo, which for some reason
> functions incorrectly on x86_64.
I'm glad to read it's not a bug in Cygwin or Cygserver :}
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat