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: Odd behaviour of __cygwin_environ?

On Wed, Dec 05, 2007 at 03:50:31PM -0000, Dave Korn wrote:
>On 05 December 2007 15:32, Corinna Vinschen wrote:
>> On Dec  5 15:00, Dave Korn wrote:
>>> On 05 December 2007 12:31, Corinna Vinschen wrote:
>>>> Keep in mind that the size of the
>>>> native environment block is restricted to 32K.
>>>   I thought when cygexec was in effect the posix environment and
>>> commandline were passed around-behind-the-back-of CreateProcess, bypassing
>>> that limit?  Or does it only handle the commandline but not environment?
>> It also handles the environment block.  Is there a native process in the
>> call chain, maybe? 
>  Nope, it's all cygwin through and through.  Big project using
>make/gcc/binutils, nothing non-posix.
>> If not, I don't see any other chance than to debug
>> this further.  spawn_guts() and the build_env() functions might be good
>> starting points for that.
>  Thanks, that's what I'm trying right now.
>  Disappointingly it disappears under strace.  That might have been down to
>the strace-is-a-win32-process-launching-a-cygwin-process anomaly, which is why
>I'm hacking about the dll.  Early results suggest that, even though I'm not
>launching under strace, but instead enabling it (by calling strace.hello()
>during initial_env() if I detect an environment variable in the win32
>environment), the problem still disappears, which makes me suspicious of it
>still being a race somehow.

I have a vague feeling that I'll regret mentioning this but, if you've
built the DLL with --enable-debugging, you can set the CYGWIN_SLEEP
environment variable, to some millisecond value that you want the cygwin
process to sleep for and then attach to the process using 'strace -p'.

You can also set the CYGWIN_DEBUG variable to the name of the program
that you want to debug to have a debugger popped up when that program


Unsubscribe info:
Problem reports:

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