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: 1.5.10: expr + configure failure + testcase (also on 1.5.11-1)


Christopher Faylor wrote:
> 
> On Tue, Sep 14, 2004 at 11:01:23PM -0400, Bogdan Vacaliuc wrote:
> >Ok.  Running 09/14/04 snapshot is looking *good* so far.  I stopped the
> >test script at 150 passes.
> >
> >I'm starting my configure/build/redo test and will let that run
> >overnight.  I'll check in tomorrow AM and report on that.  1 successful
> >configure/build so far.
> 
> That points to a problem with bash, then, not cygwin.
> 
> If we can confirm this then we should probably notify the bash
> maintainer.

He might be interested by the attachment below, obtained from
the bashstrace in http://cygwin.com/ml/cygwin/2004-09/msg00626.html

fgrep ' 1696 ' bashstrace | grep '= fork\|wait4: call' > bashstrace_grep.txt

Every fork is followed by a wait, except the one that leads to trouble.
Somehow bash draws conclusions about its status without doing a wait.
Pid reuse shouldn't be the root cause of this behavior.

Also according the the following comment in bash code, the Cygwin style of
pid reuse should be no problem:
#if defined (RECYCLES_PIDS)
	      /* LynxOS, for one, recycles pids very quickly -- so quickly
		 that a new process may have the same pid as the last one
		 created.  This has been reported to fix the problem. */


Pierre
  117  872308 [main] bash 1696 fork: 2308 = fork()
  125  873876 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  137  927912 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  152 1115952 [main] bash 1696 fork: 2036 = fork()
  210 1117609 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  137 1223831 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  117 1662780 [main] bash 1696 fork: 1488 = fork()
  144 1664261 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  131 1867156 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  116 1914817 [main] bash 1696 fork: 456 = fork()
  139 1916356 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  146 2114502 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  120 2161965 [main] bash 1696 fork: 2104 = fork()
  143 2163481 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  145 2368793 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  118 2416409 [main] bash 1696 fork: 1432 = fork()
  165 2417863 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  145 2616099 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  119 2664589 [main] bash 1696 fork: 2308 = fork()
  159 2665939 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  148 2865875 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  129 2914912 [main] bash 1696 fork: 2036 = fork()
  676 2916792 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  146 3114780 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  204 3162946 [main] bash 1696 fork: 1488 = fork()
  126 3164271 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  203 3461625 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  155 3509295 [main] bash 1696 fork: 456 = fork()
  126 3510735 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  206 3712483 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  143 3765025 [main] bash 1696 fork: 2104 = fork()
  127 3766418 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  145 3965535 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  117 4125336 [main] bash 1696 fork: 1432 = fork()
  126 4126809 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  125 4358150 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  121 4405766 [main] bash 1696 fork: 2308 = fork()
  137 4407184 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  147 4611082 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  116 4659500 [main] bash 1696 fork: 2036 = fork()
  169 4661074 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  148 4866256 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  115 4913817 [main] bash 1696 fork: 1488 = fork()
  157 4915180 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  145 5116382 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  116 5165835 [main] bash 1696 fork: 456 = fork()
  163 5167204 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  145 5375291 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  130 5423472 [main] bash 1696 fork: 2104 = fork()
  655 5425369 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  342 5625852 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  115 5859774 [main] bash 1696 fork: 1432 = fork()
  127 5862344 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  145 5940525 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  118 6074762 [main] bash 1696 fork: 652 = fork()
  149 6076183 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  145 6216456 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  117 6249297 [main] bash 1696 fork: 2308 = fork()
  128 6400094 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  159 6414758 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  117 6735571 [main] bash 1696 fork: 1744 = fork()
  128 6900186 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  162 6914401 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  118 7614921 [main] bash 1696 fork: 928 = fork()
  130 7618114 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  261 7804716 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  117 7832737 [main] bash 1696 fork: 2444 = fork()
  163 7834208 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  156 7933846 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  116 8003620 [main] bash 1696 fork: 1432 = fork()
  127 8006178 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  160 8088113 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  140 8224719 [main] bash 1696 fork: 1488 = fork()
  128 8365057 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  125 8379982 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  117 10989717 [main] bash 1696 fork: 2308 = fork()
  128 11031593 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  126 11045283 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  118 11075562 [main] bash 1696 fork: 928 = fork()
  125 11116011 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  139 11129323 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  117 11257063 [main] bash 1696 fork: 2444 = fork()
  127 11259660 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  264 11331012 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  127 11415317 [main] bash 1696 fork: 2292 = fork()
  128 11418076 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  156 11488899 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  118 11943232 [main] bash 1696 fork: 456 = fork()
  134 11945914 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  125 12133772 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  117 12233382 [main] bash 1696 fork: 1432 = fork()
  127 12236109 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  158 12320728 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  119 12476801 [main] bash 1696 fork: 1488 = fork()
  129 12479291 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  157 12555608 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  127 13812007 [main] bash 1696 fork: 2308 = fork()
  129 13904349 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  160 13918945 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  131 17328684 [main] bash 1696 fork: 2444 = fork()
  129 17330018 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  168 18078679 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  116 18111440 [main] bash 1696 fork: 500 = fork()
  129 18657054 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  150 18670941 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  167 18705218 [main] bash 1696 fork: 456 = fork()
  136 18706550 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  156 18746487 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  150 18790459 [main] bash 1696 fork: 1488 = fork()
  128 18883008 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  124 18897087 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  130 18937532 [main] bash 1696 fork: 2104 = fork()
  129 19086345 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  137 19103581 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  117 19645762 [main] bash 1696 fork: 1432 = fork()
  127 20035554 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  159 20049156 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  720 32419577 [main] bash 1696 fork: 316 = fork()
  131 33169800 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  125 33179922 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  120 33510682 [main] bash 1696 fork: 2296 = fork()
  126 33589937 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  123 33600762 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  738 33951098 [main] bash 1696 fork: 888 = fork()
  128 34030382 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  144 34040883 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1
  786 34092978 [main] bash 1696 fork: 456 = fork()
  125 34198383 [main] bash 1696 fork: 2016 = fork()
  708 34200943 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  124 34210650 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 0
  203 34230192 [main] bash 1696 wait4: calling proc_subproc, pid -1, options 1

--
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/

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