(PR#10379) Re: x11(....) kills R without DISPLAY
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=3D 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=20 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 =3D XtOpenDisplay(app_con, NULL, "r_x11",=20 "R_x11", 1303 NULL, 0, &zero, NULL); 1304 toplevel =3D XtAppCreateShell(NULL, "R_x11", The 2nd arg to XtOpenDisplay is listed as display_string, so passing a=20 NULL here seems like trouble when the default ways of finding the=20 display do not work. Looks like a fix is to insert p instead of NULL. (Tested rudimentarily.) --=20 O__ ---- Peter Dalgaard =D8ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327= 918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327= 907