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] |
I got reports that cron is having problems with Cygwin 1.7.1 on Windows 7 - 32 bits. They occur only with seteuid method 1, not with method 2 nor method 3. An earlier report http://cygwin.com/ml/cygwin/2009-11/msg00724.html indicated that there was no problem with 1.7.0. There is no proof that the Cygwin update to 1.7.1 caused the problem. Basically cron starts with a process A that forks a process B, which setsid and sleeps until the next minutes. It then forks a process C that runs the crontabs and forks a process D for every user. Process D calls seteuid and then execs /bin/sh. The helpful user was willing to experiment and provided two straces of cron, see attachments. In trace_cron.log we see that, after the seteuid, process D cannot load the user32 dll. winerr 1114, A dynamic link library (DLL) initialization routine failed. I believe that is occurring while trying to execute GetProcessWindowStation in fhandler_console::need_invisible, called from spawn_guts. This call is made while impersonated. I am not sure why it's needed there given that a few lines below a brand new invisible WindowStation is created anyway, at least in this case. The other log trace_cron+syslog-ng.log was created in another run where syslog-ng replaced the Windows application log. I had requested that test because another unverified report claimed that doing so allowed cron to run on Windows 7 64 bits. In this case it didn't help, but the behavior is different (I doubt it's directly due to syslog-ng). CreateProcessAsUser succeeds, but its parent never hears from the child and quits after trying a few times (BTW, the creation of the WindowStation is in the retry loop). Incidentally, I noticed get_registry_hive_path: HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\XXX not found That's because there should be a " " between "Windows" and "NT". So USERPROFILE is never set properly in the environment. Sorry I don't have access to Windows 7 to investigate more deeply. Pierre
Attachment:
trace_cron+syslog-ng.log
Description: Binary data
Attachment:
trace_cron.log
Description: Binary data
-- 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
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |