UBSAN identified a problem at exit time by gcc-8 only

During a build of Boost.Rational with UBSAN and gcc-8 - this issue is reproducible in https://github.com/boostorg/rational/pull/30.
testing.capture-output ../../bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test.run
====== BEGIN OUTPUT ======
Running tests for boost::rational<long>
Implementation issue: the minimal size for a rational
is twice the size of the underlying integer type.
Checking to see if space is being wasted.
	sizeof(long) == 8
	sizeof(boost::rational<long>) == 16
Implementation has minimal size
Running 83 test cases...
*** No errors detected
../../boost/test/impl/framework.ipp:839:34: runtime error: member call on address 0x000000b5caa0 which does not point to an object of type 'test_observer'
0x000000b5caa0: note: object has invalid vptr
 00 00 00 00  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  d8 cb b5 00 00 00 00 00  00 00 00 00
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
    #0 0x6656bb in boost::unit_test::framework::state::priority_order::operator()(boost::unit_test::test_observer*, boost::unit_test::test_observer*) const ../../boost/test/impl/framework.ipp:839
    #1 0x695d5d in std::_Rb_tree<boost::unit_test::test_observer*, boost::unit_test::test_observer*, std::_Identity<boost::unit_test::test_observer*>, boost::unit_test::framework::state::priority_order, std::allocator<boost::unit_test::test_observer*> >::_M_lower_bound(std::_Rb_tree_node<boost::unit_test::test_observer*>*, std::_Rb_tree_node_base*, boost::unit_test::test_observer* const&) (/home/travis/build/boostorg/boost-root/bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test+0x695d5d)
    #2 0x68db46 in std::_Rb_tree<boost::unit_test::test_observer*, boost::unit_test::test_observer*, std::_Identity<boost::unit_test::test_observer*>, boost::unit_test::framework::state::priority_order, std::allocator<boost::unit_test::test_observer*> >::equal_range(boost::unit_test::test_observer* const&) /usr/include/c++/8/bits/stl_tree.h:1966
    #3 0x67dea5 in std::_Rb_tree<boost::unit_test::test_observer*, boost::unit_test::test_observer*, std::_Identity<boost::unit_test::test_observer*>, boost::unit_test::framework::state::priority_order, std::allocator<boost::unit_test::test_observer*> >::erase(boost::unit_test::test_observer* const&) /usr/include/c++/8/bits/stl_tree.h:2516
    #4 0x66f666 in std::set<boost::unit_test::test_observer*, boost::unit_test::framework::state::priority_order, std::allocator<boost::unit_test::test_observer*> >::erase(boost::unit_test::test_observer* const&) /usr/include/c++/8/bits/stl_set.h:685
    #5 0x64662d in boost::unit_test::framework::deregister_observer(boost::unit_test::test_observer&) ../../boost/test/impl/framework.ipp:1343
    #6 0x6e3d95 in boost::unit_test::global_configuration::~global_configuration() ../../boost/test/impl/test_tree.ipp:556
    #7 0x4db2b4 in ~global_configuration_impl ../../boost/test/tree/global_fixture.hpp:68
    #8 0x7fe46ef1e1a8  (/lib/x86_64-linux-gnu/libc.so.6+0x3c1a8)
    #9 0x7fe46ef1e1f4 in exit (/lib/x86_64-linux-gnu/libc.so.6+0x3c1f4)
    #10 0x7fe46ef03f4b in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21f4b)
    #11 0x40a008  (/home/travis/build/boostorg/boost-root/bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test+0x40a008)
EXIT STATUS: 1
====== END OUTPUT ======
    LD_LIBRARY_PATH="/usr/bin:/usr/lib:/usr/lib32:/usr/lib64:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
    status=0
    if test $status -ne 0 ; then
        echo Skipping test execution due to testing.execute=off
        exit 0
    fi
     "../../bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test"   > "../../bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test.output" 2>&1 < /dev/null
    status=$?
    echo >> "../../bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test.output"
    echo EXIT STATUS: $status >> "../../bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test.output"
    if test $status -eq 0 ; then
        cp "../../bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test.output" "../../bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test.run"
    fi
    verbose=0
    if test $status -ne 0 ; then
        verbose=1
    fi
    if test $verbose -eq 1 ; then
        echo ====== BEGIN OUTPUT ======
        cat "../../bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test.output"
        echo ====== END OUTPUT ======
    fi
    exit $status
...failed testing.capture-output ../../bin.v2/libs/rational/test/rational_test.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/rational_test.run...

see: https://travis-ci.org/boostorg/rational/jobs/447297672

Re-ran with clang-6, gcc-7, and gcc-8 and only the gcc-8 UBSAN triggers this failure.
https://travis-ci.org/boostorg/rational/builds/448008702

I think I know why we have this UB, but the fix is far from easy (has again something to do with global variables init order).

Another case: https://travis-ci.org/boostorg/rational/jobs/450100503

Hi, I have a potential fix on this branch: topic/GH-174-undefined-behaviour-on-exit. Would it be possible for you to try UBsan on this one? I do not know how to set it up with the build, would you please point me to something that integrates UBsan with boost.build?
Thanks!

If you have gcc-7 or gcc-8 available you can run UBSAN yourself like this:
$ UBSAN_OPTIONS=print_stacktrace=1 ../../../b2 cxxflags=-fno-omit-frame-pointer cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined linkflags=-fno-sanitize-recover=undefined linkflags=-fuse-ld=gold variant=debug
This is pretty much what the Travis CI build jobs in boost-ci do.  In any case I will start up a CI build from that branch with my CI changes on top.

Given the relative size of boost::test runs, the standard boost-ci template will beed to be trimmed.  We cannot run all the language levels for example.

I see this in the logs:
gcc.compile.c++ ../../bin.v2/libs/test/test/assertion-construction-test.test/gcc-8/debug/cxxstd-11-iso/visibility-hidden/writing-test-ts/assertion-construction-test.o
In file included from /usr/include/c++/8/map:60,
                 from ../../boost/test/tree/test_unit.hpp:35,
                 from ../../boost/test/tree/auto_registration.hpp:21,
                 from ../../boost/test/unit_test_suite.hpp:17,
                 from ../../boost/test/unit_test.hpp:19,
                 from ../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:17:
/usr/include/c++/8/bits/stl_tree.h: In instantiation of â€˜class std::_Rb_tree<int, int, std::_Identity<int>, int, std::allocator<int> >â€™:
/usr/include/c++/8/bits/stl_set.h:133:17:   required from â€˜class std::set<int, int>â€™
../../boost/test/utils/is_forward_iterable.hpp:108:39:   required by substitution of â€˜template<class U> static decltype (declval<U>().size()) boost::unit_test::ut_detail::has_member_size<std::set<int, int> >::test<U>(U*) [with U = std::set<int, int>]â€™
../../boost/test/utils/is_forward_iterable.hpp:112:62:   required from â€˜const bool boost::unit_test::ut_detail::has_member_size<std::set<int, int> >::valueâ€™
../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:127:5:   required from here
/usr/include/c++/8/bits/stl_tree.h:452:21: error: static assertion failed: comparison object must be invocable with two arguments of key type
       static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../boost/test/tools/old/impl.hpp:20,
                 from ../../boost/test/test_tools.hpp:46,
                 from ../../boost/test/unit_test.hpp:18,
                 from ../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:17:
../../boost/test/tools/assertion_result.hpp: In instantiation of â€˜boost::test_tools::assertion_result::assertion_result(const BoolConvertable&) [with BoolConvertable = char [4]]â€™:
../../boost/test/tools/assertion.hpp:301:26:   required from â€˜boost::test_tools::assertion_result boost::test_tools::assertion::value_expr<T>::evaluate(bool) const [with T = const char (&)[4]]â€™
../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:266:67:   required from here
../../boost/test/tools/assertion_result.hpp:57:74: warning: the compiler can assume that the address of â€˜pv_â€™ will never be NULL [-Waddress]
     assertion_result( BoolConvertable const& pv_ ) : p_predicate_value( !!pv_ ) {}
                                                                          ^~~~
In file included from ../../boost/test/test_tools.hpp:53,
                 from ../../boost/test/unit_test.hpp:18,
                 from ../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:17:
../../boost/test/tools/assertion.hpp: In instantiation of â€˜static boost::test_tools::assertion::op::EQ<Lhs, Rhs, Enabler>::result_type boost::test_tools::assertion::op::EQ<Lhs, Rhs, Enabler>::eval(const Lhs&, const Rhs&) [with Lhs = long unsigned int; Rhs = int; Enabler = void; boost::test_tools::assertion::op::EQ<Lhs, Rhs, Enabler>::result_type = bool]â€™:
../../boost/test/tools/assertion.hpp:354:24:   required from â€˜boost::test_tools::assertion::binary_expr<Lhs, Rhs, OP>::result_type boost::test_tools::assertion::binary_expr<Lhs, Rhs, OP>::value() const [with LExpr = boost::test_tools::assertion::value_expr<long unsigned int>; Rhs = int; OP = boost::test_tools::assertion::op::EQ<long unsigned int, int, void>; boost::test_tools::assertion::binary_expr<Lhs, Rhs, OP>::result_type = bool]â€™
../../boost/test/tools/assertion.hpp:363:42:   required from â€˜boost::test_tools::assertion_result boost::test_tools::assertion::binary_expr<Lhs, Rhs, OP>::evaluate(bool) const [with LExpr = boost::test_tools::assertion::value_expr<long unsigned int>; Rhs = int; OP = boost::test_tools::assertion::op::EQ<long unsigned int, int, void>]â€™
../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:195:5:   required from here
../../boost/test/tools/assertion.hpp:72:13: warning: comparison of integer expressions of different signedness: â€˜const long unsigned intâ€™ and â€˜const intâ€™ [-Wsign-compare]
     action( ==, EQ, != )                    \
             ^
../../boost/test/tools/assertion.hpp:144:20: note: in definition of macro â€˜DEFINE_CONST_OPERâ€™
         return lhs oper rhs;                        \
                    ^~~~
../../boost/test/tools/assertion.hpp:93:5: note: in expansion of macro â€˜BOOST_TEST_FOR_EACH_COMP_OPâ€™
     BOOST_TEST_FOR_EACH_COMP_OP(action)     \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../boost/test/tools/assertion.hpp:163:1: note: in expansion of macro â€˜BOOST_TEST_FOR_EACH_CONST_OPâ€™
 BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER )
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

    "g++-8"   -std=c++11 -fvisibility-inlines-hidden -fPIC -m64 -O0 -fno-inline -Wall -pedantic -g -fvisibility=hidden -Wno-long-long -Wno-variadic-macros -fno-omit-frame-pointer -fno-sanitize-recover=undefined -fsanitize=undefined -pedantic -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_CHRONO_THREAD_DISABLED -DBOOST_NO_STRESS_TEST=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1 -DBOOST_TIMER_STATIC_LINK=1  -I"../.." -c -o "../../bin.v2/libs/test/test/assertion-construction-test.test/gcc-8/debug/cxxstd-11-iso/visibility-hidden/writing-test-ts/assertion-construction-test.o" "../../libs/test/test/writing-test-ts/assertion-construction-test.cpp"

...failed gcc.compile.c++ ../../bin.v2/libs/test/test/assertion-construction-test.test/gcc-8/debug/cxxstd-11-iso/visibility-hidden/writing-test-ts/assertion-construction-test.o...

and C++14 too:
gcc.compile.c++ ../../bin.v2/libs/test/test/assertion-construction-test.test/gcc-8/debug/cxxstd-14-iso/visibility-hidden/writing-test-ts/assertion-construction-test.o
In file included from /usr/include/c++/8/map:60,
                 from ../../boost/test/tree/test_unit.hpp:35,
                 from ../../boost/test/tree/auto_registration.hpp:21,
                 from ../../boost/test/unit_test_suite.hpp:17,
                 from ../../boost/test/unit_test.hpp:19,
                 from ../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:17:
/usr/include/c++/8/bits/stl_tree.h: In instantiation of â€˜class std::_Rb_tree<int, int, std::_Identity<int>, int, std::allocator<int> >â€™:
/usr/include/c++/8/bits/stl_set.h:133:17:   required from â€˜class std::set<int, int>â€™
../../boost/test/utils/is_forward_iterable.hpp:108:39:   required by substitution of â€˜template<class U> static decltype (declval<U>().size()) boost::unit_test::ut_detail::has_member_size<std::set<int, int> >::test<U>(U*) [with U = std::set<int, int>]â€™
../../boost/test/utils/is_forward_iterable.hpp:112:62:   required from â€˜const bool boost::unit_test::ut_detail::has_member_size<std::set<int, int> >::valueâ€™
../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:127:5:   required from here
/usr/include/c++/8/bits/stl_tree.h:452:21: error: static assertion failed: comparison object must be invocable with two arguments of key type
       static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../boost/test/tools/old/impl.hpp:20,
                 from ../../boost/test/test_tools.hpp:46,
                 from ../../boost/test/unit_test.hpp:18,
                 from ../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:17:
../../boost/test/tools/assertion_result.hpp: In instantiation of â€˜boost::test_tools::assertion_result::assertion_result(const BoolConvertable&) [with BoolConvertable = char [4]]â€™:
../../boost/test/tools/assertion.hpp:301:26:   required from â€˜boost::test_tools::assertion_result boost::test_tools::assertion::value_expr<T>::evaluate(bool) const [with T = const char (&)[4]]â€™
../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:266:67:   required from here
../../boost/test/tools/assertion_result.hpp:57:74: warning: the compiler can assume that the address of â€˜pv_â€™ will never be NULL [-Waddress]
     assertion_result( BoolConvertable const& pv_ ) : p_predicate_value( !!pv_ ) {}
                                                                          ^~~~
In file included from ../../boost/test/test_tools.hpp:53,
                 from ../../boost/test/unit_test.hpp:18,
                 from ../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:17:
../../boost/test/tools/assertion.hpp: In instantiation of â€˜static boost::test_tools::assertion::op::EQ<Lhs, Rhs, Enabler>::result_type boost::test_tools::assertion::op::EQ<Lhs, Rhs, Enabler>::eval(const Lhs&, const Rhs&) [with Lhs = long unsigned int; Rhs = int; Enabler = void; boost::test_tools::assertion::op::EQ<Lhs, Rhs, Enabler>::result_type = bool]â€™:
../../boost/test/tools/assertion.hpp:354:24:   required from â€˜boost::test_tools::assertion::binary_expr<Lhs, Rhs, OP>::result_type boost::test_tools::assertion::binary_expr<Lhs, Rhs, OP>::value() const [with LExpr = boost::test_tools::assertion::value_expr<long unsigned int>; Rhs = int; OP = boost::test_tools::assertion::op::EQ<long unsigned int, int, void>; boost::test_tools::assertion::binary_expr<Lhs, Rhs, OP>::result_type = bool]â€™
../../boost/test/tools/assertion.hpp:363:42:   required from â€˜boost::test_tools::assertion_result boost::test_tools::assertion::binary_expr<Lhs, Rhs, OP>::evaluate(bool) const [with LExpr = boost::test_tools::assertion::value_expr<long unsigned int>; Rhs = int; OP = boost::test_tools::assertion::op::EQ<long unsigned int, int, void>]â€™
../../libs/test/test/writing-test-ts/assertion-construction-test.cpp:195:5:   required from here
../../boost/test/tools/assertion.hpp:72:13: warning: comparison of integer expressions of different signedness: â€˜const long unsigned intâ€™ and â€˜const intâ€™ [-Wsign-compare]
     action( ==, EQ, != )                    \
             ^
../../boost/test/tools/assertion.hpp:144:20: note: in definition of macro â€˜DEFINE_CONST_OPERâ€™
         return lhs oper rhs;                        \
                    ^~~~
../../boost/test/tools/assertion.hpp:93:5: note: in expansion of macro â€˜BOOST_TEST_FOR_EACH_COMP_OPâ€™
     BOOST_TEST_FOR_EACH_COMP_OP(action)     \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../boost/test/tools/assertion.hpp:163:1: note: in expansion of macro â€˜BOOST_TEST_FOR_EACH_CONST_OPâ€™
 BOOST_TEST_FOR_EACH_CONST_OP( DEFINE_CONST_OPER )
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

    "g++-8"   -std=c++14 -fvisibility-inlines-hidden -fPIC -m64 -O0 -fno-inline -Wall -pedantic -g -fvisibility=hidden -Wno-long-long -Wno-variadic-macros -fno-omit-frame-pointer -fno-sanitize-recover=undefined -fsanitize=undefined -pedantic -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_CHRONO_THREAD_DISABLED -DBOOST_NO_STRESS_TEST=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1 -DBOOST_TIMER_STATIC_LINK=1  -I"../.." -c -o "../../bin.v2/libs/test/test/assertion-construction-test.test/gcc-8/debug/cxxstd-14-iso/visibility-hidden/writing-test-ts/assertion-construction-test.o" "../../libs/test/test/writing-test-ts/assertion-construction-test.cpp"

...failed gcc.compile.c++ ../../bin.v2/libs/test/test/assertion-construction-test.test/gcc-8/debug/cxxstd-14-iso/visibility-hidden/writing-test-ts/assertion-construction-test.o...

looks like there's still an issue in here but maybe different.

For MSVC and C++17 modes:
compile-c-c++ bin.v2\libs\test\example\unit_test_example_12.test\msvc-14.1\release\address-model-64\cxxstd-latest-iso\threading-multi\unit_test_example_12.obj
unit_test_example_12.cpp
libs\test\example\unit_test_example_12.cpp(68): error C2039: 'bind1st': is not a member of 'std'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\map(20): note: see declaration of 'std'
libs\test\example\unit_test_example_12.cpp(61): note: while compiling class template member function 'unsigned long hash_function<4>::operator ()(const std::string &)'
libs\test\example\unit_test_example_12.cpp(128): note: see reference to function template instantiation 'unsigned long hash_function<4>::operator ()(const std::string &)' being compiled
libs\test\example\unit_test_example_12.cpp(138): note: see reference to class template instantiation 'hash_function<4>' being compiled
.\boost/bind/placeholders.hpp(54): note: see reference to class template instantiation 'boost::arg<9>' being compiled
.\boost/bind/placeholders.hpp(53): note: see reference to class template instantiation 'boost::arg<8>' being compiled
.\boost/bind/placeholders.hpp(52): note: see reference to class template instantiation 'boost::arg<7>' being compiled
.\boost/bind/placeholders.hpp(51): note: see reference to class template instantiation 'boost::arg<6>' being compiled
.\boost/bind/placeholders.hpp(50): note: see reference to class template instantiation 'boost::arg<5>' being compiled
.\boost/bind/placeholders.hpp(49): note: see reference to class template instantiation 'boost::arg<4>' being compiled
.\boost/bind/placeholders.hpp(48): note: see reference to class template instantiation 'boost::arg<3>' being compiled
.\boost/bind/placeholders.hpp(47): note: see reference to class template instantiation 'boost::arg<2>' being compiled
.\boost/bind/placeholders.hpp(46): note: see reference to class template instantiation 'boost::arg<1>' being compiled
    call "bin.v2\standalone\msvc\msvc-14.1\address-model-64\architecture-x86\msvc-setup.bat"  >nul
 cl /Zm800 -nologo @"bin.v2\libs\test\example\unit_test_example_12.test\msvc-14.1\release\address-model-64\cxxstd-latest-iso\threading-multi\unit_test_example_12.obj.rsp"
...failed compile-c-c++ bin.v2\libs\test\example\unit_test_example_12.test\msvc-14.1\release\address-model-64\cxxstd-latest-iso\threading-multi\unit_test_example_12.obj...

When you have something else to test let me know and I can run it again with a reduced set of build matrices that might actually complete.  If we get it all working I will submit a PR into Boost.Test.

Thanks for checking this. The branch I am pointing to you is green on my CI (gcc5 c++03/c++11, apple clang Xcode 8 c++03/c++11 and VS 2008,12,13 and 17). I do not have any sanitizer activated because I do not know how to set this up :) I will follow your command line soonish.
From the logs https://travis-ci.org/jeking3/test/jobs/453094905, I can see very strange things:
====== BEGIN OUTPUT ======
../../boost/test/impl/unit_test_log.ipp:451:134: runtime error: member call on address 0x7fff9c276b00 which does not point to an object of type 'lazy_ostream'
0x7fff9c276b00: note: object is of type 'boost::unit_test::lazy_ostream_impl<boost::unit_test::lazy_ostream, boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const> const&>'
 b0 7f 00 00  e0 ec 40 00 00 00 00 00  00 c1 40 00 00 00 00 00  70 51 41 00 00 00 00 00  c0 6a 27 9c

while the definition is class lazy_ostream_impl : public lazy_ostream and the access raising the error is a ref on lazy_ostream.  So I do not understand.
There are also other things about the exceptions that are not being caught by boost.test and which I do not understand neither:
====== BEGIN OUTPUT ======
Running 1 test case...
../../libs/test/example/unit_test_example_02.cpp(20): error: in "free_test_function": check 2 == 1 has failed
../../libs/test/example/unit_test_example_02.cpp:25:5: runtime error: load of misaligned address 0x000000000001 for type 'int', which requires 4 byte alignment
0x000000000001: note: pointer points here
<memory cannot be printed>
    #0 0x406912 in free_test_function() ../../libs/test/example/unit_test_example_02.cpp:25
    #1 0x409871 in boost::detail::function::void_function_invoker<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (/home/travis/build/jeking3/boost-root/bin.v2/libs/test/example/unit_test_example_02.test/gcc-8/debug/cxxstd-03-iso/visibility-hidden/unit_test_example_02+0x409871)
    #2 0x4364cd in boost::function0<void>::operator()() const ../../boost/function/function_template.hpp:829
    #3 0x5df84a in boost::detail::forward::operator()() ../../boost/test/impl/execution_monitor.ipp:1312
    #4 0x5e61b0 in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) ../../boost/function/function_template.hpp:172
    #5 0x5e3f65 in boost::function0<int>::operator()() const ../../boost/function/function_template.hpp:829
    #6 0x5e1550 in int boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()> >(boost::shared_ptr<boost::detail::translator_holder_base> const&, boost::function<int ()> const&) ../../boost/test/impl/execution_monitor.ipp:286
    #7 0x5d7a18 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) ../../boost/test/impl/execution_monitor.ipp:875
    #8 0x5d7f08 in boost::execution_monitor::execute(boost::function<int ()> const&) ../../boost/test/impl/execution_monitor.ipp:1214

I am not running the tests in the example folder, which explains why I am not seeing the VS errors.
I am also activating all the warnings as errors for the library but not for the tests themselves (too much work to fix them all), which may explain why you have so many failures. The warnings should be silenced by specific headers for the library itself, problem is that compilers may have different set of warnings that are not covered. This is a recent change,
Something like
/usr/include/c++/8/bits/stl_tree.h:452:21: error: static assertion failed: comparison object must be invocable with two arguments of key type
       static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

is I believe a compiler issue, see https://github.com/boostorg/test/issues/152 .
Do you have other tests environment where the UBsan issue was visible? Otherwise I will configure/run it on my side when I have time.

I fixed up the examples Jamfile - it was forcing C++11 mode (unnecessarily as most examples are fine in C++03) and was forcing both shared and static linking.  For a good CI build it is better to omit things that won't work, so for example instead of forcing static linking, use <link>shared:<build>no to prevent that target from building when the top level build is link=shared.  Instead of forcing all the examples to build with -std=c++11 for gcc (as the Jamfile did), it is better to add requirements checks to the tests that need them, and that way they will be skipped for C++03 builds, and when the CI top level build asks for a C++17 build, it won't get forced to C++11 mode.

I ran the change through CI and I did not see the issues I originally reported, so I would say the issue was resolved by the changes.

Solved via 1f88919c6b7bf30b75c3bd20025c3b64e7420f19 and 1e38868908fa995f984f70771ad0da2ea5bc08e1


Migrade from github.com/golang/protobuf to google.golang.org/protobuf

Fix #28
In this PR, I changed from github.com/golang/protobuf to google.golang.org/protobuf, because github.com/golang/protobuf would be deprecated in the future.
Change
・Upgrade golang:1.20:
Dedicated.Dockerfile, Director.Dockerfile, Frontend.Dockerfile, Mmf.Dockerfile ,Dockerfile.build-protos
・Re-generate automatically by protoc:
game/pb/messages.pb.go
・Migrade from github.com/golang/protobuf to google.golang.org/protobuf:
game/game.go, game/protostream/protostream.go, Dockerfile.build-protos
・Refactor for more readable
build_protos.sh

I tested on my GKE cluster and it looked good


Alpha version in npm

Would you provide the alpha version to npm? this way I can automate the fix for multiples grids.
Thanks for advance.

@glb-eibermanm Thanks for using the grid. You can use https://docs.npmjs.com/files/package.json#git-urls-as-dependencies to specify a particular branch in your package.json

Maybe Im doing something wrong but this is not working for me:
npm install git://github.com/openfin/fin-hypergrid.git#alpha
What its missing?

Try npm install openfin/fin-hypergrid#alpha


Add a collect method to collect all distinct instances of a component

This is the first step towards a more full-featured query API.

fixed with #28


Build with dotnet

cc @pranavkm @BrennanConroy

Looks good, wait for travis/appveyor

:watch:

Updated

:shipit:


Blockchain-agnostic Inputs

📚 Context
Currently, an input is composed of two parts: the input data and the input metadata. The latter includes: the block number and timestamp, the address of whoever sent the input, and the index of the input in the input box.
This, however, exposes to the Cartesi Machine information that is completely EVM-specific, while the Cartesi Machine should be blockchain-agnostic.
✔ Solution
Following the zen of #42, we would like inputs to also be self-contained blobs.
Input payloads are already blobs. So, what we would like to do is ABI-encode the input metadata along with the payload and call it the input blob itself. The hash of this blob will, therefore, constitute as the input hash, which will play a role in arbitration.
Looking far into the future, the Cartesi Machine could be fed with inputs from blockchains other than Ethereum, or we might want to change the blockchain metadata schema. We should, therefore, be able to encode different blockchain metadata and know how to decode it just from a simple inspection of the input blob.
Such type of encoding is possible with the abi.encodeWithSignature function, which will also be used to encode outputs. Decoding inputs that are encoded in this way should be straightforward, given that you can identify the input format just by looking at the first four bytes of the blob, which constitutes the function selector in Solidity terms.
:memo: Specification
The input metadata is currently composed of the following fields:

address sender: the address of the input sender
uint256 blockNumber: The number of the block in which the input was added
uint256 blockTimestamp: The timestamp of the block in which the input was added (in UNIX epoch format)
uint256 index: The index of the input (in relation to all inputs ever sent to the DApp)

If we are going to use abi.encodeWithSignature, we need to decide on the function name that clearly describes the type of input blob. Since this input is coming from an EVM-compatible blockchain, we might call it EvmInput or EVMInput (depending on whether you like to keep acronyms capitalized in PascalCase). I would generally go for EVMInput, but I think EvmInput looks better. The encoding would look something like the following.
function encodeEvmInput(
    address sender,
    uint256 blockNumber,
    uint256 blockTimestamp,
    uint256 index,
    bytes calldata payload
) internal pure returns (bytes memory) {
    return abi.encodeWithSignature(
        "EvmInput(address,uint256,uint256,uint256,bytes)",
        sender,
        blockNumber,
        blockTimestamp,
        index,
        payload
    );
}

I don't fully understand this issue probably because I haven't understood the details of how CM synchronizes inputs with inputs on blockchain. My question is, is this abi.encodeWithSignature the most straightforward solution, or CM can differentiate inputs from different blockchains based on, for example, rpc links?

My question is, is this abi.encodeWithSignature the most straightforward solution, or CM can differentiate inputs from different blockchains based on, for example, rpc links?

I don't know. Are RPC immutable? Can there be multiple RPC links for the same network?

Should we have something for inspect as well?
There is no "metadata" associated with it.

Ok, let's rename EvmInput to EvmAdvance, because it less ambiguous from the point-of-view of the machine.

Taking into consideration #144 and #145, the new signature should be:
function EvmAdvance(
    address sender,
    address dapp,
    uint256 chainId,
    uint256 blockNumber,
    uint256 blockTimestamp,
    uint256 index,
    bytes calldata payload
) external;

block.prevrandao (uint) was also discussed. I think its a cool idea so its possible to have some reproducible random number generator available to the DApp.

I think its a cool idea so its possible to have some reproducible random number generator available to the DApp.

I think @augustoteixeira could help us assess the quality of this RNG for DApps.

I think the discussion of the quality of the RNG is super interesting and important, but since it comes from the EVM directly I see no issues in providing it to the DApp and each developer can choose if the randomness is good enough.
Maybe a game that just need some simple randomness without security concerns can use this out of the box.

Maybe a game that just need some simple randomness without security concerns can use this out of the box.

My fear is that inattentive DApp developers may use block.prevrandao indiscriminately, without considering that users can wait until this value is favourable to add an input.

I see this problem. But I think a line in the documentation should be enough warning. DApps already depend a lot on developer competency and carefulness and it being a DApp chain it does not affect other DApps.
@felipefg was the one that suggested in Discord, so maybe its a demand from the prototype unit. I want to tag them here but I cant.


Chainer 1.21.0: mnist example raises AttributeError: 'PlotReport' object has no attribute '_file_name'

I ran an example code train_mnist.py without matplotlib and got AttributeError.

create Anaconda environment
$ conda create -n testenv python=2.7

Fetching package metadata .......
Solving package specifications: ..........
Using Anaconda Cloud api site https://api.anaconda.org

The following NEW packages will be INSTALLED:

    openssl:    1.0.2k-0
    pip:        9.0.1-py27_1
    python:     2.7.13-0
    readline:   6.2-2
    setuptools: 27.2.0-py27_0
    sqlite:     3.13.0-0
    tk:         8.5.18-0
    wheel:      0.29.0-py27_0
    zlib:       1.2.8-3

install chainer with pip
$ pip install chainer

clone Chainer repository
$ git clone https://github.com/pfnet/chainer.git
$ cd chainer
$ git log

commit 6d2855c85c86cf655e7b87991ac353fa9f8d7603
Merge: 5f18ac0 10fb6ed
Author: Ryosuke Okuta<EMAIL_ADDRESS>Date:   Wed Feb 15 10:18:25 2017 +0900

    Merge pull request #2273 from yuyu2172/missing-docs

    Include space2depth and depth2space to docs

run mnist example
$ cd examples/mnist/
$ python train_mnist.py -g 0

got error

GPU: 0
# unit: 1000
# Minibatch-size: 100
# epoch: 20

chainer/training/extensions/plot_report.py:27: UserWarning: matplotlib is not installed on your environment, so nothing will be plotted at this time. Please install matplotlib to plot figures.

  $ pip install matplotlib

  warnings.warn('matplotlib is not installed on your environment, '

Traceback (most recent call last):
  File "train_mnist.py", line 115, in <module>
    main()
  File "train_mnist.py", line 112, in main
    trainer.run()
  File "<secret>/python2.7/site-packages/chainer/training/trainer.py", line 298, in run
    entry.extension(self)
  File "<secret>/python2.7/site-packages/chainer/training/extensions/_snapshot.py", line 78, in snapshot
    _snapshot_object(trainer, trainer, filename.format(trainer), savefun)
  File "<secret>/python2.7/site-packages/chainer/training/extensions/_snapshot.py", line 88, in _snapshot_object
    savefun(tmppath, target)
  File "<secret>/python2.7/site-packages/chainer/serializers/npz.py", line 67, in save_npz
    s.save(obj)
  File "<secret>/python2.7/site-packages/chainer/serializer.py", line 69, in save
    obj.serialize(self)
  File "<secret>/python2.7/site-packages/chainer/training/trainer.py", line 318, in serialize
    entry.extension.serialize(s[name])
  File "<secret>/python2.7/site-packages/chainer/training/extensions/plot_report.py", line 150, in serialize
    serializer('_plot_{}'.format(self._file_name),
AttributeError: 'PlotReport' object has no attribute '_file_name'

@ISP-Tetsuro-Kitajima Thank you for reporting this issue! I'm trying to fix this here: #2277


added ddos script

PR Title
Simple DDOS script in python
Summary
summary...
a simple script that sends multiple http requests to a URL
Description
Sends many http requests in specified amount of time with option to change the method
The changes are as follows:
Added the folder Simple DDOS/
Thank You,
Vanshaj

README.md added for the individual script, and README of the repository updated lexicographically to accomodate addition of new script.

Thank you for the opportunity to contribute!


Update documentation to reflect introduction of Framework project

and move of Application class

Wasn't this done with #114?

I was wondering as well. I suppose we can close that one then.


Uncaught TypeError: Cannot read property 'length' of undefined

[Enter steps to reproduce below:]
I cannot reproduce it any more. I was playing with vim-mode and markdown-preview and updated to the latest Atom (now 0.179.0) and vim-mode (now 0.31.0). Maybe it was related to some inconsistent state caused by upgrading atom or the vim-mode package.
What I remember:

open markdown file and open markdown-preview
Now I have problems navigating in the text (not reacting to vim movement commands)
Close and reopen the markdown file
Now I could move again, but could not move to the last lines with vim commands
Clicking into the last line, the cursor got moved
Using vim movement commands to move within that line (h,l) triggered the exception

I hope the stack trace still helps to find some bugs :-)
Atom Version: 0.179.0
System: Mac OS X 10.10.2
Thrown From: vim-mode package, v0.31.0
Stack Trace
Uncaught TypeError: Cannot read property 'length' of undefined
At /Users/martin/.atom/packages/vim-mode/lib/motions/general-motions.coffee:102

TypeError: Cannot read property 'length' of undefined
  at /Users/martin/.atom/packages/vim-mode/lib/motions/general-motions.coffee:102:15
  at Object._.times (/Users/martin/.atom/packages/vim-mode/node_modules/underscore-plus/node_modules/underscore/underscore.js:1119:53)
  at MoveRight.execute (/Users/martin/.atom/packages/vim-mode/lib/motions/general-motions.coffee:103:5)
  at VimState.module.exports.VimState.processOpStack (/Users/martin/.atom/packages/vim-mode/lib/vim-state.coffee:148:15)
  at VimState.module.exports.VimState.pushOperations (/Users/martin/.atom/packages/vim-mode/lib/vim-state.coffee:141:35)
  at atom-text-editor.commands.(anonymous function) (/Users/martin/.atom/packages/vim-mode/lib/vim-state.coffee:136:34)
  at atom-text-editor.handler (/Applications/Atom.app/Contents/Resources/app/src/space-pen-extensions.js:115:32)
  at atom-text-editor.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4681:9)
  at atom-text-editor.elemData.handle (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4359:46)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:243:29)
  at /Applications/Atom.app/Contents/Resources/app/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:558:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:396:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:172:20)

Commands
 14x -0:15.7 vim-mode:move-down (atom-text-editor.editor.vim-mode.command-mode.is-focused)
     -0:09.5 vim-mode:move-up (atom-text-editor.editor.vim-mode.command-mode.is-focused)
  3x -0:09.1 vim-mode:move-down (atom-text-editor.editor.vim-mode.command-mode.is-focused)
  3x -0:08.3 vim-mode:move-up (atom-text-editor.editor.vim-mode.command-mode.is-focused)
  3x -0:07.6 vim-mode:move-down (atom-text-editor.editor.vim-mode.command-mode.is-focused)
 13x -0:06.9 vim-mode:move-up (atom-text-editor.editor.vim-mode.command-mode.is-focused)
 16x -0:05.2 vim-mode:move-down (atom-text-editor.editor.vim-mode.command-mode.is-focused)
  3x -0:01.3 vim-mode:move-right (atom-text-editor.editor.vim-mode.command-mode.is-focused)

Config
{
  "core": {
    "themes": [
      "atom-light-ui",
      "atom-light-syntax"
    ],
    "disabledPackages": [
      "metrics"
    ]
  },
  "vim-mode": {}
}

Installed Packages
# User
linter, v0.11.1
minimap, v4.1.4
vim-mode, v0.31.0

# Dev
No dev packages

Hello. I am able to reproduce this error in the following way.
Open a new file.
add a new line.
add a new line. add a closing bracket or paren ) }
move key cursor to bracket/paren.
enter normal mode.
hit parentheses (bracket matcher).
Error occurs.
Seems this error occurs only when there is an unmatched closing bracket and a new line at the beginning of the file.
I have forked the repo and added a fix. Open for review here:
https://github.com/atom/vim-mode/pull/848

As stated in the README, this package is no longer maintained and is deprecated. We recommend that people use the vim-mode-plus package instead. Because of this, we are archiving this repository and closing all issues and pull requests. Thanks very much for your support and contributions!


"Access to a private link resoruce using approval workflow" displays incorrect permission format to approve private links

On the documentation page "What is Azure Private Endpoint?" the section "Access to a private link resource using approval workflow" lists the permission required for automatically approving private links as:
Microsoft./<resource_type>/privateEndpointConnectionApproval/action\
However according to: Azure resource provider operations the correct access is actually:
Microsoft./<resource_type>/privateEndpointConnectionsApproval/action.
The private endpoint page is missing the "s" on the end of Connection.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b006a616-2f2f-8ecf-8b80-fd0a3cc62090
Version Independent ID: 92c54dc6-8ddf-b1f7-4a58-d61b8cd7fe25
Content: What is an Azure Private Endpoint?
Content Source: articles/private-link/private-endpoint-overview.md
Service: private-link
GitHub Login: @malopMSFT
Microsoft Alias: allensu

@crawfs , thank you for your feedback. We'll review this and get back to you shortly!

@crawfs , I have updated the doc with the correct permission format. It will reflect soon.
We are closing this issue for now. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


4/23/18 Webinar Listing Changes

Updates to webinar listing page made on 4/23.

#sign-off

@mackenzielyng : Thanks for your contribution! The author, @audrieMSFT, has been notified to review your proposed change.

#sign-off

@mackenzielyng : Thanks for your contribution! The author, @audrieMSFT, has been notified to review your proposed change.

#sign-off

@audrieMSFT This content is already live. If we need a change, @mackenzielyng needs to create another PR.

ok just leave the typo then - it's not serious.


Runtime traces generationusing Dotnet Monitor

Hi all,
   I installed dotnet monitor through your documentation and started dotnet monitor collect query to start the service .

Now I am running .net application from visual studio I am running this application but not generating traces,logs metrics for this application at runtime
And I tried with the localhost:52323,localhost:5232/traces and also 52325  if I am trying using these ports than showing this localhost can't be host..
Can u help me on this .

Hi @hoyosjs
Can u help me on this issue while running this application I am able to get the running application process I'd but I am not able get the traces metrics logs ...
If I am trying to /trace/pid or logs/pid I am getting this localhost page can't be found
In my console showing like this...

Please don't at specific people. While hoyosjs is knowledgeable about dotnet-monitor, he might not know how to specifically help.
The error from your picture describes the problem: "System.InvalidOperationException: No default process configuration has been set". If you read the /trace route documentation, it describes the behavior when you do not specify a process in the route; it falls back to the configured default process. Since the default process was not configured, it fails the HTTP request.
You either need to configure the default process or specify a process as part of the route e.g. /trace?pid=12345.

@jander-msft  tq for your help working fyn now
And but traces will be after stoping the running machine only able to stop or at runtime may I able to stop because after stopping the running application it will take 1-2 mins to complete the traces file download.

@jander-msft  tq for your help working fyn now
And but traces will be after stoping the running application only able to see the traces file or  may I able to stop the traces file because after stopping the running application it will take 1-2 mins to complete the traces file download.

I think what you are observing is the rundown information being sent at the end of the trace. This information is useful for symbolicating stack frames that are associated with individual events. If you don't need that information and only need the information found in the events themselves, then you can disable rundown in your traces. You'll need to use this HTTP route with the POST method to do that: documentation/api/trace-custom.md


initial commit about-us page

mobile view only and i used vanilla css

Dear Andrew, your pull request has been received.
Please hang tight while we make a review of your codebase and revert.
Thanks!


chore: Add 72 font

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #136
Test URLs:

Before: https://main--hlx-test--urfuwo.hlx.live/blog/2023/11/idc-marketscape-sap-a-leader-cloud-enabled-sourcing-applications

After: https://fonts2--hlx-test--urfuwo.hlx.live/blog/2023/11/idc-marketscape-sap-a-leader-cloud-enabled-sourcing-applications

[ ] New Blocks introduced in this PR
If yes, please provide details below

Block Name
Documentation
Library Link

social
doc-link
Library Link

[ ] New variations introduced in this PR

Variation Name
Documentation

For e.g. hero (light)
doc-link

Do we need both, the woff and the woff2 versions (not that I think it does harm necessarily but I thought woff2 is pretty well supported by now)?


Codeanywhere: Unfortunately, an unexpected error occurred, and Bundler cannot continue.

Errno::EDQUOT: Disk quota exceeded @ rb_sysopen -<EMAIL_ADDRESS>Cannot run bundle install or bundle update
Unfortunately, an unexpected error occurred, and Bundler cannot continue.

Hi it seems like this is an error not related to Bundler, see Errno::EDQUOT Disk quota exceeded. I suggest checking your filesystem has enough space available for Bundler.


action_jsmodify using depreciated method

					$mentions = new Mentions_Controller();
					$mentions->setData(array(
						'id_member' => $actually_mentioned,
						'type' => 'men',
						'id_msg' => $row['id_msg'],
						'status' => $row['approved'] ? 'new' : 'unapproved',
					));
					$mentions->action_add();

The main issues are mentions controller can't be initialized like that as it wants the event manager passed as well, then data and action_add are depreciated anyway.  Not yet familiar with the new notifications so not sure how to proceed.

The super-easy fix is just to add a default null value:
public function __construct($eventManager = null)

Since if it is null an even manager is set up but the abstract action_controller class.
With the new notifications... it should be something like:
$notifier = Notifications::getInstance();
$notifier->add(new Notifications_Task(
	'Mentionmem',
	$row['id_msg'],
	$user_info['id'],
	array('id_members' => array($actually_mentioned), 'status' => $row['approved'] ? 'new' : 'unapproved')
));

... I hope. :laughing:

What I wrote above is not entirely correct, $user_info['id'] should be $row['id_member'].
https://github.com/elkarte/Elkarte/blob/1455f4471a2e6ca8ee1e03734263a3607bcae440/sources/subs/MentionType/MentionmemMention.php#L146

I'll make the update in the next PR :dancer:

c70c79235d7682e4e65ed1c14235e546227a88e9


json-file, unable to save file on a windows system

Cookbook version
2.3.0
Chef-client version
12.16.2
Platform Details
Windows 2012 R2
Scenario:
Trying to save the compliance report to disk using the json-file collector
Steps to Reproduce:
{
  "audit": {
    "collector": [
      "chef-server",
      "json-file"
    ],....

Expected Result:
should write the file
Actual Result:
Client run errors and no file is written to disk
[2016-12-02T12:07:44+00:00] WARN: Writing report to file.
[2016-12-02T12:07:44+00:00] WARN: Filename is c:/chef/cache/cookbooks/audit/inspec-2016-12-02_12:07:44_UTC.json
[2016-12-02T12:07:44+00:00] ERROR: Report handler Chef::Handler::AuditReport raised #<Errno::EINVAL: Invalid argument @rb_sysopen - c:/chef/cache/cookbooks/audit/inspec-2016-12-02_12:07:44_UTC.json>

@username-is-already-taken2 Great finding. A colon is an invalid character for a windows file name. We need to change the way the filename is generated

I propose we use Time.now.strftime('%Y%m%d%H%M%S') instead of Time.now.utc.to_s.tr(' ', '_')
Here: https://github.com/chef-cookbooks/audit/blob/5628f4ec5883fb35c5f42111b7c071f5c3ae6f01/spec/unit/libraries/json_file_spec.rb#L12
This will result in a more sort friendly file name, for example:
irb(main):022:0> "inspec-#{Time.now.strftime('%Y%m%d%H%M%S')}.json"
=> "inspec-20161202222307.json"
irb(main):023:0>

#177 fixed that issue. @username-is-already-taken2 let us know if the issue continues to persist


Add uniqueness constraint on submissions

Form ID + instance ID should uniquely identify submissions. I think we just need to add a uniqueness constraint on the existing index...

This is semantically true, but will it actually be true in the database? When we add editable submissions, will the instanceId of the edit be different, or will we have some sort of version increment? If the former, how do we relate those records together?
Or will we edit in place? (I am queasy about that.)

What you're saying sounds like it intersects with stories 5.07a (update a submission via web interface) and 5.23 (record submission action audit log). I'm not sure how we'll store that log or whether we'd store each submission update as a separate version of the submission. (For example, one way we could end up going is to store the latest version of the submission in the submissions table, then the log of changes elsewhere. I think this is how the paper_trail Ruby gem implements it.) With that in mind, since submission edits are down the road (they aren't a "must"), I think we need a solution for now so that duplicate submissions aren't saved to the database. One option might be to add a simple database constraint for now, then rethink it once we get to those two stories.

Database constraints are extraordinarily hard to walk back. We can't punt this solution.

What makes a database constraint hard to walk back? I'd definitely also be happy with another solution. Would you recommend checking for duplicates in the JavaScript instead?

No, constraints should always be enforced by the database. But you should set them up correctly from the beginning, or else you're going to have a zoo of different conflicting user databases which may or may not conform with the new constraint you wish to inject.

It sounds to me like three different implementations of 5.07a/5.23 are currently on the table, and at least so far, all of them seem consistent with adding a constraint on formId, instanceId for now:

The first option is that submission updates are stored as new rows of the submissions table with a new instance ID and maybe a link to the previous version of the submission. formId, instanceId would uniquely identify rows.
The second option is that submission updates are stored as new rows of the submissions table with the same instance ID but with an incremental version (say this is stored on a version column). formId, instanceId, version would uniquely identify rows. This would be consistent with adding a constraint on formId, instanceId now, because when we'd add submission versions for the first time, all existing rows would have version = 1.
The third option is that submission updates update existing rows of the submissions table in place, but a log of the changes are stored elsewhere (this is what the paper_trail Ruby gem does). formId, instanceId would uniquely identify rows.

I'm thinking that if we add a constraint on formId, instanceId now, it would protect against duplicates, and it seems like it would be consistent with whatever implementation we choose for 5.07a/5.23.
Do you think there's a better solution for v1 to prevent duplicate submissions? Or do you think we should move up the timeline for 5.07a/5.23, make them "musts," and decide how to implement them now?

@clint-tseng I agree it's really hard/impossible/a bad idea to ADD constraints but I think it's harmless to remove them?
This is not necessarily related to the DB structure but just so you know, ODK XForms has a mechanism for updating instances and it is most similar to @matthew-white's 2 above. Search for deprecatedID here.

Well, what I am concerned about is not knowing the constraints we will
eventually will have. But we can punt if nobody else is worried.
On Mon, Nov 20, 2017 at 17:41 Hélène Martin<EMAIL_ADDRESS>wrote:

@clint-tseng https://github.com/clint-tseng I agree it's really
hard/impossible/a bad idea to ADD constraints but I think it's harmless to
remove them?
This is not necessarily related to the DB structure but just so you know,
ODK XForms has a mechanism for updating instances and it is most similar to
@matthew-white https://github.com/matthew-white's 2 above. Search for
deprecatedID here https://opendatakit.github.io/xforms-spec/#metadata.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nafundi/jubilant-garbanzo/issues/18#issuecomment-345889048,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHMAun4aBV-31LPKNrEyytx94IPxvNPks5s4ipfgaJpZM4P6DP6
.

I would lean to punting on 5.07a/5.23 and for now adding a constraint on formId, submissionId, if folks are comfortable with that.

I will note that is possible and often necessary to consider future tasks without upgrading their priority or working on them immediately. I am queasy about ignoring this and applying the constraint but cannot identify the exact problem, so I'll just apply the constraint.

@clint-tseng, this was implemented in https://github.com/nafundi/jubilant-garbanzo/pull/39, right?


Invalid data structure for example

The columns in table1 appear to have changed.  I pasted the query into power BI but all values were errros.  I checked the query against the structure of table1 and the columns in the query are not in the table.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: f510cb29-4222-72f8-ff8e-58553c856234
Version Independent ID: cbde387d-8cbc-50ed-5665-54985b9ebcc1
Content: Tutorial: Shape and combine data in Power BI Desktop - Power BI
Content Source: powerbi-docs/connect-data/desktop-shape-and-combine-data.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @jamilscott. This issue has been assigned to the doc author for review.

Sorry you're having trouble with this, we've tested these steps and they work properly in our tests.


Add detection for the generator (stairs waterlogged)

Add detection for the generator (stairs waterlogged)

The miner minion does not detect this type of generator

Support for this was added really early on in like 1.0.2, but on this screenshot it seems like your minion does not have a tool, couldn't that be the issue?

Oh sorry, you're right.


Update nebula-storaged.conf.production

更改默认配置<IP_ADDRESS>

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Please refer to #229
This is deliberately changed in pr 229.

So could you close this PR? Anyway, thank you for your contribution.

So could you close this PR? Anyway, thank you for your contribution.

关了吧，你们whitewum叫我提交的

So could you close this PR? Anyway, thank you for your contribution.

关了吧，你们whitewum叫我提交的

Aha, I don't know about your previous agreement with @whitewum. If it is purposeful, please reopen it.

So could you close this PR? Anyway, thank you for your contribution.

关了吧，你们whitewum叫我提交的

Aha, I don't know about your previous agreement with @whitewum. If it is purposeful, please reopen it.


PHP Tests: Test against PHP 8.1

See #8520
Fixes #9217

This is really great that are tests, just work!

There's lots of warnings though, but yeah it's great.

There are now only a handful of deprecation messages left, which come from WP core:
https://github.com/google/web-stories-wp/runs/4336028931?check_suite_focus=true#step:15:77
One is about passing null to untrailingslashit, the other is about using WP_User and passing null there


fix: rm fetch metadata during loading kcl.mod

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[ ] Y

2. What is the scope of this PR (e.g. component or file name):

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[ ] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.2%) to 43.142%

Files with Coverage Reduction
New Missed Lines
%

pkg/client/client.go
2
56.82%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
2447

Relevant Lines:
5672

💛  - Coveralls


anonymous access

Is it possible to get post information, from a public page such as this:
https://www.instagram.com/p/CT-cnxGhvvO/
without login?

https://www.instagram.com/p/CT-cnxGhvvO/?__a=1
The problem with this endpoint is that it's heavily rate limited


Homekit bridge wont start

After i added more devices to homekit bridge, the plugin wont start anymore. i have tried to delete the device i added, but the problem is stil there. i have also tried to rebuild the homebridge folder.

mar. 2018, 19:29:56
Reloading plugin "HomeKit Bridge 0.18.0"
Stopping plugin "HomeKit Bridge 0.18.0" (pid 28796)
Stopped plugin "HomeKit Bridge 0.18.0"
Starting plugin "HomeKit Bridge 0.18.0" (pid 32374)
Started plugin "HomeKit Bridge 0.18.0"

mar. 2018, 19:30:59
HomeKit Bridge Error            HomeKit server 'Bod Kjeller - HomeKit Bridge' could not be started, please check the service logs for more information, now issuing a forced shutdown of the service to be safe.

link to the log: https://www.dropbox.com/s/6wn2kdbamddoa9x/plugin.log?dl=0

Please output the Homebridge log from the Advanced Plugin Actions menu so we can see what, if anything, HB is complaining about - but capture the log after you reload the plugin so we can see it clean.

mar. 2018, 21:01:02
Reloading plugin "HomeKit Bridge 0.18.0"
Stopping plugin "HomeKit Bridge 0.18.0" (pid 32374)
Stopped plugin "HomeKit Bridge 0.18.0"
Starting plugin "HomeKit Bridge 0.18.0" (pid 36826)
Started plugin "HomeKit Bridge 0.18.0"
HomeKit Bridge                  Attempting to start 'Bod Kjeller - HomeKit Bridge'

mar. 2018, 21:02:06
HomeKit Bridge Error            HomeKit server 'Bod Kjeller - HomeKit Bridge' could not be started, please check the service logs for more information, now issuing a forced shutdown of the service to be safe.
HomeKit Bridge                  Attempting to stop 'Bod Kjeller - HomeKit Bridge'
HomeKit Bridge                  HomeKit server 'Bod Kjeller - HomeKit Bridge' has been stopped
HomeKit Bridge                  HomeKit Bridge is loaded and ready to use

mar. 2018, 21:02:42
HomeKit Bridge Error            Exception in plugin.onAfter_btnAdvDeviceAction line 904: 'str' object has no attribute 'is_file'
CODE: if fullpath.is_file():

AGGGGGGGHHHHHHHHHHH.  There are a number of profane words I want to use right now.

okei..... what do you mean? ;D

Because of this:

HomeKit Bridge Error Exception in plugin.onAfter_btnAdvDeviceAction line 904: 'str' object has no attribute 'is_file'
CODE: if fullpath.is_file():

Is brand new code that I neglected to test, otherwise it would have spit out the log.

okei :D how can i get it to run again?

I have no idea what is preventing it from starting so until I see that log I can't tell you.  You could go to the prefs folder and into the sub-folder for your server ID and pull it manually.  Homebridge.log is what we need to see.

module.js:549
throw err;
^
Error: Cannot find module '/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/lib/cli'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object. (/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/EPS HomeKit Bridge.indigoPlugin/Contents/Server Plugin/bin/hb/node-v8.10.0-darwin-x64/bin/homebridge:17:1)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)

deleted the plugin and added it again solved the problem in indigo. the plugin is running. but when i open the home app on my iphone nothing is updating.

So it was a corrupted download.  I’m doing some final tests now on that character, right now I’ve gotten past that error and can see the device in HomeKit with that character so hopefully this will be it.

closed? its not working!!

the plugin is running but nothing gets updated in homekit

The issue you reported on THIS ticket is no longer applicable, correct?  It's starting up and you are now still dealing with issue #63 regarding the special character.  Or do you have yet a third problem that you know is unrelated to the special character issue?


How to cite goodvibe?

I will surely cite the underlying method but I'm not quite sure of what is a good way of citing goodvide.

Hi, there currently is not a publication on GoodVibes but you can cite this work using our Zenodo DOI: 10.5281/zenodo.3346166


MH-13444, Insecure Series Creation

This patch prevents users from being able to overwrite series metadata
by default when ingesting event data. Users can still enable this, if
they need this functionality.
In addition to this, Opencast will not any longer add anonymous access
to series if they are created as part of the event ingest.
Note that the behavior of both features is questionable and we may want
to remove this entirely in the future.

@karendolan, can you officially take the review for this pull request and merge it if there are no more issues?


Removed peerDependency on bsdoc

Added a script to install it on demand instead. Fixes #200.

Thanks!


Update OpenExr to 2.2.1

Update IlmBase and OpenEXR to v2.2.1

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: kichristensen sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the update, sorry for the delay!


F-18 Bug

Since the most recent geofs update to version 3.9, which added a default F-18, the livery selector badly bugs the new F-18. The flaps do not seem to work properly, and the physics are different with the extension in use versus when it is off.

That's a glitch, that's only affecting in some cases and it has nothing to
do with ls
On Tue, Nov 26, 2024, 18:27 Francis633 @.***> wrote:

Since the most recent geofs update to version 3.9, which added a default
F-18, the livery selector badly bugs the new F-18. The flaps do not seem to
work properly, and the physics are different with the extension in use
versus when it is off.
—
Reply to this email directly, view it on GitHub
https://github.com/kolos26/GEOFS-LiverySelector/issues/921, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ASSSWFUHPVTYNCEN62CJACD2CSVQ3AVCNFSM6AAAAABSQ7BPHWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGY4TKNJQGY2DMNQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Long Audios stopped to buffer

I was trying to play a audio of approx 15 mins. After 90% buffering its stopped to buffer and audio do not play. Your quick response will be appreciated.

This will help https://www.youtube.com/watch?v=IMQdSTlTXjA


adding support for JSON Schema 2019 & 2020

What this PR does / why we need it:
It adds support for json schema 2019 and 2020 as requested in https://github.com/helm/helm/issues/13069
Special notes for your reviewer:
the new json schema validator is only used when the chart explicitly wants to use it in $schema field, this means it will be backward-compatible with the existing chart that doesn't specify $schema field.
IMO, we cannot completely remove github.com/xeipuuv/gojsonschema, because some users might depend on its behavior when no $schema is specified

If applicable:

[ ] this PR contains user facing changes (the docs needed label should be applied if so)
[x] this PR contains unit tests
[x] this PR has been tested for backwards compatibility

The focus of this PR is just to introduce schema 2019 and 2020 only. By doing this, we will unblock the users.
We can improve it later if we want to remove github.com/xeipuuv/gojsonschema and fully depend on github.com/santhosh-tekuri/jsonschema, I just don't want this issue to become a blocker for introducing schema 2019/2020.

@win-t can you rebase?

@win-t can you rebase?

sure

One more comment, is we will need to update the docs (helm-www) to detail support for the new versions

here the PR for it https://github.com/helm/helm-www/pull/1642


xcversion list --all only listing "9 beta 6"

I just noticed this behavior today:
(14:41:45) CLI-4754:~ aso$ xcversion --version
2.2.0
(14:42:01) CLI-4754:~ aso$ xcversion cleanup
(14:42:10) CLI-4754:~ aso$ xcversion list --all --verbose
Please provide your Apple Developer Program account credentials
The login information you enter will be stored in your macOS Keychain
You can also pass the password using the FASTLANE_PASSWORD environment variable
More information about it on GitHub: https://github.com/fastlane/fastlane/tree/master/credentials_manager
Username: xxxxxxxxxxxxx
9 beta 6

Getting the exact same issue:
DiceUnity8:workspace buildagent$ xcversion list --all --verbose
/Library/Ruby/Gems/2.0.0/gems/fastimage-2.1.0/lib/fastimage.rb:67: warning: already initialized constant URI::DEFAULT_PARSER
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/common.rb:545: warning: previous definition of DEFAULT_PARSER was here
9 beta 6
DiceUnity8:workspace buildagent$ xcversion install '8.3.3'
/Library/Ruby/Gems/2.0.0/gems/fastimage-2.1.0/lib/fastimage.rb:67: warning: already initialized constant URI::DEFAULT_PARSER
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/uri/common.rb:545: warning: previous definition of DEFAULT_PARSER was here
[!] Version 8.3.3 doesn't exist.

I've been debugging this issue today and this is what I found so far:
[1] pry(#<XcodeInstall::Installer>)> step

From: /Users/.../fastlane/spaceship/lib/spaceship/portal/spaceship.rb @ line 92 Spaceship.login:

    91: def login(user = nil, password = nil)
 => 92:   Spaceship::Portal.login(user, password)
    93: end

[1] pry(Spaceship)> user
=> "..." # correct user
[2] pry(Spaceship)> password
=> "..." # correct password

That looks okay, but stepping inside...
[6] pry(#<Spaceship::PortalClient>)> whereami 10

From: /Users/bldadmin/Downloads/fastlane/spaceship/lib/spaceship/client.rb @ line 443 Spaceship::Client#send_shared_login_request:

    433:         # It's not enough to just modify @cookie, it needs to be done after self.cookie
    434:         # as a string operation
    435:         important_cookie = @cookie.store.entries.find { |a| a.name.include?("DES") }
    436:         if important_cookie
    437:           modified_cookie = self.cookie # returns a string of all cookies
    438:           unescaped_important_cookie = "#{important_cookie.name}=#{important_cookie.value}"
    439:           escaped_important_cookie = "#{important_cookie.name}=\"#{important_cookie.value}\""
    440:           modified_cookie.gsub!(unescaped_important_cookie, escaped_important_cookie)
    441:         end
    442:
 => 443:         response = request(:post) do |req|
    444:           req.url "https://idmsa.apple.com/appleauth/auth/signin"
    445:           req.body = data.to_json
    446:           req.headers['Content-Type'] = 'application/json'
    447:           req.headers['X-Requested-With'] = 'XMLHttpRequest'
    448:           req.headers['X-Apple-Widget-Key'] = self.itc_service_key
    449:           req.headers['Accept'] = 'application/json, text/javascript'
    450:           req.headers["Cookie"] = modified_cookie if modified_cookie
    451:         end
    452:       rescue UnauthorizedAccessError
    453:         raise InvalidUserCredentialsError.new, "Invalid username and password combination. Used '#{user}' as the username."

[7] pry(#<Spaceship::PortalClient>)> modified_cookie
=> nil
[8] pry(#<Spaceship::PortalClient>)> self.itc_service_key
=> "..." # Looks okay
[9] pry(#<Spaceship::PortalClient>)> data.to_json
=> "{\"accountName\":\"...\",\"password\":\"...\",\"rememberMe\":true}" # Data looks okay

Doing that request crashes the program, but I have no idea why. Everything looks fine. Also increasing the scope of the rescue statement doesn't change anything.


bug(postgres-cdc): Debezium cannot handle early timestamp

Describe the bug
With time.precision.mode=adaptive_time_microseconds,  Debezium's postgres cdc connector will convert early timestamp "0001-01-01 00:00:00" to  "0001-12-29 23:42:28 BC" Not sure the root cause. The timestamp close now are handled correctly.
Error message/log
No response
To Reproduce
No response
Expected behavior
No response
How did you deploy RisingWave?
No response
The version of RisingWave
No response
Additional context
No response

It is good findings, but I think the problem may not need to fix, the use case is very rare.

It is good findings, but I think the problem may not need to fix, the use case is very rare.
Let's at least note it down here.


Suggestion: Use Path Variables instead of placeholders in URL's

Hi,
This is a suggestion for every API call with a path parameter that might change from request to request (ex. SObject, Record Id, etc.). Currently, there are placeholders in every URL with this type of path parameter (ex. <SOBJECT_API_NAME>). This suggestion is to use path variables instead of placeholders (https://learning.postman.com/docs/sending-requests/requests/#sending-parameters)
Ex. Describe SObject Layouts Per Record Type
URL is as follows: {{_endpoint}}/services/data/v{{version}}/sobjects/<SOBJECT_API_NAME>/describe/layouts/<RECORD_TYPE_ID>
with this suggestion URL would be: {{_endpoint}}/services/data/v{{version}}/sobjects/:SOBJECT_API_NAME/describe/layouts/:RECORD_TYPE_ID

With suggestion, user would not have to directly the modify the URL to update the SOBJECT_API_NAME or RECORD_TYPE_ID and can use Path Variables in the "Params" tab of the request. Using this method, another benefit would be the ability to add a description for each path variable

Hi @cmatos23, thanks for reaching out, that's a great idea.
We'll work on it. I'll leave this issue open in the meantime.

Hi @cmatos23, we just implemented that and updated the collection.
Thanks again for the great idea.


⚠ Quirk Club Argentina (Payment Gateway) has degraded performance

In 5dd2fbb, Quirk Club Argentina (Payment Gateway) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/payment-gateway-ml) experienced degraded performance:

HTTP code: 200
Response time: 8698 ms

Resolved: Quirk Club Argentina (Payment Gateway) performance has improved in 47200e9.


test: migrate utils tests to vitest

Motivation
Consolidate the testing frameworks and migrate to vitest.
Description
Migrate utils and spec tests to vitest.
Steps to test or reproduce

Run all tests

That is clear but why choose value 5000ms?

Any value greater than the timeout value will have worked fine.

:tada: This PR is included in v1.14.0 :tada:


Fix missing setting button

AFTER

BEFORE

Thanks @ykris45
I ended up fixing this here https://github.com/lbryio/lbry-app/pull/1194
There were a few additional changes that needed to be made. @tzarebczan will send you some LBC since you still brought up this issue. Thanks!

@seanyesmunt you welcome my friend.. thanks for reference this PR to Another Isssues


Field 385/386 terms and codes

In fields 385 (Audience characteristics) and 386 (Creator/contributor characteristics), subfields m and n for the demographic group term and code, respectively, are converted in an identical manner.
bflc:demographicGroup [ a bflc:DemographicGroup ;
rdfs:label "385 subfield m" ],
[ a bflc:DemographicGroup ;
rdfs:label "385subfieldn" ]
bflc:demographicGroup [ a bflc:DemographicGroup ;
rdfs:label "386subfieldn" ],
[ a bflc:DemographicGroup ;
rdfs:label "386 subfield m" ]
Terms and codes have different uses, that is, terms are likely for human display and codes for machines.  Mixing terms and codes together as literals will force developers to do relatively complex and error-prone string matching to get what they need.  It would be better to differentiate terms and codes in some way.

Thanks for the suggestions - this whole conversion program revolves around complex string matching so I don't think that's a very good rationale to change how we deal with this particular field.
We match codes to URIs for lists in ID incl. the DemographicGroup list. We'll review how it deals with those codes & terms incl. the specifications which do have a note to use bf:code for the code value, not a label.


Reflection doesn't work

On my local this demo shows black spheres. http://jeromeetienne.github.io/threex.cubecamera/examples/demo.html
Works well on my friend's PC. I am using Chrome (Версія 40.0.2214.94 m). In console I see errors: [.WebGLRenderingContext]GL ERROR :GL_OUT_OF_MEMORY : glGenerateMipmap: <- error from previous GL command. Update: works in FF...

out of memory seems related to your specific system. no ?

Looks like. Following examples doesn't work in Chrome(but works in FireFox): examples/basic.html examples/demo.html, http://stemkoski.github.io/Three.js/Reflection.html. But examples/discoball.html works in Chrome well. I am using Windows 7, Chrome. Inter Core i5-2320, 8GB RAM, nvidia geforce 8800 gt. I'll try update drivers. I think for now make sense close this issue...


Telos Chain Integration

TELOS Chain Integration
Checklist

[✅ ] Create pull request as draft initially, unless its complete.
[ ✅] Add tests to cover changes as needed.
[ ✅] Update documentation as needed.
[ ✅] If there is a related Issue, mention it in the description.

If you're adding a new blockchain

[ ✅] I have read the guidelines for adding a new blockchain.

Is it EVM compatible? we will add custom network support to Trust app, so no need to add Evm chain to wallet core

Yes Telos is EVM compatible.

Can we have Telos EVM integrated in the drop down menu to make it easier for our users to be on the network?


Check user agent, and render unsupported browser if it's ie11

Checklist

[x] the contributor license agreement is signed
[ ] commit message follows commit guidelines
[ ] screenshots are included showing significant UI changes

Description of change

#1306
At the moment i am only checking the user agent string for "Trident", to determine if the browser is ie11. The styling has deliberately been kept very simple

Potential issues for discussion:

Should i also be checking for earlier versions of ie? i personally don't think it's worth it
Should the error messages be language stringed?

Another note, as discussed in the office; These strings should probably be in the language pack.

Looks good! Just one indentation tweak.
Also - what happens if you append ?old=true to the URL? Does it get through then?

Yep, appending old=true to the url will let them in

Just a note based on the formatting comments I'm seeing. Evidentially we don't have formatting for our Freemarker files. So you may want to simply load in IntelliJ and do the CTRL+ALT+l.

Just a note based on the formatting comments I'm seeing. Evidentially we don't have formatting for our Freemarker files. So you may want to simply load in IntelliJ and do the CTRL+ALT+l.

Yup, that's the key combo I used to format the ftl file. It's in the next commit

Woah! Hold on a sec, looks like you're request to merge essentially component to develop:

Woah! Hold on a sec, looks like you're request to merge essentially component to develop:

Yeah, that's bad :/ I will rectify ASAP


typo in the new endpoint

The api.loganalytics.io endpoint is being replaced by api.loganalytics.azure.

should it be api.loganalytics.azure.com instead?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 00ceee8d-f5ae-6d30-8a07-9f5def035fe7
Version Independent ID: ea531828-e26a-3c60-3b66-429ec06f895e
Content: API Access and Authentication - Azure Monitor
Content Source: articles/azure-monitor/logs/api/access-api.md
Service: azure-monitor
Sub-service: logs
GitHub Login: @AbbyMSFT
Microsoft Alias: abbyweisberg

@jeremymeng
Thanks for your feedback! We will investigate and update as appropriate.


"Send" button sometimes fails to send input

When using a program with "input" statements in Quorum Studio, using the Send button (or using Enter in the console) sometimes fails to send the input to the program. When this occurs, no errors are reported to the console. If this problem occurs, it seems to persist, even after restarting Quorum Studio. It seems inconsistent when it starts happening, though. The attached program triggered the problem for others, though I couldn't reproduce the problem on my own machine with the project.
Sound Project.zip

I have the same issue


[fastlane_core] fix package upload after two-step rescue.

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
After two-step login fails and is rescued with an app-specific password,
the upload is not correctly restarted when it was initially initiated
with a package_path.
This results in a failure:
app_id and dir are required or package_path is required

@googlebot I consent.


The customize cell after the first row fill color will cover a little of the top line of the cell

The customize cell after the first row fill color will cover a little of the top line of the cell.
#tablex(
  columns: 3,
  rows: auto,
  align: center + horizon,
  [1], [2], [3],
  [4], cellx(colspan:2, fill: rgb(82%, 90%, 100%), [5]),
  [7], [8], [9],
)

The first row couldn't
#tablex(
  columns: 3,
  rows: auto,
  align: center + horizon,
  [1], [2], cellx(fill: red, [3]),
  [4], cellx(fill: blue, [5]), [6],
  [7], [8], [9],
)

Duplicate of #4.


[FEAT]: BAMF nnUNet Breast MR Model

@LennyN95 , @fedorov : Hey guys, we would like to add the Breast, FGT, and breast tumor segmentation model container to MHub. Can you please make an entry to SegDB for breast segmentation relation ROIs?
BREAST
FGT
BREAST_TUMOR

@LennyN95 , it looks like MHubIO only support nnUNet-v1 models at the moment? I am referring to this code here: https://github.com/MHubAI/mhubio/blob/main/mhubio/modules/runner/NNUnetRunner.py#L21
The breast segmentation model was trained on nNUNet-v2. Let me know how to proceed with this. cc. @vanossj

Hi @rahul99, this sounds like an interesting model and another great addition to the MHub model repository!

Can you prepare a DCMQI style JSON or provide the codes in an alternative format? I'll then add them to our SegDB. I assume we only need to add BREAST and FGT, you then can use BREAST+TUMOR for the breast neoplasm.
Our internal NNUnetRunner, indeed, is based on the v1. I have a v2 version in the works. However, you can implement the model and provide your own NNUnetV2Runner.

{
  "ContentCreatorName": "BAMFHealth^AI",
  "ClinicalTrialSeriesID": "Session1",
  "ClinicalTrialTimePointID": "1",
  "SeriesDescription": "AIMI breast-tumor AI segmentation",
  "SeriesNumber": "300",
  "InstanceNumber": "1",
  "BodyPartExamined": "BREAST",
  "segmentAttributes": [
    [
      {
        "labelID": 1,
        "SegmentDescription": "Breast",
        "SegmentAlgorithmType": "AUTOMATIC",
        "SegmentAlgorithmName": "BAMF-Breast-Tumor-MRI",
        "SegmentedPropertyCategoryCodeSequence": {
          "CodeValue": "123037004",
          "CodingSchemeDesignator": "SCT",
          "CodeMeaning": "Anatomical Structure"
        },
        "SegmentedPropertyTypeCodeSequence": {
          "CodeValue": "76752008",
          "CodingSchemeDesignator": "SCT",
          "CodeMeaning": "Breast"
        },
        "recommendedDisplayRGBValue": [56, 125, 255]
      },
      {
        "labelID": 2,
        "SegmentDescription": "Fibroglandular Tissue",
        "SegmentAlgorithmType": "AUTOMATIC",
        "SegmentAlgorithmName": "BAMF-Breast-Tumor-MRI",
        "AnatomicRegionSequence": {
          "CodeValue": "76752008",
          "CodingSchemeDesignator": "SCT",
          "CodeMeaning": "Breast"
        },
        "AnatomicRegionModifierSequence": {
          "CodeValue": "51440002",
          "CodingSchemeDesignator": "SCT",
          "CodeMeaning": "Right and left"
        },
        "SegmentedPropertyCategoryCodeSequence": {
          "CodeValue": "C35869",
          "CodingSchemeDesignator": "NCIt",
          "CodeMeaning": "Radiologic Finding"
        },
        "SegmentedPropertyTypeCodeSequence": {
          "CodeValue": "C114467",
          "CodingSchemeDesignator": "NCIt",
          "CodeMeaning": "Breast Fibroglandular Tissue"
        },
        "recommendedDisplayRGBValue": [128, 174, 128]
      },
      {
        "labelID": 3,
        "SegmentDescription": "Structural Tumor",
        "SegmentAlgorithmType": "AUTOMATIC",
        "SegmentAlgorithmName": "BAMF-Breast-Tumor-MRI",
        "AnatomicRegionSequence": {
          "CodeValue": "76752008",
          "CodingSchemeDesignator": "SCT",
          "CodeMeaning": "Breast"
        },
        "AnatomicRegionModifierSequence": {
          "CodeValue": "51440002",
          "CodingSchemeDesignator": "SCT",
          "CodeMeaning": "Right and left"
        },
        "SegmentedPropertyCategoryCodeSequence": {
          "CodeValue": "49755003",
          "CodingSchemeDesignator": "SCT",
          "CodeMeaning": "Morphologically Altered Structure"
        },
        "SegmentedPropertyTypeCodeSequence": {
          "CodeValue": "4147007",
          "CodingSchemeDesignator": "SCT",
          "CodeMeaning": "Mass"
        },
        "recommendedDisplayRGBValue": [144, 238, 144]
      }
    ]
  ],
  "ContentLabel": "SEGMENTATION",
  "ContentDescription": "Image segmentation",
  "ClinicalTrialCoordinatingCenterName": "dcmqi"
}

@LennyN95 , Hey Leo, I have posted the json containing code for ROIs above. Please have a look and let me know if I missed something. I have also added NNUnetRunnerV2. Its an easy extension of the NNUnetRunner that you wrote so beautifully.
Its a slightly different PR as it contains two models so there might be something I probably missed. Please review and let me know :)

@rahul99, this looks great so far! I noticed that you use Mass (4147007) as a type for the breast tumor. Is there any reason why you choose not to use neoplasm (86049000) here? We can add a new tumor class if required, but I'd like to understand the background first.

we can switch it to neoplasm

@LennyN95 , since we did not have the ROI entries in SegDB, I was testing the container by specifying other ROIs that are available in SegDB. Since the process outputs three ROIs and I see that entry for BREAST label is available already, I tried two random ROIs. Unfortunately, the flow complained about BREAST label too. Please can you look into this?
The flow worked great when I passed three random ROIs that are available in SegDB (Except BREAST label)

@LennyN95 , a small query on the NNUnetRunner as well. In this line:
https://github.com/MHubAI/mhubio/blob/main/mhubio/modules/runner/NNUnetRunner.py#L165
Comment says add symlink to input dir, but we add symlink to output dir. Also, I don't think that's needed? We have already organised the data into appropriate folder structure. Let me know what your thoughts are on this?

@LennyN95 , Hey Leo, do you have any updates on the SegDB entries for Breast and FGT?

Hey @rahul99,
I was looking into this and found that it'd be good to discuss briefly with @dclunie if available at PW.
I could add FGT as specified, however, that you only be used in the context of breast, thus BREAST+FGT would be the only valid usage of FGT, LUNG+FGT for instance wouldn't make any sense. We currently have no options to define such bindings (and the question is weather we have to). One solution could be to make FGT more verbose, e.g., by naming the ID BREAST_FGT, however, then the usage is BREAST+BREAST_FGT. I personally don't mind the redundancy in this specific situation but it might cause confusion since BREAST_FGT should not be used standalone.
In the meanwhile, I added an option to specify custom triplets and segments in the config file that will be available as SegDB ID's at runtime.
You can either register custom triplets and custom segments in your runner module class (outside of the class definition) or define them in the config file as explained here.

I am not in Boston for PW41 but am available online; FYI, since the subject of codes for FGT came up, see DICOM CP 2226 (currently out for ballot).

@LennyN95 since you introduced that capability of registering custom triplets, it might be good to add some basic validation checks. Coding scheme designator must come from the list in the standard: https://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_8.html, or must start with the "99" prefix.

Good point @fedorov. The default is indeed 99segdb, is hardxoding the list and validating against it a valuable solution? I assume this doesn't change frequently if at all?

The default is indeed 99segdb

I believe the recommendation is to have all caps, so it would be 99SEGDB. But private coding scheme should be absolutely last resort!

I assume this doesn't change frequently if at all?

Yes, they don't. But a basic check (ie if it does not start from 99 it must come from the defined list) would prevent someone from using, for example, an invalid value "LUNGMASK" for coding scheme designator.

@fedorov I implemented it all uppercase, see https://github.com/MHubAI/SegDB/blob/6b2db45ecdc711c5dee93990b73594ccd6a77d9a/segdb/classes/Triplet.py#L63C105-L63C112 ;)
Just to make clear, I asked if this changes frequently to get an idea if hardcoding the list to check against is a valuable solution, I assume yes then. This is a simple check we can easily include! Note that in general, this is more thought to be used during development to have a quick placeholder and then to be resolved during the review process.

Hey @LennyN95,  I have added custom SegDB keys in the config. Can you please help me review and see it the settings look all right? I still got the key error when I tried to run the container locally:
Invalid segment ids: FGT, BREAST+TUMOR

Can you please advice if I missed anything? I am hoping to close this soon, please help with the segdb config and then I will post the test case and upload segmentation images

@rahul99 the correct keyword is segments not segmentations, this was outdated in the documentation. Sorry for the confusion, I updated our docs accordingly. Let me know if it works with the updated config.

@LennyN95 , the issue was also around SegDB logic to fetch ROI keys. I believe my teammate (Jith) got it in touch with you about that? For now, everything works all right after adding a custom logic to get ROI keys inside the transformation script.
I have added a test case, and as before, uploaded the segmentation in dropbox. Let me know how it goes.
Note: We have used a test case from a different dataset that is not part of training or testing the model

Thank you @rahul99. The custom ROI should always have workes, only the keyword to use in the config file has changed and that change hasn't been reflected in the documentation.
Can you remove the custom logic and test with the updated config as mentioned above? Then we can proceed with testing and pushing the model. Thank you!

Hey @LennyN95 , moving the segDB custom triplets and segments to config still fails with following error trace:
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.8/dist-packages/mhubio/run.py", line 613, in <module>
    run(config_file)
  File "/usr/local/lib/python3.8/dist-packages/mhubio/run.py", line 374, in run
    config = Config(config_file=config_file, config=config_data)
  File "/usr/local/lib/python3.8/dist-packages/mhubio/core/Config.py", line 143, in __init__
    for seg_id, seg_data in self._config['segdb']['segments']:
ValueError: too many values to unpack (expected 2)

I think there's a small bug. If multiple segment are specified, self._config['segdb']['segments'] would return a dict object instead of values. So the following tweak?
for segment in self._config['segdb']['segments']:
    for seg_id, seg_data in x['segdb']['segments'][segment].items():
        ...

Oh indeed, if I see correctly, then all it takes is adding the missing “.items()” here https://github.com/MHubAI/mhubio/blob/main/mhubio/core/Config.py#L143C41-L143C75. This got lost somehow. I'll be on vacation until the 11th, I will update you once the fix is deployed and the newest base image available!

@LennyN95 , enjoy your vacation. Drop us a message when a new base image is published and I will test it on my end. However, I think the automated test would trigger here anyway!

Hey @rahul99, I implemented the fix alongside some other improvements and uploaded a new base image. Please make sure you have the latest version of the base image (you can run docker pull mhubai/base and check the version by running docker run --rm -t --entrypoint mhub.version mhubai/base | grep mhubio).

Hey Leo, the codebase works with the newer base image. Since there is no code change, will the test instance be picked up already? I am reposting the test instance just in case. Let me know how it goes. Thanks!

/test
sample:
  idc_version: 17.0
  data:
  - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.57828200249886597927204318690632931889
    aws_url: s3://idc-open-data/bf0fc92d-e708-468c-af90-0c02329f636d/*
    path: dicom

reference:
  url: https://www.dropbox.com/scl/fi/o2b26zrb20e080rcc0z5d/bamf_nnunet_mr_breast.zip?rlkey=8m434go1u7zthemx0w245pors&st=wetbolof&dl=0

Hey @LennyN95 , above comments are resolved. Let me know if you have more suggestions you would like me to include. Thanks!

@rahul99, lets switch the FGT code to SCT<PHONE_NUMBER>. That way we can keep codes in snowmed as much as possible.
so change metadata for label 2 to:
{
  "labelID": 2,
  "SegmentDescription": "Fibroglandular Tissue",
  "SegmentAlgorithmType": "AUTOMATIC",
  "SegmentAlgorithmName": "BAMF-Breast-Tumor-MRI",
  "AnatomicRegionSequence": {
    "CodeValue": "76752008",
    "CodingSchemeDesignator": "SCT",
    "CodeMeaning": "Breast"
  },
  "AnatomicRegionModifierSequence": {
    "CodeValue": "51440002",
    "CodingSchemeDesignator": "SCT",
    "CodeMeaning": "Right and left"
  },
  "SegmentedPropertyCategoryCodeSequence": {
    "CodeValue": "123037004",
    "CodingSchemeDesignator": "SCT",
    "CodeMeaning": "Anatomical Structure"
  },
  "SegmentedPropertyTypeCodeSequence": {
    "CodeValue": "1342375003",
    "CodingSchemeDesignator": "SCT",
    "CodeMeaning": "Structure of fibroglandular tissue of breast"
  },
  "recommendedDisplayRGBValue": [128, 174, 128]
}

@LennyN95 , thanks for making breast related entries available on SegDB. I've rolled back the config :)
On standby if any more changes required. Thanks!

@rahul99 I saw you use the BREAST+BREAST_FIBROGLANDULAR_TISSUE roi, however, since we switched to the SCT codes as suggested by @vanossj, this code represents a tissue now (rather than a radiological finding) and thus the BREAST+ context can (and should) be omitted.

@rahul99 I saw you use the BREAST+BREAST_FIBROGLANDULAR_TISSUE roi, however, since we switched to the SCT codes as suggested by @vanossj, this code represents a tissue now (rather than a radiological finding) and thus the BREAST+ context can (and should) be omitted.

I have made the change. Thanks for educating me on this as well. :)

bamf_nnunet_mr_breast.zip

@LennyN95 , following your comment on the other PR, I have uploaded the output segmentation file above. Thanks!

/test
sample:
  idc_version: 17.0
  data:
  - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.57828200249886597927204318690632931889
    aws_url: s3://idc-open-data/bf0fc92d-e708-468c-af90-0c02329f636d/*
    path: dicom

reference:
  url: https://www.dropbox.com/scl/fi/o2b26zrb20e080rcc0z5d/bamf_nnunet_mr_breast.zip?rlkey=8m434go1u7zthemx0w245pors&st=wetbolof&dl=0

bamf_nnunet_mr_breast.zip

Please note, we updated our base image. All mhub dependencies are now installed in a virtual environment under /app/.venv running Python 3.11. Python, virtual environment and dependencies are now managed with uv. If required, you can create custom virtual environments, e.g., uv venv -p 3.8 .venv38 and use uv pip install -p .venv38 packge-name to install dependencies and uv run -p .venv3.8 python script.py to run a python script.
We also simplified our test routine. Sample and reference data now have to be uploaded to Zenodo and provided in a mhub.tom file at the project root. The process how to create and provide these sample data is explained in the updated testing phase article of our documentation. Under doi.org/10.5281/zenodo.13785615 we provide sample data as a reference.

@rahul99 thx for adapting to the new test routine! To make the test pass, you can reference the download link to the zip file (https://zenodo.org/records/13843612/files/bamf_nnunet_mr_breast.test.zip?download=1).

@LennyN95 , thanks for pointing it out. Let me know if you need more information from us. Looking forward to getting this PR over the line

/test
sample:
  idc_version: 17.0
  data:
  - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.57828200249886597927204318690632931889
    aws_url: s3://idc-open-data/bf0fc92d-e708-468c-af90-0c02329f636d/*
    path: dicom

reference:
  url: https://zenodo.org/records/13843612/files/bamf_nnunet_mr_breast.test.zip?download=1

Uploading bamf_nnunet_mr_breast.zip…

Since this model relies on NNUnet V2, I paused the submission process until https://github.com/MIC-DKFZ/nnUNet/issues/2556 is resolved. This will lead to an improved UX for MHub models and we're actively working on this now. Let me know if you are running against any deadlines and feel free to share your opinion / feedback in the related issue. Thx @rahul99!


fix reference

ruby 2.2 introduces a subtle incompatible change where param becomes nil and you have to do a qualified name self.param

<3


Altair blank screen issue

Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

in mac Altair 2.4.4 latest version not working
open the altair client is show only blank screen doesn't work
please solve the issue soon.

Context

Your Environment

Version used:
Environment name and application type (e.g. Chrome 39, chrome extension v1.4.7):
Operating System and version (e.g. Linux, v1.4.7):

@tamizharasank The details you've provided aren't sufficient to know what the problem you are having is. Can you provide more info? v2.4.4 was released more than a month ago, so it's not the version. What errors are you getting? Open the dev tools and check the errors. What operating system version do you have? (The issue template is there for a reason).


Set up CI tests for Windows, Mac

I only have a Linux machine to test on. We should write end-to-end tests and run them in CI on a variety of platforms.

We have a basic CI in place; closing in favor of platform-specific issues.