[omniORB] std::terminate in omniORBpy

Michael Teske subscribe at teskor.de
Fri May 27 15:28:47 UTC 2022


Hi Duncan,

Am 27/05/2022 um 16:18 schrieb Duncan Grisby:
> On Fri, 2022-05-27 at 16:15 +0200, Michael Teske via omniORB-list
> wrote:
> 
>>> Do you call orb.destroy() before exit?
>>
>> Yes, in my first post I appended the ORBtraceLevel=40 log. There are
>> all log messages from
>>
>> omniORB: (0) 2022-05-12 13:44:39.661452: Destroy ORB...
>> to
>> omniORB: (0) 2022-05-12 13:44:39.662654: ORB destroyed.
>> omniORB: (0) 2022-05-12 13:44:39.662792: No more references to the
>> ORB -- deleted.
>>
>> Unfortunately one thread seems to survive this.
> 
> Just as an experiment (not a proper solution), what happens if you add
> a sleep of a second (or several seconds) after orb.destroy() returns,
> before your code exits?

It looks a bit different:

omniORB: (0) 2022-05-27 17:18:53.422062: ORB destroyed.
omniORB: (4) 2022-05-27 17:18:53.422150: Deleting Python state for thread id 140582319470336 (thread exit)
omniORB: (0) 2022-05-27 17:18:54.422895: No more references to the ORB -- deleted.
omniORB: (0) 2022-05-27 17:18:54.514627: ObjRef(IDL:fundamental/Server:1.0) -- deleted.
omniORB: (0) 2022-05-27 17:18:54.514689: ObjRef(IDL:userManagerInterface/umServer:1.0) -- deleted.
omniORB: (0) 2022-05-27 17:18:54.514703: ObjRef(IDL:userManagerInterface/umServer:1.0) -- deleted.
omniORB: (0) 2022-05-27 17:18:54.514712: ObjRef(IDL:QuotingServer/Server:1.0) -- deleted.
omniORB: (0) 2022-05-27 17:18:54.601195: Final clean-up
omniORB: (0) 2022-05-27 17:18:54.601251: Deleted 4 nil object references and 0 other tracked objects.
omniORB: (0) 2022-05-27 17:18:54.601263: Final clean-up completed.

and no crash. Without the time.sleep(1), there had been no "Final clean-up" in the log.

Actually it looks like even a time.sleep(0.01) would suffice for this to work and the crash to vanish. I could certainly 
live with that.

Regards,
   Michael





More information about the omniORB-list mailing list