Re: panel error *** ORBit patch ***





On 13 Aug 1998, Elliot Lee wrote:
> 
> Segfaulting is a problem, but putting your hacks in would be even worse :)

In general, yes.  I would have been shocked and dumbfounded if the cheap
hack I wrote found its way into CVS.  OTOH, I and I assume many other
people have not been able to get panel working since it moved from Mico to
ORBit.  It's a cheap hack that worked for me, and I posted it since I
think other people may find it useful, while the design issues get
hammered out.

I hope I made clear enough in the initial post, but I'll reiterate here,
that patch should only be used if you are having DNS related segfaults in
connection.c.  Also, don't even try it on the CVS version, it is for the
ORBit-0.2 tarball.


> I refuse to put broken DNS hacks in in order to cater to broken system
> setups. I quite honestly do not care to support broken systems - should I
> also check to make sure that you have IPv4 support on your system before
> attempting to use it? :)

I beg you to reconsider.  Broken DNS is common, missing IPv4 support is
not (besides, you probably do check for that, how else do you tell if the
machine is IPv4 or IPv6?).  Some users don't know any better, and ORBit
should at least exit gracefully with an error saying to fix /etc/hosts.
ORBit-0.2 had such an error for forward DNS, but not reverse DNS, and the
CVS version has removed the error reporting completely.

Some users are beholden on others for DNS services.  For example many
people with just a dialup connection only have access to reverse DNS when
they are connected (and with some ISP's not even then).  These users often
have dynamic IP addresses.  While you and I have the knowledge to write a
script to adjust /etc/hosts for a dynamic number, and possibly a dynamic
name, many users don't.  We shouldn't require that level of knowledge just
to get Panel working.


> I'm not asking for the world - just edit your /etc/hosts so that your
> hostname can be turned into an IP address, and back into a FQDN (e-mail me
> privately if I can help you out with this).

Should I pass on this offer to any BOOTP / DHCP user having problems with
Panel:-).  I think your time would be better spent on coding than tech
support.


> I did add UNIX socket support to ORBit to allow not going out over any
> IPv4 network, but it still needs to get a hostname to find out whether
> that usock is on the current host (i.e. you still need to fix /etc/hosts
> !) 

At bare minimum, it needs to fail gracefully, with an error message better
than "** ERROR **: sigsegv caught".  Remember, DNS is not a requirement
for an IPv4 network to work.

A better (in my mind), but still not perfect solution would be a configure
option for localhost-only compilation.  This would still have Panel
breaking out of the box for many users.

The best option, in my mind, would be for it to do the DNS and reverse DNS
checks.  If the tests succeed, great, if not (i.e. hent==NULL) rather than
failing with an error or segfaulting, contunue with server_cnx->hostname =
g_strdup("localhost").  This way, machines with proper DNS will have a
properly networked ORBit, machines without it will not, but still work
locally.


> If you want to run the panel with UNIX socket support and no IPv4, you
> could try running something like:
> 	panel -ORBIIOPUnixSock /home/gleef/.panel-socket -ORBIIOPIPv4 0
> and then make sure that each of your applets gets passed the command line:
> 	appletname -ORBIIOPUnixSock /home/gleef/.appletN-socket -ORBIIOPIPv4 0
> This is totally untested, so whoever does it can be Mr. Adventurer :)
> 
> If you want to send in a non-hackish patch to read a global config file
> for default command line switches, including a nice way to generate a new
> UNIX socket name for each app, I'll be glad to consider it.

If you want me to write the patch for my best case, above, I will gladly
do it.  However, I would either have to do it against ORBit-0.2, or it
will take a while.  The latest version I checked out from cvs has a later
segfault that I haven't looked into yet, so I can't test if it really
works.
 

> I have committed stuff to fix the segfaults - please give it a try now! :)

As I write this, anoncvs.gnome.org seems to be down.  I'll give the new
version a try as soon as I can.  Thanks alot.


> -- Elliot
> Progress (n.): The process through which Usenet has evolved from smart
> people in front of dumb terminals to dumb people in front of smart
> terminals.  -- obs@burnout.demon.co.uk

I like this quote :-).

-Gleef


PS: Other than this issue, ORBit looks great.  Panel seems much snappier
with ORBit than it ever did with Mico.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]