Hello Cygwiners, I'm a long-time user of Cygwin - love it, depend on it... and rarely have a problem, but I really need some help with this one particular problem. I've already tapped into my other technical resources on this and haven't gotten anywhere at all. It isn't clear this is a Cygwin problem, but then, it isn't clear that it isn't, either. ...I really need some insight here...
A couple of weeks ago some skum-bag stole my laptop and my new one came with Windows XP Professional. ...I now understand what XP stands for: XP means eXtremely Painful. Anyway, I use the laptop for sales calls (I'm the technical person) and it just _has_ to work. I've been having trouble getting my company's software working on the system and my boss said, "well, this is a good chance for you to make sure our stuff works on XP, so, have fun!" - or words to that effect... But I am _not_ having fun. -frown- The problem is that we've got a GCC based program that ends up calling Java via execv(). It _always_ seg-vios when the GCC program itself is called from another program (non-interactive) and it sometimes seg-vios when run from an interactive Cygwin Bash prompt. Significant testing has shown that the interactive failure seems to be associated with environment variables. For example, the code uses an environment variable to determine if it should output "verbose" statements to std-out (via printf), and if this is set, the execv() always fails. However, it also fails sometimes depending on other variables that should have _nothing_ to do with the program. Here's an excerpt of the code in the vicinity of the exec: strcpy(program,JavaHomeenv); strcat(program,"/bin/java"); // make sure that argv0 is fully qualified so that java doesn't // default to a local binary nargv[0]=program; //nargv[0]= "java"; nargv[1]= "-classpath"; nargv[2]= classpathenv; nargv[3]= std; nargv[4]= ck; nargv[5]= rus; nargv[6]= host; nargv[7]= stc; nargv[8]= stt; nargv[9]= dk; nargv[10]= cl; i = execv(program, nargv); Note that the code is _rock_solid_ on Linux/Unix/Mac OSX, and on all earlier versions of Windows we've ever tried it on. We've _never_ seen it seg-vio before. Also note that I recompiled the executable on the target system. I'm wondering if there's something about the new installation of Cygwin on XP that's changed something about how the binary runs... In case it helps: cygcheck -s says we're running 1.5.10, and gcc is 3.3.1-3. It was a fresh, absolutely complete installation - even the stuff I never need. (BTW ping and dig utilities would be nice!) Help! Thanks everyone, Richard -- Richard Troy, Chief Scientist Science Tools Corporation [EMAIL PROTECTED], 510-567-9957, http://ScienceTools.com/ -- 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/