bugmake - Bugs: bug #2169, gmake -j generates gmake: stat:$@:...

 
 

bug #2169: gmake -j generates gmake: stat:$@: Interrupted system call

Submitted by:  None
Submitted on:  Thu 09 Jan 2003 02:49:45 PM UTC  
 
Severity: 3 - NormalItem Group: Bug
Status: FixedPrivacy: Public
Assigned to: Paul D. Smith <psmith>Open/Closed: Closed
Component Version: 3.80Operating System: POSIX-Based
Fixed Release: 3.81Triage Status: None

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Thu 30 Jan 2003 05:26:08 AM UTC, comment #1:

There have been many reports similar to this on the mailing lists. After investigation it appears that Solaris does not abide by the POSIX standards for some types of filesystems (such as NFS): even with SA_RESTART set system calls like stat(), etc. can still fail with EINTR, which is counter to POSIX.

So, I implemented permanent wrappers for various critical system calls like stat(), fstat(), opendir(), and readdir(). I believe there are probably other system calls where this could fail but this gets the majority of issues.

Note other operating systems, like Linux, handle SA_RESTART properly and don't seem to fail with EINTR even for "slow" filesystems like NFS.

Paul D. Smith <psmith>
Project AdministratorIn charge of this item.
Thu 09 Jan 2003 02:49:45 PM UTC, original submission:

The parallel gmake frequently causes problems.
I am able to reproduce the problem with a very use Makefile:

SHELL = /bin/ksh
TARGETS = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

doit: $(TARGETS)
@echo "ready"

$(TARGETS):
@echo $@
touch $@

clean:
-rm $(TARGETS)

gmake -j
delivers
5
4
9
8
6
touch 5
touch 9
touch 4
touch 6
touch 8
7
10
2
3
touch 2
touch 10
touch 3
touch 7
12
1
11
13
touch 11
touch 12
touch 13
touch 1
14
16
touch 14
touch 16
17
touch 17
15
touch 15
19
18
gmake: stat:27: Interrupted system call
touch 18
touch 19
27
26
21
25
gmake: stat:30: Interrupted system call
touch 27
24
20
gmake: stat:31: 23
Interrupted system call
touch 20
touch 24
22
touch 23
touch 26
touch 22
touch 25
touch 21
gmake: stat:34: Interrupted system call
gmake: stat:35: Interrupted system call
31
gmake: stat:36: Interrupted system call
touch 31
29
28
30
gmake: stat:37: Interrupted system call
touch 30
touch 29
touch 28
37
32
35
34
33
36
gmake: stat:39: Interrupted system call
touch 37
touch 34
touch 36
touch 33
touch 32
touch 35
gmake: stat:3: Interrupted system call
39
gmake: stat:4: Interrupted system call
38
gmake: stat:5: Interrupted system call
gmake: stat:9: Interrupted system call
40
gmake: stat:10: Interrupted system call
gmake: stat:11: Interrupted system call
touch 40
touch 38
touch 39
gmake: stat:37: Interrupted system call
gmake: stat:39: Interrupted system call

in a non-deterministic manner.

I am using the Solaris machines:

cat /etc/release
Solaris 8 2/02 s28s_u7wos_08a SPARC
Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
Assembled 18 December 2001

kind regards
Dieter an Mey

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 5 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Sat 01 Apr 2006 07:03:57 AM UTCpsmithFixed Release4.0=>3.81
Thu 30 Jan 2003 05:26:08 AM UTCpsmithStatusNone=>(Error - Not Found)
  Assigned toNone=>NA
  Open/ClosedOpen=>(Error - Not Found)
  Fixed ReleaseNone=>(Error - Not Found)

Back to the top


Powered by Savane 3.1-cleanup1