Public bug reported:

Running any instance of wicd, wicd-client, wicd-curse, wicd-gtk will
result in a line output to stdout as so:

# sudo wicd --version
rename failed

wicd 1.7.0 (bzr-r552) 
wireless (and wired) connection daemon.

Arguments:
        -a      --no-autoconnect        Don't auto-scan/auto-connect.
        -f      --no-daemon     Don't daemonize (run in foreground).
        -e      --no-stderr     Don't redirect stderr.
        -n      --no-poll       Don't monitor network status.
        -o      --no-stdout     Don't redirect stdout.
        -h      --help          Print this help.

The "rename failed" exception is consistent, on both 32-bit and 64-bit,
whether run sudo or as user.

I have traced the problem to the function RenameProcess(new_name) in the
file /usr/share/pyshared/wicd/misc.py.

The function does a test for the existence of the libc.so.6 library, by
first trying to determine whether it's on a 64-bit or a 32-bit system.
Depending on which arch is found, the function then sets the path to the
lib.

This path is now wrong for 11.04.

Original function is:

def RenameProcess(new_name):
    """ Renames the process calling the function to the given name. """
    if sys.platform != 'linux2':
        print 'Unsupported platform'
        return False
    try:
        import ctypes
        is_64 = os.path.exists('/lib64/libc.so.6')
        if is_64:
            libc = ctypes.CDLL('/lib64/libc.so.6')
        else:
            libc = ctypes.CDLL('/lib/libc.so.6')
        libc.prctl(15, new_name, 0, 0, 0)
        return True
    except:
        print "rename failed"
        return False

Actual paths within the function should be:

def RenameProcess(new_name):
    """ Renames the process calling the function to the given name. """
    if sys.platform != 'linux2':
        print 'Unsupported platform'
        return False
    try:
        import ctypes
        is_64 = os.path.exists('/lib64/x86_64-linux-gnu/libc.so.6')
        if is_64:
            libc = ctypes.CDLL('/lib64/x86_64-linux-gnu/libc.so.6')
        else:
            libc = ctypes.CDLL('/lib/i386-linux-gnu/libc.so.6')
        libc.prctl(15, new_name, 0, 0, 0)
        return True
    except:
        print "rename failed"
        return False

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: wicd 1.7.0+ds1-6
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic i686
Architecture: i386
Date: Wed Jul  6 17:10:09 2011
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
PackageArchitecture: all
ProcEnviron:
 LANGUAGE=en_SG:en
 LANG=en_SG.UTF-8
 SHELL=/bin/bash
SourcePackage: wicd
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: wicd (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: apport-bug i386 natty

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/806381

Title:
  wicd RenameProcess function results in rename failed

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/wicd/+bug/806381/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to