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 executes. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/