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
pgpN7ON6ms3LP.pgp
Description: PGP signature