[comp.sys.hp] X window Quirk

sudipto@magnus.acs.ohio-state.edu (Sudipto Mukherjee) (06/01/91)

This has to do with HPUX 7.03 versus HPUX 7.05. We had a package
called MOLDFLOW running on 7.03. We updated to 7.05 and moldflow
would not run and kept giving a XOpenDisplay error. We changed the
DISPLAY variable to unix:0:0 from Balki:0:0 where Balki is the
name of our system. The package runs fine now.

Now the question. Why do I have to set DISPLAY in this version of
HPUX when I did no such thing to get it running on 7.03 ?? 

Right now, we set DISPLAY before we run the package. Is there any
forseeable problem in setting this in our login scripts ??

I ought to mention that Moldflow runs on top of X.

I would appreciate if anybody has clues to this, specially about
why this change after the update.

Thanks
	Sudipto
	sudipto+@osu.edu

ianhogg@cs.umn.edu (Ian J. Hogg) (06/01/91)

In article <1991May31.170820.14565@magnus.acs.ohio-state.edu>, sudipto@magnus.acs.ohio-state.edu (Sudipto Mukherjee) writes:
> This has to do with HPUX 7.03 versus HPUX 7.05. We had a package
> called MOLDFLOW running on 7.03. We updated to 7.05 and moldflow
> would not run and kept giving a XOpenDisplay error. We changed the
> DISPLAY variable to unix:0:0 from Balki:0:0 where Balki is the
> name of our system. The package runs fine now.
>
   
> Now the question. Why do I have to set DISPLAY in this version of
> HPUX when I did no such thing to get it running on 7.03 ?? 
> 

  unix:0.0 used to be acceptable for a specification of the local display.  The 
  official value for a local connection is ":0.0".  You don't mention it but
  I assume that have a different version of MOLDFLOW.  If you are running the
  same binary on both versions I don't know why the "problem" came up. The 
  only place that the DISPLAY variable is used is in Xlib.

> Right now, we set DISPLAY before we run the package. Is there any
> forseeable problem in setting this in our login scripts ??
> 
  Possible performance degradation.  When you create a connection to 
  hostname:0.0, an AF_INET socket is created which causes all communication
  to go through the networking software (and possibly the hardware).  When
  a connection to :0.0 is made an AF_UNIX socket is created which is just an
  named pipe. Also, I believe the :0.0 tells Xlib that it can communicate with
  the server via the most efficient method available.  A vendor could support
  transport mechanism based on shared memory if they wanted.  I think there is
  an extension that allows XImage data to be passed via shared memory. 

  It is possible that Xlib is smart enough to detect if hostname is local and
  then create an AF_UNIX socket.  I doubt it though.

> I ought to mention that Moldflow runs on top of X.
> 
> I would appreciate if anybody has clues to this, specially about
> why this change after the update.
> 
> Thanks
> 	Sudipto
> 	sudipto+@osu.edu

bcripe@hpcvlx.cv.hp.com (Brian E. Cripe) (06/04/91)

> This has to do with HPUX 7.03 versus HPUX 7.05. We had a package
> called MOLDFLOW running on 7.03. We updated to 7.05 and moldflow
> would not run and kept giving a XOpenDisplay error. We changed the
> DISPLAY variable to unix:0:0 from Balki:0:0 where Balki is the
> name of our system. The package runs fine now.

Here is a guess.  Some versions of Xlib will look at a display name
such as "Balki:0.0" and use Unix-domain sockets if it specifies the
local host -- other versions of Xlib will always use Internet sockets
with this type of name.

So ... If MOLDFLOW is built on the latter type of Xlib (always use
Internet sockets if a hostname is specified), then when you changed
DISPLAY from Balki:0.0 to unix:0.0 you switched from Internet 
sockets to Unix-domain sockets.  Perhaps your update to 7.05 broke
Internet sockets somehow?

	Brian Cripe