serpentine crashed with TypeError in <lambda>()

Bug #144953 reported by Philippe Gauthier on 2007-09-25
86
Affects Status Importance Assigned to Milestone
Serpentine
Fix Released
Critical
serpentine (Ubuntu)
Medium
Unassigned

Bug Description

Binary package hint: serpentine

Recently upgraded serpentine from feisty to gutsy. Application crashes on launch. System is Xen domU with "disk = [... , 'phy:/dev/scd0,hdc:cdrom,r']" option to access CD-ROM. I do not expect CD burning to work!

$ serpentine
Traceback (most recent call last):
  File "/usr/bin/serpentine", line 128, in <module>
    app = SerpentineApplication (locations)
  File "/usr/lib/python2.5/site-packages/serpentine/__init__.py", line 413, in __init__
    Application.__init__(self, locations)
  File "/usr/lib/python2.5/site-packages/serpentine/__init__.py", line 164, in __init__
    self.__preferences = RecordingPreferences(locations)
  File "/usr/lib/python2.5/site-packages/serpentine/preferences.py", line 301, in __init__
    self._on_gconf_device_changed()
  File "/usr/lib/python2.5/site-packages/serpentine/preferences.py", line 455, in _on_gconf_device_changed
    self._device.data = self.__drive_selection.get_device()
  File "/usr/lib/python2.5/site-packages/serpentine/gaw.py", line 153, in <lambda>
    fset = lambda self, value: self.__setter (self.key, value)
TypeError: GConfClient.set_string() argument 2 must be string, not None
$ gconftool-2 --all-entries /apps/gaw
$ gconftool-2 --all-entries /apps/serpentine
 y = 25
 eject = true
 height = 281
 disc_size = 1
 use_gap = true
 width = 385
 view_toolbar = true
 speed_select = use_max_speed
 write_speed = 99
 x = 0

ProblemType: Crash
Architecture: amd64
Date: Tue Sep 25 16:43:08 2007
DistroRelease: Ubuntu 7.10
ExecutablePath: /usr/bin/serpentine
InterpreterPath: /usr/bin/python2.5
Package: serpentine 0.9-0ubuntu1
PackageArchitecture: all
ProcCmdline: /usr/bin/python /usr/bin/serpentine
ProcCwd: /home/phil
ProcEnviron:
 SHELL=/bin/bash
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
 LANG=fr_CA.UTF-8
PythonArgs: ['/usr/bin/serpentine']
SourcePackage: serpentine
Title: serpentine crashed with TypeError in <lambda>()
Uname: Linux kitchen 2.6.19-4-generic-amd64 #2 SMP Thu Apr 5 05:57:13 UTC 2007 x86_64 GNU/Linux

Pedro Villavicencio (pedro) wrote :

Thanks for your bug report. This bug has been reported to the developers of the software. You can track it and make comments here: http://bugzilla.gnome.org/show_bug.cgi?id=481069

Changed in serpentine:
importance: Undecided → Medium
status: New → Triaged
Tiago Cogumbreiro (cogumbreiro) wrote :

Does it have a cdrom drive or not?

Changed in serpentine:
status: Unknown → New

While working on Linux Mint 4.0 (based on Gutsy) I could reproduce this problem under VMWare and VirtualBox. Under both virtual environments Serpentine would crash with the above error message. In /usr/lib/python2.5/site-packages/serpentine/preferences.py, if you comment out line 455 Serpentine shows a GUI error message complaining about the absence of a recording device.

Using the exact same ISO, once burnt and run on a real computer (with a CD writer) Serpentine runs fine and no error message is outputted.

My advice would be for the devs to make sure the error dialog box appears and that Serpentine doesn't crash before that happens. Not a big deal, just some minor exception handling here.

Clem

Carlos Perelló Marín (carlos) wrote :

So I found the same problem here with my laptop. I don't have an internal CD driver and it only works when I have the external USB one connected.

Matt Zimmerman (mdz) wrote :

I saw this in a fresh installation of Ubuntu 7.10 in VMWare Server, where it is trivial to reproduce. Presumably VMware does not provide a device which looks like a CD writer (hal capabilities say it is only a reader).

Issue still present in Hardy Heron 8.04

HI, I have a fresh install of Hardy Heron and I get a crash on launch (I have an internal CD/DVD writer):

rob@rob-laptop:~$ serpentine
Traceback (most recent call last):
  File "/usr/bin/serpentine", line 128, in <module>
    app = SerpentineApplication (locations)
  File "/usr/lib/python2.5/site-packages/serpentine/__init__.py", line 413, in __init__
    Application.__init__(self, locations)
  File "/usr/lib/python2.5/site-packages/serpentine/__init__.py", line 164, in __init__
    self.__preferences = RecordingPreferences(locations)
  File "/usr/lib/python2.5/site-packages/serpentine/preferences.py", line 301, in __init__
    self._on_gconf_device_changed()
  File "/usr/lib/python2.5/site-packages/serpentine/preferences.py", line 455, in _on_gconf_device_changed
    self._device.data = self.__drive_selection.get_device()
  File "/usr/lib/python2.5/site-packages/serpentine/gaw.py", line 153, in <lambda>
    fset = lambda self, value: self.__setter (self.key, value)
TypeError: GConfClient.set_string() argument 2 must be string, not None

jerryb (gerald-britton) wrote :

Confirmed here on gutsy 32-bit. Yes, I have a CD drive!

Tiago Cogumbreiro (cogumbreiro) wrote :

This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.

Changed in serpentine:
status: New → Fix Released

I am going to mark this bug as fixed because a full cycle of GNOME development has passed since the last report and the fix was already committed in an upstream development branch.

Changed in serpentine (Ubuntu):
status: Triaged → Fix Released

ok mate.

Philippe Gauthier wrote:
> I am going to mark this bug as fixed because a full cycle of GNOME
> development has passed since the last report and the fix was already
> committed in an upstream development branch.
>
> ** Changed in: serpentine (Ubuntu)
> Status: Triaged => Fix Released
>
>

--
Regards,

Karl

Highridge Computers Ltd.

Tel : 01283 500530

Web : www.highridge.net

Highridge Computers Ltd. is a company registered in England and Wales
with company number 3438658

"When the chips are down give Highridge a call ......."

Changed in serpentine:
importance: Unknown → Critical
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.