BUG FOUND: Process Error "Don't know how to convert rtLongInteger"

BUG FOUND: Process Error "Don't know how to convert rtLongInteger"

  
How to reproduce bug, Create a process, and an entity with a long integer identifier.

1) Add a aggregate query for entity you just created and get a record by Id 
2) Create a record in order to execute the "Process"
3) Check service center, an error will occur,  "Don't know how to convert rtLongInteger"

You will find that the error occurs   when you create a "process" and use aggregate widget with an entity that uses long integer Identitifer.




There is also a bug in the activity log: The activity logs displayed in service center indicated that the process was completed successfully (without any issue) However this is not the case, an error did occur but was not recorded by Service Center under processes log.


This bug has been found in both Outsystems Platform .NET v9.1.0.8 and Outsystems Platform .NET v9.1.0.10 (latest version).

 









Hi Robert,

Is the bug only triggered in this very specific cirumstance? It seems to be it's awefully specific. I'd expect a general problem with aggregate + long int. As for the process being completed succesfully, isn't that caused by the fact you have an empty exception handler?

Btw, what is the exact error in Service Center, including the calling stack? I'm just curious where the conversion errors originates.
Hi Robert,

This is probably already fixed for the next minor revision, but can you send me the oml with your code?

Thanks

Update: Changing the entity identifier from "Long Integer" to "Integer" fixed this issue. 

Lúcio Ferrão wrote:
Hi Robert,

This is probably already fixed for the next minor revision, but can you send me the oml with your code?

Thanks
 
 
Lucio, when we did an alpha and beta test earlier this year, I tested nearly all features that use long integer, but its the first time I tested "Process" feature with long integer and I have concluded from my findings - I'm 100% certain there is a bug with long integer!  the eSpace containg the bug has been emailed to you :)
 

Kilian Hekhuis wrote:

Btw, what is the exact error in Service Center, including the calling stack? I'm just curious where the conversion errors originates.
This is the stack track from ServiceCenter
Don't know how to convert rtLongInteger
   at OutSystems.HubEdition.RuntimePlatform.RuntimePlatformUtils.ConvertFromString(String val, String datatype)
   at OutSystems.HubEdition.RuntimePlatform.Processes.ProcessBase.GetVariable[T](ActivityVariable`1 variableDefinition, GetVariablesDelegate getMethod, Int32 id)
   at OutSystems.HubEdition.RuntimePlatform.Processes.ProcessBase.GetVariable[T](Dictionary`2 collection, ActivityVariable`1 variableDefinition, GetVariablesDelegate getMethod, Int32 id)
   at ssFISync.Processes.ProcExcProcess1.ActExecAutomaticActivity1.ExecuteActivity(HeContext heContext) 

Strangely enough Service Center indicated the "Process" was completed successfully! (Although an error occured, but no error with the "Process" was recorded)
The bug occurs when "Aggregate"/simple query widget is used.

stack track - Activity Variable is a int32 data type? but the entity data type is long int64? I cant see the code under the hood, therefore i can not help outsystems debug this issue any further than what I could see on the surface.

Please check the code for "Process", Process AutomaticActivity widget.

Hi Robert,

I confirm this is already fixed in the maintenance branch and will appear in the next revision of the 9.1 platform.

Regards,
Lucio
Thank you Lucio


Lucio

Is this bug fixed in the latest Release Candidate? "Platform Server 9.1.0.20"

Fixed in 9.1.0.20 (relating to long integer)
  • Fixed Runtime Error due to missing conversion to Long Integer (#1048526)
  • Fixed Runtime Error due to missing conversion to Long Integer (#1048509)
  • External authentication plugins are no longer called to authenticate PlatformServices (#1026353)

Hi Robert,

Yes, 9.1.0.20 includes the fix for the bug you found. 
Lucio

Thank you for clarifying.