Search This Blog

SBL-DAT-00110: Unable to initialize the extension language script state for a Business Service! The scripting language subsystem is not correctly init

Applies to:

Product Release: V7 (Enterprise)
Version: 7.7.2.1 [18353]
Database: Microsoft SQL Server 2000 SP3
Application Server OS: Microsoft Windows 2003 Server
Database Server OS: Microsoft Windows 2003 Server

This document was previously published as Siebel SR 38-2853328951.

Symptoms

SBL-DAT-00110

We are getting error messages in log files. I have never seen this error messages before and cannot find anything on SupportWeb.

“(service.cpp (839)) SBL-DAT-00110: Unable to initialize the extension language script state for a Business Service!
The scripting language subsystem is not correctly initialized.”

I am further investigating and will post any findings ASAP. I will also post the log file.

Have you seen this before? Any recommendations for investigation?

Solution

Message 1

Randy,
Thanks for using Siebel Support Web. I have just taken the ownership of this service request 38-2853328951.

Based on our last call I have reviewed your WF Log and I will be working closely with Alex Spina (Workflow expert) in order to find the root cause of this error. Since I am a configuration/scripting resource, Alex may help us for questions regarding the WF part of this scenario.

As mentioned I have reviewed all service requests associated to the error SBL-DAT-00110 and found the following information that we could investigate:

1. More than on posting refers to this error when the BS is created in client side. Please let me know if the BS was created in Tools or in the Client. The suggestion is to have the BS created in Tools.

“There is an open change request (12-BNAYDD) where similar intermittent failures were reported, but only when executing client side Business Services. This change request is still open, and this has not been re-produced by Technical Support. If your Business Service is defined in the client, this is the likely cause, and the resolution is to move the service to Tools, and compile it into the SRF.”

2. Most of the requests associated to this error mention that it can be fixed by setting ‘OM-Model Cache Maximum” to 0:

“Another workaround which has been used is to set the OM – Model Cache Maximum = 0 on the failing component (i.e. PgReSweWfProcMgr).”

[cont1...]

Message 2

[cont1...]

“OM—Model Cache Maximum. This parameter determines the size of the cache for model objects in Object Manager-based server components, such as Business Service Manager and Workflow Process Manager. Each model in the cache creates two database connections for the life of the model (one connection for insert, update, and delete operations; the other connection for read-only operations). The model cache improves performance for the object manager server components, and it is generally recommended not to disable this parameter. The default value is 10. A value of 0 disables this parameter, and the maximum setting for this parameter is 100.”

“I carried out some research on the “Unable to load message” error. As part of this I came across SR 38-1129753541 [Workflow Process Manager exit with error "Unable to load message 0xffff" while instantiating process] on SupportWeb. This mentions that the error can occur due to a caching problem with the business services and workflow process definitions and was resolved by disabling model caching for the Workflow Process Manager (WPM).”

“We have worked with another customer who reported this intermittent behavior and they found that when setting the Workflow Process Manager parameter OM - Model Cache Maximum = 0, resolved the behavior. If you find this is a problem again, then you can try changing this setting. This will disable model caching.

[cont2...]

Message 3

[cont2...]

...Model Cache Maximum determines how many database connections are kept alive for performance reasons. Here is some more information on this setting (Found by searching SupportWeb using: Model Cache)”

3. Also some postings mentioned that OM - Preload SRF Data should be set to TRUE in order to avoid this error.

“Based on my research, the commonly workaround to the this kind of error is to tweak the workflow process parameter "OM - Preload SRF Data" or "OM - Model Cache Maximum" or the business service cache property.

I would suggest that you tried manipulating the workflow process parameter "OM - Preload SRF Data" and set it to True and OM - Model Cache Maximum = 0. Do let me know if the problem persists.”

4.There are also some parameters that we should check:

“Additionally, you need to also ensure the following Component Parameters on the Workflow Process Manager component is set correctly. Navigate to Sitemap > Server Administration > Components > Component Parameters:

Application Repository File = <should be set to the SRF File in Siebel server\objects that contains the business service>

Application Scripting Dll = <set to sscfbas.dll for Siebel VB, sscfjs.dll for Siebel eScript>

Application Scripting Enabled = <set to TRUE to enable WfProcMgr to execute custom scripts>”

[cont3...]

Message 4

[cont3...]

5. From the scripting side we could investigate if the objects were correctly destroyed. Since you mentioned that the same code was working before it doesn’t seem to be the cause but we may also check it:

“Please ensure that the record sets and connections are correctly closed in the script and also that it is destroying the instantiated objects (for VB use the Nothing Function as Bookshelf > Siebel VB Language Reference > Nothing Function for code examples). The objects should be destroyed in reverse order of their instantiation, after the recordset and connection is closed. For eScript the objects should be destroyed by setting them = null. (for example use MyObject = null)”.

6. Similar to item 5 above we should ensure that no UI references (using ‘this’ for example) should be present in your BS which is running in a non UI context.

“Also, please ensure that the custom scripts do not contain any UI codes or calls. UI codes are not supported on server components such as Workflow Process Manager, this will result in workflow process error out with extension language errors on the server.”

[cont4...]

Message 5

[cont4...]

7. There is a possibility that the cause could be related to memory as mentioned in one of the SRs that I found associated to the same error message:

“This message has happened in the past when the system has been stressed, low on resources like disk space and memory. Check that the machine has some capacity, that there are not many other processes running at the same time, that there is free disk space and so on.”

8. Is this behavior reproducible in Development or Test Environment? Are you able to run a test using Business Service Simulator so that we can ensure that the cause is related to the code inside the BS or to the WF process and settings? If this behavior can be reproduced in test or dev environments then we could also try to inactivate the code (by setting EnableScripting to FALSE in our cfg file). By this way we can check if the cause could be related to another custom code present in the application rather than the BS code.

9. Would it be possible to add try and catch statements in the business service in order to check if we can get more information about the cause of this error. In this case I am assuming that the error occurs inside the BS and not just after the call of the BS method from WF. For examples, please check:

Siebel eScript Language Reference > Siebel eScript Language Overview > Siebel eScript Statements > try Statement

[cont5...]

Message 6

[cont5...]

10. Please let me know if you can add Traces inside your BS. This would also help us to identify/confirm that the BS method is correctly being called by WF and the error occurs inside the BS or not.

Siebel Object Interfaces Reference > Interfaces Reference > Application Methods > TraceOn Method

Besides this troubleshooting suggestions, please provide the following additional files for further investigation:

A. Please can you re-produce and attach a detailed WF log file. I will require tracing set as per: FAQ 1482: How Can Tracing Be Increased for Workflow Process Manager and Workflow Process Batch Manager?

B. The business service being executed in sif format.

Note: In order to generate the Sif files just choose the object in Siebel tools and then navigate to Tools, Add to Archive. After that, attach the new objects to this service request. Please do not attach the entire project(s) associated to these objects.

Please let me know your comments on the 10 suggestions above and provide the 2 files requested. Also let us know the result after restarting the server.

Thank you,

No comments:

Post a Comment