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: Tons of cygserver errors


> there's really no reason to quote that at all

Maybe, but how would I know that you did not need that?

> It means the pointer to the "signal_arrived" event object is invalid.
> "signal_arrived" is used internally to notify wait functions that a
> POSIX signal arrived for the process and to implement EINTR, for
> instance.  When you're using XSI IPC functions, the signal_arrived
> handle is used in cygserver to make the IPC functions interruptible.
> For that, it creates a local copy of signal_arrived using
> DuplicateHandle
> 
> For some reason the handle given to cygserver is invalid.  Why, I
> have no idea, and your report is missing information, so here we go
> again:

I canât provide any further information at this point because I do not
understand what and where to look for.  But I have a slight clue that
there is a race in cygserver (and that's not unusual, from my experience).

There is a main process that has sems open / shm attached.  That process
fork()s and exec()s script every now and then.  If the main process
does not spawn any children, there is nothing in the log.  Once it starts
doing that, I see the errors coming in, and in good time correlation with
the spawning schedule.  The spawned processes are very short lived,
merely it's a fork, then exec a shell script with just an exit statement.

I suppose that when cygserver tries to read a handle, the child process
(which by posix rules had inherited the shm and sems, but should have
dropped them altogether at the point of exec()) is already gone, so the
handle is invalid.  Which is why it is the error "6" all way.

How realistic does that sound?

Anton Lavrentiev
Contractor NIH/NLM/NCBI


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