cancel
Showing results for 
Search instead for 
Did you mean: 

CAP deploy service crash while starting

former_member864609
Discoverer
0 Kudos

Hello,

I'm following this GUIDE on how to create a simple cap service in node.js with BAS. But after I tried to deploy the application to BTP, it crashed (It tried 3 times after starting it and then crashed).

I do not understand what can be the issue, before deploying the app I update the library via npm install. The service is very basic:

this is the service.cds

this is the service.js

And my packjson.json

{ "name": "ibm-cap-wf-pogetapproval", "version": "1.0.0", "private": true, "engines": { "node": "^18" }, "dependencies": { "@sap/cds": "^7", "express": "^4" }, "devDependencies": { "@cap-js/sqlite": "^1", "@sap/cds-dk": "^7" }, "scripts": { "start": "cds-serve" }}

I do not understand why it crashes:

Error on BTP: "instance: 61dfda19-e4f4-42b3-41fe-9197, index: 0, cell_id: 6ff9039f-29ce-4415-ad18-6f65cf93dee5, reason: CRASHED, exit_description: APP/PROC/WEB: Exited with status 1, crash_count: 6, crash_timestamp: 1700055229444258600, version: 56f62406-390c-42f6-9c48-a23d1435804f"

Instead in the logs, there is not much more information about the crash:

#2.0#2023 11 15 13:38:24.888#Z#ERROR#com.sap.cloud.lm.sl.xs2.c5cd416e-83bb-11ee-9168-eeee0a8ce79f.OPERATION.startAppTask#######org.cloudfoundry.multiapps.controller.persistence.services.ProcessLogger########flowable-async-job-executor-thread-46993###[RestartAppStep] Error starting application "ibm-cap-wf-pogetapproval-srv": Some instances have crashed. Check the logs of your application for more information.Download the application logs via the dmol command and check them for more information.#
#2.0#2023 11 15 13:38:24.893#Z#ERROR#com.sap.cloud.lm.sl.xs2.c5cd416e-83bb-11ee-9168-eeee0a8ce79f.OPERATION.startAppTask#######org.cloudfoundry.multiapps.controller.persistence.services.ProcessLogger########flowable-async-job-executor-thread-46993###Exception caught#
org.cloudfoundry.multiapps.common.SLException: A step of the process has failed. Retrying it may solve the issue. at org.cloudfoundry.multiapps.controller.process.steps.SyncFlowableStep.executeInternal(SyncFlowableStep.java:77) ~[multiapps-controller-process-1.159.0.jar:?] at org.cloudfoundry.multiapps.controller.process.steps.SyncFlowableStep.lambda$execute$0(SyncFlowableStep.java:65) ~[multiapps-controller-process-1.159.0.jar:?] at org.cloudfoundry.multiapps.controller.core.util.LoggingUtil.logWithCorrelationId(LoggingUtil.java:14) ~[multiapps-controller-core-1.159.0.jar:?] at org.cloudfoundry.multiapps.controller.process.steps.SyncFlowableStep.execute(SyncFlowableStep.java:65) ~[multiapps-controller-process-1.159.0.jar:?] at org.flowable.engine.impl.delegate.invocation.JavaDelegateInvocation.invoke(JavaDelegateInvocation.java:35) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.engine.impl.delegate.invocation.DelegateInvocation.proceed(DelegateInvocation.java:32) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.engine.impl.delegate.invocation.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:26) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.engine.impl.bpmn.behavior.ServiceTaskDelegateExpressionActivityBehavior.execute(ServiceTaskDelegateExpressionActivityBehavior.java:161) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.engine.impl.agenda.ContinueProcessOperation.executeActivityBehavior(ContinueProcessOperation.java:298) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.engine.impl.agenda.ContinueProcessOperation.executeSynchronous(ContinueProcessOperation.java:175) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.engine.impl.agenda.ContinueProcessOperation.continueThroughFlowNode(ContinueProcessOperation.java:125) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.engine.impl.agenda.ContinueProcessOperation.run(ContinueProcessOperation.java:88) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.common.engine.impl.AbstractEngineConfiguration.lambda$new$0(AbstractEngineConfiguration.java:195) ~[flowable-engine-common-6.8.0.jar:6.8.0] at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:130) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:114) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:72) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:26) ~[flowable-engine-6.8.0.jar:6.8.0] at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53) ~[flowable-engine-common-6.8.0.jar:6.8.0] at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:105) ~[flowable-engine-common-6.8.0.jar:6.8.0] at org.flowable.common.spring.SpringTransactionInterceptor.lambda$execute$0(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.8.0.jar:6.8.0] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) [spring-tx-5.3.29.jar:5.3.29] at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57) [flowable-spring-common-6.8.0.jar:6.8.0] at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) [flowable-engine-common-6.8.0.jar:6.8.0] at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56) [flowable-engine-common-6.8.0.jar:6.8.0] at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51) [flowable-engine-common-6.8.0.jar:6.8.0] at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.executeJob(ExecuteAsyncRunnable.java:127) [flowable-job-service-6.8.0.jar:6.8.0] at org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.run(ExecuteAsyncRunnable.java:115) [flowable-job-service-6.8.0.jar:6.8.0] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?] at java.lang.Thread.run(Unknown Source) [?:?]#2.0#2023 11 15 13:38:24.899#Z#DEBUG#com.sap.cloud.lm.sl.xs2.c5cd416e-83bb-11ee-9168-eeee0a8ce79f.OPERATION.startAppTask#######org.cloudfoundry.multiapps.controller.persistence.services.ProcessLogger########flowable-async-job-executor-thread-46993###Step "Start App" finished#

Does anyone have any idea what can cause this issue? Or has experienced the same problem?

Thanks in advance,

MQ

chgeo
Advisor
Advisor

Please check the logs of the actual '...-srv' application, either in SAP BTP Cockpit, or through the command line:

cf logs --recent <...-srv>

There, the root cause of the crash should be listed.

Ivan-Mirisola
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi carlo_scampini,

Does it work running locally on BAS? Did you create a run configuration on BAS for testing it? Does it have all the required services bound to it?

Best regards,
Ivan

Accepted Solutions (0)

Answers (1)

Answers (1)

Ivan-Mirisola
Product and Topic Expert
Product and Topic Expert

Hi carlo_scampini,

Please check that you have defined at least one authentication method for your service.

Since the tutorial doesn't tell you to add an App Router or any authentication setup, then you ought to use the dummy implementation, like so on your 'package.json' (root folder):

"cds": {
"requires": {
  "auth": "dummy"
  }
}

Apparently, once you don't declare anything (and the project generator doesn't), it defaults to 'jwt' authentication.

Then you will probably end-up with missing node libraries, etc.

Best regards,
Ivan