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 fault) if 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. Reproducible: Always 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 6. /usr/bin/usernet 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.
Grrr. 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...) /OLC
The rp3 source tree lives in GNOME CVS. The CVSROOT for anonymous access is ":pserver:anonymous.org:/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, click <yes>. Boom- segfault. /OLC
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 was: Gtk-WARNING **: invalid cast from `(unknown)' to `GtkCList' then, Gtk-WARNING **: invalid class type `(unknown)' in cast to `GtkCList' then, 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.