Bug 135648

Summary: segfault with cipsec0
Product: [Fedora] Fedora Reporter: Bryan W Clark <nobody+bclark>
Component: NetworkManagerAssignee: Dan Williams <dcbw>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 3   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-10-21 19:33:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 131589    

Description Bryan W Clark 2004-10-14 01:01:38 UTC
Here's all the relevant info:

kernel-2.6.8-1.607
cisco-vpnclient-4.6.00.0045-k9_1_ker2.6.8_1.607

[root@rhbw ~]# lsmod
Module                  Size  Used by
cisco_ipsec           395660  13
...

[root@rhbw ~]# NetworkManager
Segmentation fault

[root@rhbw ~]# NetworkManager --no-daemon
NetworkManager: starting...
NetworkManager: nm_device_set_up_down() could not bring device cipsec0
up.  errno = 2
Segmentation fault


[root@rhbw ~]# gdb NetworkManager
GNU gdb Red Hat Linux (6.1post-1.20040607.38rh)
Copyright 2004 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 "i386-redhat-linux-gnu"...Using host
libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) r --no-daemon
Starting program: /usr/bin/NetworkManager --no-daemon
[Thread debugging using libthread_db enabled]
[New Thread -1208030816 (LWP 4103)]
NetworkManager: starting...
Detaching after fork from child process 4106.
NetworkManager: nm_device_set_up_down() could not bring device cipsec0
up.  errno = 2

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208030816 (LWP 4103)]
0x00948a47 in _int_malloc () from /lib/tls/libc.so.6
(gdb) lt
Undefined command: "lt".  Try "help".
(gdb) bt
#0  0x00948a47 in _int_malloc () from /lib/tls/libc.so.6
#1  0x0094a691 in malloc () from /lib/tls/libc.so.6
#2  0x00b4e923 in g_malloc () from /usr/lib/libglib-2.0.so.0
#3  0x00b5d2a6 in g_strdup () from /usr/lib/libglib-2.0.so.0
#4  0x0804e7ef in nm_device_set_udi (dev=0xb9f1a4,
    udi=0x33 <Address 0x33 out of bounds>) at NetworkManagerDevice.c:419
#5  0x08052062 in nm_create_device_and_add_to_list (data=0x8ea0758,
    udi=0x8e9f180 "/org/freedesktop/Hal/devices/net-00:00:00:00:00:00",
    iface=0x8e9edb8 "cipsec0", test_device=0,
    test_device_type=DEVICE_TYPE_DONT_KNOW) at NetworkManager.c:110
#6  0x080529f3 in main (argc=2, argv=0xbfe10d24) at NetworkManager.c:327
(gdb)

Comment 1 Dan Williams 2004-10-14 13:43:19 UTC
What's the output of 'lshal' for the cipsec0 device?

Comment 2 Bryan W Clark 2004-10-15 03:30:57 UTC
Here's the lshal output:

udi = '/org/freedesktop/Hal/devices/net-00:00:00:00:00:00'
  info.udi = '/org/freedesktop/Hal/devices/net-00:00:00:00:00:00' 
(string)
  info.category = 'net.80203'  (string)
  info.capabilities = 'net net.80203'  (string)
  net.media = 'Ethernet'  (string)
  net.arp_proto_hw_id = 1  (0x1)  (int)
  net.80203.mac_address = 0  (0x0)  (uint64)
  net.linux.ifindex = 6  (0x6)  (int)
  net.80203.link = false  (bool)
  net.interface_up = false  (bool)
  net.address = '00:00:00:00:00:00'  (string)
  net.interface = 'cipsec0'  (string)
  net.linux.sysfs_path = '/sys/class/net/cipsec0'  (string)
  info.parent = '/org/freedesktop/Hal/devices/computer'  (string)
  linux.sysfs_path = '/sys/class/net/cipsec0'  (string)
  info.bus = 'unknown'  (string)

Comment 3 Dan Williams 2004-10-18 03:10:48 UTC
ah crap.  how on god's green earth is NM supposed to control that
device in a usable manner.  i guess it would show up in your
notification icon menu, but that would be cool, no?

Comment 4 Bryan W Clark 2004-10-18 05:58:35 UTC
Dude, your code is so lacking in quality.  Yea, when 'Wired Network
(cipsec0)' is in the menu it's a really nice thing ;-)

Seems like HAL should realize that the cisco ipsec module is net.2401
(i think that's the ipsec rfc) instead of 80203.  Is that a possible
solution?

Comment 5 Dan Williams 2004-10-21 19:33:13 UTC
Fixed in CVS, now should ignore the cipsec device.