This is coming from Support Case 00458615.
In short we have a widget pool and we are creating a SOCKET handle inside this widget pool. When the widget pool gets destroyed without cleaning up the SOCKET handle properly, the handle gets flagged as invalid, but it stills pop up when you cycle through SESSION:FIRST-SOCKET & NEXT-SIBLING. Also when enabling the DYNOBJECT server log entry types I can see where it gets created but no message of where it gets cleaned up, because it doesn't get cleaned up.
This does not make any sense. Surely the idea of a widget pool is to clean up everything inside the widget pool when it gets destroyed? If not what is the use of the widget pool?
Also it might not be limited to SOCKET handles only. In this specific case we had a memory leak on the SOCKET handle, which eventually caused error 49s down the line.
As this came from a support case I assume Progress did not think this was a bug? Or why would they advise you to create this enhancement request?
The way you describe it, this sounds like a bug though...
They wanted to close the support case and asked me to log this issue as an idea. Maybe they're not convinced it's a bug at this stage.