bug-hurd
[Top][All Lists]
Advanced

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

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


From: Stefan Siegl
Subject: Re: pfinet segfaults (was: Re: Making DHCP renew work in pfinet)
Date: Tue, 20 Nov 2007 22:48:55 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

Hi Michael,

I've finally found some time to have a look at Christian's patch.  

On Tue, Nov 20, 2007 at 02:18:58PM +0100, Michael Banck wrote:
> 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...)
> 
> I can try to record a full backtrace with debugging symbols if that
> helps.

I was able to reproduce this and fixed it.  Find a modified version of
the patch along.

I've furthermore stripped the `--shutdown' option, which didn't work
anyways.  It was just mentioned in the help text.  I don't think that it
should be implemented, since `settrans -g' is thought for that, imho.

Besides that I slightly changed the behaviour of e.g. `pfinet -i eth2'
to automatically set up ip address `0.0.0.0' and dhcp routing.

There are still two issues with multi-interface mode:

 * If you do `pfinet -i eth0 -i eth2' followed by `dhclient eth2', the
   latter won't work as expected (it will send discoveries on eth0).
   This is dhclient doesn't bind the interface correctly.

 * Set `pfinet -i eth0 -a 192.168.7.23 -m 255.255.255.0 -g 192.168.7.1 \
   -i eth2 -a 192.168.5.23 -m 255.255.255.0', now 192.168.7.1 acts as
   the default gateway.  Now use fsysopts to change the gateway to
   192.168.5.1 on eth2, works as expected.  However another change back
   to 192.168.7.1 won't work (it doesn't error out, but simply doesn't
   do it) ...

I'll have a look at these the next days and do a few more tests.  Apart
from the above I think the patch is fine and should be committed if
fixed.

cheers,
  stesie

Attachment: pfinet_dhcp2b.patch
Description: Text Data


reply via email to

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