Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Unable to Deploy Applications: "process is not defined in the descriptor"

Avatar

Former Community Member

All

I'm having a fairly serious issue here trying to take an LCA from one environment and get it in another environment.  Both the source and destination environments are LCES 2.5 (LCES 2 with SP2).  I have roughly 6 applications and there are some far dependencies (one application referencing an asset of another application) therein.  I've taken an LCA of all these applicaitons from the source environment and the LCA imports just fine in the destination environment but I am unable to deploy any of the applications that have far dependencies.  The error I consistently get when I attempt to deploy any application that has a far dependency is:

[Some process name].process is not defined in the descriptor.

I have tried all of the following:

1) Taking 1 LCA of all applications together

2) Taking multiple LCAs where each LCA contains only one application

3) Taking multiple LCAs where each LCA includes an application as well as all far dependencies for that application

Regardless of what I try, they won't deploy.  I can import the LCA and I can get the applications in Workbench and play around with them but they simply won't deploy.  I've also attempted to manually fix all depencies within the processes themselves but that doesn't work either.

Any help would be appreciated.

1 Accepted Solution

Avatar

Correct answer by
Former Community Member

Just wanted to follow up on the solution to my issue.

It appears the issue centers around circular far dependencies.  In general, it seems LiveCycle chokes when two applications each reference one another.  Note that I'm not talkinng about true circular referencing here wherein one process within application A references a process in application B while that same process refers back to the original process in application A.  In fact, although I haven't tested recently, I believe LiveCycle may actually catch this kind of issue.  The circular far dependencies I'm talking about is simply where a process in application A (call it a1) references a process in application B (call it b1) while a process in application B (call it b2) references a process in applicatoin A (call it a2).  Apparently this kind of circular referencing causes the deployment of said applications to choke.

The fix was tedious as I had to manually delete all of the far dependencies from both application, deploy those two applications to get them into the runtime, and then implement those dependencies again.

Going forward it seems like a best practice to only ever have 1 direction for dependencies for any application.

View solution in original post

7 Replies

Avatar

Former Community Member

I checked out that utility and, unfortunately, it's generating a bunch of Java errors after configuring it to be used.  Further, I'm not sure it's the direction I need to head.  I'm trying to do what I feel is something very simple in that I want to take an LCA from one environment and import that LCA in another environment.  Then I simply want to deploy the applications so they can be used.  That is where it's failing and the error it's telling me is that [Some process name].process is not defined in the descriptor.

Any other ideas?

Avatar

Correct answer by
Former Community Member

Just wanted to follow up on the solution to my issue.

It appears the issue centers around circular far dependencies.  In general, it seems LiveCycle chokes when two applications each reference one another.  Note that I'm not talkinng about true circular referencing here wherein one process within application A references a process in application B while that same process refers back to the original process in application A.  In fact, although I haven't tested recently, I believe LiveCycle may actually catch this kind of issue.  The circular far dependencies I'm talking about is simply where a process in application A (call it a1) references a process in application B (call it b1) while a process in application B (call it b2) references a process in applicatoin A (call it a2).  Apparently this kind of circular referencing causes the deployment of said applications to choke.

The fix was tedious as I had to manually delete all of the far dependencies from both application, deploy those two applications to get them into the runtime, and then implement those dependencies again.

Going forward it seems like a best practice to only ever have 1 direction for dependencies for any application.

Avatar

Former Community Member

Hi Josh,

I tried the same scenario ie "a process in application A (call it a1) references a process in application B (call it b1) while a process in application B (call it b2) references a process in applicatoin A (call it a2)" and created a single LCA of these two applications, and deployed on a LC ES2 SP2 server. For me, it's working fine, i can even deploy a single application or both application.

Can you please share your LCA sothat we can have a look at it.

Thanks,

Aashish

Avatar

Former Community Member

Unfortunately I can't provide an LCA because it's a proprietary HR system in use here.  I know the fix to my issue was to remove the circular dependencies but I have bothered to dive any further than that to see exactly what the issue was.  I can provide, however, that we are using an LCES2.5 turnkey installtion with JBoss and MySql on a 32bit JVM (this particular issue was in our dev environment that runs on 32 bit).  One thing to consider is that while our dev environment is using a 32bit JVM and JBoss is conifigured to use 2GB of RAM, our production environment is using a 64bit JVM and is configured for 4GB of RAM.  The processes that I was unable to deploy were from an LCA taken out of production and moved back to DEV as I was making sure the two environments were perfectly in sync code-wise before beginning a new batch of enhancements to the system.

Avatar

Former Community Member

so you mean to say that this particular issue (circular reference) is happening only on 32-bit JVM where JBOSS is configured to use 2GB RAM and with 64bit JVM, its working fine.

Ok so let me try my previous test with a 32bit JVM to see the results.

Thanks,

Aashish

The following has evaluated to null or missing: ==> liqladmin("SELECT id, value FROM metrics WHERE id = 'net_accepted_solutions' and user.id = '${acceptedAnswer.author.id}'").data.items [in template "analytics-container" at line 83, column 41] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign answerAuthorNetSolutions = li... [in template "analytics-container" at line 83, column 5] ----