Bug 240675

Summary: DISPLAY environment variable not set
Product: [Fedora] Fedora Reporter: Bill Bishop <bill.bishop>
Component: gnome-terminalAssignee: Behdad Esfahbod <behdad>
Status: CLOSED INSUFFICIENT_DATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: rstrode, triage
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard: bzcl34nup
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-05-06 21:46:23 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Attachments:
Description Flags
X fails to set $DISPLAY with this xorg.conf (works on FC5).
none
debug session on gnome-terminal none

Description Bill Bishop 2007-05-19 19:12:41 EDT
Description of problem:  The DISPLAY environment variable is left unset when
using xinerama in conjunction with twinview.  Dual-head using one card works
fine (as does "single head").  The configuration file for Quad-head, dual
graphics cards I'm attaching works fine on FC5 (but not on 7)


Version-Release number of selected component (if applicable): Fedora 7 test4
with current updates (as of today).


How reproducible:  Fully


Steps to Reproduce:
1. Pop two nvidia 7600 PCI-Express x16 cards into a box & install nvidia driver
2. Hook up four monitors
3. Copy attachment to /etc/X11/xorg.conf
4. Log-out, log back in.
  
Actual results:
 $DISPLAY is not set, so programs can't be launched from the desktop (including
terminal windows).  Programs launched from the "Applications", "Places", and
System" pulldowns all seem to launch (haven't done an exhaustive test).  The
mouse works fine across all screens.   But cannot create terminal windows or run
programs because $DISPLAY isn't set.   The desktop works across the four screens.

If I "ssh in", set $DISPLAY (to :0.0) manually, and start an xterm, things work
from there.


Expected results:
 Export $DISPLAY to be set.

Additional info:  I did a quick install of Fedora 7 test 4 from DVD of gnome
with development tools (no server or stuff), then updated all the packages.
Comment 1 Bill Bishop 2007-05-19 19:12:41 EDT
Created attachment 155052 [details]
X fails to set $DISPLAY with this xorg.conf (works on FC5).
Comment 2 Bill Bishop 2007-05-19 23:02:56 EDT
#xwininfo -root
xwininfo: Window id: 0x28a (the root window) (has no name)

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 3840
  Height: 2400
  Depth: 24
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +0+0  -0+0  -0-0  +0-0
  -geometry 3840x2400+0+0

 And when I try to run gnome-terminal (even with DISPLAY set):

The program 'gnome-terminal' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 103 error_code 2 request_code 78 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Comment 3 Adam Jackson 2007-05-21 16:17:23 EDT
The X server doesn't set $DISPLAY.  How are you launching X?
Comment 4 Bill Bishop 2007-05-21 17:24:41 EDT
(In reply to comment #3)
> The X server doesn't set $DISPLAY.  How are you launching X?

Nothing special; I installed Fedora 7 test 4, with gnome as the "default"
desktop. At runlevel 5 I get the "login" screen (with the nice hot-air balloon
backdrop), then log-in as a "plain user" or as "root" (doesn't matter).

I've discovered a bit more -- I installed "Eterm", and if I set the terminal
properties to launch Eterm instead of gnome-terminal, I do get a terminal
window, and $DISPLAY is set. 

 So, perhaps it's how gnome-terminal is interacting with the X-server that's the
problem(?).

Comment 5 Adam Jackson 2007-05-23 13:49:24 EDT
Sounds like it to me.  Moving this to gdm since the session starts from there;
hopefully they have more of a clue.
Comment 6 Ray Strode [halfline] 2007-05-24 10:22:52 EDT
if you press alt-f2 and run does a dialog pop up?

if so, if you run 

gnome-terminal --disable-factory

does a terminal pop up?
Comment 7 Bill Bishop 2007-05-24 11:07:04 EDT
(In reply to comment #6)
> if you press alt-f2 and run does a dialog pop up?
> 
> if so, if you run 
> 
> gnome-terminal --disable-factory
> 
> does a terminal pop up?

  The dialog pop's up, but I get nothing when I run "gnome-terminal
--disable-factory" (other programs run fine);  If I ssh over to the box, set the
DISPLAY variable and run from the command line, I get:

me->gnome-terminal --disable-factory
The program 'gnome-terminal' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 103 error_code 2 request_code 78 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)


Comment 8 Ray Strode [halfline] 2007-05-24 12:26:26 EDT
can you install the gnome-terminal and vte debuginfo packages, then do

gdb --args gnome-terminal --disable-factory --sync
break gdk_x_error
run
t a a bt full

and report the output?
Comment 9 Bill Bishop 2007-05-24 13:54:24 EDT
I installed: gnome-terminal-debuginfo-2.18.0-1.fc7.i386.rpm and
vte-debuginfo-0.16.3-2.fc7.i386.rpm

me->gdb --args gnome-terminal --disable-factory --sync
GNU gdb Red Hat Linux (6.6-8.fc7rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) break gdk_x_error
Function "gdk_x_error" not defined.
Make breakpoint pending on future shared library load? (y or [n])
(gdb) run
Starting program: /usr/bin/gnome-terminal --disable-factory --sync
[Thread debugging using libthread_db enabled]
[New Thread -1208821520 (LWP 5162)]
The program 'gnome-terminal' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 132 error_code 2 request_code 78 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Program exited with code 01.
(gdb) t a a bt full
(gdb)
Comment 10 Ray Strode [halfline] 2007-05-25 09:57:24 EDT
funky.  can you do 
break exit
instead of
break gdk_x_error ?
Comment 11 Bill Bishop 2007-05-25 17:08:06 EDT
me->gdb --args gnome-terminal --disable-factory --sync
GNU gdb Red Hat Linux (6.6-8.fc7rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) break exit
Function "exit" not defined.
Make breakpoint pending on future shared library load? (y or [n])
(gdb) run
Starting program: /usr/bin/gnome-terminal --disable-factory --sync
[Thread debugging using libthread_db enabled]
[New Thread -1208981264 (LWP 4781)]
The program 'gnome-terminal' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 132 error_code 2 request_code 78 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Program exited with code 01.
(gdb) t a a bt full
(gdb)

(looks like I'm missing some library symbols?)
Comment 12 Ray Strode [halfline] 2007-05-25 19:05:00 EDT
I don't know, that's very strange.

What if you 

break main
run
break gdk_x_error
break exit
cont
t a a bt full

?
Comment 13 Bill Bishop 2007-05-25 19:15:17 EDT
Created attachment 155492 [details]
debug session on gnome-terminal
Comment 14 Ray Strode [halfline] 2007-05-25 20:06:41 EDT
if you type 

alt-f2
sh -c "XLIB_SKIP_ARGB_VISUALS=1 gnome-terminal --disable-factory"

does a terminal come up?

Behdad, do you know if upstream recently added support for real transparency or
something?
Comment 15 Bill Bishop 2007-05-25 22:16:37 EDT
Yes, a gnome-terminal window does appear, and I can spawn more of them from that
window.  Sorry, I don't know anything about "upstream".
Comment 16 Bug Zapper 2008-04-03 20:48:02 EDT
Based on the date this bug was created, it appears to have been reported
against rawhide during the development of a Fedora release that is no
longer maintained. In order to refocus our efforts as a project we are
flagging all of the open bugs for releases which are no longer
maintained. If this bug remains in NEEDINFO thirty (30) days from now,
we will automatically close it.

If you can reproduce this bug in a maintained Fedora version (7, 8, or
rawhide), please change this bug to the respective version and change
the status to ASSIGNED. (If you're unable to change the bug's version
or status, add a comment to the bug and someone will change it for you.)

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we're following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.
Comment 17 Bug Zapper 2008-05-06 21:46:20 EDT
This bug has been in NEEDINFO for more than 30 days since feedback was
first requested. As a result we are closing it.

If you can reproduce this bug in the future against a maintained Fedora
version please feel free to reopen it against that version.

The process we're following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp