Red Hat Bugzilla – Bug 34531
SIGSEGV in usernet wtih clones in /etc/sysconfig/network-scripts
Last modified: 2007-04-18 12:32:31 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.4.0-0.olc-smp i686)
rp3 (up to at least 1.1.8-1) results in a GNOME crash panel (segmentation
usernet is run while multiple files in /etc/sysconfig/network-scripts have
the same DEVICE identifier. This is particularly suboptimal for e.g.
laptops (where one might want to allow the user to control multiple
interfaces) which may move between networks. It's still the eth0 device
being manipulated, it's just that e.g. on the home network it should be
getting a DHCP address from the cablemodem router, and on the work LAN it
should have its normal IP.
Steps to Reproduce:
1. cd /etc/sysconfig/network-scripts
2. cp ifcfg-eth0 ifcfg-eth1
3. perl -p -i -e 's/IPADDR.*$/IPADDR=10.10.10.10/g'
4. echo "USERCTL=true" >> ifcfg-eth1
5. echo "USERCTL=true" >> ifcfg-eth0
Actual Results: Gnome crash panel
Expected Results: usernet should have popped up
bug appears to be in utils/interface.c -- g_list_remove_link is called
incorrectly. Patch follows.
Created attachment 14543 [details]
patch against rp3-1.1.8
Thanks for the patch! I ended up going for a different fix (modifying the
contents of that list while iterating through it was just too creepy). The
fix is in CVS, and will pop up in Raw Hide as rp3-1.1.9-1.
I seem to have found another SEGV. Unfortunately, my local rawhide mirror
doesn't have rp3-1.1.9 yet, so I can't verify that it's rp3 and not a result of
my quick fix.
Where's the CVS for this package? Is it someplace I can do anon CVS and grab
what you've got now? (I took a quick buzz around the RH site, and
sources.redhat.com didn't seem to be what I was looking for...)
The rp3 source tree lives in GNOME CVS. The CVSROOT for anonymous access is
":pserver:email@example.com:/cvs/gnome", and the component is "rp3".
<sigh> yep, another segfault. (I dunno if this should get a separate bug for RH
purposes, or move to GNOME's bug system, but I'll list it here for now. )
Here's how to reproduce:
Create clone interfaces as before.
Start usernet, click on the main interface (e.g. eth0).
another window should popup, giving a choice of configurations. Choose one,
new info: in addition to the GNOME crashpanel, there's also a stderr message
that's changing occasionally, as I continue to run usernet and crash; first it
Gtk-WARNING **: invalid cast from `(unknown)' to `GtkCList'
Gtk-WARNING **: invalid class type `(unknown)' in cast to `GtkCList'
Gtk-WARNING **: invalid cast from `gchar' to `GtkCList'
then back to the first message.
This should be fixed in 1.1.10 (now in CVS, coming soon to Raw Hide), and
another possible problem of the same type is fixed as well. Please reopen this
bug ID if you find that this is not the case.
Looks like that does the trick, thanks.