Good Afternoon,


While I was trying to publish, I got the following error:


Internal Error
Invalid compiler output.
Sequence contains no matching element
Exception Details:
[1] System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
   at OutSystems.HubEdition.Compiler.DataSetOperations.GroupBy.<>c__DisplayClass2_0.<WriteReadDBStatement>b__1(AggregateAttribute aggrAttr)
   at OutSystems.HubEdition.Compiler.DataSetOperations.GroupBy.ApplyInOutputOrder(Action`1 applyToGroupByAttribute, Action`1 applyToAggregateAttribute)
   at OutSystems.HubEdition.Compiler.Nodes.AbstractDataSet.DumpReadDBMethodBody(IQueryReadDBGenerator generator, QueryInstance instance)
   at OutSystems.HubEdition.Compiler.Nodes.AbstractQuery.DumpReadDBMethod(IQueryReadDBGenerator generator, QueryInstance instance)
   at OutSystems.HubEdition.Compiler.Nodes.AbstractQuery.InnerDump(TextWriter writer, QueryInstance instance)
   at OutSystems.HubEdition.Compiler.Interfaces.ServerScreenFlowNodeUtils.DumpNodeMethods(IServerScreenFlowNode screenFlowNode, TextWriter writer)
   at OutSystems.HubEdition.Compiler.Nodes.WebScreen.Dump(TextWriter writer)
   at OutSystems.HubEdition.Compiler.Flows.WebFlow.Dump()
   at OutSystems.HubEdition.Compiler.WebFlows.WebHandler.Dump(IEnumerable`1 webFlows)
   at OutSystems.HubEdition.Compiler.ESpace.Dump()
   at OutSystems.HubEdition.Compiler.Compiler.InnerCompileEspace(ESpace eSpace, CompilationContext context)
   at OutSystems.HubEdition.Compiler.Utils.CompilerUtils.TrapExceptionsInContext(Action action, CompilationContext context)


The application show no errors.

Thanks in advance.

Gustavo

Gustavo,

Was your last change related to using list functions?

Or if not, if you undo your last change will the internal errors not appear when you publish?

Regards,

Daniel

Daniel,

I had to do some changes at the data base, which is in a separate application. I cleared the tables first, and then I changed some attributes. Other then that I created a new table. Back in the application I updated the dependencies, cleared the errors, and when I tried to publish this error occured.

Gustavo

If this is an application that is not yet in production, if all else fails you could try the following:

  1. download the application
  2. remove the application
  3. load the application

If the change is only in one specifiek module do  the steps but then only for that module, make sure to, after input move it back from independent modules to your app.

This procedure has fixed on various occasions strange errors that we could not get fixed in any other ways.

Daniel,


We tried, even with both applications, but it didn't work...


I am sorry, that it did not solve the problem.

Searching the forum there is another related post:

https://www.outsystems.com/forums/discussion/21374/invalid-compiler-output/

The last post in it refers to the same problem, maybe you can ask him if in the end they fixed it

In the mean time you could also create a support case for outsystems support.

Regards,

Daniel

I fixed this same error by cutting out portions of my app I thought might be the culprit and trying to publish. It ended up being a web block I had with an aggregate that had some column calculations that I had modified several times. 

After I published without that web block (successfully) I then pasted the web block back into my application and tried to publish again, that time it worked. In my experience sometimes cutting and pasting will re-initialize deeper components that may have been edited heavily between publishes.

Hi Gustavo,

Probably something went wrong with copying, and there's something in an unstable state. You could try to fix the eSpace by using the -recover option of Service Studio. To do so:

  1. Open a command window in Windows;
  2. Go to C:\Program Files\OutSystems\Development Environment 10.0\Service Studio (assuming that's where you installed it);
  3. Execute "servicestudio.exe -recover <espace name>", where <espace name> is the name of your eSpace (OML file);
  4. Open the recovered file and try again.

If that doesn't work you could contact OutSystems Support, but it'll probably take a while before they have figured it out and provided you with a solution. If that takes too long, try to redo what you did before, but in smaller steps (so copy and fix one Screen, then publish, etc.). Alternatively, instead of copying the Screens, merge them (i.e. merge the orginal with the clone, selecting the right Screens etc.). This sometimes produces better results than copying.

Cheers,
Nuno Verdasca