facebookincubator / dispenso Goto Github PK
View Code? Open in Web Editor NEWThe project provides high-performance concurrency, enabling highly parallel computation.
License: MIT License
The project provides high-performance concurrency, enabling highly parallel computation.
License: MIT License
No response
https://github.com/xmake-io/xmake-repo/actions/runs/8521965195/job/23341173486
I think using own namspace wrap system header is bad, even if other compilers don't build failure.
dispenso/dispenso/detail/quanta.cpp
Lines 10 to 13 in 670980d
latest (Edge)
Build from ac845f0
90% tests passed, 74 tests failed out of 729
Label Time Summary:
flaky = 544.25 sec*proc (19 tests)
unittest = 567.74 sec*proc (713 tests)
Total Test time (real) = 1113.89 sec
The following tests did not run:
499 - Future.AsyncSpecifyNewThread (Disabled)
500 - Future.AsyncNotDeferredSpecifyNewThread (Disabled)
501 - Future.AsyncNotAsyncSpecifyNewThread (Disabled)
The following tests FAILED:
5 - ChunkedFor.SimpleLoopStatic (Failed)
11 - ChunkedFor.SimpleLoopSmallRange (SEGFAULT)
14 - ChunkedFor.LoopSmallRangeWithStateWithExternalWait (SEGFAULT)
465 - ForEach.Vector (SEGFAULT)
467 - ForEach.Deque (Bus error)
469 - ForEach.UnorderedMap (Bus error)
473 - ForEach.References (SEGFAULT)
474 - ForEach.Cascade (SEGFAULT)
475 - ForEachN.Vector (SEGFAULT)
477 - ForEachN.Deque (Bus error)
479 - ForEachN.UnorderedMap (Bus error)
496 - Future.AsyncSpecifyThreadPool (Bus error)
567 - GreedyForRanges.LoopWithDequeState (Bus error)
568 - GreedyForRanges.LoopWithVectorState (Bus error)
569 - GreedyForRanges.LoopWithListState (Failed)
570 - GreedyForRanges.ConcurrentLoopNoCoordination (Bus error)
571 - GreedyForRanges.CoordinatedLoops (Bus error)
572 - GreedyForRanges.CoordinatedConcurrentLoops (Bus error)
578 - GreedyForRanges.AvoidOverflow2 (Bus error)
579 - GreedyForRanges.EmptyLoopsWaitIfToldTo (Failed)
580 - GreedyForRanges.SingleLoopWaitIfToldTo (Failed)
585 - GreedyFor.LoopWithDequeState (Bus error)
586 - GreedyFor.LoopWithVectorState (Bus error)
587 - GreedyFor.LoopWithListState (Failed)
589 - GreedyFor.CoordinatedLoops (Bus error)
590 - GreedyFor.CoordinatedConcurrentLoops (Bus error)
591 - GreedyFor.OptionsMaxThreads (SEGFAULT)
596 - GreedyFor.AvoidOverflow2 (SEGFAULT)
597 - GreedyFor.EmptyLoopsWaitIfToldTo (Failed)
598 - GreedyFor.SingleLoopWaitIfToldTo (Failed)
646 - ResourcePool.SameNumBuffersAsThreadsTest (Bus error)
647 - ResourcePool.FewerBuffersThanThreadsTest (Bus error)
648 - ResourcePool.MoreBuffersThanThreadsTest (Subprocess aborted)
656 - SmallBufferAllocator.ThreadsSimpleSmall (SEGFAULT)
657 - SmallBufferAllocator.ThreadsSimpleMedium (SEGFAULT)
658 - SmallBufferAllocator.ThreadsSimpleLarge (SEGFAULT)
659 - SmallBufferAllocator.ThreadsHandoffSmall (SEGFAULT)
660 - SmallBufferAllocator.ThreadsHandoffMedium (SEGFAULT)
661 - SmallBufferAllocator.ThreadsHandoffLarge (Bus error)
664 - TaskSet.Recursive (Bus error)
667 - TaskSet.CascadingCancelOne (Bus error)
669 - TaskSet.CascadingManyCancel (SEGFAULT)
670 - TaskSet.CascadingMany (SEGFAULT)
672 - TaskSet.ExceptionNoForceQueuing (SEGFAULT)
674 - TaskSet.ExceptionNoForceQueuingTryWait (SEGFAULT)
676 - ConcurrentTaskSet.DoTree (SEGFAULT)
681 - TaskSetTestParameters/TaskSetTest.MixedWork/0 (SEGFAULT)
682 - TaskSetTestParameters/TaskSetTest.MixedWork/1 (SEGFAULT)
683 - TaskSetTestParameters/TaskSetTest.MixedWork/2 (Bus error)
684 - TaskSetTestParameters/TaskSetTest.MultiWait/0 (SEGFAULT)
685 - TaskSetTestParameters/TaskSetTest.MultiWait/1 (SEGFAULT)
686 - TaskSetTestParameters/TaskSetTest.MultiWait/2 (SEGFAULT)
687 - TaskSetTestParameters/TaskSetTest.MultiSet/0 (SEGFAULT)
688 - TaskSetTestParameters/TaskSetTest.MultiSet/1 (Bus error)
689 - TaskSetTestParameters/TaskSetTest.MultiSet/2 (SEGFAULT)
690 - TaskSetTestParameters/TaskSetTest.MultiSetTryWait/0 (SEGFAULT)
691 - TaskSetTestParameters/TaskSetTest.MultiSetTryWait/1 (SEGFAULT)
692 - TaskSetTestParameters/TaskSetTest.MultiSetTryWait/2 (Bus error)
697 - ThreadPool.ResizeConcurrent (Bus error)
698 - ThreadPool.ResizeMoreConcurrent (Bus error)
699 - ThreadPool.SetSignalingWakeConcurrent (Bus error)
700 - ThreadPool.ResizeCheckApproxActualRunningThreads (SEGFAULT)
701 - ThreadPool.SetSignalingWakeConcurrentZeroLatency (Bus error)
703 - ThreadPoolTestParameters/ThreadPoolTest.SimpleWork/1 (SEGFAULT)
704 - ThreadPoolTestParameters/ThreadPoolTest.SimpleWork/2 (SEGFAULT)
706 - ThreadPoolTestParameters/ThreadPoolTest.MixedWork/1 (SEGFAULT)
707 - ThreadPoolTestParameters/ThreadPoolTest.MixedWork/2 (SEGFAULT)
708 - ThreadPoolTestParameters/ThreadPoolTest.CrossPoolTest/0 (SEGFAULT)
709 - ThreadPoolTestParameters/ThreadPoolTest.CrossPoolTest/1 (Bus error)
710 - ThreadPoolTestParameters/ThreadPoolTest.CrossPoolTest/2 (SEGFAULT)
711 - ThreadPoolTestParameters/ThreadPoolTest.SimpleWorkZeroLatencyPoll/0 (Bus error)
712 - ThreadPoolTestParameters/ThreadPoolTest.SimpleWorkZeroLatencyPoll/1 (SEGFAULT)
713 - ThreadPoolTestParameters/ThreadPoolTest.SimpleWorkZeroLatencyPoll/2 (SEGFAULT)
714 - Priorty.PriorityGetsCycles (INTERRUPT)
Errors while running CTest
Of course, there is no implication that this must be fixed specifically for PowerPC, I rather report the bug for the record.
latest (Edge)
Log from tests:
LastTest.log
(I tried to run binaries via wrappers to fix malloc
errors, but apparently here it does not help. I think I got the same results with and without wrapper scripts.)
No response
Build fails on 32-bit platform when warnings are treated as errors.
In file included from /opt/local/include/gcc13/c++/atomic:41,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/../dispenso/platform.h:14,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/../dispenso/detail/small_buffer_allocator_impl.h:13,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/small_buffer_allocator.cpp:8:
In member function 'std::__atomic_base<_IntTp>::__int_type std::__atomic_base<_IntTp>::load(std::memory_order) const [with _ITp = long unsigned int]',
inlined from 'bool moodycamel::ConcurrentQueue<T, Traits>::ExplicitProducer::enqueue_bulk(It, moodycamel::ConcurrentQueue<T, Traits>::size_t) [with moodycamel::ConcurrentQueue<T, Traits>::AllocationMode allocMode = moodycamel::ConcurrentQueue<char*, moodycamel::ConcurrentQueueDefaultTraits>::CanAlloc; It = char**; T = char*; Traits = moodycamel::ConcurrentQueueDefaultTraits]' at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/third-party/moodycamel/concurrentqueue.h:2060:49,
inlined from 'bool moodycamel::ConcurrentQueue<T, Traits>::inner_enqueue_bulk(const producer_token_t&, It, size_t) [with AllocationMode canAlloc = moodycamel::ConcurrentQueue<char*, moodycamel::ConcurrentQueueDefaultTraits>::CanAlloc; It = char**; T = char*; Traits = moodycamel::ConcurrentQueueDefaultTraits]' at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/third-party/moodycamel/concurrentqueue.h:1382:124,
inlined from 'bool moodycamel::ConcurrentQueue<T, Traits>::enqueue_bulk(const producer_token_t&, It, size_t) [with It = char**; T = char*; Traits = moodycamel::ConcurrentQueueDefaultTraits]' at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/third-party/moodycamel/concurrentqueue.h:1052:38:
/opt/local/include/gcc13/c++/bits/atomic_base.h:505:31: error: 'unsigned int __atomic_load_4(const volatile void*, int)' writing 4 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
505 | return __atomic_load_n(&_M_i, int(__m));
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In function 'bool moodycamel::ConcurrentQueue<T, Traits>::enqueue_bulk(const producer_token_t&, It, size_t) [with It = char**; T = char*; Traits = moodycamel::ConcurrentQueueDefaultTraits]':
cc1plus: note: destination object is likely at address zero
cc1plus: all warnings being treated as errors
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/timed_task.cpp: In member function 'void dispenso::TimedTaskScheduler::timeQueueRunLoop()':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/timed_task.cpp:86:28: error: redundant move in initialization [-Werror=redundant-move]
86 | auto next = std::move(tasks_.top());
| ~~~~~~~~~^~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/timed_task.cpp:86:28: note: remove 'std::move' call
cc1plus: all warnings being treated as errors
Perhaps these are nothing critical, but if they are easily fixable, it may be worth addressing this.
latest (Edge)
N/A
While trying to package the library for Conan Center Index, I've come across a compilation issue due to warn_unused_result
and the default -Werror
.
dispenso/1.2.0: Calling build()
dispenso/1.2.0: Running CMake.configure()
dispenso/1.2.0: RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="/root/.conan2/p/b/dispe38c8bf72dbfa0/b/build/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/root/.conan2/p/b/dispe38c8bf72dbfa0/p" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src"
-- Using Conan toolchain: /root/.conan2/p/b/dispe38c8bf72dbfa0/b/build/Release/generators/conan_toolchain.cmake
-- Conan toolchain: Setting CMAKE_POSITION_INDEPENDENT_CODE=ON (options.fPIC)
-- Conan toolchain: C++ Standard 17 with extensions ON
-- Conan toolchain: Setting BUILD_SHARED_LIBS = OFF
-- The CXX compiler identification is GNU 11.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
SOURCES: /root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/detail/per_thread_info.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/detail/quanta.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/graph.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/graph_executor.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/pool_allocator.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/priority.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/schedulable.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/small_buffer_allocator.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/task_set.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/thread_id.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/thread_pool.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/timed_task.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/timing.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/tsan_annotations.cpp
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /root/.conan2/p/b/dispe38c8bf72dbfa0/b/build/Release
dispenso/1.2.0: Running CMake.build()
dispenso/1.2.0: RUN: cmake --build "/root/.conan2/p/b/dispe38c8bf72dbfa0/b/build/Release" -- -j12
[ 6%] Building CXX object dispenso/CMakeFiles/dispenso.dir/detail/per_thread_info.cpp.o
[ 13%] Building CXX object dispenso/CMakeFiles/dispenso.dir/graph.cpp.o
[ 26%] Building CXX object dispenso/CMakeFiles/dispenso.dir/detail/quanta.cpp.o
[ 33%] Building CXX object dispenso/CMakeFiles/dispenso.dir/pool_allocator.cpp.o
[ 26%] Building CXX object dispenso/CMakeFiles/dispenso.dir/graph_executor.cpp.o
[ 46%] Building CXX object dispenso/CMakeFiles/dispenso.dir/priority.cpp.o
[ 46%] Building CXX object dispenso/CMakeFiles/dispenso.dir/schedulable.cpp.o
[ 53%] Building CXX object dispenso/CMakeFiles/dispenso.dir/small_buffer_allocator.cpp.o
[ 60%] Building CXX object dispenso/CMakeFiles/dispenso.dir/thread_id.cpp.o
[ 66%] Building CXX object dispenso/CMakeFiles/dispenso.dir/task_set.cpp.o
[ 73%] Building CXX object dispenso/CMakeFiles/dispenso.dir/thread_pool.cpp.o
[ 80%] Building CXX object dispenso/CMakeFiles/dispenso.dir/timed_task.cpp.o
[ 86%] Building CXX object dispenso/CMakeFiles/dispenso.dir/timing.cpp.o
[ 93%] Building CXX object dispenso/CMakeFiles/dispenso.dir/tsan_annotations.cpp.o
/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/priority.cpp: In function ‘bool dispenso::setCurrentThreadPriority(dispenso::ThreadPriority)’:
/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/priority.cpp:136:11: error: ignoring return value of ‘int nice(int)’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
136 | nice(10);
| ~~~~^~~~
/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/priority.cpp:140:11: error: ignoring return value of ‘int nice(int)’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
140 | nice(0);
| ~~~~^~~
/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/priority.cpp:152:11: error: ignoring return value of ‘int nice(int)’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
152 | nice(static_cast<int>(20 - rlim.rlim_max));
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
I'm running
# uname -a
Linux 7e741cff55e1 6.6.12-linuxkit #1 SMP Thu Feb 8 06:36:34 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
and I'm compiling with
arch=armv8
build_type=Release
compiler=gcc
compiler.cppstd=gnu17
compiler.libcxx=libstdc++11
compiler.version=11
os=Linux
This might be something on my end so sorry about the noise if that's the case, I've tried to check for missconfigurations on my end but I can't see where I would be going wrong :)
1.0 (Default)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.