Your message dated Sun, 18 Dec 2011 17:35:47 +0000
with message-id <[email protected]>
and subject line Bug#563009: fixed in singularity 0.30c-1
has caused the Debian Bug report #563009,
regarding singularity: Cannot enter number of servers if only fi_FI.UTF-8 
locale is configured
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
563009: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=563009
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: singularity
Version: 0.30-2
Severity: normal

In this game, you can rent a warehouse and install computers
there.  The game then asks how many computers you want to buy.
I typed in clearly valid values such as 1 or 2 but the game
kept complaining: "That doesn't seem to be a valid number."
Every now and then though, the value got through.
(I still don't know why.)

I then installed python2.5-dbg and debugged this with gdb.
It seems to be a problem with Unicode conversions:

;; These double-semicolon comments were not originally part of gdb output.
(gdb) backtrace
#0  _PyObject_CallFunction_SizeT (callable=0x7247a0, 
    format=0x4ec5dd "ss#nns") at ../Objects/abstract.c:1921
#1  0x0000000000426fac in PyUnicodeDecodeError_Create (
    encoding=<value optimized out>, object=<value optimized out>, 
    length=<value optimized out>, start=<value optimized out>, 
    end=<value optimized out>, reason=<value optimized out>)
    at ../Objects/exceptions.c:1730
#2  0x0000000000474f79 in unicode_decode_call_errorhandler (
    errors=<value optimized out>, errorHandler=0x7fff4e923668, 
    encoding=0x4f20e8 "ascii", 
    reason=0x4f20ce "ordinal not in range(128)", input=0x2c6ce94 " ", 
    insize=2, startinpos=0x7fff4e923680, endinpos=0x7fff4e923678, 
    exceptionObject=0x7fff4e923660, inptr=0x7fff4e923650, 
    output=0x7fff4e923690, outpos=0x7fff4e923670, outptr=0x7fff4e923688)
    at ../Objects/unicodeobject.c:828
#3  0x000000000047aa4c in PyUnicodeUCS4_DecodeASCII (s=0x2c6ce94 " ", 
    size=2, errors=0x4ed7a5 "strict") at ../Objects/unicodeobject.c:2862
#4  0x000000000047ad6e in PyUnicodeUCS4_Decode (s=0x2c6ce94 " ", 
    size=2, encoding=<value optimized out>, errors=0x4ed7a5 "strict")
    at ../Objects/unicodeobject.c:604
#5  0x000000000047aed0 in PyUnicodeUCS4_FromEncodedObject (
    obj=0x2c6ce70, encoding=0x0, errors=0x4ed7a5 "strict")
    at ../Objects/unicodeobject.c:576
#6  0x000000000047b57a in unicode_replace (self=0x1c2a7b0, 
    args=<value optimized out>) at ../Objects/unicodeobject.c:6555
#7  0x000000000048f1fd in call_function (f=0x43fb350, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3612
#8  PyEval_EvalFrameEx (f=0x43fb350, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/lib/python2.5/locale.py (253): atof
#9  0x00000000004904ac in PyEval_EvalCodeEx (co=0x1b73558, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x317b108, argcount=2, kws=0x317b118, kwcount=0, 
    defs=0x1b76e68, defcount=1, closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/lib/python2.5/locale.py (253): atof
#10 0x000000000048ef48 in fast_function (f=0x317af80, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3708
#11 call_function (f=0x317af80, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#12 PyEval_EvalFrameEx (f=0x317af80, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/lib/python2.5/locale.py (261): atoi
#13 0x000000000048fcd3 in fast_function (f=0x2ed2b40, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#14 call_function (f=0x2ed2b40, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#15 PyEval_EvalFrameEx (f=0x2ed2b40, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/screens/base.py (239): set_current
#16 0x000000000048fcd3 in fast_function (f=0x3170280, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#17 call_function (f=0x3170280, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#18 PyEval_EvalFrameEx (f=0x3170280, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/screens/base.py (274): build_item
#19 0x00000000004904ac in PyEval_EvalCodeEx (co=0x1c33828, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x7fd9b3411f00, argcount=1, kws=0x1d732d0, kwcount=1, 
    defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/share/games/singularity/code/screens/base.py (274): build_item
#20 0x00000000004d99c9 in function_call (func=0x1cd4e60, arg=0x45396d0, 
    kw=0x2bd9800) at ../Objects/funcobject.c:517
#21 0x00000000004186a3 in PyObject_Call (func=0x7247a0, arg=0x4ec5dd, 
    kw=0x4f20e8) at ../Objects/abstract.c:1861
#22 0x000000000048db4f in ext_do_call (f=0x2eb8d40, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3892
#23 PyEval_EvalFrameEx (f=0x2eb8d40, throwflag=<value optimized out>)
    at ../Python/ceval.c:2344
    ;; /usr/share/games/singularity/code/graphics/button.py (152): activated
#24 0x000000000048fcd3 in fast_function (f=0x315afc0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#25 call_function (f=0x315afc0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#26 PyEval_EvalFrameEx (f=0x315afc0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/button.py (122): 
activate_with_sound
#27 0x000000000048fcd3 in fast_function (f=0x316f7f0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#28 call_function (f=0x316f7f0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#29 PyEval_EvalFrameEx (f=0x316f7f0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/button.py (112): handle_event
#30 0x000000000048fcd3 in fast_function (f=0x2ebb130, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#31 call_function (f=0x2ebb130, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#32 PyEval_EvalFrameEx (f=0x2ebb130, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (319): call_handlers
#33 0x000000000048fcd3 in fast_function (f=0x2046fc0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#34 call_function (f=0x2046fc0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#35 PyEval_EvalFrameEx (f=0x2046fc0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (306): handle
#36 0x000000000048fcd3 in fast_function (f=0x1c75510, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#37 call_function (f=0x1c75510, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#38 PyEval_EvalFrameEx (f=0x1c75510, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (190): show
#39 0x000000000048fcd3 in fast_function (f=0x2ec4a70, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#40 call_function (f=0x2ec4a70, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#41 PyEval_EvalFrameEx (f=0x2ec4a70, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/screens/base.py (283): show
#42 0x000000000048fcd3 in fast_function (f=0x2ebb8d0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#43 call_function (f=0x2ebb8d0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#44 PyEval_EvalFrameEx (f=0x2ebb8d0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (98): call_dialog
#45 0x00000000004904ac in PyEval_EvalCodeEx (co=0x1c43dc8, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x3118c70, argcount=2, kws=0x3118c80, kwcount=0, 
    defs=0x1cccb28, defcount=1, closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/share/games/singularity/code/graphics/dialog.py (98): call_dialog
#46 0x000000000048ef48 in fast_function (f=0x3118ae0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3708
#47 call_function (f=0x3118ae0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#48 PyEval_EvalFrameEx (f=0x3118ae0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/screens/location.py (168): open_base
#49 0x00000000004904ac in PyEval_EvalCodeEx (co=0x1ce1828, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x4539aa8, argcount=1, kws=0x2ebc900, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/share/games/singularity/code/screens/location.py (168): open_base
#50 0x00000000004d99c9 in function_call (func=0x1ce7230, arg=0x4539a90, 
    kw=0x2bacc00) at ../Objects/funcobject.c:517
#51 0x00000000004186a3 in PyObject_Call (func=0x7247a0, arg=0x4ec5dd, 
    kw=0x4f20e8) at ../Objects/abstract.c:1861
#52 0x000000000048db4f in ext_do_call (f=0x316f240, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3892
#53 PyEval_EvalFrameEx (f=0x316f240, throwflag=<value optimized out>)
    at ../Python/ceval.c:2344
    ;; /usr/share/games/singularity/code/graphics/button.py (152): activated
#54 0x000000000048fcd3 in fast_function (f=0x3175350, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#55 call_function (f=0x3175350, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#56 PyEval_EvalFrameEx (f=0x3175350, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/button.py (122): 
activate_with_sound
#57 0x000000000048fcd3 in fast_function (f=0x315f470, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#58 call_function (f=0x315f470, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#59 PyEval_EvalFrameEx (f=0x315f470, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/button.py (110): handle_event
#60 0x000000000048fcd3 in fast_function (f=0x43fab20, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#61 call_function (f=0x43fab20, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#62 PyEval_EvalFrameEx (f=0x43fab20, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (319): call_handlers
#63 0x000000000048fcd3 in fast_function (f=0x2edc980, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#64 call_function (f=0x2edc980, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#65 PyEval_EvalFrameEx (f=0x2edc980, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (306): handle
#66 0x000000000048fcd3 in fast_function (f=0x43fc710, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#67 call_function (f=0x43fc710, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#68 PyEval_EvalFrameEx (f=0x43fc710, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (190): show
#69 0x000000000048fcd3 in fast_function (f=0x3067fa0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#70 call_function (f=0x3067fa0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#71 PyEval_EvalFrameEx (f=0x3067fa0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/screens/location.py (127): show
#72 0x000000000048fcd3 in fast_function (f=0x3164d60, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#73 call_function (f=0x3164d60, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#74 PyEval_EvalFrameEx (f=0x3164d60, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (98): call_dialog
#75 0x00000000004904ac in PyEval_EvalCodeEx (co=0x1c43dc8, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x2f225d0, argcount=2, kws=0x2f225e0, kwcount=0, 
    defs=0x1cccb28, defcount=1, closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/share/games/singularity/code/graphics/dialog.py (98): call_dialog
#76 0x000000000048ef48 in fast_function (f=0x2f22440, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3708
#77 call_function (f=0x2f22440, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#78 PyEval_EvalFrameEx (f=0x2f22440, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/screens/map.py (424): open_location
#79 0x00000000004904ac in PyEval_EvalCodeEx (co=0x1cdc828, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x45379b0, argcount=2, kws=0x1ca04b0, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/share/games/singularity/code/screens/map.py (424): open_location
#80 0x00000000004d99c9 in function_call (func=0x1ce9320, arg=0x4537998, 
    kw=0x2ba1340) at ../Objects/funcobject.c:517
#81 0x00000000004186a3 in PyObject_Call (func=0x7247a0, arg=0x4ec5dd, 
    kw=0x4f20e8) at ../Objects/abstract.c:1861
#82 0x000000000048db4f in ext_do_call (f=0x2ec45d0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3892
#83 PyEval_EvalFrameEx (f=0x2ec45d0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2344
    ;; /usr/share/games/singularity/code/graphics/button.py (152): activated
#84 0x000000000048fcd3 in fast_function (f=0x2eb7fb0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#85 call_function (f=0x2eb7fb0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#86 PyEval_EvalFrameEx (f=0x2eb7fb0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/button.py (122): 
activate_with_sound
#87 0x000000000048fcd3 in fast_function (f=0x2ecfeb0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#88 call_function (f=0x2ecfeb0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#89 PyEval_EvalFrameEx (f=0x2ecfeb0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/button.py (110): handle_event
#90 0x000000000048fcd3 in fast_function (f=0x43fa4e0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#91 call_function (f=0x43fa4e0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#92 PyEval_EvalFrameEx (f=0x43fa4e0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (319): call_handlers
#93 0x000000000048fcd3 in fast_function (f=0x2ea8bb0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#94 call_function (f=0x2ea8bb0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#95 PyEval_EvalFrameEx (f=0x2ea8bb0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (306): handle
#96 0x000000000048fcd3 in fast_function (f=0x2ecd560, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#97 call_function (f=0x2ecd560, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#98 PyEval_EvalFrameEx (f=0x2ecd560, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (190): show
#99 0x00000000004904ac in PyEval_EvalCodeEx (co=0x1c48288, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x2c7a428, argcount=1, kws=0x2f1ead0, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/share/games/singularity/code/graphics/dialog.py (190): show
#100 0x00000000004d99c9 in function_call (func=0x1cd36e0, 
    arg=0x2c7a410, kw=0x2f17640) at ../Objects/funcobject.c:517
#101 0x00000000004186a3 in PyObject_Call (func=0x7247a0, arg=0x4ec5dd, 
    kw=0x4f20e8) at ../Objects/abstract.c:1861
#102 0x000000000048db4f in ext_do_call (f=0x1c80310, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3892
#103 PyEval_EvalFrameEx (f=0x1c80310, throwflag=<value optimized out>)
    at ../Python/ceval.c:2344
    ;; /usr/share/games/singularity/code/safety.py (59): safe_call
#104 0x00000000004904ac in PyEval_EvalCodeEx (co=0x1d1bb70, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x4, argcount=1, kws=0x2f01e78, kwcount=1, defs=0x1d23c98, 
    defcount=3, closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/share/games/singularity/code/safety.py (59): safe_call
#105 0x000000000048ef48 in fast_function (f=0x2f01cd0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3708
#106 call_function (f=0x2f01cd0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#107 PyEval_EvalFrameEx (f=0x2f01cd0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/screens/map.py (464): show
#108 0x000000000048fcd3 in fast_function (f=0x2ecc980, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#109 call_function (f=0x2ecc980, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#110 PyEval_EvalFrameEx (f=0x2ecc980, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (98): call_dialog
#111 0x00000000004904ac in PyEval_EvalCodeEx (co=0x1c43dc8, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x2f00b20, argcount=2, kws=0x2f00b30, kwcount=0, 
    defs=0x1cccb28, defcount=1, closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/share/games/singularity/code/graphics/dialog.py (98): call_dialog
#112 0x000000000048ef48 in fast_function (f=0x2f00990, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3708
#113 call_function (f=0x2f00990, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#114 PyEval_EvalFrameEx (f=0x2f00990, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/screens/main_menu.py (89): new_game
#115 0x00000000004904ac in PyEval_EvalCodeEx (co=0x1cdc210, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x1cd5228, argcount=1, kws=0x2c45ca0, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/share/games/singularity/code/screens/main_menu.py (89): new_game
#116 0x00000000004d99c9 in function_call (func=0x1cef2a8, 
    arg=0x1cd5210, kw=0x2c989b0) at ../Objects/funcobject.c:517
#117 0x00000000004186a3 in PyObject_Call (func=0x7247a0, arg=0x4ec5dd, 
    kw=0x4f20e8) at ../Objects/abstract.c:1861
#118 0x000000000048db4f in ext_do_call (f=0x2eca1e0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3892
#119 PyEval_EvalFrameEx (f=0x2eca1e0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2344
    ;; /usr/share/games/singularity/code/graphics/button.py (152): activated
#120 0x000000000048fcd3 in fast_function (f=0x2ef25a0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#121 call_function (f=0x2ef25a0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#122 PyEval_EvalFrameEx (f=0x2ef25a0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/button.py (122): 
activate_with_sound
#123 0x000000000048fcd3 in fast_function (f=0x2f02340, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#124 call_function (f=0x2f02340, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#125 PyEval_EvalFrameEx (f=0x2f02340, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/button.py (110): handle_event
#126 0x000000000048fcd3 in fast_function (f=0x2eed570, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#127 call_function (f=0x2eed570, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#128 PyEval_EvalFrameEx (f=0x2eed570, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (319): call_handlers
#129 0x000000000048fcd3 in fast_function (f=0x2ea22e0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#130 call_function (f=0x2ea22e0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#131 PyEval_EvalFrameEx (f=0x2ea22e0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (306): handle
#132 0x000000000048fcd3 in fast_function (f=0x2c36500, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#133 call_function (f=0x2c36500, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#134 PyEval_EvalFrameEx (f=0x2c36500, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/graphics/dialog.py (190): show
#135 0x000000000048fcd3 in fast_function (f=0x17888b0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3698
#136 call_function (f=0x17888b0, throwflag=<value optimized out>)
    at ../Python/ceval.c:3633
#137 PyEval_EvalFrameEx (f=0x17888b0, throwflag=<value optimized out>)
    at ../Python/ceval.c:2304
    ;; /usr/share/games/singularity/code/singularity.py (226): <module>
#138 0x00000000004904ac in PyEval_EvalCodeEx (co=0x7fd9b33e97b0, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at ../Python/ceval.c:2875
    ;; /usr/share/games/singularity/code/singularity.py (226): <module>
#139 0x00000000004906a2 in PyEval_EvalCode (co=0x7247a0, 
    globals=0x4ec5dd, locals=0x4f20e8) at ../Python/ceval.c:514
#140 0x00000000004a4d3a in PyImport_ExecCodeModuleEx (
    name=0x7fff4e92aa40 "code.singularity", co=0x7fd9b33e97b0, 
    pathname=0x7fff4e928910 
"/usr/share/games/singularity/code/singularity.pyc") at ../Python/import.c:675
#141 0x00000000004a4fe8 in load_source_module (
    name=0x7fff4e92aa40 "code.singularity", 
    pathname=0x7fff4e928910 
"/usr/share/games/singularity/code/singularity.pyc", fp=<value optimized out>) 
at ../Python/import.c:959
#142 0x00000000004a6594 in import_submodule (mod=0x7fd9b3401558, 
    subname=0x7fff4e92aa45 "singularity", 
    fullname=0x7fff4e92aa40 "code.singularity")
    at ../Python/import.c:2400
#143 0x00000000004a681c in load_next (mod=0x7fd9b3401558, 
    altmod=0x7fd9b3401558, p_name=<value optimized out>, 
    buf=0x7fff4e92aa40 "code.singularity", p_buflen=0x7fff4e92ba48)
    at ../Python/import.c:2220
#144 0x00000000004a6ec1 in import_module_level (name=0x0, 
    globals=<value optimized out>, locals=<value optimized out>, 
    fromlist=0x72b860, level=-1) at ../Python/import.c:2008
#145 0x00000000004a722f in PyImport_ImportModuleLevel (
    name=0x7fd9b34013d4 "code.singularity", globals=0x1791520, 
    locals=0x1791520, fromlist=0x72b860, level=-1)
    at ../Python/import.c:2072
#146 0x0000000000488fa9 in builtin___import__ (
    self=<value optimized out>, args=<value optimized out>, 
    kwds=<value optimized out>) at ../Python/bltinmodule.c:47
#147 0x00000000004186a3 in PyObject_Call (func=0x7247a0, arg=0x4ec5dd, 
    kw=0x4f20e8) at ../Objects/abstract.c:1861
#148 0x0000000000489472 in PyEval_CallObjectWithKeywords (
    func=0x7fd9b34155f0, arg=0x7fd9b33da8e8, kw=0x0)
    at ../Python/ceval.c:3481
#149 0x000000000048bc3d in PyEval_EvalFrameEx (f=0x17dc840, 
    throwflag=<value optimized out>) at ../Python/ceval.c:2093
    ;; singularity.py (1): <module>
#150 0x00000000004904ac in PyEval_EvalCodeEx (co=0x7fd9b33ef198, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at ../Python/ceval.c:2875
    ;; singularity.py (1): <module>
#151 0x00000000004906a2 in PyEval_EvalCode (co=0x7247a0, 
    globals=0x4ec5dd, locals=0x4f20e8) at ../Python/ceval.c:514
#152 0x00000000004af898 in run_mod (fp=0x176e010, 
    filename=0x7fff4e92c894 "singularity.py", 
    start=<value optimized out>, globals=0x1791520, locals=0x1791520, 
    closeit=1, flags=0x7fff4e92bfe0) at ../Python/pythonrun.c:1273
#153 PyRun_FileExFlags (fp=0x176e010, 
    filename=0x7fff4e92c894 "singularity.py", 
    start=<value optimized out>, globals=0x1791520, locals=0x1791520, 
    closeit=1, flags=0x7fff4e92bfe0) at ../Python/pythonrun.c:1259
#154 0x00000000004afb3b in PyRun_SimpleFileExFlags (fp=0x176e010, 
    filename=0x7fff4e92c894 "singularity.py", closeit=1, 
    flags=0x7fff4e92bfe0) at ../Python/pythonrun.c:879
#155 0x0000000000414572 in Py_Main (argc=1, argv=<value optimized out>)
    at ../Modules/main.c:532
#156 0x00007fd9b266dabd in __libc_start_main () from /lib/libc.so.6
#157 0x00000000004139d9 in _start ()
(gdb) x/4bx 0x2c6ce94
0x2c6ce94:  0xc2        0xa0    0x00    0x5f
(gdb) print unicode_default_encoding
$22 = "ascii", '\000' <repeats 94 times>
(gdb)

Python is trying to convert the bytes 0xC2 0xA0 from ASCII to
Unicode, but ASCII does not allow such bytes.  Those bytes are
U+00A0 encoded in UTF-8.  U+00A0 is the thousands separator in
fi_FI.UTF-8.

It turns out this bug does not occur if I dpkg-reconfigure
locales and enable the en_US.UTF-8 locale.  Originally, I had
only the fi_FI.UTF-8 locale installed.  Clearly, the en_US.UTF-8
locale is not mandatory if the locales package allows it to be
omitted.  I suppose it is okay for the singularity game to
require operating-system support for the locale that is selected
within the game; but at least it should give an error message
that says what the problem is, rather than claim the numbers
typed by the player are not valid.

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (900, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages singularity depends on:
ii  python                  2.5.4-4          An interactive high-level object-o
ii  python-numpy            1:1.3.0-3        Numerical Python adds a fast array
ii  python-pygame           1.8.1release-1.1 SDL bindings for games development
ii  python-support          1.0.6            automated rebuilding support for P
ii  ttf-dejavu-core         2.30-2           Vera font family derivate with add

Versions of packages singularity recommends:
ii  singularity-music             006-1      Music for Endgame: Singularity gam

Versions of packages singularity suggests:
pn  timidity                      <none>     (no description available)

-- no debconf information

Attachment: pgpWmdeddHdUs.pgp
Description: PGP signature


--- End Message ---
--- Begin Message ---
Source: singularity
Source-Version: 0.30c-1

We believe that the bug you reported is fixed in the latest version of
singularity, which is due to be installed in the Debian FTP archive:

singularity_0.30c-1.debian.tar.gz
  to main/s/singularity/singularity_0.30c-1.debian.tar.gz
singularity_0.30c-1.dsc
  to main/s/singularity/singularity_0.30c-1.dsc
singularity_0.30c-1_all.deb
  to main/s/singularity/singularity_0.30c-1_all.deb
singularity_0.30c.orig.tar.gz
  to main/s/singularity/singularity_0.30c.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Kari Pahula <[email protected]> (supplier of updated singularity package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sun, 18 Dec 2011 18:47:19 +0200
Source: singularity
Binary: singularity
Architecture: source all
Version: 0.30c-1
Distribution: unstable
Urgency: low
Maintainer: Kari Pahula <[email protected]>
Changed-By: Kari Pahula <[email protected]>
Description: 
 singularity - game where one becomes the singularity
Closes: 563009 609550 642597
Changes: 
 singularity (0.30c-1) unstable; urgency=low
 .
   * New upstream release
     * Fix format strings to work with python-2.7 (Closes: #642597)
     * Removes invalid key entries from the german translation (Closes: #609550)
   * Switch to use dh_python2 instead of python-central.
   * Use str() and int() to handle the number of CPUs to build to a base,
     not the locale functions.  (Closes: #563009)
Checksums-Sha1: 
 30bad92a590045f05aa95b8b283b07d4b64d4996 1158 singularity_0.30c-1.dsc
 f4cb2d9e7a04cf22fe76c58b482c568c817baa02 2265133 singularity_0.30c.orig.tar.gz
 22463ccf96e9ec626810141f788f3d54cd49e3c4 35058 
singularity_0.30c-1.debian.tar.gz
 82ac637f55a3898f2058a16a8021a1ed082275e9 1844092 singularity_0.30c-1_all.deb
Checksums-Sha256: 
 2618c7c542f05908657ab7b1bc432bf8a4ac81034bb642b9933db835a88dd548 1158 
singularity_0.30c-1.dsc
 f4759fc059ef136c2d4d9668a021b14922dd7300ab5f37ed318ad6778c83f28f 2265133 
singularity_0.30c.orig.tar.gz
 5d458444194a4f9bb5ef2ace3b500ea2cda2679575ce2a83679cb2be344a7136 35058 
singularity_0.30c-1.debian.tar.gz
 bae0fae645c585c6e567eef1a0435a4e026cb4747c5bee3014ce34167f799912 1844092 
singularity_0.30c-1_all.deb
Files: 
 9a5fb7b7081a7c6f621cd3c955ab4488 1158 games optional singularity_0.30c-1.dsc
 ea4e7d28dd19c33585691ee608672a63 2265133 games optional 
singularity_0.30c.orig.tar.gz
 3880551f0ed60971365bbb0e2b044395 35058 games optional 
singularity_0.30c-1.debian.tar.gz
 b3f1830f0952533a5fcf62bec9fa9c5e 1844092 games optional 
singularity_0.30c-1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAk7uGTgACgkQeYl9593Atw08BgCeJfOdlMgBBEpNmo7rMUzuErpH
tnEAniNTV6vRE3/9DFB7mrK52Ci7DL7J
=7J4g
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to