python service problem

D

David Fraser

Hi

We are trying to debug a problem with services created using py2exe.
It seems that these problems have arisen after services were installed
and removed a few times.

OK, first the actual problem we're seeing. After compiling a service
with py2exe, running "service -install" and attempting to start it from
the Services dialog, it pops up the message "Windows could not start the
Service on Local Computer. For more information, review the System
Event Log. If this is a non-Microsoft service, contact the service
vendor, and refer to service-specific error code 1.".

The only thing in the System Event Log is an error logged by Service
Control Manager saying the service terminated with service-specific error 1.

Now, the causes. On all the computers we've seen this problem, the
service has been installed at least once before and has been able to
start/stop properly. On two of the computers, the problem arose after
uninstalling the service, installing it with "python service.py service
--install", running it with pythonservice in debug mode, uninstalling it
with "python service.py service --remove", and then reinstalling from
the executable. Since then, the only way it ill run is from
pythonservice in debug mode.

On the third computer, the service was installed from executable, and
then reinstalled from an updated executable. I'm not sure how many
times the old executable was installed and uninstalled (at most three
times), but the updated
executable only ran once, and then showed the error.

One thing I noticed about the first computer is that, even after
uninstalling everything, there were some registry entries to do with the
installed services. I could not delete these entries - I got an access
denied error (details below)

Does anybody have any ideas?

TIA,
David Fraser

Registry details: The service is called jHistExportService

The important remnant seems to be:
HKLM\SYSTEM\ControlSet002\Services\jHistExportService and children

which actually holds details of how to run the service. For the record,
the other remnants are:
HKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_JHISTEXPORTSERVICE and children

HKLM\SYSTEM\ControlSet001\Services\EventLog\Application\jHistExportService
and children

HKLM\SYSTEM\ControlSet002\Services\EventLog\Application\jHistExportService
and children
HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_JHISTEXPORTSERVICE

HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\jHistExportService
 
L

Larry Bates

While it is unclear what your specific problem is, I can
tell you that this is not a "known" problem with Python
services. I have a development machine that I have
installed/removed one service on at least 100 times over
the course of development and it works properly. During
that time I installed/ran it both as a PythonService and
as a frozen py2exe service many, many times.

I can tell you that I use InnoInstaller to do my installations
and have it "clean" up during uninstallation by removing the
left over registry keys. If you cannot remove them, I would
suspect a "rights" issue (no administrative rights?).

HTH,
Larry Bates
Syscon, Inc.

David Fraser said:
Hi

We are trying to debug a problem with services created using py2exe.
It seems that these problems have arisen after services were installed
and removed a few times.

OK, first the actual problem we're seeing. After compiling a service
with py2exe, running "service -install" and attempting to start it from
the Services dialog, it pops up the message "Windows could not start the
Service on Local Computer. For more information, review the System
Event Log. If this is a non-Microsoft service, contact the service
vendor, and refer to service-specific error code 1.".

The only thing in the System Event Log is an error logged by Service
Control Manager saying the service terminated with service-specific error 1.

Now, the causes. On all the computers we've seen this problem, the
service has been installed at least once before and has been able to
start/stop properly. On two of the computers, the problem arose after
uninstalling the service, installing it with "python service.py service
--install", running it with pythonservice in debug mode, uninstalling it
with "python service.py service --remove", and then reinstalling from
the executable. Since then, the only way it ill run is from
pythonservice in debug mode.

On the third computer, the service was installed from executable, and
then reinstalled from an updated executable. I'm not sure how many
times the old executable was installed and uninstalled (at most three
times), but the updated
executable only ran once, and then showed the error.

One thing I noticed about the first computer is that, even after
uninstalling everything, there were some registry entries to do with the
installed services. I could not delete these entries - I got an access
denied error (details below)

Does anybody have any ideas?

TIA,
David Fraser

Registry details: The service is called jHistExportService

The important remnant seems to be:
HKLM\SYSTEM\ControlSet002\Services\jHistExportService and children

which actually holds details of how to run the service. For the record,
the other remnants are:
HKLM\SYSTEM\ControlSet001\Enum\Root\LEGACY_JHISTEXPORTSERVICE and children

HKLM\SYSTEM\ControlSet001\Services\EventLog\Application\jHistExportService
and children

HKLM\SYSTEM\ControlSet002\Services\EventLog\Application\jHistExportService
and children
HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_JHISTEXPORTSERVICE
HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\jHistExportServi
ce
 
P

Peter Hansen

Larry said:
> "David Fraser said:
>>One thing I noticed about the first computer is that, even after
>>uninstalling everything, there were some registry entries to do
>>with the installed services. I could not delete these entries - I
>>got an access denied error (details below)
[...]
I can tell you that I use InnoInstaller to do my installations
and have it "clean" up during uninstallation by removing the
left over registry keys. If you cannot remove them, I would
suspect a "rights" issue (no administrative rights?).

For what it's worth, in a possibly related situation we just
encountered something similar. In our case it was not a service,
but a COM server (using ctypes or win32com, running as LocalServer32
which launches pythonw.exe in the background). On my machine
I've had no troubles, but on a remote machine there were
"access denied" errors whenever the developer tried to "-unregserver",
which removes the registry entries. I believe he tried removing
them manually as well, but could not. It was a long-distance
thing, so I couldn't troubleshoot it myself...

I theorized there was a leftover process running, but after
checking over the task list he insisted there was not anything
active that could be doing this.

A reboot cured the problem, and so far we haven't seen it
again.

He definitely had administrative rights, so it wasn't that. I'm
positive it was a leftover "lock" of some kind, but I don't
know anything about that area of Windows so we just moved on.

My point is that it may not even be limited to the service
stuff, but could be a little broader, maybe more fundamental
to doing these kinds of background things using Python
under Windows.

-Peter
 
D

David Fraser

Peter said:
Larry said:
David Fraser said:
One thing I noticed about the first computer is that, even after
uninstalling everything, there were some registry entries to do
with the installed services. I could not delete these entries - I
got an access denied error (details below)
[...]

I can tell you that I use InnoInstaller to do my installations
and have it "clean" up during uninstallation by removing the
left over registry keys. If you cannot remove them, I would
suspect a "rights" issue (no administrative rights?).


For what it's worth, in a possibly related situation we just
encountered something similar. In our case it was not a service,
but a COM server (using ctypes or win32com, running as LocalServer32
which launches pythonw.exe in the background). On my machine
I've had no troubles, but on a remote machine there were
"access denied" errors whenever the developer tried to "-unregserver",
which removes the registry entries. I believe he tried removing
them manually as well, but could not. It was a long-distance
thing, so I couldn't troubleshoot it myself...

I theorized there was a leftover process running, but after
checking over the task list he insisted there was not anything
active that could be doing this.

A reboot cured the problem, and so far we haven't seen it
again.

He definitely had administrative rights, so it wasn't that. I'm
positive it was a leftover "lock" of some kind, but I don't
know anything about that area of Windows so we just moved on.

My point is that it may not even be limited to the service
stuff, but could be a little broader, maybe more fundamental
to doing these kinds of background things using Python
under Windows.

-Peter

Very interesting. This has also occured on one of our customer sites
where it was difficult to debug...
At least it has also occurred on our own machines so if we manage to
work out more details I'll post them here, maybe it will solve your
problem to...

David
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,810
Latest member
Kassie0918

Latest Threads

Top