From p.dalgaard at biostat.ku.dk  Mon Oct 29 20:12:44 2007
From: p.dalgaard at biostat.ku.dk (Peter Dalgaard)
Date: Mon, 29 Oct 2007 20:12:44 +0100
Subject: [Rd] (PR#10379) Re:  x11(....) kills R without DISPLAY
In-Reply-To: <47261862.2030903@cimr.cam.ac.uk>
References: <20071026223005.3CF422834619@mail.pubhealth.ku.dk>
	<472277D5.9080202@biostat.ku.dk> <472287D2.1020603@cimr.cam.ac.uk>
	<47228A41.5050901@biostat.ku.dk> <47261862.2030903@cimr.cam.ac.uk>
Message-ID: <472630AC.30501@biostat.ku.dk>

Hin-Tak Leung wrote:
> Peter Dalgaard wrote:
> <snipped>
>> You need x11() with a valid display to trigger the bug:
>>
>> [pd at titmouse2 BUILD]$ ssh -Y 192.168.1.10
>> pd at 192.168.1.10's password:
>> Last login: Sat Oct 27 02:40:16 2007 from 192.168.1.11
>> [pd at janus ~]$ echo $DISPLAY
>> localhost:10.0
>> [pd at janus ~]$ DISPLAY= R -q
>>  > x11("localhost:10.0")
>> Error: Couldn't find per display information
>> [pd at janus ~]$ uname -a
>> Linux janus 2.6.22.9-91.fc7 #1 SMP Thu Sep 27 20:47:39 EDT 2007 
>> x86_64 x86_64 x86_64 GNU/Linux
>> [pd at janus ~]$ cat /etc/issue
>> Fedora release 7 (Moonshine)
>> Kernel \r on an \m
>
> Agh, sorry. Yes, x11() (with or without $DISPLAY set) doesn't
> die catatrophically, x11("validinfo") does.
>
> HTL
The culprit would seem to be this bit of devX11.c

1302                    xtdpy = XtOpenDisplay(app_con, NULL, "r_x11", 
"R_x11",
1303                                          NULL, 0, &zero, NULL);
1304                    toplevel = XtAppCreateShell(NULL, "R_x11",

The 2nd arg to XtOpenDisplay is listed as display_string, so passing a 
NULL here seems like trouble when the default ways of finding the 
display do not work.

Looks like a fix is to insert p instead of NULL. (Tested rudimentarily.)



-- 
   O__  ---- Peter Dalgaard             ?ster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)                  FAX: (+45) 35327907



[Rd] (PR#10379) Re: x11(....) kills R without DISPLAY
Peter Dalgaard