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:
The working 7.5.2 log file shows:
The event log shows:
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:
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. |
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:
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. |
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. |
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. |
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:
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. |
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. |
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. |
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. |
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:
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. |
Free forum by Nabble | Edit this page |