sethmlarson / virtualbox-python

Complete implementation of VirtualBox's COM API with a Pythonic interface.
https://pypi.org/project/virtualbox
Apache License 2.0
354 stars 75 forks source link

gs.execute - Can not find enumeration where value=None #7

Closed andosins closed 10 years ago

andosins commented 10 years ago

The code:

process, stdout, stderr = gs.execute('C:\Windows\System32\cmd.exe', ['/C', 'tasklist'])

Returns this error:

Traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/virtualbox/library_ext/guest_session.py", line 54, in execute process.wait_for(int(library.ProcessWaitResult.start), 0) File "/usr/local/lib/python2.7/dist-packages/virtualbox/library.py", line 13666, in wait_for reason = ProcessWaitResult(reason) File "/usr/local/lib/python2.7/dist-packages/virtualbox/library.py", line 121, in init raise ValueError("Can not find enumeration where value=%s" % value) ValueError: Can not find enumeration where value=None

mjdorma commented 10 years ago

Hi,

I just tried replicating this issue but couldn't resolve a state where wait_for would return a None state (which is what has occurred in your instance.).

The call to your API returned None.

>>>
        reason = self._call("waitFor",
                     in_p=[wait_for, timeout_ms])
        reason = ProcessWaitResult(reason)
<<<

What version of virtualbox are you running and for which platform?

I.e. Output from the following:

import platform
platform.uname()
import virtualbox
vbox = virtualbox.VirtualBox()
vbox.version

Cheers

andosins commented 10 years ago

Thanks Michael,

the problem was the version of VirtualBox (4.1.x on Ubuntu 4.12). I upgraded to 4.3.6 and everything works correctly.

Thanks for your help.

Regards,

Pau

2014-02-16 7:09 GMT+01:00 Michael Dorman notifications@github.com:

Hi,

I just tried replicating this issue but couldn't resolve a state where wait_for would return a None state (which is what has occurred in your instance.).

The call to your API returned None.

    reason = self._call("waitFor",
                 in_p=[wait_for, timeout_ms])
    reason = ProcessWaitResult(reason)

<<<

What version of virtualbox are you running and for which platform?

I.e. Output from the following:

import platform platform.uname() import virtualbox vbox = virtualbox.VirtualBox() vbox.version

Cheers

Reply to this email directly or view it on GitHubhttps://github.com/mjdorma/pyvbox/issues/7#issuecomment-35178330 .

mjdorma commented 10 years ago

No worries. Thanks for the post.