doe300 / VC4C

Compiler for the VC4CL OpenCL implementation
MIT License
118 stars 37 forks source link

Segmentation fault with uchar16 and `-O3` #140

Closed nomaddo closed 4 years ago

nomaddo commented 4 years ago

My program is the follows:

__kernel void add(__global uchar16 * a, const uchar16 c) {
  int x = get_local_id(0);
  a[x] += c;
}
[~/VC4C/build] ./src/vc4c -O3 -S ../add.cl 
[D] Tue Feb  4 16:01:52 2020: Compiling '../add.cl' into '../add.cl.bin' with optimization level 3 and options '-S ' ...
[D] Tue Feb  4 16:01:52 2020: Temporary file '/tmp/vc4c-KL57Xp' created
[D] Tue Feb  4 16:01:52 2020: Could not access VC4CL standard-library file: /home/nomaddo/VC4C/../VC4CLStdLib/include//VC4CLStdLib.h.pch (No such file or directory)
[D] Tue Feb  4 16:01:52 2020: Could not access VC4CL standard-library file: /usr/local/include/vc4cl-stdlib//VC4CLStdLib.h.pch (No such file or directory)
[D] Tue Feb  4 16:01:52 2020: Could not access VC4CL standard-library file: /usr/include/vc4cl-stdlib//VC4CLStdLib.h.pch (No such file or directory)
[D] Tue Feb  4 16:01:52 2020: Could not access VC4CL standard-library file: /home/nomaddo/.cache/vc4c/VC4CLStdLib.h.pch (No such file or directory)
[D] Tue Feb  4 16:01:52 2020: Temporary file '/tmp/vc4c-uigOV4' created
[I] Tue Feb  4 16:01:52 2020: Compiling OpenCL to LLVM-IR with: /usr/bin/clang -cc1 -triple spir-unknown-unknown -S -I .. -O3 -ffp-contract=off -cl-std=CL1.2 -cl-kernel-arg-info -cl-single-precision-constant -fgnu89-inline -Wno-undefined-inline -Wno-unused-parameter -Wno-unused-local-typedef -Wno-gcc-compat -finclude-default-header -include /home/nomaddo/VC4C/../VC4CLStdLib/include//defines.h -x cl -S -emit-llvm-bc -o /tmp/vc4c-uigOV4 ../add.cl
[D] Tue Feb  4 16:01:52 2020: Temporary file '/tmp/vc4c-empty-sMrDkK' created
[D] Tue Feb  4 16:01:52 2020: Compiling empty module to work around llvm-link bug/feature...
[I] Tue Feb  4 16:01:52 2020: Compiling OpenCL to LLVM-IR with: /usr/bin/clang -cc1 -triple spir-unknown-unknown -O3 -ffp-contract=off -cl-std=CL1.2 -cl-kernel-arg-info -cl-single-precision-constant -fgnu89-inline -Wno-undefined-inline -Wno-unused-parameter -Wno-unused-local-typedef -Wno-gcc-compat -finclude-default-header -include /home/nomaddo/VC4C/../VC4CLStdLib/include//defines.h -x cl -S -emit-llvm-bc -o /tmp/vc4c-empty-sMrDkK -
[I] Tue Feb  4 16:01:52 2020: Linking LLVM-IR modules with: /usr/bin/llvm-link-7 -only-needed -o=/tmp/vc4c-KL57Xp -override=/tmp/vc4c-empty-sMrDkK /tmp/vc4c-uigOV4 -override=/home/nomaddo/VC4C/../VC4CLStdLib/include//VC4CLStdLib.bc
[D] Tue Feb  4 16:01:52 2020: Temporary file '/tmp/vc4c-uigOV4' deleted
[I] Tue Feb  4 16:01:52 2020: Compilation complete!
[I] Tue Feb  4 16:01:52 2020: Using LLVM module frontend...
[D] Tue Feb  4 16:01:52 2020: Reading LLVM module from bit-code...
[D] Tue Feb  4 16:01:52 2020: Found SPIR kernel-function: add
[D] Tue Feb  4 16:01:52 2020: Reading function void add(...)
[D] Tue Feb  4 16:01:52 2020: Reading parameter (g) <16 x i8>* %a
[D] Tue Feb  4 16:01:52 2020: Reading parameter <16 x i8> %c
[D] Tue Feb  4 16:01:52 2020: Reading function i32 _Z12get_local_idj(...)
[D] Tue Feb  4 16:01:52 2020: Reading parameter i32 %dim
[D] Tue Feb  4 16:01:52 2020: Mapping function '_Z12get_local_idj'...
[D] Tue Feb  4 16:01:52 2020: Generating label label %entry
[D] Tue Feb  4 16:01:52 2020: Generating immediate call to vc4cl_local_id -> i8
[D] Tue Feb  4 16:01:52 2020: Generating unary operation zext with i8 %call into i32 %conv
[D] Tue Feb  4 16:01:52 2020: Generating return of i32 %conv
[D] Tue Feb  4 16:01:52 2020: Mapping function 'add'...
[D] Tue Feb  4 16:01:52 2020: Generating label label %entry
[D] Tue Feb  4 16:01:52 2020: Generating immediate call to _Z12get_local_idj -> i32
[D] Tue Feb  4 16:01:52 2020: Generating calculating index i32 %call of (g) <16 x i8>* %a into (g) <16 x i8>* %arrayidx
[D] Tue Feb  4 16:01:52 2020: Generating reading from (g) <16 x i8>* %arrayidx into <16 x i8> %tmp.0
[D] Tue Feb  4 16:01:52 2020: Generating binary operation add with <16 x i8> %tmp.0 and <16 x i8> %c into <16 x i8> %add
[D] Tue Feb  4 16:01:52 2020: Generating writing of <16 x i8> %add into (g) <16 x i8>* %arrayidx
[D] Tue Feb  4 16:01:52 2020: Generating return nothing
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: EliminatePhiNodes
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: EliminatePhiNodes
[I] Tue Feb  4 16:01:52 2020: -----
[I] Tue Feb  4 16:01:52 2020: Inlining functions for kernel: add
[D] Tue Feb  4 16:01:52 2020: Found method matching i32 _Z12get_local_idj with 1 arguments
[D] Tue Feb  4 16:01:52 2020: Function body for i32 %call = i32 _Z12get_local_idj(i32 0) inlined, added 5 instructions
[I] Tue Feb  4 16:01:52 2020: -----
[D] Tue Feb  4 16:01:52 2020: -----
[I] Tue Feb  4 16:01:52 2020: Running normalization passes for: add
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: Intrinsics
[D] Tue Feb  4 16:01:52 2020: Intrinsifying reading of local work-item ids
[D] Tue Feb  4 16:01:52 2020: Intrinsifying zero extension with and: i32 %call.%conv = zext i8 %call.%call
[D] Tue Feb  4 16:01:52 2020: Intrinsifying multiplication with left-shift: i32 %index_offset.1 = mul i32 %call, i32 16 (nsw)
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: EliminateReturns
[D] Tue Feb  4 16:01:52 2020: Replacing return in kernel-function with branch to end-label
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: HandleImmediates
[D] Tue Feb  4 16:01:52 2020: Mapping constant for immediate value 0 to: 0 (0)
[D] Tue Feb  4 16:01:52 2020: Loading immediate value: 255
[D] Tue Feb  4 16:01:52 2020: Mapping constant for immediate value 4 to: 4 (4)
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: PropagateGroupUniformValues
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: PropagateUnsigned
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: MapMemoryAccess
[D] Tue Feb  4 16:01:52 2020: Determining memory access for kernel: add
[D] Tue Feb  4 16:01:52 2020: Global parameter '(g) <16 x i8>* %a' which is written to will be stored in RAM and accessed via VPM
[D] Tue Feb  4 16:01:52 2020: Found VPM DMA address write with work-group uniform operand: (g) <16 x i8>* %arrayidx = add (g) <16 x i8>* %a, i32 %index_offset.1 (unsigned nuw)
[D] Tue Feb  4 16:01:52 2020: Finished value range for 'i32 %call.%conv': [0, 11]
[D] Tue Feb  4 16:01:52 2020: Found memory access range: store <16 x i8> %add into (g) <16 x i8>* %arrayidx (guarded) - write (g) <16 x i8>* %a with dynamic elements in range [0.000000, 11.000000] with element offset expression: v8min (and i8 %call.%call, i32 %immediate.2 (local_id unsigned)), (and i8 %call.%call, i32 %immediate.2 (local_id unsigned)) (unsigned)
[D] Tue Feb  4 16:01:52 2020: Found VPM DMA address write with work-group uniform operand: (g) <16 x i8>* %arrayidx = add (g) <16 x i8>* %a, i32 %index_offset.1 (unsigned nuw)
[D] Tue Feb  4 16:01:52 2020: Finished value range for 'i32 %call.%conv': [0, 11]
[D] Tue Feb  4 16:01:52 2020: Found memory access range: <16 x i8> %tmp.0 = load memory at (g) <16 x i8>* %arrayidx (guarded) - read (g) <16 x i8>* %a with dynamic elements in range [0.000000, 11.000000] with element offset expression: v8min (and i8 %call.%call, i32 %immediate.2 (local_id unsigned)), (and i8 %call.%call, i32 %immediate.2 (local_id unsigned)) (unsigned)
[D] Tue Feb  4 16:01:52 2020: Parameter '(g) <16 x i8>* %a' will be mapped to: read-write memory access via VPM
[D] Tue Feb  4 16:01:52 2020: Mapping access to memory located in RAM: store <16 x i8> %add into (g) <16 x i8>* %arrayidx (guarded)
[D] Tue Feb  4 16:01:52 2020: Mapping access to memory located in RAM: <16 x i8> %tmp.0 = load memory at (g) <16 x i8>* %arrayidx (guarded)
[D] Tue Feb  4 16:01:52 2020: VPM usage: 1 of 64 rows:
[D] Tue Feb  4 16:01:52 2020: |s|                                                                                                                             |
[D] Tue Feb  4 16:01:52 2020: Found base address - with offset -1 for reading from memory
[D] Tue Feb  4 16:01:52 2020: Found base address - with offset -1 for writing into memory
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: ResolveStackAllocations
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: MapGlobalDataToAddress
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: HandleLiteralVector
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: CheckNormalized
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: AddStartStopSegment
[I] Tue Feb  4 16:01:52 2020: 
[I] Tue Feb  4 16:01:52 2020: Normalization done, changed number of instructions from 13 to 67
[D] Tue Feb  4 16:01:52 2020: -----
[D] Tue Feb  4 16:01:52 2020: -----
[I] Tue Feb  4 16:01:52 2020: Running optimization passes for: add
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: AddWorkGroupLoops
[D] Tue Feb  4 16:01:52 2020: Wrapping kernel add in a work-group loop...
[D] Tue Feb  4 16:01:52 2020: Moving group ID initializers out of work-group-loop...
[D] Tue Feb  4 16:01:52 2020: Resetting branch to last block to jump to first work-group repetition block instead: br %end_of_function
[D] Tue Feb  4 16:01:52 2020: Inserting repetition block for: i32 %group_id_x
[D] Tue Feb  4 16:01:52 2020: Inserting repetition block for: i32 %group_id_y
[D] Tue Feb  4 16:01:52 2020: Inserting repetition block for: i32 %group_id_z
[D] Tue Feb  4 16:01:52 2020: Adjusting kernel metadata...
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: ReorderBasicBlocks
[D] Tue Feb  4 16:01:52 2020: CFG created/updated for function: add
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: SimplifyConditionalBlocks
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: SimplifyBranches
[D] Tue Feb  4 16:01:52 2020: Removing branch to next instruction: br %work_group_repetition
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: MergeBasicBlocks
[D] Tue Feb  4 16:01:52 2020: Found basic block with single direct successor: block %start_of_function and block %entry
[D] Tue Feb  4 16:01:52 2020: Found basic block with single direct successor: block %entry and block %call.%entry
[D] Tue Feb  4 16:01:52 2020: Found basic block with single direct successor: block %call.%entry and block %call.after
[D] Tue Feb  4 16:01:52 2020: Found basic block with single direct successor: block %call.after and block %work_group_repetition
[D] Tue Feb  4 16:01:52 2020: Found basic block with single direct successor: block %work_group_repetition and block %repeat_group_id_x
[D] Tue Feb  4 16:01:52 2020: Removing basic block 'block %entry' from function add
[D] Tue Feb  4 16:01:52 2020: Merged block label %entry into label %start_of_function
[D] Tue Feb  4 16:01:52 2020: Removing basic block 'block %call.%entry' from function add
[D] Tue Feb  4 16:01:52 2020: Merged block label %call.%entry into label %entry
[D] Tue Feb  4 16:01:52 2020: Removing basic block 'block %call.after' from function add
[D] Tue Feb  4 16:01:52 2020: Merged block label %call.after into label %call.%entry
[D] Tue Feb  4 16:01:52 2020: Removing basic block 'block %work_group_repetition' from function add
[D] Tue Feb  4 16:01:52 2020: Merged block label %work_group_repetition into label %call.after
[D] Tue Feb  4 16:01:52 2020: Removing basic block 'block %repeat_group_id_x' from function add
[D] Tue Feb  4 16:01:52 2020: Merged block label %repeat_group_id_x into label %work_group_repetition
[D] Tue Feb  4 16:01:52 2020: Merged 5 pair of blocks!
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: VectorizeLoops
[D] Tue Feb  4 16:01:52 2020: Running optimization iteration 0...
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: SingleSteps
[D] Tue Feb  4 16:01:52 2020: Running steps: CombineSelectionWithZero, CombineSettingSameFlags, CombineSettingFlagsWithOutput, FoldConstants, SimplifyArithmetics, CombineArithmetics, RewriteConstantSFU, 
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: CombineRotations
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: EliminateMoves
[D] Tue Feb  4 16:01:52 2020: Replacing obsolete move with instruction calculating its source: register vpm = <16 x i8> %add
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: CommonSubexpressionElimination
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: EliminateBitOperations
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: PropagateMoves
[D] Tue Feb  4 16:01:52 2020: replaceValue: replace i32 %call to i32 %call.%conv in i32 %index_offset.1 = shl i32 %call, i32 4 (4) (nsw)
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: RemoveFlags
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: EliminateDeadCode
[D] Tue Feb  4 16:01:52 2020: Removing instruction i32 %call.%dim = i32 0 (0) (group_uniform), since its output is never read
[D] Tue Feb  4 16:01:52 2020: Removing instruction i32 %call = i32 %call.%conv (unsigned), since its output is never read
[D] Tue Feb  4 16:01:52 2020: Running optimization iteration 1...
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: SingleSteps
[D] Tue Feb  4 16:01:52 2020: Running steps: CombineSelectionWithZero, CombineSettingSameFlags, CombineSettingFlagsWithOutput, FoldConstants, SimplifyArithmetics, CombineArithmetics, RewriteConstantSFU, 
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: CombineRotations
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: EliminateMoves
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: CommonSubexpressionElimination
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: EliminateBitOperations
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: PropagateMoves
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: RemoveFlags
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: EliminateDeadCode
[D] Tue Feb  4 16:01:52 2020: Running optimization iteration 2...
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: SplitReadAfterWrites
[D] Tue Feb  4 16:01:52 2020: Inserting NOP to split up read-after-write before: register - = max i32 %max_group_id_x, i32 %group_id_x (setf )
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: CombineConstantLoads
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: RemoveConstantLoadInLoops
[D] Tue Feb  4 16:01:52 2020: 
[D] Tue Feb  4 16:01:52 2020: Running pass: CacheAcrossWorkGroup
[D] Tue Feb  4 16:01:52 2020: Found VPM DMA address write with work-group uniform operand: register vpr_addr = (g) <16 x i8>* %arrayidx
[D] Tue Feb  4 16:01:52 2020: Finished value range for 'i32 %call.%conv': [0, 11]
[E] Tue Feb  4 16:01:52 2020: Received signal: SIGSEGV
[E] Tue Feb  4 16:01:52 2020:  (1) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x7239bc [0x7f6c536de9bc]
[E] Tue Feb  4 16:01:52 2020:  (2) /lib/x86_64-linux-gnu/libpthread.so.0 : +0x12730 [0x7f6c52f7f730]
[E] Tue Feb  4 16:01:52 2020:  (3) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::vector<vc4c::Value, std::allocator<vc4c::Value> >::size() const+0xc [0x7f6c53727b42]
[E] Tue Feb  4 16:01:52 2020:  (4) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::intermediate::IntermediateInstruction::assertArgument(unsigned long) const+0x25 [0x7f6c53818753]
[E] Tue Feb  4 16:01:52 2020:  (5) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::intermediate::MemoryInstruction::getNumEntries() const+0x1d [0x7f6c538237f5]
[E] Tue Feb  4 16:01:52 2020:  (6) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x7cc953 [0x7f6c53787953]
[E] Tue Feb  4 16:01:52 2020:  (7) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x7cee99 [0x7f6c53789e99]
[E] Tue Feb  4 16:01:52 2020:  (8) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::analysis::determineAccessRanges(vc4c::Method&)+0x14c [0x7f6c5378a1fc]
[E] Tue Feb  4 16:01:52 2020:  (9) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::optimizations::cacheWorkGroupDMAAccess(vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&)+0x9b [0x7f6c53959581]
[E] Tue Feb  4 16:01:52 2020:  (10) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::_Function_handler<bool (vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&), bool (*)(vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&)>::_M_invoke(std::_Any_data const&, vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&)+0x61 [0x7f6c539ae5fa]
[E] Tue Feb  4 16:01:52 2020:  (11) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::function<bool (vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&)>::operator()(vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&) const+0x76 [0x7f6c539ad0fc]
[E] Tue Feb  4 16:01:52 2020:  (12) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::optimizations::OptimizationPass::operator()(vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&) const+0x34 [0x7f6c539a6b98]
[E] Tue Feb  4 16:01:52 2020:  (13) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x9ec739 [0x7f6c539a7739]
[E] Tue Feb  4 16:01:52 2020:  (14) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x9ecfbb [0x7f6c539a7fbb]
[E] Tue Feb  4 16:01:52 2020:  (15) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x9ed2d9 [0x7f6c539a82d9]
[E] Tue Feb  4 16:01:52 2020:  (16) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x9ee323 [0x7f6c539a9323]
[E] Tue Feb  4 16:01:52 2020:  (17) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::function<void (vc4c::Method* const&)>::operator()(vc4c::Method* const&) const+0x49 [0x7f6c5368ca7b]
[E] Tue Feb  4 16:01:52 2020:  (18) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::ThreadPool::scheduleAll<vc4c::Method*, std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > >(std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > const&, std::function<void (vc4c::Method* const&)> const&)::{lambda()#1}::operator()() const+0x26 [0x7f6c5368a92a]
[E] Tue Feb  4 16:01:52 2020:  (19) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::_Function_handler<void (), vc4c::ThreadPool::scheduleAll<vc4c::Method*, std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > >(std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > const&, std::function<void (vc4c::Method* const&)> const&)::{lambda()#1}>::_M_invoke(std::_Any_data const&)+0x20 [0x7f6c5368e0fc]
[E] Tue Feb  4 16:01:52 2020:  (20) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::function<void ()>::operator()() const+0x32 [0x7f6c536c97e2]
[E] Tue Feb  4 16:01:52 2020:  (21) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : void std::__invoke_impl<void, std::function<void ()>&>(std::__invoke_other, std::function<void ()>&)+0x20 [0x7f6c536e5df9]
[E] Tue Feb  4 16:01:52 2020:  (22) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__invoke_result<std::function<void ()>&>::type std::__invoke<std::function<void ()>&>(std::function<void ()>&)+0x20 [0x7f6c536e5b9c]
[E] Tue Feb  4 16:01:52 2020:  (23) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}::operator()() const+0x1f [0x7f6c536e5977]
[E] Tue Feb  4 16:01:52 2020:  (24) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}, void>::operator()() const+0x21 [0x7f6c536e614d]
[E] Tue Feb  4 16:01:52 2020:  (25) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()::{lambda()#1}, void> >::_M_invoke(std::_Any_data const&)+0x2e [0x7f6c536e5e6a]
[E] Tue Feb  4 16:01:52 2020:  (26) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>::operator()() const+0x3d [0x7f6c536e0eff]
[E] Tue Feb  4 16:01:52 2020:  (27) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*)+0x27 [0x7f6c536e0773]
[E] Tue Feb  4 16:01:52 2020:  (28) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : void std::__invoke_impl<void, void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::__invoke_memfun_deref, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0x98 [0x7f6c536e2780]
[E] Tue Feb  4 16:01:52 2020:  (29) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__invoke_result<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>::type std::__invoke<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0x67 [0x7f6c536e1987]
[E] Tue Feb  4 16:01:52 2020:  (30) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#1}::operator()() const+0x6a [0x7f6c536e0b14]
[E] Tue Feb  4 16:01:52 2020:  (31) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::operator()() const+0x27 [0x7f6c536e0b47]
[E] Tue Feb  4 16:01:52 2020:  (32) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::_FUN()+0xe [0x7f6c536e0b58]
[E] Tue Feb  4 16:01:52 2020:  (33) /lib/x86_64-linux-gnu/libpthread.so.0 : +0xf997 [0x7f6c52f7c997]
[E] Tue Feb  4 16:01:52 2020:  (34) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x724d8b [0x7f6c536dfd8b]
[E] Tue Feb  4 16:01:52 2020:  (35) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0x97 [0x7f6c536e0c02]
[E] Tue Feb  4 16:01:52 2020:  (36) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool)+0x83 [0x7f6c536e036b]
[E] Tue Feb  4 16:01:52 2020:  (37) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_M_run()+0x5c [0x7f6c536e59d6]
[E] Tue Feb  4 16:01:52 2020:  (38) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : std::packaged_task<void ()>::operator()()+0x33 [0x7f6c536e1889]
[E] Tue Feb  4 16:01:52 2020:  (39) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : vc4c::ThreadPool::workerTask(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x13c [0x7f6c536df0d0]
[E] Tue Feb  4 16:01:52 2020:  (40) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x723c44 [0x7f6c536dec44]
[E] Tue Feb  4 16:01:52 2020:  (41) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x7248d1 [0x7f6c536df8d1]
[E] Tue Feb  4 16:01:52 2020:  (42) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x72464d [0x7f6c536df64d]
[E] Tue Feb  4 16:01:52 2020:  (43) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x724b78 [0x7f6c536dfb78]
[E] Tue Feb  4 16:01:52 2020:  (44) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x724aec [0x7f6c536dfaec]
[E] Tue Feb  4 16:01:52 2020:  (45) /home/nomaddo/VC4C/build/src/libVC4CC.so.1.2 : +0x724ad0 [0x7f6c536dfad0]
[E] Tue Feb  4 16:01:52 2020:  (46) /usr/lib/x86_64-linux-gnu/libstdc++.so.6 : +0xbbb2f [0x7f6c4f48fb2f]
[E] Tue Feb  4 16:01:52 2020:  (47) /lib/x86_64-linux-gnu/libpthread.so.0 : +0x7fa3 [0x7f6c52f74fa3]
[E] Tue Feb  4 16:01:52 2020:  (48) /lib/x86_64-linux-gnu/libc.so.6 : clone+0x3f [0x7f6c4f16d4cf]