Error thrown when two interfaces referenced in parent interface

I am encountering a very strange situation in Appian. I have a parent interface that has a choose function determining which child interface to display. Within this choose function there are 5 interfaces. When I attempt to access the parent interface I am presented with the following error.

 

However when I go into the interfaces listed in the error, I am presented with no error at all. Strangely enough when I remove a different interface in the choose function, not the one listed in the above error, the error vanishes. Within this second interface there is also no error. I would really appreciate some guidance here because it seems like Appian is conjuring an error our of thin air. On top of all that, this error is only present in our test environment and not our dev environment. Below are some additional screenshots. 

Choose function with all 5 interfaces:

Configurations that do not generate the error: 



It almost seems like the interaction between the first and last interface listed are causing the error. But when only one or the other is listed there is no error. 

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    I'm a little stumped here without, of course, seeing some concise explanation for what's in those sub-rules/interfaces.  I would note that I've also bumped into peculiarities like this before.  Some troubleshooting questions if you're curious:

    1) since choose() is awful and now deprecated by a!match() anyway, does the error follow if you swap out choose() with a!match() here?

    2) what would happen if you massively neuter one or the other of the in-question interfaces (either of the two that create the error condition)?  Like, replace the entire interface code with an empty set for a moment, and retry - does the error follow or not?  If the error is resolved when doing that for either of them, then paste back in (and/or uncomment) the original code piece-by-piece, retrying at each step - is there any particular breaking point?

    My "swinging for the fences" guess here, is that in one or the other interface in question, you have something subtly incorrect, which on its own is not enough to create an error, but for some reason is causing the error to show under these exact conditions.  But even that is hard to say either way for sure.

Reply
  • 0
    Certified Lead Developer

    I'm a little stumped here without, of course, seeing some concise explanation for what's in those sub-rules/interfaces.  I would note that I've also bumped into peculiarities like this before.  Some troubleshooting questions if you're curious:

    1) since choose() is awful and now deprecated by a!match() anyway, does the error follow if you swap out choose() with a!match() here?

    2) what would happen if you massively neuter one or the other of the in-question interfaces (either of the two that create the error condition)?  Like, replace the entire interface code with an empty set for a moment, and retry - does the error follow or not?  If the error is resolved when doing that for either of them, then paste back in (and/or uncomment) the original code piece-by-piece, retrying at each step - is there any particular breaking point?

    My "swinging for the fences" guess here, is that in one or the other interface in question, you have something subtly incorrect, which on its own is not enough to create an error, but for some reason is causing the error to show under these exact conditions.  But even that is hard to say either way for sure.

Children
No Data