openstenoproject / plover

Open source stenotype engine
http://opensteno.org/plover
GNU General Public License v2.0
2.36k stars 277 forks source link

IOError: [Errno 10] Keine Kind-Prozesse #231

Closed hhirsch closed 9 years ago

hhirsch commented 9 years ago

Traceback (most recent call last): File "/usr/local/bin/plover", line 23, in gui = plover.gui.main.PloverGUI() File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 7981, in init self._BootstrapApp() File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 7555, in _BootstrapApp return core.PyAppBootstrapApp(_args, *_kwargs) File "/usr/local/lib/python2.7/dist-packages/plover/gui/main.py", line 32, in OnInit frame = Frame(conf.CONFIG_FILE) File "/usr/local/lib/python2.7/dist-packages/plover/gui/main.py", line 70, in init self.steno_engine = app.StenoEngine() File "/usr/local/lib/python2.7/dist-packages/plover/app.py", line 142, in init self.machine = self.machine_module.Stenotype(self.machine_init) File "/usr/local/lib/python2.7/dist-packages/plover/machine/sidewinder.py", line 61, in init** self._keyboard_emulation = keyboardcontrol.KeyboardEmulation() File "/usr/local/lib/python2.7/dist-packages/plover/keyboardcontrol.py", line 159, in init__ self.display = display.Display() File "/usr/lib/pymodules/python2.7/Xlib/display.py", line 83, in init self.display = _BaseDisplay(display) File "/usr/lib/pymodules/python2.7/Xlib/display.py", line 65, in init apply(protocol.display.Display.init, (self, ) + args, keys) File "/usr/lib/pymodules/python2.7/Xlib/protocol/display.py", line 44, in init name, host, displayno, screenno = connect.get_display(display) File "/usr/lib/pymodules/python2.7/Xlib/support/connect.py", line 64, in get_display mod = import(modname, globals()) File "/usr/lib/pymodules/python2.7/Xlib/support/unix_connect.py", line 43, in uname = platform.uname() File "/usr/lib/python2.7/platform.py", line 1273, in uname processor = _syscmd_uname('-p','') File "/usr/lib/python2.7/platform.py", line 1030, in _syscmd_uname rc = f.close() IOError: [Errno 10] Keine Kind-Prozesse

balshetzer commented 9 years ago

Can you provide more information?

hhirsch commented 9 years ago

I just installed by pip and launched plover and all I got was this trace. I am on Debian 7 on xmonad. The trace seems to indicate that there was a problem launching uname as a child process. And when I try running uname -p I get unknown. Maybe that normal and documented behaviour is considered exceptional by platform.py. But I am just throwing spaghetti at the wall seeing what sticks. Thank you for looking into this and tell me if you need more information and I go probe my system.

hhirsch commented 9 years ago

When following http://openstenoproject.github.io/plover/ I get the same error.

balshetzer commented 9 years ago

The version of Plover that is installed by pip is very old. Also, installing Plover with pip doesn't install its dependencies.

I see you found the newer instructions. I assume you downloaded the new code, installed all the specified dependencies and still get the error?

hhirsch commented 9 years ago

Yes, only difference is that the message is displayed in a gtk window.

balshetzer commented 9 years ago

Can you find out which version of python2.7 you're using?

hhirsch commented 9 years ago

Python 2.7.3

balshetzer commented 9 years ago

One thing we could try is updating to a newer version. It goes up to 2.7.9 now.

hhirsch commented 9 years ago

It works with my work PC with the same OS and python.

balshetzer commented 9 years ago

Can you think of some way in which the two computers are different?

hhirsch commented 9 years ago

No, I assumed we could get insights from the trace.

hhirsch commented 9 years ago

I commented out Line 1273 and the next.

if not processor:

    # Get processor information from the uname system command  
    # processor = _syscmd_uname('-p','') 

In /usr/lib/python2.7/platform.py and now plover starts.

Can you check if your platform.py is different there?

balshetzer commented 9 years ago

I downloaded the source for Python 2.7.3 and it does not match. I'm not sure what that means.

A simpler thing to test would be to restore your platform.py to its original form, open a console and enter: import platform; platform.uname()

Does it throw an exception?

hhirsch commented 9 years ago

I assume this issue has nothing to do with plover. I will re-open it if I have reason to assume it is plovers fault.