Skip to contentSkip to conversation

valgrind/bluez5/perl: Fix race issues when parallel build

PATCH In review Robert Yang 2 participants 6 messages Dec 28, 2018

lore
Share & tools
lore
#0 lore raw

cover valgrind/bluez5/perl: Fix race issues when parallel build

The following changes since commit caa776bdcf8ea34c857f45970370bf771075f4bc:

testimage.bbclass: remove boot parameter systemd.log_target (2018-12-27 22:50:01 +0000)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib rbt/race
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/race

Robert Yang (3):
valgrind: Fix a race issue for libcoregrind.a
bluez5: Fix a race issue for tools
perl: Fix race issue for cpan/Pod-Simple

 meta/recipes-connectivity/bluez5/bluez5.inc        |  1 +
 ...01-Makefile.am-Fix-a-race-issue-for-tools.patch | 32 +++++++++++++++
 meta/recipes-devtools/perl/perl-native_5.24.4.bb   |  1 +
 ...kefile.SH-Pod-Simple-requires-Getopt-Long.patch | 34 ++++++++++++++++
 meta/recipes-devtools/perl/perl_5.24.4.bb          |  1 +
 ...ncies-between-libcoregrind-.a-and-m_main..patch | 45 ++++++++++++++++++++++
 meta/recipes-devtools/valgrind/valgrind_3.14.0.bb  |  1 +
 7 files changed, 115 insertions(+)
 create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-Fix-a-race-issue-for-tools.patch
 create mode 100644 meta/recipes-devtools/perl/perl/0001-Makefile.SH-Pod-Simple-requires-Getopt-Long.patch
 create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch
Signature · 1 line
2.10.2
#1 lore raw

PATCH 1/3 valgrind: Fix a race issue for libcoregrind.a

The libnolto_coregrind_a_OBJECTS is in libcoregrind_a_LIBADD, so the objects should be ready before generate libcoregrind.a, otherwise there would be failures:

i586-poky-linux-ar: libnolto_coregrind_x86_linux_a-m_libcsetjmp.o: No such file or directory make[3]: *** [libcoregrind-x86-linux.a] Error 1

Add libnolto_coregrind_a_OBJECTS to EXTRA_libcoregrind_DEPENDENCIES to fix the problem.

This is a race issue during parallel build.

---
 ...ncies-between-libcoregrind-.a-and-m_main..patch | 45 ++++++++++++++++++++++
 meta/recipes-devtools/valgrind/valgrind_3.14.0.bb  |  1 +
 2 files changed, 46 insertions(+)
 create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch
meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch new file +45 -0
new file mode 100644
index 0000000..bedf1c1
@@ -0,0 +1,45 @@
+From 7820fc268fae4353118b6355f1d4b9e1b7eeebec Mon Sep 17 00:00:00 2001
+From: Philippe Waroquiers <[email protected]>
+Date: Sun, 28 Oct 2018 18:35:11 +0100
+Subject: [PATCH] Fix dependencies between libcoregrind*.a and
+ *m_main.o/*m_libcsetjmp.o
+
+The primary and secondary coregrind libraries must be updated
+when m_main.c or m_libcsetjmp.c are changed.
+
+A dependency was missing between libcoregrind*.a and libnolto_coregrind*.a,
+and so tools were not relinked when m_main.c or m_libcsetjmp.c were
+changed.
+
+Upstream-Status: Backport[git://sourceware.org/git/valgrind.git 7820fc268fae4353118b6355f1d4b9e1b7eeebec]
+
+Signed-off-by: Robert Yang <[email protected]>
+---
+ coregrind/Makefile.am | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
+index 914a270..8de1996 100644
+--- a/coregrind/Makefile.am
++++ b/coregrind/Makefile.am
+@@ -511,6 +511,8 @@ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS += \
+ endif
+ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_LIBADD = \
+     $(libnolto_coregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_OBJECTS)
++libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_DEPENDENCIES = \
++    libnolto_coregrind-@VGCONF_ARCH_PRI@-@[email protected]
+ 
+ if VGCONF_HAVE_PLATFORM_SEC
+ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
+@@ -531,6 +533,8 @@ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS += \
+ endif
+ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_LIBADD = \
+     $(libnolto_coregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_OBJECTS)
++libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_DEPENDENCIES = \
++    libnolto_coregrind-@VGCONF_ARCH_SEC@-@[email protected]
+ endif
+ 
+ #----------------------------------------------------------------------------
+-- 
+2.10.2
+
meta/recipes-devtools/valgrind/valgrind_3.14.0.bb +1 -0
index bbbc3bf..4d15a50 100644
@@ -37,6 +37,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
            file://0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch \
            file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \
            file://0001-tests-amd64-Do-not-clobber-rsp-register.patch \
+           file://0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch \
            "
 SRC_URI[md5sum] = "74175426afa280184b62591b58c671b3"
 SRC_URI[sha256sum] = "037c11bfefd477cc6e9ebe8f193bb237fe397f7ce791b4a4ce3fa1c6a520baa5"
Signature · 1 line
2.10.2
#2 lore raw

PATCH 2/3 bluez5: Fix a race issue for tools

In reply to Robert Yang

Fixed:
cp ../bluez-5.50/tools/hid2hci.rules tools/97-hid2hci.rules
cp: cannot create regular file tools/97-hid2hci.rules: No such file or directory make[1]: *** [tools/97-hid2hci.rules] Error 1

---
 meta/recipes-connectivity/bluez5/bluez5.inc        |  1 +
 ...01-Makefile.am-Fix-a-race-issue-for-tools.patch | 32 ++++++++++++++++++++++
 2 files changed, 33 insertions(+)
 create mode 100644 meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-Fix-a-race-issue-for-tools.patch
meta/recipes-connectivity/bluez5/bluez5.inc +1 -0
index 7708e7c..6d62f52 100644
@@ -52,6 +52,7 @@ SRC_URI = "\
     ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \
     file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
     file://0001-test-gatt-Fix-hung-issue.patch \
+    file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch \
 "
 S = "${WORKDIR}/bluez-${PV}"
 
meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-Fix-a-race-issue-for-tools.patch new file +32 -0
new file mode 100644
index 0000000..3c227a8
@@ -0,0 +1,32 @@
+From 048e1844092cb4b3afd23f16fc2cc70dd2e122b7 Mon Sep 17 00:00:00 2001
+From: Robert Yang <[email protected]>
+Date: Mon, 24 Dec 2018 17:57:14 -0800
+Subject: [PATCH] Makefile.am: Fix a race issue for tools
+
+Fixed:
+cp ../bluez-5.50/tools/hid2hci.rules tools/97-hid2hci.rules
+cp: cannot create regular file tools/97-hid2hci.rules: No such file or directory
+make[1]: *** [tools/97-hid2hci.rules] Error 1
+
+Upstream-Status: Submitted[https://www.spinics.net/lists/linux-bluetooth/msg78361.html]
+
+Signed-off-by: Robert Yang <[email protected]>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index 6d1ff11..35a01f2 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -504,6 +504,7 @@ src/builtin.h: src/genbuiltin $(builtin_sources)
+ 	$(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@
+ 
+ tools/%.rules:
++	[ -e tools ] || $(MKDIR_P) tools
+ 	$(AM_V_GEN)cp $(srcdir)/$(subst 97-,,$@) $@
+ 
+ $(lib_libbluetooth_la_OBJECTS): $(local_headers)
+-- 
+2.10.2
+
Signature · 1 line
2.10.2
#3 lore raw

PATCH 3/3 perl: Fix race issue for cpan/Pod-Simple

In reply to Robert Yang

Fixed:
Running pm_to_blib for cpan/Pod-Simple directly
[snip]
/path/to/cpan/podlators/../../miniperl "-I../../lib" "-I../../lib" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/pod2man Can't locate Getopt/Long.pm in @INC [snip]

---
 meta/recipes-devtools/perl/perl-native_5.24.4.bb   |  1 +
 ...kefile.SH-Pod-Simple-requires-Getopt-Long.patch | 34 ++++++++++++++++++++++
 meta/recipes-devtools/perl/perl_5.24.4.bb          |  1 +
 3 files changed, 36 insertions(+)
 create mode 100644 meta/recipes-devtools/perl/perl/0001-Makefile.SH-Pod-Simple-requires-Getopt-Long.patch
meta/recipes-devtools/perl/perl-native_5.24.4.bb +1 -0
index 81d3fd4..fe44d9b 100644
@@ -17,6 +17,7 @@ SRC_URI += "\
            file://0001-Configure-Remove-fstack-protector-strong-for-native-.patch \
            file://perl-5.26.1-guard_old_libcrypt_fix.patch \
            file://0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch \
+           file://0001-Makefile.SH-Pod-Simple-requires-Getopt-Long.patch \
           "
 
 SRC_URI[md5sum] = "04622bc4d3941dc7eb571c52b7c02993"
meta/recipes-devtools/perl/perl/0001-Makefile.SH-Pod-Simple-requires-Getopt-Long.patch new file +34 -0
new file mode 100644
index 0000000..aad46f3
@@ -0,0 +1,34 @@
+From 58c69d65b19b5f9a35e1f5ce08d2ea47884233d3 Mon Sep 17 00:00:00 2001
+From: Robert Yang <[email protected]>
+Date: Thu, 27 Dec 2018 00:18:51 -0800
+Subject: [PATCH] Makefile.SH: Pod-Simple requires Getopt-Long
+
+Fixed a race issue when parallel build:
+
+Running pm_to_blib for cpan/Pod-Simple directly
+[snip]
+/path/to/cpan/podlators/../../miniperl "-I../../lib" "-I../../lib" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/pod2man
+Can't locate Getopt/Long.pm in @INC [snip]
+
+Upstream-Status: Submitted[https://www.nntp.perl.org/group/perl.perl5.porters/2018/12/msg253236.html]
+
+Signed-off-by: Robert Yang <[email protected]>
+---
+ Makefile.SH | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.SH b/Makefile.SH
+index 9848d55..7a164e7 100755
+--- a/Makefile.SH
++++ b/Makefile.SH
+@@ -189,6 +189,7 @@ dynamic_list=' '
+ dynamic_ext_re="lib/auto/re/re.$dlext"
+ extra_dep='
+ ext/Pod-Functions/pm_to_blib: cpan/Pod-Simple/pm_to_blib cpan/Pod-Escapes/pm_to_blib pod/perlfunc.pod
++cpan/Pod-Simple/pm_to_blib: cpan/Getopt-Long/pm_to_blib
+ '
+ for f in $dynamic_ext; do
+     : the dependency named here will never exist
+-- 
+2.10.2
+
meta/recipes-devtools/perl/perl_5.24.4.bb +1 -0
index a644970..7b1ae7f 100644
@@ -65,6 +65,7 @@ SRC_URI += " \
         file://perl-5.26.1-guard_old_libcrypt_fix.patch \
         file://CVE-2018-12015.patch \
         file://0001-ExtUtils-MM_Unix.pm-fix-race-issues.patch \
+        file://0001-Makefile.SH-Pod-Simple-requires-Getopt-Long.patch \
 "
 
 # Fix test case issues
Signature · 1 line
2.10.2
#4 lore raw

✗ patchtest: failure for valgrind/bluez5/perl: Fix race issues when parallel build

In reply to Robert Yang

== Series Details ==

Series: valgrind/bluez5/perl: Fix race issues when parallel build
Revision: 1
URL : https://patchwork.openembedded.org/series/15481/
State : failure

== Summary ==

Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:

* Issue Series does not apply on top of target branch [test_series_merge_on_head]
Suggested fix Rebase your series on top of targeted branch
Targeted branch master (currently at 65c419b8c4)

If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).

---

Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
#5 lore raw

Re: ✗ patchtest: failure for valgrind/bluez5/perl: Fix race issues when parallel build

Quoted 16 lines · Patchwork

== Series Details ==

Series: valgrind/bluez5/perl: Fix race issues when parallel build
Revision: 1
URL : https://patchwork.openembedded.org/series/15481/
State : failure

== Summary ==

Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:

Quoted 3 lines
* Issue             Series does not apply on top of target branch [test_series_merge_on_head]
   Suggested fix    Rebase your series on top of targeted branch
   Targeted branch  master (currently at 65c419b8c4)

Seems that something is wrong with patchtest, the current master branch should be:

commit caa776bdcf8ea34c857f45970370bf771075f4bc

Author: Kai Kang <[email protected]>
Date:   Tue Dec 25 04:39:43 2018 -0500

testimage.bbclass: remove boot parameter systemd.log_target

But patchtest says it is 65c419b8c4, I can't find it in my repo.

// Robert

Quoted 16 lines

If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).

---

Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe