[
https://issues.apache.org/jira/browse/XERCESC-2165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16747920#comment-16747920
]
Roger Leigh commented on XERCESC-2165:
--
If you aren't supposed to acquire a lock during DllMain, then isn't this a
problem in the OpenDSS library due to how it's using Xerces-C++?
I'm not sure why C++11 mutexes would be any different than the original Windows
implementation, unless there's an implementation defect in VS2013's runtime.
Both should end up calling Enter/LeaveCriticalSection. Is it possible to get a
stack trace with the msvcr120d symbols? Are they installed as the appropriate
PDB?
Regarding the release notes, it was ticket XERCESC-2140 which should have been
closed to include. I've done so now.
This can certainly be documented as a known issue. It's certainly the case
that the CI testing is currently only done for VS2015, with VS2013 and earlier
left untested. And we should probably add VS2017. I would not be averse to
testing more Visual Studio versions if someone is willing to support them, but
I don't personally have the time to dedicate to it.
Kind regards,
Roger
> StdMutexMgr not working properly on VS2013 / Windows 7
> --
>
> Key: XERCESC-2165
> URL: https://issues.apache.org/jira/browse/XERCESC-2165
> Project: Xerces-C++
> Issue Type: Bug
> Components: Utilities
>Affects Versions: 3.2.2
>Reporter: Andreas Kleber
>Priority: Minor
> Attachments: xerces-hang.png
>
>
> I am building a dynamic library which statically links OpenDSS, which
> statically links ACE which statically links xerces-c with Visual Studio 2013.
> When I run my application on Windows 7 the loading of my dll hands during
> static initialization in StdMutexManager::lock(). See attached screenshot.
> On windows 10 the same binaries work as expected.
> I am building xerces 3.2.2 with default parameters as static library with
> VS2013. During my investigation I found that xerces 3.2.1 works as well as
> specifying the WindowsMutexMgr during configure, because, well, StdMutexMgr
> was introduced in 3.2.2. Btw, this introduction of a new default Mutex
> Manager (at least default in my environment) is not mentioned in the release
> notes. Whould have helped me a lot
> In my environment all test pass on Windows 7 with StdMutexMgr.
> Additional note:
> [Microsoft|[https://docs.microsoft.com/en-us/windows/desktop/dlls/dynamic-link-library-best-practices]]
> recommends not to acquire syncronization during dllmain.
> As Windows 7 and VS 2013 are old and a workaround exists, this issue here is
> intended as "known issue".
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org