Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 360515 - net-misc/wicd-1.7.0 daemon silently crashes with dev-lang/python-2.7.1-r1
Summary: net-misc/wicd-1.7.0 daemon silently crashes with dev-lang/python-2.7.1-r1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Thomas Kahle (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on: 358715
Blocks:
  Show dependency tree
 
Reported: 2011-03-26 08:25 UTC by i.Dark_Templar
Modified: 2011-05-30 09:32 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description i.Dark_Templar 2011-03-26 08:25:08 UTC
Yesterday I've upgraded python-2.6 to python-2.7. Unmerged python-2.6, then ran python-updater and revdep-rebuild. After reboot wlan0 network was down. I've found wicd had silently crashed and written some logs.

Reproducible: Always

Steps to Reproduce:
1. install and make main python version python-2.7.1-r1. run python-updater, etc.
2. reboot (or just restart wicd service)
Actual Results:  
wicd daemon silently fails to start

Expected Results:  
wicd daemon should start

crash log:
2011/03/26 03:28:31 :: ---------------------------
2011/03/26 03:28:31 :: wicd initializing...
2011/03/26 03:28:31 :: ---------------------------
2011/03/26 03:28:31 :: wicd is version 1.7.0 552
2011/03/26 03:28:31 :: setting backend to external
2011/03/26 03:28:31 :: Traceback (most recent call last):
2011/03/26 03:28:31 ::   File "/usr/share/wicd/daemon/wicd-daemon.py", line 1839, in <module>
2011/03/26 03:28:31 ::     main(sys.argv)
2011/03/26 03:28:31 ::   File "/usr/share/wicd/daemon/wicd-daemon.py", line 1803, in main
2011/03/26 03:28:31 ::     daemon = WicdDaemon(wicd_bus, auto_connect=auto_connect)
2011/03/26 03:28:31 ::   File "/usr/share/wicd/daemon/wicd-daemon.py", line 115, in __init__
2011/03/26 03:28:31 ::     self.ReadConfig()
2011/03/26 03:28:31 ::   File "/usr/share/wicd/daemon/wicd-daemon.py", line 885, in ReadConfig
2011/03/26 03:28:31 ::     self.SetBackend(app_conf.get("Settings", "backend", default=be_def))
2011/03/26 03:28:31 ::   File "/usr/share/wicd/daemon/wicd-daemon.py", line 220, in SetBackend
2011/03/26 03:28:31 ::     self.config.set("Settings", "backend", backend, write=True)
2011/03/26 03:28:31 ::   File "/usr/lib64/python2.7/site-packages/wicd/configmanager.py", line 76, in set
2011/03/26 03:28:31 ::     self.set_option(*args, **kargs)
2011/03/26 03:28:31 ::   File "/usr/lib64/python2.7/site-packages/wicd/configmanager.py", line 72, in set_option
2011/03/26 03:28:31 ::     self.write()
2011/03/26 03:28:31 ::   File "/usr/lib64/python2.7/site-packages/wicd/configmanager.py", line 192, in write
2011/03/26 03:28:31 ::     p = copy.deepcopy(self)
2011/03/26 03:28:31 ::   File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
2011/03/26 03:28:31 ::     y = copier(x, memo)
2011/03/26 03:28:31 ::   File "/usr/lib64/python2.7/copy.py", line 298, in _deepcopy_inst
2011/03/26 03:28:31 ::     state = deepcopy(state, memo)
2011/03/26 03:28:31 ::   File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
2011/03/26 03:28:31 ::     y = copier(x, memo)
2011/03/26 03:28:31 ::   File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict
2011/03/26 03:28:31 ::     y[deepcopy(key, memo)] = deepcopy(value, memo)
2011/03/26 03:28:31 ::   File "/usr/lib64/python2.7/copy.py", line 174, in deepcopy
2011/03/26 03:28:31 ::     y = copier(memo)
2011/03/26 03:28:31 :: TypeError: cannot deepcopy this pattern object
Comment 1 i.Dark_Templar 2011-03-26 08:28:29 UTC
Currently reverted to python-2.6.

# emerge --info

Portage 2.1.9.42 (default/linux/amd64/10.0/desktop, gcc-4.4.5, glibc-2.11.3-r0, 2.6.36-gentoo-r8.25 x86_64)
=================================================================
System uname: Linux-2.6.36-gentoo-r8.25-x86_64-Pentium-R-_Dual-Core_CPU_T4200_@_2.00GHz-with-gentoo-2.0.2
Timestamp of tree: Fri, 25 Mar 2011 11:15:01 +0000
app-shells/bash:     4.1_p9
dev-lang/python:     2.6.6-r2
dev-util/cmake:      2.8.4
sys-apps/baselayout: 2.0.2
sys-apps/openrc:     0.8.0
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.5
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.36.1 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FEATURES="assume-digests binpkg-logs distlocks fakeroot fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="ru_RU.UTF-8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="ru en en_US"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/enlightenment-niifaq /var/lib/layman/lcd-filtering /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 amr apm ares bash-completion bidi bluetooth branding bzip2 cairo caps cdda cdio cdr cleartype cli consolekit cracklib crypt cue cups custom-optimization cxx dbus dga dirac dri dts dvd dvdr emboss encode exif faad fam ffmpeg firefox flac fluidsynth fontconfig fontforge gcrypt gdu gif gmp gnutls gpm gtk hal iconv icq icu idn imlib inotify ipv6 jadetex jpeg kde kdm laptop lcms libass libdvdcss lzma lzo mad matroska midi mikmod mmap mmx mng modules mp3 mp4 mpeg mplayer mtp mudflap multilib ncurses network nls nptl nptlonly ogg openal opengl openmp pango pch pcmcia pcntl pcre pdf pic plasma png policykit posix postproc ppds pppd projectm qt3support qt4 raw readline schroedinger session sftp sndfile sockets spell sse sse2 ssl ssse3 startup-notification svg sysfs system-sqlite tcpd tga theora threads tiff truetype udev unicode usb utils v4l v4l2 vaapi vdpau videos vorbis vpx wavpack wicd wifi wma wxwidgets x264 xcb xcomposite xft xine xml xorg xpm xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="vesa vga nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 i.Dark_Templar 2011-03-26 10:07:16 UTC
Tried net-misc/wicd-1.7.1_beta2-r2 with dev-lang/python-2.7.1-r1. Works fine for now.

Maybe make dev-lang/python:2.7 blocking net-misc/wicd-1.7.0 or something like that?
Comment 3 Thomas Kahle (RETIRED) gentoo-dev 2011-03-26 18:05:37 UTC
Why would you use the old stable wicd if you are using the not yet stabilized python:2.7.  I only see that wicd-stable is blocken python 2.7 stable.

@c1pher do you have time to take care of wicd-stable?
Comment 4 i.Dark_Templar 2011-03-27 07:20:29 UTC
I'm using python marked as "stable" in portage tree. Python:2.7 was marked as stable at amd64 arch.

http://packages.gentoo.org/package/dev-lang/python
Comment 5 Dane Smith (RETIRED) gentoo-dev 2011-03-27 23:11:48 UTC
(In reply to comment #3)
> Why would you use the old stable wicd if you are using the not yet stabilized
> python:2.7.  I only see that wicd-stable is blocken python 2.7 stable.
> 
> @c1pher do you have time to take care of wicd-stable?

Will do tomorrow.
Comment 6 niknyby 2011-03-28 05:09:42 UTC
The error comes from a call to python's deepcopy() in the write() method in /usr/lib64/python2.7/wicd/configmanager.py. You can work around it temporarily by changing:
p = copy.deepcopy(self)
to
p = copy.copy(self)

This is fixed in the latest wicd. 1.7.1_beta2-r2 is in portage and it works fine for me with python 2.7.
Comment 7 Thomas Kahle (RETIRED) gentoo-dev 2011-03-28 14:53:47 UTC
For the records, the history of this bug.

Arfrever calls for stable of python:2.7 and adds wicd-stable as a dependency, adding arches himself.  Later as he sees that this will take a while he simply removes the dependency, and python:2.7 gets stabled on amd64 without wicd.  Then you hit this bug, which was known including the dependency.  Someone just chose to simply ignore it and let stable users run into breakage.  Sad :(

Then, please don't change the importance of the bug unless you know what you are doing.  A package failing to build is a normal bug.  This bug here does not break your toolchain/gcc/... i.e. it is not critical.

wicd-stable is on the way now thanks to c1pher.
Comment 8 i.Dark_Templar 2011-03-28 17:16:15 UTC
Didn't saw changing bug importance. Every time I visited this page tab in firefox, importance was set to "critical". Guess, when I made a response comment, accidentaly changed importance to "critical" again.

You're right. This bug didn't break my base system. At least without "test" feature package doesn't fail to build, it fails to run. Maybe it's not a critical bug, but wicd is main network configuration tool for me, so it's sudden crash was pretty annoying.
Comment 9 i.Dark_Templar 2011-03-29 11:37:18 UTC
Got stable net-misc/wicd-1.7.1_beta2-r3. Works fine for now.

But python:2.7 is stable at ppc and ppc64 arches too, while latest wicd isn't. I guess there is same bug at this arches, but I can't check it. And there is still x86 arch to be stabilized. So i'll wait for bug #358715 to be closed before closing this one.
Comment 10 i.Dark_Templar 2011-05-30 09:32:12 UTC
Bug #358715 closed. Closing this one too.