This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: perl fork error: child_info_fork::abort: data segment start: - example code!
Corinna Vinschen writes:
> > So why I will get this error - only cause of symantec?
>
> Perhaps. Probably. I'm not sure. However, the above addresses
> 0xC1A000 and 0xA6A000 are *very* unlikely DLL load addresses in a
> Windows system. Usually DLLs are loaded at addresses beyond
> 0x10000000, preferredly to the address stored in the DLL header.
> As I said , I don't no if SEP is really the culprit here, but at
> least the address are weird. And...
Is this perhaps same problem or a side effect as discussed in in
http://thread.gmane.org/gmane.os.cygwin/131027/focus=131095?
So I think SEP will install hook DLLs - regardeless SEP is active or inactive.
And if dll loading is done via native cygwin and loaded again for forking
perhaps it's real name normalize by SEP is different to the already loaded
name by cygwin.
> The code checks if the data and bss segments of a given DLL, which was
> already loaded by the parent process, is in the same spot in the child
> process. If not, the DLL has been loaded into another address in the
> child, which will likely result in a nonfunctional forked process.
Can you tell me where this checking is done.
So I can instrument it in same way as last time ...
or like in http://thread.gmane.org/gmane.os.cygwin/131027/focus=131095.
I think it's not the same code - using full dll name rather than just the
basename od the dll.
best regards
Heiko
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple