This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

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

I think it's not the same code - using full dll name rather than just the 
basename od the dll.

best regards


Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]