package/fakeroot: fix highly parallel uses
PATCH 1/1 package/fakeroot: fix highly parallel uses
Although the issue can very well occur with low-paralle builds, or even with non-parallel builds, the conditions are so strict that the ocasion it breaks is extremely rare, to the point where a failure would go unnoticed.
Fixes #10141.
--- ...communicate-check-return-status-of-msgrcv.patch | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch
package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch new file +46 -0
@@ -0,0 +1,46 @@ +From a853f21633693f9eefc4949660253a5328d2d2f3 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" <[email protected]> +Date: Sun, 13 Aug 2017 23:21:54 +0200 +Subject: [PATCH 1/1] communicate: check return status of msgrcv() + +msgrcv can return with -1 to indicate an error condition. +One such error is to have been interrupted by a signal. + +Being interrupted by a signal is very rare in this code, except in a +very special condition: a highly-parallel (1000 jobs!) mksquashfs on +a filesystem with extended attributes, where we see errors like (those +are mksquashfs errors): + llistxattr for titi/603/883 failed in read_attrs, because Unknown + error 1716527536 + +See: https://bugs.busybox.net/show_bug.cgi?id=10141 + +In this case, we just have to retry the call to msgrcv(). + +Signed-off-by: "Yann E. MORIN" <[email protected]> +--- + communicate.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/communicate.c b/communicate.c +index 293f404..787bb63 100644 +--- a/communicate.c ++++ b/communicate.c +@@ -553,10 +553,13 @@ void send_get_fakem(struct fake_msg *buf) + l=msgrcv(msg_get, + (struct my_msgbuf*)buf, + sizeof(*buf)-sizeof(buf->mtype),0,0); +- while((buf->serial!=serial)||buf->pid!=pid); ++ while(((l==-1)&&(errno==EINTR))||(buf->serial!=serial)||buf->pid!=pid); + + semaphore_down(); + ++ if(l==-1) ++ buf->xattr.flags_rc=errno; ++ + /* + (nah, may be wrong, due to allignment) + +-- +2.11.0 +
Signature · 1 line
2.11.0
PATCH 1/1 package/fakeroot: fix highly parallel uses
Quoted 10 lines · Yann E. MORIN
Although the issue can very well occur with low-paralle builds, or even with non-parallel builds, the conditions are so strict that the ocasion it breaks is extremely rare, to the point where a failure would go unnoticed.
Fixes #10141.
Reported-by Clayton Shotwell <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Clayton Shotwell <[email protected]>
As you noticed on IRC, applied to master, thanks.
Clayton, for testing you can just use master.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 package/fakeroot: fix highly parallel uses
Quoted 7 lines · Arnout Vandecappelle
Quoted 5 lines · Yann E. MORIN
Although the issue can very well occur with low-paralle builds, or even with non-parallel builds, the conditions are so strict that the ocasion it breaks is extremely rare, to the point where a failure would go unnoticed.
Quoted 7 lines
Quoted 5 lines
Fixes #10141.
Reported-by Clayton Shotwell <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Clayton Shotwell <[email protected]>As you noticed on IRC, applied to master, thanks.
By the way, did you send the patch upstream in the end? I looked in
bugs.debian.org but couldn't find anything...
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 package/fakeroot: fix highly parallel uses
Arnout, All
On 2017-08-15 18:24 +0200, Arnout Vandecappelle spake thusly:
Quoted 10 lines · Arnout Vandecappelle
Quoted 9 lines · Yann E. MORIN
Quoted 7 lines
Although the issue can very well occur with low-paralle builds, or even with non-parallel builds, the conditions are so strict that the ocasion it breaks is extremely rare, to the point where a failure would go unnoticed.
Fixes #10141.
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
Reported-by Clayton Shotwell <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Clayton Shotwell <[email protected]>As you noticed on IRC, applied to master, thanks.
By the way, did you send the patch upstream in the end? I looked in
bugs.debian.org but couldn't find anything...
I did not open a bug on b.d.o: as I see it, patches there can linger for ages without action bein taken, so I don't really see the point... :-(
However, I did send the patch directly to the maintainer, yes, but have had no feedback so far. But it has only be a day. If he insists so, I'll open a bug on b.d.o, of course.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 package/fakeroot: fix highly parallel uses
In reply to Yann E. MORINQuoted 7 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Yann" == Yann E MORIN <[email protected]> writes:
Although the issue can very well occur with low-paralle builds, or even with non-parallel builds, the conditions are so strict that the ocasion it breaks is extremely rare, to the point where a failure would go unnoticed.
Quoted 5 lines
Fixes #10141.
Reported-by Clayton Shotwell <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Clayton Shotwell <[email protected]>
Committed to 2017.02.x, thanks.
Signature · 1 line
Bye, Peter Korsgaard