Bug 1763157

Summary: devtoolset-9-dyninst-10.1.0-3.el7.aarch64 broken
Product: Red Hat Developer Toolset Reporter: Martin Cermak <mcermak>
Component: dyninstAssignee: Stan Cox <scox>
Status: CLOSED WONTFIX QA Contact: Martin Cermak <mcermak>
Severity: medium Docs Contact:
Priority: unspecified    
Version: DTS 9.0 RHEL 7CC: fche, mnewsome, tborcin
Target Milestone: alpha   
Target Release: 9.0   
Hardware: aarch64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Known Issue
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-31 13:53:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1763162    
Bug Blocks:    

Comment 1 Stan Cox 2019-10-23 13:03:22 UTC
This is caused by the threaded parser.  The patch below resolves the problem but is a bit heavy handed since threaded parsing is a primary feature of this release.  Since dyninst on rhel8 seems to not have this problem, the next approach is to get the dyninst specific libtbb to exactly match the rhel8 version.
--- parseAPI/src/Parser.C.orig	2019-05-16 14:40:05.000000000 -0400
+++ parseAPI/src/Parser.C	2019-10-22 15:57:31.313452946 -0400
@@ -651 +651 @@
-#pragma omp parallel shared(work_queue)
+#pragma omp parallel shared(work_queue) num_threads(1)
@@ -792 +792 @@
-#pragma omp parallel for schedule(auto)
+#pragma omp parallel for schedule(auto) num_threads(1)
@@ -1027 +1027 @@
-    #pragma omp parallel for schedule(auto)
+#pragma omp parallel for schedule(auto) num_threads(1)
--- parseAPI/src/SymtabCodeSource.C.orig	2019-05-16 14:40:05.000000000 -0400
+++ parseAPI/src/SymtabCodeSource.C	2019-10-22 15:58:10.180259757 -0400
@@ -443 +443 @@
-#pragma omp parallel for shared(regs,dregs,symbols,reg_lock) schedule(auto)
+#pragma omp parallel for shared(regs,dregs,symbols,reg_lock) schedule(auto) num_threads(1)

Comment 2 Stan Cox 2019-10-31 13:53:19 UTC
There are issues with the builtin libtbb support as used by dyninst aarch64; since this is a new architecture we can choose to not provide aarch support for now.