Experimental Physics and Industrial Control System
Hi Michael,
thank you for your reply. I'm afraid the RTLD_NODELETE flag won't
resolve the problem in my case. The "problem" is in the memory manager
of LabVIEW which detects a corrupted memory after unloading the lib.
The wrapper worked as workaround for me too. I see no big problem with
this approach. I your case I wouldn't change anything in your code.
Best regards
Carsten
Am 23.03.2017 um 21:38 schrieb Wang Xiaoqiang (PSI):
> Hi Carsten, Michael,
>
> Sorry to revive this old thread. But I am facing similar problem to solve. This time not with Labview but with Python cffi.
>
> From the discussion I understood that the workaround is not to unload libca/libCom.
> On Linux, I have used the RTLD_NODELETE flag and that solve the problem.(https://linux.die.net/man/3/dlopen)
>
> On 64bit Windows, I made a boring wrapper dll. https://github.com/CaChannel/caffi/tree/master/wrapper
> The wrapper loads ca.dll with LoadLibrary call and calls the loaded symbols for the CA API. And at the end it does not call FreeLibrary, so that the loaded symbols live until the program ends. Do you guys see any problem with this approach?
>
>
> Best
> Xiaoqiang
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Carsten Winkler
> Sent: Donnerstag, 23. Februar 2017 09:50
> To: [email protected]
> Subject: memory leak after unloading of ca.lib
>
> Hi there,
>
> when your project (e.g. LabVIEW) uses dynamic loading and unloading of channel access classes your main class will sometimes (at 64 bit nearly
> always) crush with a segmentation fault. The reason seems to be missing
> free() and delete functions in EPICS Base 3.14.12.6 (I'm sure this applies also to other EPICS Base versions).
>
> I wrote a tiny test case to check it and it would be great to get any advise to solve the issue.
>
> Best regards
> Carsten
>
>
> ________________________________
>
> Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
>
> Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.
>
> Aufsichtsrat: Vorsitzender Dr. Karl Eugen Huthmacher, stv. Vorsitzende Dr. Jutta Koch-Unterseher
> Geschäftsführung: Prof. Dr. Anke Rita Kaysser-Pyzalla, Thomas Frederking
>
> Sitz Berlin, AG Charlottenburg, 89 HRB 5583
>
> Postadresse:
> Hahn-Meitner-Platz 1
> D-14109 Berlin
>
> http://www.helmholtz-berlin.de
________________________________
Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.
Aufsichtsrat: Vorsitzender Dr. Karl Eugen Huthmacher, stv. Vorsitzende Dr. Jutta Koch-Unterseher
Geschäftsführung: Prof. Dr. Anke Rita Kaysser-Pyzalla, Thomas Frederking
Sitz Berlin, AG Charlottenburg, 89 HRB 5583
Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin
http://www.helmholtz-berlin.de
- References:
- memory leak after unloading of ca.lib Carsten Winkler
- RE: memory leak after unloading of ca.lib Wang Xiaoqiang (PSI)
- Navigate by Date:
- Prev:
RE: memory leak after unloading of ca.lib Wang Xiaoqiang (PSI)
- Next:
RE: EPICS IOC asynMotorController error Mark Clift
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: memory leak after unloading of ca.lib Wang Xiaoqiang (PSI)
- Next:
Re: memory leak after unloading of ca.lib Xiaoqiang Wang
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024