Windows Service Application v8.6.0 does not start

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Windows Service Application v8.6.0 does not start

Doug Stewart
I am in the process of upgrading our application from 7.5.2 to 8.6.0.

Our application is packaged into a bunch of ic's with two versions 1) Headless windows service 2) Same application code as service with a simple GUI log monitor. In 7.5.2, both apps work, but in 8.6.0, the windows service fails to start.

When I start the 8.6.0 windows service, I receive the message: The <appname> service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.

The broken 8.6.0 log file shows:
  • VA Smalltalk, Version 8.6 
    VM Timestamp: 4.0,(NC) 7/3/2013 (85)
    (C) Copyright Instantiations 1994, 2013.  All rights reserved.
    (C) Copyright International Business Machines Corp. 1994, 2006.  All rights reserved.
    Virtual Machine PID: xxxx
    Commandline args {
     appname.icx
     -lstartup.appname.log
     mmf=<long location name without backslashes>
     poll=10
     gui=0
     user=<userid>
     pwd=<pwd-hash>
     }
The working 7.5.2 log file shows:
  • VA Smalltalk, Version 7.5.2 
    VM Timestamp: 4.0,(NC) 6/12/2007 (74)
    (C) Copyright Instantiations 1994, 2007.  All rights reserved.
    (C) Copyright International Business Machines Corp. 1994, 2006.  All rights reserved.
    Virtual Machine PID: xxxx
    Option newSpaceSize set to 8000000
    Option oldSpaceSize set to 2000000
    Option allocationIncrement set to 5000000
    Loading Fixpacks...
    Loading Fixpack: ..\system\ic\patchAgent.IC: : Success
    Initializing BOK...
    done.Class named: <aClass1> not found
    Class named: <aClass2> not found
    Class named: <aClass3> not found
    Class named: <aClass4> not found
    Class named: <aClass5> not found
    Loading x File Named: 
    Loading x for Agent
    : Failed
    Loaded <aClass6> 
The event log shows:
  • The Server '<service executable location>' did not respond to the Start control.
I noticed in the documentation that for a windows service, one should include AbtNtServiceSupportApp and AbtNtServicePackagingApp in their image. Neither our 7.5.2 or 8.6.0 app versions include these so there must be another way.

The only differences between the 7.5.2 and the 8.6.0 are:
  • 8.6.0 app has and 7.5.2 app does not have:
    • EsLoggingFrameworkApp (Kernel IC)
    • EsLoggingFrameworkFileSupport (Common File System and NLS IC)
    • EsTimeZoneApp
    • AbtWaitApp (IBM Smalltalk, All - Headless) <- used to be in IBM Smalltalk, All - UI Run
  • 7.5.2 app has and 8.6.0 app does not have:
    • ScaledDecimalMath (Kernel IC)
    • AbtImageConfigurationApp (IBM Smalltalk, Bootstrap - Headless)
    • CWControls (Controls IC)
    • AbtWaitApp (IBM Smalltalk, All - UI Run) <- now in IBM Smalltalk, All - Headless
    • AbtRunWinCwControlsApp (VisualAge Windows 95 Controls) 
It is not clear to me what may be wrong or how to go about debugging it. 

Any help is very much appreciated. Be sure to tell me how to give you any information you may ask for.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Windows Service Application v8.6.0 does not start

jtuchel
Doug,

do you get walkbacks?

I remember the error messages from Windows were not helpful at all - us usual. I also remember you have to be very careful about the various places in which you name the service. Every typo is dangerous.

Your startup logging seems to indicate you are using the right VM version with the image, so this is more a formal thing: are you using NTS*.exe to startup the service? Are you sure this exe finds all its DLLs and such?

Without any more info, this is all just guesswork.
I would start by adding log output to your startup code and see how far the program gets.

Joachim


Am Dienstag, 1. April 2014 03:44:46 UTC+2 schrieb Doug Stewart:
I am in the process of upgrading our application from 7.5.2 to 8.6.0.

Our application is packaged into a bunch of ic's with two versions 1) Headless windows service 2) Same application code as service with a simple GUI log monitor. In 7.5.2, both apps work, but in 8.6.0, the windows service fails to start.

When I start the 8.6.0 windows service, I receive the message: The <appname> service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.

The broken 8.6.0 log file shows:
  • VA Smalltalk, Version 8.6 
    VM Timestamp: 4.0,(NC) 7/3/2013 (85)
    (C) Copyright Instantiations 1994, 2013.  All rights reserved.
    (C) Copyright International Business Machines Corp. 1994, 2006.  All rights reserved.
    Virtual Machine PID: xxxx
    Commandline args {
     appname.icx
     -lstartup.appname.log
     mmf=<long location name without backslashes>
     poll=10
     gui=0
     user=<userid>
     pwd=<pwd-hash>
     }
The working 7.5.2 log file shows:
  • VA Smalltalk, Version 7.5.2 
    VM Timestamp: 4.0,(NC) 6/12/2007 (74)
    (C) Copyright Instantiations 1994, 2007.  All rights reserved.
    (C) Copyright International Business Machines Corp. 1994, 2006.  All rights reserved.
    Virtual Machine PID: xxxx
    Option newSpaceSize set to 8000000
    Option oldSpaceSize set to 2000000
    Option allocationIncrement set to 5000000
    Loading Fixpacks...
    Loading Fixpack: ..\system\ic\patchAgent.IC: : Success
    Initializing BOK...
    done.Class named: <aClass1> not found
    Class named: <aClass2> not found
    Class named: <aClass3> not found
    Class named: <aClass4> not found
    Class named: <aClass5> not found
    Loading x File Named: 
    Loading x for Agent
    : Failed
    Loaded <aClass6> 
The event log shows:
  • The Server '<service executable location>' did not respond to the Start control.
I noticed in the documentation that for a windows service, one should include AbtNtServiceSupportApp and AbtNtServicePackagingApp in their image. Neither our 7.5.2 or 8.6.0 app versions include these so there must be another way.

The only differences between the 7.5.2 and the 8.6.0 are:
  • 8.6.0 app has and 7.5.2 app does not have:
    • EsLoggingFrameworkApp (Kernel IC)
    • EsLoggingFrameworkFileSupport (Common File System and NLS IC)
    • EsTimeZoneApp
    • AbtWaitApp (IBM Smalltalk, All - Headless) <- used to be in IBM Smalltalk, All - UI Run
  • 7.5.2 app has and 8.6.0 app does not have:
    • ScaledDecimalMath (Kernel IC)
    • AbtImageConfigurationApp (IBM Smalltalk, Bootstrap - Headless)
    • CWControls (Controls IC)
    • AbtWaitApp (IBM Smalltalk, All - UI Run) <- now in IBM Smalltalk, All - Headless
    • AbtRunWinCwControlsApp (VisualAge Windows 95 Controls) 
It is not clear to me what may be wrong or how to go about debugging it. 

Any help is very much appreciated. Be sure to tell me how to give you any information you may ask for.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Windows Service Application v8.6.0 does not start

Doug Stewart
Hi Joachim,

There are no walkbacks.

I'm using abtntsrv.exe to start the service, renamed as server.exe. Initially, I was using nodialog.exe which produced the startup log. Interestingly, using abtntsrv.exe does not produce a startup log. Additionally, when I used the nodialog.exe, server.exe would show on the task manager, but when I used abtntsrv.exe, a secondary exe (I think written in VB or something) would show on the task manager. In the working version (7.5.2) of the application, both exe's show on the task manager.

Registry is setup with:

(Default) = (value not set)
COMMAND LINE = app.icx -lstartup.server.log (INI is app.ini)
ENABLED = 0x00000001 (1)
EXECUTABLE NAME AND PATH = C:\location\app\server.exe
PASSWORD = <hashed pwd>
SERVER INACTIVITY TIME-OUT (SECONDS) = 0x0000012C (300)
SERVER POLL INTERVAL (SECONDS) = 0x0000000a (10)
SERVER SHUTDOWN TIME (SECONDS) = 0x000000078 (120)
SERVER STARTUP TIME (SECONDS) = 0x00000078 (120)
SHOW SERVER GUI = 0x00000000 (0)
USERID = <aUserId>
WORKING DIRECTORY = c:\location\app

I did have a problem with the non-windows-service app in that I had to include the VM (ie. esvm40.dll) directly in the directory containing the image and executable. This was not necessary in v7.5.2. Another fix is to add esvm40.dll to the SysWOW64 folder, but then I cannot run v7.5.2 and v8.6.0 side-by-side. I'm not certain what dll's are necessary besides the VM because the non-service apps do not complain and the icx is the same for the non-service and the service.

dll's are located in c:\location
ic's et al are located in c:\location\system\ic, c:\location\system\xml, etc...
VM dll is dually located in c:\location and c:\location\app

Thanks

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Windows Service Application v8.6.0 does not start

Louis LaBrunda

Hi Doug,

You should be able to get a start up log from abtntsrv.exe with the "-l" option (-lLogFileName.Log).

Lou

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Windows Service Application v8.6.0 does not start

Randy Nelson-2
Your service seems to get farther than the normal "Data Execution Prevention" error but anytime I hear about a service, (or any Smalltalk app for that matter), with strange startup behavior, I think of DEP first. Just as a formality, if you haven't already, can you just make sure DEP isn't killing your app? Normally the behavior is complete silence from the app but it's worth a quick check.

Hope that helps,
Randy



On Tue, Apr 1, 2014 at 2:07 PM, Louis LaBrunda <[hidden email]> wrote:

Hi Doug,

You should be able to get a start up log from abtntsrv.exe with the "-l" option (-lLogFileName.Log).

Lou

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Windows Service Application v8.6.0 does not start

Doug Stewart
I added the apps to DEP and also tried changing to windows only DEP with no luck - was worth a try. 

Curious, I am trying to add AbtNtServicePackagingApp & AbtNtServiceSupportApp but I am getting a packaging error during the output phase:

"Cannot package global in non-included namespace"

Fails in EsDumper>>#namespaceFor:
The namespaceName is AbtXmlSchemaSupportApp
The assoc key is AbtXmlSchemaConstants

Seems like something I should know how to fix.


--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

[SOLVED] Windows Service Application v8.6.0 does not start

Doug Stewart
Well, after all the attempts with this, it came down to two simple changes from our 7.5.2 app to 8.6.0:

1. On the command line, had to add the -i switch.
2. The esvm40.dll had to be placed in the same directory as the nodialog.exe.

Recap: our application has a c program that runs as a Windows service and is in charge of starting and stopping the smalltalk application via nodialog.exe.

Previous command line: c:\path\apps\app1\nodialog.exe app1.icx
New command line: c:\path\apps\app1\nodialog.exe -iapp1.icx

Such a simple thing, but no error messages, no walkbacks, just clocking.

What is missing (in my opinion):
1. Make the -i switch mandatory, to ensure that at least an error message appears when it is absent.
2. Provide a libraries switch (maybe -libs:) to tell the exe where to provide the dll context. I feel this is necessary to provide an explicit understanding of where and what our applications are running. It also takes the guess work out of running parallel side-by-side application installations, all running different versions of VAST, or different libraries while running the same version of VAST. I suspect that the look-up protocol changed when the bin directory went away but it's hard to say. For the most part, anything implicit, with regards to environmental setup, is IMHO generally a poor design. This is especially true with the lack of comprehensive VAST documentation.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [SOLVED] Windows Service Application v8.6.0 does not start

Louis LaBrunda
Hi Doug,

I use a copy of abtntsrv.exe instead of nodialog.exe.  I don't remember why exactly or even what the difference is but since it has "ntsrv" in the name, I use it.  I copy it to a name that matches the image name or something close.  That way each VA Smalltalk based service shows up in the services list with a different name.

Lou

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [SOLVED] Windows Service Application v8.6.0 does not start

Doug Stewart
Hi Lou,

That sounds reasonable and we do have nodialog.exe renamed for each application but we run a separate c program as the actual service. Maybe in the future I'll figure out how to add in the necessary applications without breaking the build so that we can use *ntsrv.exe as well. Unlikely I'll be given support time for such an effort :(

Thanks,

Doug

On Thursday, April 17, 2014 1:16:38 PM UTC-4, Louis LaBrunda wrote:
Hi Doug,

I use a copy of abtntsrv.exe instead of nodialog.exe.  I don't remember why exactly or even what the difference is but since it has "ntsrv" in the name, I use it.  I copy it to a name that matches the image name or something close.  That way each VA Smalltalk based service shows up in the services list with a different name.

Lou

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.