Based on the fact that you also got the backend crash I was expecting, here are steps to reproduce on ubuntu Oneiric (this is mainly for the benefit of developers who are going to work on this bug).
1- install a language that may contain non-ascii characters (so far this has been observed in russian and german):
sudo apt-get install language-pack-de language-pack-gnome-de
2- Launch checkbox using this installed language:
LANG=de_AT.UTF-8 LANGUAGE=de_AT:de checkbox-gtk
3- Start a test run with all the tests. It's OK if you skip them, the problem gets triggered either way.
Expected result:
- All tests run correctly and the run finishes.
Actual result:
- As seen in Paul's checkbox log file, any tests whose description contains non-ascii characters generate an exception (excerpt below).
- As soon as the first job specifying "user" gets dispatched to the backend, the backend crashes with the trace seen in bug 827859. Since it crashed in the middle of executing a job, the frontend doesn't notice this condition and will wait forever. As Paul observed, the window eventually becomes unresponsive.
Here's the description-related trace:
2011-08-25 14:32:53,782 DEBUG Calling checkbox.arguments JobsInfo.replacement({'description': 'Ihr(e) Soundger\xc3\xa4t(e) werden erkan
nt:\n\n$output\n\nIst dies korrekt?', 'plugin': 'manual', 'name': 'audio/list_devices', 'command': 'cat /proc/asound/cards', 'suite': '__audio__', 'requires': "device.c
ategory == 'AUDIO'\npackage.name == 'alsa-base'"}) for report-job with priority -100.
2011-08-25 14:32:53,782 ERROR Error running event handler checkbox.arguments JobsInfo.replacement({'description': 'Ihr(e) Soundger\xc3\xa4t(e) werden erkannt:\n\n$output\n\nIst dies korrekt?', 'plugin': 'manual', 'name': 'audio/list_devices', 'command': 'cat /proc/asound/cards', 'suite': '__audio__', 'requires': "device.category == 'AUDIO'\npackage.name == 'alsa-base'"}) for event type 'report-job'
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/checkbox/reactor.py", line 74, in fire
results.append(handler(*args, **kwargs))
File "/usr/lib/python2.7/dist-packages/checkbox/arguments.py", line 90, in replacement
kwargs)
File "/usr/lib/python2.7/dist-packages/checkbox/arguments.py", line 66, in replace_arguments
args[name_index] = self.argument_replacer(name, value)
File "/usr/lib/python2.7/dist-packages/checkbox/arguments.py", line 83, in replacer
return schemas[name].coerce(value)
File "/usr/lib/python2.7/dist-packages/checkbox/properties.py", line 71, in coerce
return self._variable_class(**self._variable_kwargs).coerce(value)
File "/usr/lib/python2.7/dist-packages/checkbox/variables.py", line 267, in coerce
% (attribute, value, e))
ValueError: Value of 'description' key of dict {'description': 'Ihr(e) Soundger\xc3\xa4t(e) werden erkannt:\n\n$output\n\nIst dies korrekt?', 'plugin': 'manual', 'name': 'audio/list_devices', 'command': 'cat /proc/asound/cards', 'suite': '__audio__', 'requires': "device.category == 'AUDIO'\npackage.name == 'alsa-base'"} could not be converted: 'ascii' codec can't decode byte 0xc3 in position 15: ordinal not in range(128)
I'll set this to High importance, as it potentially makes checkbox unusable for anyone with a non-english setup. I'm testing how this interacts with bug 827859, for which a fix is already in place; we'd been able to replicate that behavior, but thanks to this report, we now can.
Paul,
Thanks to you for getting back to me so quickly!
Based on the fact that you also got the backend crash I was expecting, here are steps to reproduce on ubuntu Oneiric (this is mainly for the benefit of developers who are going to work on this bug).
1- install a language that may contain non-ascii characters (so far this has been observed in russian and german): pack-gnome- de
sudo apt-get install language-pack-de language-
2- Launch checkbox using this installed language:
LANG=de_AT.UTF-8 LANGUAGE=de_AT:de checkbox-gtk
3- Start a test run with all the tests. It's OK if you skip them, the problem gets triggered either way.
Expected result:
- All tests run correctly and the run finishes.
Actual result:
- As seen in Paul's checkbox log file, any tests whose description contains non-ascii characters generate an exception (excerpt below).
- As soon as the first job specifying "user" gets dispatched to the backend, the backend crashes with the trace seen in bug 827859. Since it crashed in the middle of executing a job, the frontend doesn't notice this condition and will wait forever. As Paul observed, the window eventually becomes unresponsive.
Here's the description-related trace:
2011-08-25 14:32:53,782 DEBUG Calling checkbox.arguments JobsInfo. replacement( {'description' : 'Ihr(e) Soundger\ xc3\xa4t( e) werden erkan output\ n\nIst dies korrekt?', 'plugin': 'manual', 'name': 'audio/ list_devices' , 'command': 'cat /proc/asound/ cards', 'suite': '__audio__', 'requires': "device.c \npackage. name == 'alsa-base'"}) for report-job with priority -100. replacement( {'description' : 'Ihr(e) Soundger\ xc3\xa4t( e) werden erkannt: \n\n$output\ n\nIst dies korrekt?', 'plugin': 'manual', 'name': 'audio/ list_devices' , 'command': 'cat /proc/asound/ cards', 'suite': '__audio__', 'requires': "device.category == 'AUDIO' \npackage. name == 'alsa-base'"}) for event type 'report-job' python2. 7/dist- packages/ checkbox/ reactor. py", line 74, in fire append( handler( *args, **kwargs)) python2. 7/dist- packages/ checkbox/ arguments. py", line 90, in replacement python2. 7/dist- packages/ checkbox/ arguments. py", line 66, in replace_arguments name_index] = self.argument_ replacer( name, value) python2. 7/dist- packages/ checkbox/ arguments. py", line 83, in replacer name].coerce( value) python2. 7/dist- packages/ checkbox/ properties. py", line 71, in coerce class(* *self._ variable_ kwargs) .coerce( value) python2. 7/dist- packages/ checkbox/ variables. py", line 267, in coerce xc3\xa4t( e) werden erkannt: \n\n$output\ n\nIst dies korrekt?', 'plugin': 'manual', 'name': 'audio/ list_devices' , 'command': 'cat /proc/asound/ cards', 'suite': '__audio__', 'requires': "device.category == 'AUDIO' \npackage. name == 'alsa-base'"} could not be converted: 'ascii' codec can't decode byte 0xc3 in position 15: ordinal not in range(128)
nt:\n\n$
ategory == 'AUDIO'
2011-08-25 14:32:53,782 ERROR Error running event handler checkbox.arguments JobsInfo.
Traceback (most recent call last):
File "/usr/lib/
results.
File "/usr/lib/
kwargs)
File "/usr/lib/
args[
File "/usr/lib/
return schemas[
File "/usr/lib/
return self._variable_
File "/usr/lib/
% (attribute, value, e))
ValueError: Value of 'description' key of dict {'description': 'Ihr(e) Soundger\
I'll set this to High importance, as it potentially makes checkbox unusable for anyone with a non-english setup. I'm testing how this interacts with bug 827859, for which a fix is already in place; we'd been able to replicate that behavior, but thanks to this report, we now can.