This is the mail archive of the
mailing list for the Cygwin project.
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: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html