bug-hurd
[Top][All Lists]
Advanced

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

pfinet segfaults (was: Re: Making DHCP renew work in pfinet)


From: Michael Banck
Subject: pfinet segfaults (was: Re: Making DHCP renew work in pfinet)
Date: Tue, 20 Nov 2007 14:18:58 +0100
User-agent: Mutt/1.5.16 (2007-06-11)

On Mon, Oct 22, 2007 at 11:03:49PM +0200, Christian Dietrich wrote:
> * Stefan Siegl <stesie@brokenpipe.de> [Oct 15 2007 23:57] wrote:
> > > The whitespaces beetween -a and the ip are missing because -a, -g, -m,
> > > -p, -A, -G have only optional arguments. If the argument is no passed
> > > the value will be unset e.g. the gateway.
> > 
> > I'm afraid, but I don't think that's a good idea.  People are used to
> > passing `-a 192.168.7.5' or similar and the provided IP addresses can be
> > distinguished quite easily.
> > 
> > If a user provides the afore mentioned option, parse_opt is called with
> > key == `a' and arg == NULL.  However ``state->argv[state->next]''
> > provides a pointer to the IP address which should be examined in turn.
> > Unless you consider the bit another option, i.e. you cannot consume it
> > as some IP address, simply increment state->next.
> 
> now '-a 192.168.100.1' '-a192.168.100.1' '-a' are possible
> so i didn't have to touch /etc/dhclient-script at all

Hrm, I have the feeling this patch broke just setting /servers/socket/2
to "/hurd/pfinet" (what corresponds to the lo device in Linux?):

buildd@beethoven:~$ gdb /hurd/pfinet
GNU gdb 6.4.90-debian
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 "i486-gnu"...(no debugging symbols found)

(gdb) r
Starting program: /hurd/pfinet 
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
TCP: Hash tables configured (ehash 65536 bhash 65536)

Program received signal SIGSEGV, Segmentation fault.
0x08080d9d in trivfs_append_args ()
(gdb) bt 1
#0  0x08080d9d in trivfs_append_args ()
(More stack frames follow...)

This is bad, because I configure /servers/socket/2 in chroots to just
run "/hurd/pfinet" and now fakeroot-tcp (which relies on that) doesn't
work anymore because pfinet dies.

I can try to record a full backtrace with debugging symbols if that
helps.


Michael




reply via email to

[Prev in Thread] Current Thread [Next in Thread]