[clang][analyzer] Refine modeling of 'getcwd' in StdCLibraryFunctions checker by balazske · Pull Request #141076 · llvm/llvm-project (original) (raw)
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
Add extra branches for the case when the buffer argument is NULL.
Fixes #128882
… checker
Add extra branches for the case when the buffer argument is NULL.
@llvm/pr-subscribers-clang-static-analyzer-1
Author: Balázs Kéri (balazske)
Changes
Add extra branches for the case when the buffer argument is NULL.
Full diff: https://github.com/llvm/llvm-project/pull/141076.diff
2 Files Affected:
- (modified) clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp (+10-4)
- (modified) clang/test/Analysis/errno-stdlibraryfunctions.c (+14-1)
diff --git a/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp index 3c6c3123f5cdd..6dae817fe89b5 100644 --- a/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp @@ -2651,16 +2651,22 @@ void StdLibraryFunctionsChecker::initFunctionSummaries( addToFunctionSummaryMap( "getcwd", Signature(ArgTypes{CharPtrTy, SizeTy}, RetType{CharPtrTy}), Summary(NoEvalCall)
.Case({ArgumentCondition(1, WithinRange, Range(1, SizeMax)),
.Case({NotNull(0),ArgumentCondition(1, WithinRange, Range(1, SizeMax)), ReturnValueCondition(BO_EQ, ArgNo(0))}, ErrnoMustNotBeChecked, GenericSuccessMsg)
.Case({ArgumentCondition(1, WithinRange, SingleValue(0)),
.Case({NotNull(0),ArgumentCondition(1, WithinRange, SingleValue(0)), IsNull(Ret)}, ErrnoNEZeroIrrelevant, "Assuming that argument 'size' is 0")
.Case({ArgumentCondition(1, WithinRange, Range(1, SizeMax)),
.Case({NotNull(0),ArgumentCondition(1, WithinRange, Range(1, SizeMax)), IsNull(Ret)}, ErrnoNEZeroIrrelevant, GenericFailureMsg)
.ArgConstraint(NotNull(ArgNo(0)))
.Case({IsNull(0), NotNull(Ret)}, ErrnoMustNotBeChecked,GenericSuccessMsg).Case({IsNull(0), IsNull(Ret)}, ErrnoNEZeroIrrelevant,GenericFailureMsg) .ArgConstraint( BufferSize(/*Buffer*/ ArgNo(0), /*BufSize*/ ArgNo(1))) .ArgConstraint(
diff --git a/clang/test/Analysis/errno-stdlibraryfunctions.c b/clang/test/Analysis/errno-stdlibraryfunctions.c index 657aa37a42670..72d167f68a1f4 100644 --- a/clang/test/Analysis/errno-stdlibraryfunctions.c +++ b/clang/test/Analysis/errno-stdlibraryfunctions.c @@ -99,7 +99,9 @@ void errno_mkdtemp3(CHAR_PTR template) { } }
-void errno_getcwd(char *Buf, size_t Sz) { +void errno_getcwd_buf_nonnull(char *Buf, size_t Sz) {
- if (Buf == NULL)
- return;
char *Path = getcwd(Buf, Sz); if (Sz == 0) { clang_analyzer_eval(errno != 0); // expected-warning{{TRUE}} @@ -114,6 +116,17 @@ void errno_getcwd(char *Buf, size_t Sz) { } }
+void errno_getcwd_buf_null() {
- // POSIX does not mention this case but many implementations (Linux, FreeBSD) work this way.
- char *Path = getcwd(NULL, 1);
- if (Path == NULL) {
- clang_analyzer_eval(errno != 0); // expected-warning{{TRUE}}
- if (errno) {} // no warning
- } else {
- if (errno) {} // expected-warning{{An undefined value may be read from 'errno'}}
- } +}
- void errno_execv(char *Path, char * Argv[]) { int Ret = execv(Path, Argv); clang_analyzer_eval(Ret == -1); // expected-warning{{TRUE}}
@llvm/pr-subscribers-clang
Author: Balázs Kéri (balazske)
Changes
Add extra branches for the case when the buffer argument is NULL.
Full diff: https://github.com/llvm/llvm-project/pull/141076.diff
2 Files Affected:
- (modified) clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp (+10-4)
- (modified) clang/test/Analysis/errno-stdlibraryfunctions.c (+14-1)
diff --git a/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp index 3c6c3123f5cdd..6dae817fe89b5 100644 --- a/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp @@ -2651,16 +2651,22 @@ void StdLibraryFunctionsChecker::initFunctionSummaries( addToFunctionSummaryMap( "getcwd", Signature(ArgTypes{CharPtrTy, SizeTy}, RetType{CharPtrTy}), Summary(NoEvalCall)
.Case({ArgumentCondition(1, WithinRange, Range(1, SizeMax)),
.Case({NotNull(0),ArgumentCondition(1, WithinRange, Range(1, SizeMax)), ReturnValueCondition(BO_EQ, ArgNo(0))}, ErrnoMustNotBeChecked, GenericSuccessMsg)
.Case({ArgumentCondition(1, WithinRange, SingleValue(0)),
.Case({NotNull(0),ArgumentCondition(1, WithinRange, SingleValue(0)), IsNull(Ret)}, ErrnoNEZeroIrrelevant, "Assuming that argument 'size' is 0")
.Case({ArgumentCondition(1, WithinRange, Range(1, SizeMax)),
.Case({NotNull(0),ArgumentCondition(1, WithinRange, Range(1, SizeMax)), IsNull(Ret)}, ErrnoNEZeroIrrelevant, GenericFailureMsg)
.ArgConstraint(NotNull(ArgNo(0)))
.Case({IsNull(0), NotNull(Ret)}, ErrnoMustNotBeChecked,GenericSuccessMsg).Case({IsNull(0), IsNull(Ret)}, ErrnoNEZeroIrrelevant,GenericFailureMsg) .ArgConstraint( BufferSize(/*Buffer*/ ArgNo(0), /*BufSize*/ ArgNo(1))) .ArgConstraint(
diff --git a/clang/test/Analysis/errno-stdlibraryfunctions.c b/clang/test/Analysis/errno-stdlibraryfunctions.c index 657aa37a42670..72d167f68a1f4 100644 --- a/clang/test/Analysis/errno-stdlibraryfunctions.c +++ b/clang/test/Analysis/errno-stdlibraryfunctions.c @@ -99,7 +99,9 @@ void errno_mkdtemp3(CHAR_PTR template) { } }
-void errno_getcwd(char *Buf, size_t Sz) { +void errno_getcwd_buf_nonnull(char *Buf, size_t Sz) {
- if (Buf == NULL)
- return;
char *Path = getcwd(Buf, Sz); if (Sz == 0) { clang_analyzer_eval(errno != 0); // expected-warning{{TRUE}} @@ -114,6 +116,17 @@ void errno_getcwd(char *Buf, size_t Sz) { } }
+void errno_getcwd_buf_null() {
- // POSIX does not mention this case but many implementations (Linux, FreeBSD) work this way.
- char *Path = getcwd(NULL, 1);
- if (Path == NULL) {
- clang_analyzer_eval(errno != 0); // expected-warning{{TRUE}}
- if (errno) {} // no warning
- } else {
- if (errno) {} // expected-warning{{An undefined value may be read from 'errno'}}
- } +}
- void errno_execv(char *Path, char * Argv[]) { int Ret = execv(Path, Argv); clang_analyzer_eval(Ret == -1); // expected-warning{{TRUE}}
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you for chiming in.
LLVM Buildbot has detected a new failure on builder hip-third-party-libs-test running on ext_buildbot_hw_05-hip-docker while building clang at step 4 "annotate".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/206/builds/725
Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/hip-tpl.py --jobs=32' (failure)
...
[5519/7815] Creating library symlink lib/libMLIRTransformDialectInterfaces.so
[5520/7815] Linking CXX shared library lib/libMLIRNVVMToLLVM.so.21.0git
[5521/7815] Linking CXX shared library lib/libMLIRTosaToMLProgram.so.21.0git
[5522/7815] Linking CXX shared library lib/libMLIRAMXTransforms.so.21.0git
[5523/7815] Building AMDGPUGenDAGISel.inc...
[5524/7815] Linking CXX shared library lib/libMLIRUBToLLVM.so.21.0git
[5525/7815] Creating library symlink lib/libMLIRNVVMToLLVM.so
[5526/7815] Building CXX object tools/mlir/lib/Dialect/Shape/Transforms/CMakeFiles/obj.MLIRShapeOpsTransforms.dir/BufferizableOpInterfaceImpl.cpp.o
[5527/7815] Creating library symlink lib/libMLIRTosaToMLProgram.so
[5528/7815] Linking CXX shared library lib/libMLIRMLProgramTransforms.so.21.0git
FAILED: lib/libMLIRMLProgramTransforms.so.21.0git
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG -Wl,-z,defs -Wl,-z,nodelete -Wl,-rpath-link,/home/botworker/bbot/hip-third-party-libs-test/build/./lib -Wl,--gc-sections -shared -Wl,-soname,libMLIRMLProgramTransforms.so.21.0git -o lib/libMLIRMLProgramTransforms.so.21.0git tools/mlir/lib/Dialect/MLProgram/Transforms/CMakeFiles/obj.MLIRMLProgramTransforms.dir/BufferizableOpInterfaceImpl.cpp.o tools/mlir/lib/Dialect/MLProgram/Transforms/CMakeFiles/obj.MLIRMLProgramTransforms.dir/PipelineGlobalOps.cpp.o -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/hip-third-party-libs-test/build/lib:" lib/libMLIRBufferizationDialect.so.21.0git lib/libMLIRMLProgramDialect.so.21.0git lib/libMLIRFuncDialect.so.21.0git lib/libMLIRSparseTensorDialect.so.21.0git lib/libMLIRTensorDialect.so.21.0git lib/libMLIRAffineDialect.so.21.0git lib/libMLIRParallelCombiningOpInterface.so.21.0git lib/libMLIRMemRefDialect.so.21.0git lib/libMLIRArithUtils.so.21.0git lib/libMLIRDialectUtils.so.21.0git lib/libMLIRComplexDialect.so.21.0git lib/libMLIRArithDialect.so.21.0git lib/libMLIRCastInterfaces.so.21.0git lib/libMLIRInferIntRangeCommon.so.21.0git lib/libMLIRShapedOpInterfaces.so.21.0git lib/libMLIRDialect.so.21.0git lib/libMLIRTransforms.so.21.0git lib/libMLIRUBDialect.so.21.0git lib/libMLIRMemorySlotInterfaces.so.21.0git lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git lib/libMLIRTransformUtils.so.21.0git lib/libMLIRSubsetOpInterface.so.21.0git lib/libMLIRValueBoundsOpInterface.so.21.0git lib/libMLIRDestinationStyleOpInterface.so.21.0git lib/libMLIRRewrite.so.21.0git lib/libMLIRRewritePDL.so.21.0git lib/libMLIRPDLToPDLInterp.so.21.0git lib/libMLIRPass.so.21.0git lib/libMLIRAnalysis.so.21.0git lib/libMLIRControlFlowInterfaces.so.21.0git lib/libMLIRLoopLikeInterface.so.21.0git lib/libMLIRInferIntRangeInterface.so.21.0git lib/libMLIRViewLikeInterface.so.21.0git lib/libMLIRDataLayoutInterfaces.so.21.0git lib/libMLIRPresburger.so.21.0git lib/libMLIRPDLInterpDialect.so.21.0git lib/libMLIRFunctionInterfaces.so.21.0git lib/libMLIRCallInterfaces.so.21.0git lib/libMLIRPDLDialect.so.21.0git lib/libMLIRInferTypeOpInterface.so.21.0git lib/libMLIRSideEffectInterfaces.so.21.0git lib/libMLIRIR.so.21.0git lib/libMLIRSupport.so.21.0git lib/libLLVMSupport.so.21.0git -Wl,-rpath-link,/home/botworker/bbot/hip-third-party-libs-test/build/lib && :
/usr/bin/ld: tools/mlir/lib/Dialect/MLProgram/Transforms/CMakeFiles/obj.MLIRMLProgramTransforms.dir/BufferizableOpInterfaceImpl.cpp.o: in function `mlir::ml_program::(anonymous namespace)::GlobalOpInterface::bufferize(mlir::Operation*, mlir::RewriterBase&, mlir::bufferization::BufferizationOptions const&, mlir::bufferization::BufferizationState&) const [clone .constprop.0]':
BufferizableOpInterfaceImpl.cpp:(.text._ZNK4mlir10ml_program12_GLOBAL__N_117GlobalOpInterface9bufferizeEPNS_9OperationERNS_12RewriterBaseERKNS_13bufferization20BufferizationOptionsERNS7_18BufferizationStateE.constprop.0+0x119): undefined reference to `mlir::bufferization::removeSymbol(mlir::Operation*, mlir::bufferization::BufferizationState&)'
/usr/bin/ld: BufferizableOpInterfaceImpl.cpp:(.text._ZNK4mlir10ml_program12_GLOBAL__N_117GlobalOpInterface9bufferizeEPNS_9OperationERNS_12RewriterBaseERKNS_13bufferization20BufferizationOptionsERNS7_18BufferizationStateE.constprop.0+0x302): undefined reference to `mlir::bufferization::insertSymbol(mlir::Operation*, mlir::bufferization::BufferizationState&)'
collect2: error: ld returned 1 exit status
[5529/7815] Creating library symlink lib/libMLIRAMXTransforms.so
[5530/7815] Creating library symlink lib/libMLIRFromLLVMIRTranslationRegistration.so
[5531/7815] Creating library symlink lib/libMLIRUBToLLVM.so
[5532/7815] Creating library symlink lib/libMLIRReduceLib.so
[5533/7815] Linking CXX shared library lib/libMLIRArmNeonTransforms.so.21.0git
[5534/7815] Linking CXX shared library lib/libMLIRX86VectorDialect.so.21.0git
[5535/7815] Linking CXX shared library lib/libMLIRCAPIIR.so.21.0git
[5536/7815] Linking CXX shared library lib/libMLIRArmSVETransforms.so.21.0git
[5537/7815] Linking CXX shared library lib/libMLIRTransformDialect.so.21.0git
[5538/7815] Linking CXX shared library lib/libMLIRTargetLLVMIRExport.so.21.0git
[5539/7815] Building CXX object tools/mlir/lib/Conversion/LinalgToStandard/CMakeFiles/obj.MLIRLinalgToStandard.dir/LinalgToStandard.cpp.o
[5540/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseBufferRewriting.cpp.o
[5541/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Generalization.cpp.o
[5542/7815] Building AMDGPUGenInstrInfo.inc...
[5543/7815] Linking CXX shared library lib/libMLIRSPIRVDialect.so.21.0git
[5544/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Interchange.cpp.o
[5545/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/StageSparseOperations.cpp.o
[5546/7815] Building AMDGPUGenRegisterInfo.inc...
[5547/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/TransposeMatmul.cpp.o
[5548/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/InlineScalarOperands.cpp.o
[5549/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseSpaceCollapse.cpp.o
[5550/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Fusion.cpp.o
[5551/7815] Building AMDGPUGenRegisterBank.inc...
[5552/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseIterationToScf.cpp.o
[5553/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/DropUnitDims.cpp.o
[5554/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/NamedOpConversions.cpp.o
[5555/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseTensorConversion.cpp.o
[5556/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Split.cpp.o
[5557/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/SwapExtractSliceWithFillPatterns.cpp.o
[5558/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseGPUCodegen.cpp.o
[5559/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Hoisting.cpp.o
[5560/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Padding.cpp.o
[5561/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/DecomposeGenericByUnfoldingPermutation.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
[5519/7815] Creating library symlink lib/libMLIRTransformDialectInterfaces.so
[5520/7815] Linking CXX shared library lib/libMLIRNVVMToLLVM.so.21.0git
[5521/7815] Linking CXX shared library lib/libMLIRTosaToMLProgram.so.21.0git
[5522/7815] Linking CXX shared library lib/libMLIRAMXTransforms.so.21.0git
[5523/7815] Building AMDGPUGenDAGISel.inc...
[5524/7815] Linking CXX shared library lib/libMLIRUBToLLVM.so.21.0git
[5525/7815] Creating library symlink lib/libMLIRNVVMToLLVM.so
[5526/7815] Building CXX object tools/mlir/lib/Dialect/Shape/Transforms/CMakeFiles/obj.MLIRShapeOpsTransforms.dir/BufferizableOpInterfaceImpl.cpp.o
[5527/7815] Creating library symlink lib/libMLIRTosaToMLProgram.so
[5528/7815] Linking CXX shared library lib/libMLIRMLProgramTransforms.so.21.0git
FAILED: lib/libMLIRMLProgramTransforms.so.21.0git
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG -Wl,-z,defs -Wl,-z,nodelete -Wl,-rpath-link,/home/botworker/bbot/hip-third-party-libs-test/build/./lib -Wl,--gc-sections -shared -Wl,-soname,libMLIRMLProgramTransforms.so.21.0git -o lib/libMLIRMLProgramTransforms.so.21.0git tools/mlir/lib/Dialect/MLProgram/Transforms/CMakeFiles/obj.MLIRMLProgramTransforms.dir/BufferizableOpInterfaceImpl.cpp.o tools/mlir/lib/Dialect/MLProgram/Transforms/CMakeFiles/obj.MLIRMLProgramTransforms.dir/PipelineGlobalOps.cpp.o -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/hip-third-party-libs-test/build/lib:" lib/libMLIRBufferizationDialect.so.21.0git lib/libMLIRMLProgramDialect.so.21.0git lib/libMLIRFuncDialect.so.21.0git lib/libMLIRSparseTensorDialect.so.21.0git lib/libMLIRTensorDialect.so.21.0git lib/libMLIRAffineDialect.so.21.0git lib/libMLIRParallelCombiningOpInterface.so.21.0git lib/libMLIRMemRefDialect.so.21.0git lib/libMLIRArithUtils.so.21.0git lib/libMLIRDialectUtils.so.21.0git lib/libMLIRComplexDialect.so.21.0git lib/libMLIRArithDialect.so.21.0git lib/libMLIRCastInterfaces.so.21.0git lib/libMLIRInferIntRangeCommon.so.21.0git lib/libMLIRShapedOpInterfaces.so.21.0git lib/libMLIRDialect.so.21.0git lib/libMLIRTransforms.so.21.0git lib/libMLIRUBDialect.so.21.0git lib/libMLIRMemorySlotInterfaces.so.21.0git lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git lib/libMLIRTransformUtils.so.21.0git lib/libMLIRSubsetOpInterface.so.21.0git lib/libMLIRValueBoundsOpInterface.so.21.0git lib/libMLIRDestinationStyleOpInterface.so.21.0git lib/libMLIRRewrite.so.21.0git lib/libMLIRRewritePDL.so.21.0git lib/libMLIRPDLToPDLInterp.so.21.0git lib/libMLIRPass.so.21.0git lib/libMLIRAnalysis.so.21.0git lib/libMLIRControlFlowInterfaces.so.21.0git lib/libMLIRLoopLikeInterface.so.21.0git lib/libMLIRInferIntRangeInterface.so.21.0git lib/libMLIRViewLikeInterface.so.21.0git lib/libMLIRDataLayoutInterfaces.so.21.0git lib/libMLIRPresburger.so.21.0git lib/libMLIRPDLInterpDialect.so.21.0git lib/libMLIRFunctionInterfaces.so.21.0git lib/libMLIRCallInterfaces.so.21.0git lib/libMLIRPDLDialect.so.21.0git lib/libMLIRInferTypeOpInterface.so.21.0git lib/libMLIRSideEffectInterfaces.so.21.0git lib/libMLIRIR.so.21.0git lib/libMLIRSupport.so.21.0git lib/libLLVMSupport.so.21.0git -Wl,-rpath-link,/home/botworker/bbot/hip-third-party-libs-test/build/lib && :
/usr/bin/ld: tools/mlir/lib/Dialect/MLProgram/Transforms/CMakeFiles/obj.MLIRMLProgramTransforms.dir/BufferizableOpInterfaceImpl.cpp.o: in function `mlir::ml_program::(anonymous namespace)::GlobalOpInterface::bufferize(mlir::Operation*, mlir::RewriterBase&, mlir::bufferization::BufferizationOptions const&, mlir::bufferization::BufferizationState&) const [clone .constprop.0]':
BufferizableOpInterfaceImpl.cpp:(.text._ZNK4mlir10ml_program12_GLOBAL__N_117GlobalOpInterface9bufferizeEPNS_9OperationERNS_12RewriterBaseERKNS_13bufferization20BufferizationOptionsERNS7_18BufferizationStateE.constprop.0+0x119): undefined reference to `mlir::bufferization::removeSymbol(mlir::Operation*, mlir::bufferization::BufferizationState&)'
/usr/bin/ld: BufferizableOpInterfaceImpl.cpp:(.text._ZNK4mlir10ml_program12_GLOBAL__N_117GlobalOpInterface9bufferizeEPNS_9OperationERNS_12RewriterBaseERKNS_13bufferization20BufferizationOptionsERNS7_18BufferizationStateE.constprop.0+0x302): undefined reference to `mlir::bufferization::insertSymbol(mlir::Operation*, mlir::bufferization::BufferizationState&)'
collect2: error: ld returned 1 exit status
[5529/7815] Creating library symlink lib/libMLIRAMXTransforms.so
[5530/7815] Creating library symlink lib/libMLIRFromLLVMIRTranslationRegistration.so
[5531/7815] Creating library symlink lib/libMLIRUBToLLVM.so
[5532/7815] Creating library symlink lib/libMLIRReduceLib.so
[5533/7815] Linking CXX shared library lib/libMLIRArmNeonTransforms.so.21.0git
[5534/7815] Linking CXX shared library lib/libMLIRX86VectorDialect.so.21.0git
[5535/7815] Linking CXX shared library lib/libMLIRCAPIIR.so.21.0git
[5536/7815] Linking CXX shared library lib/libMLIRArmSVETransforms.so.21.0git
[5537/7815] Linking CXX shared library lib/libMLIRTransformDialect.so.21.0git
[5538/7815] Linking CXX shared library lib/libMLIRTargetLLVMIRExport.so.21.0git
[5539/7815] Building CXX object tools/mlir/lib/Conversion/LinalgToStandard/CMakeFiles/obj.MLIRLinalgToStandard.dir/LinalgToStandard.cpp.o
[5540/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseBufferRewriting.cpp.o
[5541/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Generalization.cpp.o
[5542/7815] Building AMDGPUGenInstrInfo.inc...
[5543/7815] Linking CXX shared library lib/libMLIRSPIRVDialect.so.21.0git
[5544/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Interchange.cpp.o
[5545/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/StageSparseOperations.cpp.o
[5546/7815] Building AMDGPUGenRegisterInfo.inc...
[5547/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/TransposeMatmul.cpp.o
[5548/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/InlineScalarOperands.cpp.o
[5549/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseSpaceCollapse.cpp.o
[5550/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Fusion.cpp.o
[5551/7815] Building AMDGPUGenRegisterBank.inc...
[5552/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseIterationToScf.cpp.o
[5553/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/DropUnitDims.cpp.o
[5554/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/NamedOpConversions.cpp.o
[5555/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseTensorConversion.cpp.o
[5556/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Split.cpp.o
[5557/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/SwapExtractSliceWithFillPatterns.cpp.o
[5558/7815] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Transforms/CMakeFiles/obj.MLIRSparseTensorTransforms.dir/SparseGPUCodegen.cpp.o
[5559/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Hoisting.cpp.o
[5560/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/Padding.cpp.o
[5561/7815] Building CXX object tools/mlir/lib/Dialect/Linalg/Transforms/CMakeFiles/obj.MLIRLinalgTransforms.dir/DecomposeGenericByUnfoldingPermutation.cpp.o
LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-gcc-ubuntu running on sie-linux-worker3 while building clang at step 6 "test-build-unified-tree-check-all".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/174/builds/18228
Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
...
PASS: lit :: allow-retries.py (90293 of 90302)
PASS: lit :: discovery.py (90294 of 90302)
PASS: lit :: shtest-external-shell-kill.py (90295 of 90302)
PASS: lit :: googletest-timeout.py (90296 of 90302)
PASS: lit :: selecting.py (90297 of 90302)
PASS: lit :: shtest-timeout.py (90298 of 90302)
PASS: lit :: max-time.py (90299 of 90302)
PASS: lit :: shtest-shell.py (90300 of 90302)
PASS: lit :: shtest-define.py (90301 of 90302)
TIMEOUT: AddressSanitizer-x86_64-linux-dynamic :: TestCases/asan_lsan_deadlock.cpp (90302 of 90302)
******************** TEST 'AddressSanitizer-x86_64-linux-dynamic :: TestCases/asan_lsan_deadlock.cpp' FAILED ********************
Exit Code: -9
Timeout: Reached timeout of 900 seconds
Command Output (stderr):
--
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -shared-libasan -O0 /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp -o /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/runtimes/runtimes-bins/compiler-rt/test/asan/X86_64LinuxDynamicConfig/TestCases/Output/asan_lsan_deadlock.cpp.tmp # RUN: at line 4
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -shared-libasan -O0 /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp -o /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/runtimes/runtimes-bins/compiler-rt/test/asan/X86_64LinuxDynamicConfig/TestCases/Output/asan_lsan_deadlock.cpp.tmp
env ASAN_OPTIONS=detect_leaks=1 not /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/runtimes/runtimes-bins/compiler-rt/test/asan/X86_64LinuxDynamicConfig/TestCases/Output/asan_lsan_deadlock.cpp.tmp 2>&1 | FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp # RUN: at line 5
+ env ASAN_OPTIONS=detect_leaks=1 not /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/runtimes/runtimes-bins/compiler-rt/test/asan/X86_64LinuxDynamicConfig/TestCases/Output/asan_lsan_deadlock.cpp.tmp
+ FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
--
********************
********************
Timed Out Tests (1):
AddressSanitizer-x86_64-linux-dynamic :: TestCases/asan_lsan_deadlock.cpp
Testing Time: 1179.51s
Total Discovered Tests: 124858
Skipped : 38 (0.03%)
Unsupported : 2696 (2.16%)
Passed : 121833 (97.58%)
Expectedly Failed: 290 (0.23%)
Timed Out : 1 (0.00%)
FAILED: CMakeFiles/check-all /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/CMakeFiles/check-all
cd /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build && /usr/bin/python3.8 /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/./bin/llvm-lit --verbose --timeout=900 --param USE_Z3_SOLVER=0 /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/utils/mlgo-utils /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/projects/cross-project-tests /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/lld/test /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/clang/tools/extra/include-cleaner/test /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/clang/tools/extra/test /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/clang/test @/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/runtimes/runtimes-bins/lit.tests /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/utils/lit /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/test
ninja: build stopped: subcommand failed.
LLVM Buildbot has detected a new failure on builder clang-ppc64-aix running on aix-ppc64 while building clang at step 6 "test-build-unified-tree-check-all".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/64/builds/3757
Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'lit :: timeout-hang.py' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 13
not env -u FILECHECK_OPTS "/home/llvm/llvm-external-buildbots/workers/env/bin/python3.11" /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-ppc64-aix/llvm-project/llvm/utils/lit/lit.py -j1 --order=lexical Inputs/timeout-hang/run-nonexistent.txt --timeout=1 --param external=0 | "/home/llvm/llvm-external-buildbots/workers/env/bin/python3.11" /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-ppc64-aix/build/utils/lit/tests/timeout-hang.py 1
# executed command: not env -u FILECHECK_OPTS /home/llvm/llvm-external-buildbots/workers/env/bin/python3.11 /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-ppc64-aix/llvm-project/llvm/utils/lit/lit.py -j1 --order=lexical Inputs/timeout-hang/run-nonexistent.txt --timeout=1 --param external=0
# .---command stderr------------
# | lit.py: /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-ppc64-aix/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 1 seconds was requested on the command line. Forcing timeout to be 1 seconds.
# `-----------------------------
# executed command: /home/llvm/llvm-external-buildbots/workers/env/bin/python3.11 /home/llvm/llvm-external-buildbots/workers/aix-ppc64/clang-ppc64-aix/build/utils/lit/tests/timeout-hang.py 1
# .---command stdout------------
# | Testing took as long or longer than timeout
# `-----------------------------
# error: command failed with exit status: 1
--
********************