perl fork error: child_info_fork::abort: data segment start: - example code!

Heiko Elger heiko_elger@arburg.com
Wed Feb 8 14:56:00 GMT 2012


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



More information about the Cygwin mailing list