USM copy causing SIGSEGV on Nvidia card with generic

Bug summary
I receive a SIGSEGV when copying to a Nvidia card. The same code (except the line where I copy memory to the device) runs through when using the cpu backend.
To Reproduce
Line 5 segfaults  queue.copy<T>...
        inline NdView<T, N_DIMs> make_available_on_device_blocking() const
        {
            if (!host_memory_is_used)
            {
                queue.copy<T>(const_cast<T*>(host_data_.data()), const_cast<T*>(device_data_), number_of_elements).wait();
                return device_view_;
            } else
            {
                return host_view_;
            }
        }

queue is saved as member using a reference.
sycl::queue& queue;
device_data_ was created with following
        template <typename T>
        T* make_device_memory(bool host_memory_is_used, std::size_t number_of_elements,  sycl::queue& queue_)
        {
            if (number_of_elements == 0 ) {
                return nullptr;
            }
            if (host_memory_is_used) {
                return nullptr;
            }
            return sycl::malloc_device<T>(number_of_elements, queue_);
        }

and the calling code of the class
    auto q = get_default_queue();

    sycl::device device = q.get_device();
    std::cout << "Using device: " << device.get_info<sycl::info::device::name>() << std::endl;

    NdTensorSYCL<float, 3> result{view.get_dimensions(),q};

    auto [input_] = make_NdTensorSYCL(q, view);
    auto input_view  = input_.make_available_on_device_blocking();

auto [input_] = make_NdTensorSYCL(q, view); just constructs the class where I do the copy
AdaptiveCpp
Version: 24.02.0
Type: Release/Debug
Clang Version: 18.1
Cuda: 12.1
ACPP_TARGETS: generic
Special:
I modified the compilation process to use conan. But since I was able to run the bruteforce_nbody on the same GPU I assume that is no issue.
Expected behavior
Copy memory to device
Optional additional diagnostic information
Using device: Quadro RTX 6000
[AdaptiveCpp Info] dag_manager: Checking DAG flush opportunity...
[AdaptiveCpp Info] dag_manager: Submitting asynchronous flush...
[AdaptiveCpp Info] dag_builder: DAG contains operations:
[AdaptiveCpp Info] 0. Memcpy: CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000} @node 0x559ba505f420
[AdaptiveCpp Info] dag_manager: waiting for async worker...
[AdaptiveCpp Info] dag_manager [async]: Flushing!
[AdaptiveCpp Info] dag_manager [async]: Submitting node to scheduler!
[AdaptiveCpp Info] multi_queue_executor: Spawned for backend OpenMP with configuration:
[AdaptiveCpp Info]   device 0:
[AdaptiveCpp Info]     memcpy lane: 0
[AdaptiveCpp Info]     kernel lane: 1
[AdaptiveCpp Info] multi_queue_executor: Processing node 0x559ba505f420 with 0 non-virtual requirement(s) and 0 direct requirement(s).
[AdaptiveCpp Info] multi_queue_executor: Dispatching to lane 0: Memcpy: CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000}
[AdaptiveCpp Info] inorder_executor: Processing node 0x559ba505f420 with 0 non-virtual requirement(s) and 0 direct requirement(s).
[AdaptiveCpp Info] inorder_executor: Dispatching to lane 0x7fb398000dd0: Memcpy: CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000}
[AdaptiveCpp Info] omp_queue: Submitting memcpy operation...
[AdaptiveCpp Info] omp_queue: Inserting event into queue...
[AdaptiveCpp Info] dag_manager [async]: DAG flush complete.
ipt_sycl.unit_test.catch2: /home/vsts_azpcontainer/.conan2/p/b/adapt7462e66b6c088/b/src/src/runtime/dag_direct_scheduler.cpp:414: void hipsycl::rt::dag_direct_scheduler::submit(hipsycl::rt::dag_node_ptr): Assertion `execution_config.second == target_device' failed.

Hi,
can you please provide a full working example? There are other things that may be relevant here, such as how the queue was constructed.
We regularly run the functionality in question in CI, including on NVIDIA GPUs.
There were a couple of changes around the area where the assertion was triggered, so please also try with latest develop branch, if you haven't done so already.
The output with ACPP_DEBUG_LEVEL=3 indicates that it is emitting a copy between two host allocations, not between GPU and host. But since I don't know what your code does before the code snippets that you have posted, I cannot say whether this is actually a problem or intended.
In any case I would recommend double checking that the pointers that you are passing into copy actually are what you think they are.

Thanks for the fast reply.
The full code is as follows.
sycl_device_helper.h
#pragma once
#include <CL/sycl.hpp>
namespace sycl = cl::sycl;
namespace ipt_sycl
{
    struct MrImageReconSelector : sycl::device_selector
    {
        int operator()(const sycl::device &dev) const
        {
            if (dev.has(sycl::aspect::usm_device_allocations))
            {
                if (dev.has(sycl::aspect::gpu))
                    return 2;
                return 1;
            }
            return -1;
        }
    };
}

sycl_default_queue.h
#pragma once
#include <CL/sycl.hpp>
namespace sycl = cl::sycl;
#include "ipt_sycl/sycl_device_helper.h"
namespace ipt_sycl
{
    sycl::queue get_default_queue()
    {
        return sycl::queue{MrImageReconSelector{}};
    }
}

sycl_tensor.h
#pragma once

#include <CL/sycl.hpp>
namespace sycl = cl::sycl;

#include "nd_array/view.h"
#include "nd_array/utils.h"

#include <utility>

namespace ipt_sycl
{
    using ::nd_array::Dimensions;
    using ::nd_array::Strides;
    using ::nd_array::is_NdView_v;
    using ::nd_array::is_NdData_v;
    using ::nd_array::NdData;
    using ::nd_array::NdView;

    namespace details {
        template <typename T>
        T* make_device_memory(bool host_memory_is_used, std::size_t number_of_elements,  sycl::queue& queue_)
        {
            if (number_of_elements == 0 ) {
                return nullptr;
            }
            if (host_memory_is_used) {
                return nullptr;
            }
            return sycl::malloc_device<T>(number_of_elements, queue_);
        }

        bool is_host_memory(sycl::queue& queue_)
        {
          sycl::device device = queue_.get_device();
          return device.has(sycl::aspect::usm_system_allocations);
        }
    }

    template <typename T, std::size_t N_DIMs>
    struct NdTensorSYCL
    {
        inline NdTensorSYCL() = delete;

        inline NdTensorSYCL(const Dimensions<N_DIMs>& dims, sycl::queue& queue)
            : queue_{queue},
            host_memory_is_used{details::is_host_memory(queue_)},
            host_data_{std_extensions::array_to_vector<std::size_t, N_DIMs>(dims)},
            host_view_{host_data_},
            device_data_{details::make_device_memory<T>(host_memory_is_used, host_data_.number_of_elements, queue_)},
            device_view_{NdView<T, N_DIMs>(device_data_, host_view_.get_dimensions(), host_view_.get_strides())}
        {
        }

        inline NdTensorSYCL(const NdView<T, N_DIMs>& view, sycl::queue& queue)
            : queue_{queue},
            host_memory_is_used{details::is_host_memory(queue_)},
            host_data_{nd_array::copy_underlying_data<T, N_DIMs>(view)},
            host_view_{host_data_},
            device_data_{details::make_device_memory<T>(host_memory_is_used, host_data_.number_of_elements, queue_)},
            device_view_{NdView<T, N_DIMs>(device_data_, host_view_.get_dimensions(), host_view_.get_strides())}
        {
        }

        inline NdTensorSYCL(NdData<T>&& data, sycl::queue& queue)
            : queue_{queue},
            host_memory_is_used{details::is_host_memory(queue_)},
            host_data_{std::move(data)},
            host_view_{host_data_},
            device_data_{details::make_device_memory<T>(host_memory_is_used, host_data_.number_of_elements, queue_)},
            device_view_{NdView<T, N_DIMs>(device_data_, host_view_.get_dimensions(), host_view_.get_strides())}
        {
        }

        inline NdTensorSYCL(NdTensorSYCL const&) = delete;
        inline NdTensorSYCL& operator=(const NdTensorSYCL&) = delete;

        inline NdTensorSYCL(NdTensorSYCL&&) noexcept = default;
        inline NdTensorSYCL& operator=(NdTensorSYCL&&) noexcept = default;

        ~NdTensorSYCL()
        {
            if (!host_memory_is_used)
                sycl::free(device_data_, queue_);
        };

        NdView<T, N_DIMs> make_available_on_host_blocking()
        {
            if (!host_memory_is_used)
                queue_.copy<T>(device_data_, host_data_.data(), host_data_.number_of_elements).wait();
            return host_view_;
        }

        inline NdView<T, N_DIMs> make_available_on_host(std::vector<sycl::event>& dependencies) const
        {
            if (!host_memory_is_used)
            {
                dependencies.emplace_back(queue_.copy<T>(device_data_, host_data_.data(), host_data_.number_of_elements));
                return host_view_;
            } else
            {
                return host_view_;
            }
        }

        inline NdView<T, N_DIMs> make_available_on_device_blocking() const
        {
            if (!host_memory_is_used)
            {
                queue_.copy<T>(const_cast<T*>(host_data_.data()), device_data_, host_data_.number_of_elements).wait();
                return device_view_;
            } else
            {
                return host_view_;
            }
        }

        inline NdView<T, N_DIMs> make_available_on_device(std::vector<sycl::event>& dependencies) const
        {
            if (!host_memory_is_used)
            {
                dependencies.emplace_back(queue_.copy<T>(const_cast<T*>(host_data_.data()), device_data_, host_data_.number_of_elements));
                return device_view_;
            } else
            {
                return host_view_;
            }
        }

        inline T* host_data() const
        {
            return const_cast<T*>(host_data_.data());
        }

        inline T* device_data() const
        {
            if (!host_memory_is_used)
            {
                return device_data_;
            }
            else {
                return const_cast<T*>(host_data_.data());
            }
        }
private:
        sycl::queue& queue_;
        bool host_memory_is_used;

        NdData<T> host_data_;
        NdView<T, N_DIMs> host_view_;

        T* device_data_;
        NdView<T, N_DIMs> device_view_;
    };
}

NdData<float> is basically like a unique_ptr (owning memory)
NdView<float, 3> is like a std:span on that memory
test code
#include "ipt_sycl/sycl_tensor.h"
#include "ipt_sycl/sycl_default_queue.h"

#include <catch2/catch_approx.hpp>
#include <catch2/catch_test_macros.hpp>
#include <complex>
#include <math.h>
#include "nd_array/print.h"
#include <iostream>

using namespace nd_array;
using namespace ipt_sycl;
using namespace Catch;

TEST_CASE("Fill every element of an array with a const value") {
    NdData<float> array({30, 30, 5});
    NdView<float, 3> view{array};

    fill(view, 2.0f);

    auto q = get_default_queue();

    sycl::device device = q.get_device();
    std::cout << "Using device: " << device.get_info<sycl::info::device::name>() << std::endl;

    NdTensorSYCL<float, 3> result{view.get_dimensions(),q};
    NdTensorSYCL<float, 3> input_(view, q);

    auto input_view_device  = input_.make_available_on_device_blocking();
    auto result_view_device = result.make_available_on_device_blocking();
    std::cout << "Starting calculation on device." << std::endl;
    q.submit([&](sycl::handler &cgh) {
        cgh.template parallel_for<class test_kernel_3D>( sycl::range(30, 30),
                                                        [=](sycl::id<2> idx) {

                ArrayIndex<3> index{idx[0],idx[1],0};
                if (index[0] < 2 && index[1] < 2) {
                    result_view_device[index] = 15.0f;
                } else {
                    result_view_device[index] = input_view_device[index];
                }
            }
        );
    }).wait();

    std::cout << "Stopping calculation on device." << std::endl;

    auto result_view_host = result.make_available_on_host_blocking();
    #print(std::cout, result_view_host, IterationSpecifier{ViewAll{},ViewAll{}, All{}});
    REQUIRE(result_view_host[{29, 29, 4}] == Approx(2.0f));
    REQUIRE(result_view_host[{0, 0, 0}] == Approx(15.0f));
}

OUTPUT
Using device: Quadro RTX 6000
[AdaptiveCpp Info] dag_manager: Checking DAG flush opportunity...
[AdaptiveCpp Info] dag_manager: Submitting asynchronous flush...
[AdaptiveCpp Info] dag_builder: DAG contains operations:
[AdaptiveCpp Info] 0. Memcpy: CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CUDA-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000} @node 0x5556ba752770
[AdaptiveCpp Info] dag_manager: waiting for async worker...
[AdaptiveCpp Info] dag_manager [async]: Flushing!
[AdaptiveCpp Info] dag_manager [async]: Submitting node to scheduler!
[AdaptiveCpp Info] multi_queue_executor: Spawned for backend CUDA with configuration:
[AdaptiveCpp Info]   device 0:
[AdaptiveCpp Info]     memcpy lane: 0
[AdaptiveCpp Info]     memcpy lane: 1
[AdaptiveCpp Info]     kernel lane: 2
[AdaptiveCpp Info]     kernel lane: 3
[AdaptiveCpp Info] multi_queue_executor: Processing node 0x5556ba752770 with 0 non-virtual requirement(s) and 0 direct requirement(s).
[AdaptiveCpp Info] multi_queue_executor: Dispatching to lane 0: Memcpy: CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CUDA-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000}
[AdaptiveCpp Info] inorder_executor: Processing node 0x5556ba752770 with 0 non-virtual requirement(s) and 0 direct requirement(s).
[AdaptiveCpp Info] inorder_executor: Dispatching to lane 0x7fe1e8000dd0: Memcpy: CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CUDA-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000}
[AdaptiveCpp Info] dag_manager [async]: DAG flush complete.
[AdaptiveCpp Info] dag_manager: Checking DAG flush opportunity...
[AdaptiveCpp Info] dag_manager: Submitting asynchronous flush...
[AdaptiveCpp Info] dag_builder: DAG contains operations:
[AdaptiveCpp Info] 0. Memcpy: CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CUDA-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000} @node 0x5556ba753030
[AdaptiveCpp Info] dag_manager [async]: Flushing![AdaptiveCpp Info]
[AdaptiveCpp Info] dag_manager [async]: Submitting node to scheduler!
[AdaptiveCpp Info] dag_manager: waiting for async worker...multi_queue_executor: Processing node
0x5556ba753030 with 0 non-virtual requirement(s) and 0 direct requirement(s).
[AdaptiveCpp Info] multi_queue_executor: Dispatching to lane 1: Memcpy: CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CUDA-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000}
[AdaptiveCpp Info] inorder_executor: Processing node 0x5556ba753030 with 0 non-virtual requirement(s) and 0 direct requirement(s).
[AdaptiveCpp Info] inorder_executor: Dispatching to lane 0x7fe1e8003350: Memcpy: CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CUDA-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000}
[AdaptiveCpp Info] dag_manager [async]: DAG flush complete.
Starting calculation on device.
[AdaptiveCpp Info] dag_manager: Checking DAG flush opportunity...
[AdaptiveCpp Info] dag_manager: Submitting asynchronous flush...
[AdaptiveCpp Info] dag_builder: DAG contains operations:
[AdaptiveCpp Info] 0. kernel: ZZL22CATCH2_INTERNAL_TEST_0vENK3$_0clERN7hipsycl4sycl7handlerEEUlNS1_2idILi2EEEE_ @node 0x5556ba752530
[AdaptiveCpp Info] dag_manager: waiting for async worker...
[AdaptiveCpp Info] dag_manager [async]: Flushing!
[AdaptiveCpp Info] dag_manager [async]: Submitting node to scheduler!
[AdaptiveCpp Info] multi_queue_executor: Processing node 0x5556ba752530 with 0 non-virtual requirement(s) and 0 direct requirement(s).
[AdaptiveCpp Info] multi_queue_executor: Dispatching to lane 2: kernel: ZZL22CATCH2_INTERNAL_TEST_0vENK3$_0clERN7hipsycl4sycl7handlerEEUlNS1_2idILi2EEEE_
[AdaptiveCpp Info] inorder_executor: Processing node 0x5556ba752530 with 0 non-virtual requirement(s) and 0 direct requirement(s).
[AdaptiveCpp Info] inorder_executor: Dispatching to lane 0x7fe1e800c440: kernel: ZZL22CATCH2_INTERNAL_TEST_0vENK3$_0clERN7hipsycl4sycl7handlerEEUlNS1_2idILi2EEEE_
[AdaptiveCpp Info] kernel_cache: Cache MISS for id<PHONE_NUMBER>2342115384.13542828140847360509
[AdaptiveCpp Info] LLVMToBackend: Using build option: ptx-version=75
[AdaptiveCpp Info] LLVMToBackend: Using build option: ptx-target-device=75
[AdaptiveCpp Info] LLVMToBackend: Using build option: known-group-size-x=16
[AdaptiveCpp Info] LLVMToBackend: Using build option: known-group-size-y=16
[AdaptiveCpp Info] LLVMToBackend: Using build option: known-group-size-z=1
[AdaptiveCpp Info] LLVMToBackend: Using build option: known-local-mem-size=0
[AdaptiveCpp Info] LLVMToBackend: Using build flag: global-sizes-fit-in-int
[AdaptiveCpp Info] LLVMToBackend: Preparing backend flavoring...
[AdaptiveCpp Info] LLVMToBackend: Attempting to link against 0 external bitcode modules to resolve 0 symbols
[AdaptiveCpp Info] LLVMToBackend: Applying S2 IR constants...
[AdaptiveCpp Info] LLVMToBackend: Setting S2 IR constant 29__hipsycl_sscp_s2_ir_constantIL_ZN7hipsycl4sycl3jitL15current_backendEEiE
[AdaptiveCpp Info] LLVMToBackend: Optimizing branches post S2 IR constant application...
[AdaptiveCpp Info] LLVMToBackend: Reoutlining kernels...
[AdaptiveCpp Info] LLVMToBackend: Adding backend-specific flavor to IR...
[AdaptiveCpp Info] LLVMToPtx: Found libdevice: /usr/local/cuda-12.1/nvvm/libdevice/libdevice.10.bc
[AdaptiveCpp Info] LLVMToBackend: Linking with bitcode file: /home/mr_linux/.conan2/p/adapta73da175551a3/p/lib/hipSYCL/bitcode/libkernel-sscp-ptx-full.bc
[AdaptiveCpp Info] LLVMToBackend: Linking with bitcode file: /usr/local/cuda-12.1/nvvm/libdevice/libdevice.10.bc
[AdaptiveCpp Info] LLVMToBackend: Optimizing flavored IR...
[AdaptiveCpp Info] LLVMToBackend: Invoking translation to backend-specific format
[AdaptiveCpp Info] LLVMToPtx: Invoking /usr/lib/llvm-18/bin/clang++ -cc1 -triple nvptx64-nvidia-cuda -target-feature +ptx75 -target-cpu sm_75 -O3 -S -x ir -o hipsycl-sscp-ptx-08f2ae.s hipsycl-sscp-ptx-dbd416.bc
[AdaptiveCpp Warning] kernel_cache: This application run has resulted in new binaries being JIT-compiled. This indicates that the runtime optimization process has not yet reached peak performance. You may want to run the application again until this warning no longer appears to achieve optimal performance.
[AdaptiveCpp Info] kernel_cache: Storing compiled binary with id<PHONE_NUMBER>2342115384.10893387800091293884 in persistent cache file /home/mr_linux/.acpp/apps/ipt_sycl.unit_test.catch2-3682126850821424492/jit-cache/11459494902342115384.10893387800091293884.jit
[AdaptiveCpp Info] cuda_queue: Successfully compiled SSCP kernels to module 0
[AdaptiveCpp Error] from /home/vsts_azpcontainer/.conan2/p/b/adapt7462e66b6c088/b/src/src/runtime/cuda/cuda_code_object.cpp:96 @ build_cuda_module_from_ptx(): cuda_executable_object: could not load module (error code = CU:218)
[AdaptiveCpp Error] from /home/vsts_azpcontainer/.conan2/p/b/adapt7462e66b6c088/b/src/src/runtime/cuda/cuda_queue.cpp:692 @ submit_sscp_kernel_from_code_object(): cuda_queue: Code object construction failed
[AdaptiveCpp Info] dag_manager [async]: DAG flush complete.
Stopping calculation on device.
[AdaptiveCpp Info] dag_manager: Checking DAG flush opportunity...
[AdaptiveCpp Info] dag_manager: Submitting asynchronous flush...
[AdaptiveCpp Info] dag_builder: DAG contains operations:
[AdaptiveCpp Info] 0. Memcpy: CUDA-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000} @node 0x5556ba751c70
[AdaptiveCpp Info] dag_manager [async]: Flushing!
[AdaptiveCpp Info] dag_manager [async]: Submitting node to scheduler!
[AdaptiveCpp Info] dag_manager: waiting for async worker...
[AdaptiveCpp Info] multi_queue_executor: Processing node 0x5556ba751c70 with 0 non-virtual requirement(s) and 0 direct requirement(s).
[AdaptiveCpp Info] multi_queue_executor: Dispatching to lane 0: Memcpy: CUDA-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000}
[AdaptiveCpp Info] inorder_executor: Processing node 0x5556ba751c70 with 0 non-virtual requirement(s) and 0 direct requirement(s).
[AdaptiveCpp Info] inorder_executor: Dispatching to lane 0x7fe1e8000dd0: Memcpy: CUDA-Device0 #1 {0, 0, 0}+{1, 1, 18000}-->CPU-Device0 #1 {0, 0, 0}+{1, 1, 18000}{1, 1, 18000}
[AdaptiveCpp Info] dag_manager [async]: DAG flush complete.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ipt_sycl.unit_test.catch2 is a Catch2 v3.4.0 host application.
Run with -? for options

-------------------------------------------------------------------------------
Fill every element of an array with a const value
-------------------------------------------------------------------------------
/workspaces/image_processing_toolbox_sycl/test/unit/ipt_sycl/ipt_sycl_Tests.cpp:18
...............................................................................

/workspaces/image_processing_toolbox_sycl/test/unit/ipt_sycl/ipt_sycl_Tests.cpp:53: FAILED:
  REQUIRE( result_view_host[{29, 29, 0}] == Approx(2.0f) )
with expansion:
  0.0f == Approx( 2.0 )

============== hipSYCL error report ==============
hipSYCL has caught the following undhandled asynchronous errors:

   0. from /home/vsts_azpcontainer/.conan2/p/b/adapt7462e66b6c088/b/src/src/runtime/cuda/cuda_code_object.cpp:96 @ build_cuda_module_from_ptx(): cuda_executable_object: could not load module (error code = CU:218)
   1. from /home/vsts_azpcontainer/.conan2/p/b/adapt7462e66b6c088/b/src/src/runtime/cuda/cuda_queue.cpp:692 @ submit_sscp_kernel_from_code_object(): cuda_queue: Code object construction failed
The application will now be terminated.
terminate called without an active exception
Aborted

I just realized that I use some std::vector functions inside the kernel (implicit since I use the NdView<float, 3>.
I guess I will have to rewrite those to use some sycl compatible construct ?
or is it actually ok to use the std within the kernel?

The error that we see in your new output log is a JIT failure. That is indeed the expected outcome when e.g. std::vector is used in device code, since std::vector will in general call functions that are not defined in device code, particularly memory allocation/deallocation functions. And even if this did work, it would still be UB because when the vector dies in your kernel, its destructor is invoked and it frees its memory. But the host vector would not know that its memory now is gone...
In general SYCL does not allow std:: functionality in device, with some exceptions (e.g something like std::plus is not going to cause problems). Generally you will run into problems if features are used in the std:: code that are not available on device (e.g. exceptions) or if builtins or functions are called that are not defined on device. Additional memory management problems may be caused by classes which do automatic resource management as I described for std::vector.
AdaptiveCpp supports a couple of std:: things as an extension with --acpp-targets=generic, such as std:: match functions and std::atomic/atomic_ref (both with some limitations).
So, yes, you will have to change your code such that std::vector is not moved to kernel code.

That makes a lot of sense. Also since I remember at some point being able to compile this with Release and all optimizations on. I suppose the compiler was able to optimize the offending std:: code away and thus I did not run into this issue before. I just went into the sycl specification and saw section 3.13.1. Does this mean that I I rewrite the code to only use std::arrays of copiable type it should be not UB anymore ?

That makes a lot of sense. Also since I remember at some point being able to compile this with Release and all optimizations on. I suppose the compiler was able to optimize the offending std:: code away and thus I did not run into this issue before.

With generic target, it always optimizes the device code since it is JIT-compiled at runtime. So not sure why you didn't see it earlier.
std::array can in principle be safely used in device code. But depending on how you are currently using std::vector, it may not be a semantically appropriate replacement:

std::array stores its data on the stack. If you are using std::vector to manage large data arrays for computation, you may run into capacity problems. On GPUs there may be even tighter resource constraints.
When you copy std::array into the kernel, since std::array owns its memory and does not just store a pointer like std::vector, you will pass a copy of the data array into the kernel. So the kernel might not modify the original memory, but a copy.

What people usually do is that they just pass in a. data pointer (from e.g. sycl::malloc_device) into the kernel, have the kernel operate on that, and then use queue::memcpy to transfer the data back into the original std::vector.
There's also a USM allocator in SYCL that you can plug into std::vector. This allows you to use the pointer returned by vec.data() directly on device. But in only works with what SYCL calls "shared USM", which is not equally well supported by all hardware vendors.

Thanks a lot for the explanation 👍


mcp2515 Spi bus configuration

Spi bus configuration  should be done every time the bus is locked or different incompatible devices can't sit on the same bus. I saw it is pretty common to initialize the bus in nuttx drivers init functions, there is any good reason for that?
https://github.com/apache/nuttx/blob/6f87bcc9aca036d7d94f19b1b7c92f212c44cfb7/drivers/can/mcp2515.c#L2503-L2506

Yes, that is good point!  Another patch? :-)


Create HttpAgent on back-end

I am trying to create (with initialization) HttpAgent -> const httpAgent = new HttpAgent ({host}); server side (node.js). On the (Angular) Front end, initialization is successful. The question is how to initialize it on the server side and will it work on the server side?
dfinity/agent": "~0.8.9"

In Node JS you need to use node-fetch. Then initialize the HttpAgent with a custom fetch.  You could something like:
import fetch from 'node-fetch;
const agent = new HttpAgent({host: "http://localhost:8000", fetch: fetch});`

Hi. Ok. But I still crash.
Code:
`
import dfxConfig from '../../../dfx.json';
// import {Actor, HttpAgent} from '@dfinity/agent';
// import {AuthClient} from "@dfinity/auth-client";
// import {Principal} from "@dfinity/principal";
// import {Ed25519KeyIdentity} from "@dfinity/identity";
const HttpAgent = require('@dfinity/agent');
const fetch = require('node-fetch');
class ActorService {
constructor() {
const host = dfxConfig.networks_localhost.local.bind;
const agent = new HttpAgent({host, fetch});
}
}
export default ActorService;
`

Oк. Sorry. This code worked.
constructor() {
    try {
      const identity = this.getNewIdentity();
      const host = 'http://<IP_ADDRESS>:8000';
      const agent = new HttpAgent({ host, fetch: typeof fetch });
    } catch (error) {
      console.log(error);
      throw error;
    }
  }


GraphQL: how to avoid orphanage

Hello all!
Imagine to have 2 types, one referring to another via the @connection keyword. I can create and update whatever I want, but I can also delete, which create this question:
can I block deletion of connected items?
Similar to SQL with delete on the foreign key.
This will keep consistency on my data.

@artecoop The connected item shouldn't be deleted.
(e.g. delete post comments under post will still exist and point to null)
Is there a mutation operation that is deleting the connected item for you?

Hello @SwaySway, I'm writing with my personal account and not the company one to not let you wait until Monday to have my answer.
imagine having a simple one-to-many relationship
type Foo @model {
    id: ID!
    name: String!
    bars: [Bar] @connection(name : "FooBars")
}

type Bar @model {
    id: ID!
    count: Int!
    foo: Foo @connection(name: "FooBars")
}

Easy peasy. Amplify will generate standard mutations for both models.
Add some data, and when adding a Bar add the relation to Foo, so the one-to-many is complete.
Now call the deleteBar  mutation with some Id in the Bar table. I'm able to delete, making the state of the  relative Foo  record inconsistent.

@kavengagne,

Now call the deleteBar  mutation using some Id taken from the Bar table. I'm able to delete, making the state of the relative Foo record inconsistent.

could you elaborate what you mean by relative state of Foo record inconsistent. Do you see the deleted Bar item when you run the following query?
query ListFoo {
  listFoos {
    items {
      id
      name
      bars {
        items {
          id
          count
        }
      }
    }
  }
}

Thans @yuth for your response.
I forgot to mention, and I'm very sorry for, that connections are non nullable. So if I delete the bar, the ListFoo query does not return nothing, both on my app or in the mock endpoint.
If I check the errors, I got: "Cannot return null for non-nullable field Foo.bar".
This is why I say it's inconsitent: I actually can delete a record that can be referenced as exernal key for some other record in other tables without a warning.

@artecoop If you define your schema where bars are non-nullable, then the GraphQL validation is going to fail like you described in your previous comment.
Amplify generated resolvers won't be handling this use case as this is business logic and the possible solution to this might depend your use case.

@yuth, man this sucks. And somewhat feels incomplete: I have a validation for not forget to add a field when using the create mutation, but nothing to help when it's time to delete. This adds complexity to user code, yet not removing the possibility of bug. Shame


如何配置双卡GPU?

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 512.00 MiB. GPU 0 has a total capacty of 23.69 GiB of which 368.94 MiB is free. Including non-PyTorch memory, this process has 23.33 GiB memory in use. Of the allocated memory 22.72 GiB is allocated by PyTorch, and 287.94 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Hi, we have add two-GPU support for the demo app. Please checkout the newest code and README.

您好，我们为演示应用程序添加了两个 GPU 支持。请查看最新的代码和 README。

Thank you very much for having solved the dual GPU perfectly!


Fix readme

This PR does the following changes to the README.md:

remove conda from installation instructions
fix link to how-to-guide

Closes #95

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Makes sense!
On Wed., Jun. 1, 2022, 10:37 a.m. Leandro von Werra, <
@.***> wrote:

We did not distribute in on conda so this never worked. We will add it at
some point, but as discussed with @LysandreJik
https://github.com/LysandreJik it was not top priority for the initial
release.
—
Reply to this email directly, view it on GitHub
https://github.com/huggingface/evaluate/pull/98#issuecomment-1143292523,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADMMIIQKZH3TKZSXERHJF7DVM4ONVANCNFSM5XQI7ATA
.
You are receiving this because your review was requested.Message ID:
@.***>


Generic DataFrame Read/Write Step Object

Need a step object that provides steps to read and write data  by proving connection information and have the steps dynamically pull in thee correct connector (mongo, hdfs, s3, gcs, etc).
Below is the proposed connector design:

Implement the following connectors:

[ ] HDFSDataConnector
[ ] S3DataConnector
[ ] KinesisDataConnector
[ ] GCSDataConnector
[ ] BigQueryDataConnector
[ ] KafkaDataConnector
[ ] MongoDataConnector


Add new gadget to collect TCP/UDP sockets information

Add new gadget to collect TCP/UDP sockets information
This PR introduces a new gadget named socket-collector which using BPF Iterators provides a snapshot of all TCP and UDP sockets together with the Kubernetes information.
TCP/UDP BPF Iterators read information from the current network namespace. Therefore, to apply filters on namespace or pod, we need to change network namespace before opening the iterator. To do that, we use the container PID retrieved with the functions added in PR #224 and then we use the netns package to change namespace.
Currently, it is necessary to specify both namespace and podname using filters as prepared by the Gadget Tracer Manager. For instance:
apiVersion: gadget.kinvolk.io/v1alpha1
kind: Trace
metadata:
  name: socket-collector
  namespace: gadget
spec:
  node: my-node
  gadget: socket-collector
  filter:
    namespace: default
    podname: myapp1-pod-wsgx9
  runMode: Manual
  outputMode: Status

How to use
$ kubectl apply -f  pkg/resources/samples/trace-socket-collector.yaml
$ kubectl annotate -n gadget trace/socket-collector gadget.kinvolk.io/operation=start
$ kubectl get -n gadget trace/socket-collector -o jsonpath='{.status.output}'
[
 {
  "Protocol": "tcp",
  "LocalAddress": "<IP_ADDRESS>",
  "LocalPort": 27017,
  "RemoteAddress": "<IP_ADDRESS>",
  "RemotePort": 0,
  "Status": "LISTEN",
  "KubernetesNamespace": "default",
  "KubernetesPodname": "myapp1-pod-wsgx9"
 },
 {
  "Protocol": "tcp",
  "LocalAddress": "<IP_ADDRESS>",
  "LocalPort": 47158,
  "RemoteAddress": "<IP_ADDRESS>",
  "RemotePort": 80,
  "Status": "ESTABLISHED",
  "KubernetesNamespace": "default",
  "KubernetesPodname": "myapp1-pod-wsgx9"
 },
 {
  "Protocol": "udp",
  "LocalAddress": "<IP_ADDRESS>",
  "LocalPort": 68,
  "RemoteAddress": "<IP_ADDRESS>",
  "RemotePort": 67,
  "Status": "ACTIVE",
  "KubernetesNamespace": "default",
  "KubernetesPodname": "myapp1-pod-wsgx9"
 }
]

Testing done
Setup:

Linux Mint with kernel v5.13.9-051309
Kubernetes cluster created using kubeadm v1.22.0
Docker v20.10.8
Go v1.16.7

To be discussed:

What does state represent for a UDP socket? I changed ESTABLISHED for ACTIVE and CLOSED for INACTIVE but I am not sure that's the correct meaning. Maybe we should just not specify any state for UDP.
Both netstat and ss do not show UDP sockets in state CLOSED, should we do the same? I would like to first understand whay CLOSED means for an UDP socket before deciding.

TO-DO:

[ ] Improve filtering: Only by namespace and without filters in the node
[ ] Improve filtering: UDP or TCP
[ ] Support IPv6
[ ] Client side

Regarding the output: we should stick to the same conventions for the json formatting.
The process collector is using snake_case instead of CamelCase, I think this PR should be modified to follow that.

Regarding the output: we should stick to the same conventions for the json formatting.
The process collector is using snake_case instead of CamelCase, I think this PR should be modified to follow that.

I prefer CamelCase rather than snake_case but it makes sense use the same format everywhere. I changed it.


Check if requested Instance is running

Preventing a dead lock when the requested instance from local store is not running.
If it is not running we will now delete the lastSelectedInstance and switch back to index 0.

Summary
What kind of change does this PR introduce? (check at least one)

[X] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[ ] Build-related changes
[ ] Other, please describe:

If changing the UI of web configuration, please provide the before/after screenshot:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[ ] No

If yes, please describe the impact and migration path for existing setups:
The PR fulfills these requirements:

[ ] When resolving a specific issue, it's referenced in the PR's body (e.g. Fixes: #xxx[,#xxx], where "xxx" is the issue number)

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature
[ ] Related documents have been updated (docs/docs/en)
[ ] Related tests have been updated

To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.
Other information:

Merge?

Yes

Thanks a lot


More control over attention masking

First of all, thanks for creating this - as far as I can tell it's the only Pytorch local attention implementation that isn't a one-off created as part of a specific model.
My issue is that I'm using local attention in a model where I'd like to do XLNet style pre-training - I.E. masking random characters when predicting a specific character. It seems like the attention mask is intended to be of shape [batch_size, sequence_length] and used for excluding padding, while masking for autoregressive decoding is handled by the causal flag. I'm wondering if it would be possible to support arbitrary attention masks per token the way Pytorch's Transformer model does with src_mask, which has shape [sequence_length, sequence_length]. Alternatively, if there's a way to do this with the current implementation and I've just missed it, please let me know.
TLDR; as far as I can tell, the current attention mask parameter is equivalent to the Pytorch Transformer src_key_padding_mask. Would it be possible to get one that was equivalent to src_mask?
This is the kind of thing I'd like to just open a PR for, but in this case I'm not confident I know how best to implement this.

So I got a hold of the authors for the paper I was trying to replicate and they didn't actually do attention masking the same way XLNet does, which means I actually don't need this (sorry!). Feel free to close the issue if you'd like; I'll leave it open for now just in case someone else ends up needing it.


Update UI documentation references links to point to the correct documentation version

The documentation references links from within the UI fields help text, points to version 2.4 instead of 2.5.
This is currently relevant for both providers details tab and overview settings card.
For example:

Few issues to concern:

The documentation version should be configurable so that we won't need to manually bump the version for all appearances each time .
This can be done by adding a DOCUMENTATION_VERSION new parameter set as an environment variable at deployment time or settled for only an internal  parameter.

Who will be responsible to bump the documentation version each time? Is is the release team, doc team or the dev team?

Should we differ between upstream documentation to the downstream one?
The upstream documentation used to be https://konveyor.github.io/forklift as mentioned in current code here but it's an invalid link now.
Do we currently have an upstream doc like https://github.com/kubev2v/forklift.github.io that we should refer to from the UI or should we use downstream for both?

cc:// @RichardHoch @ahadas @yaacov

@sgratch Thanks for pointing out the problem with the version. @anarnold97 or I will take care of that before 2.5.3 is released. We also have a regular task per release to update any attributes that relate to version number, so we'll take it from here -- the change will be in a different PR. I have no opinion about #3 -- Andy, what do you think?

@sgratch Thanks for pointing out the problem with the version. @anarnold97 or I will take care of that, either as cross-ref that won't need updating or as a value of documentation attribute, before 2.5.3 is released. We also have a regular task per release to update any attributes that relate to version number, so we'll take it from here -- the change will be in a different PR. I have no opinion about #3 -- Andy, what do you think?

@RichardHoch  I already posted a PR for fixing this but we can modify/cancel based on our final decision.
By using a cross-ref you can always point to the latest version as default, but how it will handle older ones that still need to reference to older versions? and same question for u/s d/s differentiation if needed.

@RichardHoch  @ahadas @sgratch , Hi all
We currently don't have any manual-flow, or automation, to update the docs links once they are published by the docs team for a new downstream version, we will need to collaborate on some flow with the delivery, docs and dev teams and then try to automate it.
Some question:
upstream:
a. any plans for an upstream docs ?
downstream:
a. do docs have a "freeze" date that the dev team can use to update the links before they are published ?
b. do docs have a temporary URL the dev team can link to while docs are being worked on ?
c. what way will be the easiest for the delivery team to update the links ? PR on the dev code, environment variables, other mechanism ?

@anarnold97 Would appreciate your insights.

a. do docs have a "freeze" date that the dev team can use to update the links before they
are published ?
We publish the docs on the day of the release. Given resources, we tend to only finish work on the document set the day before.
We could publish to stage to confirm the links as the docs are written. However, I am not happy about pushing docs too early because of late changes coming from QE
b. do docs have a temporary URL the dev team can link to while docs are being worked on ?
With changes to the structure of the documentation, I cannot guarantee links for 2.5 will be valid for 2.6.
c. what way will be the easiest for the delivery team to update the links ? PR on the dev code, environment variables, other mechanism
Honestly, I would probably just extend and improve the UI help text.

Once we have 2.6 sorted then for versioning, you can probably use the
:project-version: 2.5
:project-z-version: 2.5.3

And pass that into the HTML links... but i ain't doing it as my JavaScript sucks so bad

addressed by #1037


(🎁) deprecate python3.7

Does this need to wait for master to reach 7.0?

resolves #4637

The idea of  #4637 is just to explicitly mention that RF 7 won't support Python 3.7 anymore. RF 6.x will still support it so there shouldn't be any code changes, changes to CI, etc. This PR seems to be making such changes and cannot thus be merged right now. We could keep it open until we actual drop Python 3.7 support, but I'm afraid there are so much changes before that resolving conflicts won't make sense. Should we just close this instead?


Compatibility with Xcode 8 Beta 6

I think most of the issues where caused by the 27639935 update:

• Since ‘id’ now imports as ‘Any’ rather than ‘AnyObject’, you may see errors where you were previously performing dynamic lookup on ‘AnyObject’. For example in:

> guard let fileEnumerator = FileManager.default.enumerator(atPath: path)
> else {
>  return
> }
> for fileName in fileEnumerator {
>  if fileName.hasSuffix(".txt") {
>  // error: value of type ‘Element’ (aka ‘Any’) has no member
> hasSuffix
>  print(fileName)
>  }
> }

The fix is to either cast to AnyObject explicitly before doing the dynamic lookup, or force cast to a specific object type:

> guard let fileEnumerator = FileManager.default.enumerator(atPath: path)
> else {
>  return
> }
> for fileName in fileEnumerator {
>  if (fileName as AnyObject).hasSuffix(".txt") {
>  // cast to AnyObject
>  print(fileName)
>  }
> }

(27639935)

Can you check if everything is working for you @evgenyneu please?
I basically replaced all [String: NSObject] declarations by [String: Any].
Closes #32.

Thank you for your help, @Tulleb. The new version is 6.0.0 as shown in the setup instructions.


Small render callbacks

Added a RENDER_POST_DRAW_DEPTH, same concept as RENDER_PRE_DRAW_DETPH
Added set_pre_render for entities, which allows blocking the original render
Added set_post_render for entities
Added WORLD_SHADER enum
Added shader param to VanillaDrawContext::draw_world_texture

Have you tested the shades in the draw screen texture as well?

No I have not, all these shaders are not compatible with that though because the screen draw functions use screen coordinates and all those shaders expect world coordinates.


[mwc-select] doesn't show the list items on disabled toggle

Describe the bug
When setting disabled to true on mwc-select and setting it back to false, the list doesn't show up anymore.
To Reproduce
https://jsbin.com/jemefur/edit?html,output
version 0.20.0
Edit: I just realized the problem only occurs when mwc-select is initialized with disabled set to true. If the attribute disabled on the element is omitted initially there is no problem if we toggle the value (see updated jsbin)

Thanks for the bug! Looks like the problem is an early return case, we should be able to fix this quickly.

Should be fixed now


Where is the source code?

This repository addresses a problem I've had for years. Where is the source code?

Hi @sabrehagen!
Thank you for your interest. This is my hobby project and I just didn't have time to sit down and write some code. Such opportunities are rare and sometimes very far between, especially during Summer months when there are lots of other things to do.


docs: Downloads page

This PR removes the hardcoded stubbed downloads page content and replaces it with a dynamic Jekyll/Liquid template.
The file docs/_layouts/default.html was copied from the original Cayman theme and I made adjustments, so reviewing it is not a big deal.
File docs/assets/css/style.scss contains style overrides from original theme.
As github pages are after all static, they need to be updated when a new release is made. The script  scripts/updateGHPages.sh force updates the download table. In the future, it can be integrated to the CI.

Closing and reopening to kickstart circleCI after changes to config related to jobs from forks.


feat: check for github actions updates weekly

Updates check-project command to use dependabot to open PRs updating github actions.

Actually we only want to apply this config


24 hour scheduling doesn't work

INFO     Start: 18:00 Folder: 1800, Max Volume: 60%
INFO     Start: 22:00 Folder: 2200, Max Volume: 80%
INFO     Start: 02:00 Folder: 0200, Max Volume: 90%
AT 20:45 playing 02:00 folders. PI is set to UTC and tried also Local Time.

I have experienced this too. This is from journalctl this morning:
As mopidy starts up, my config shows I set the times in the wee hours of the morning when I'm unlikely to have mopidy on, because I want the random play to use the same folder all the time.

Dec 23 09:25:38...INFO     [AutoFrontend-11] mopidy_auto.frontend Time has changed to new section,


What endpoints types can be reached from Power BI Virtual Network Data Gateway?

Said doc lists supported Azure data services for Power BI Virtual Network Data Gateway:

https://learn.microsoft.com/en-us/data-integration/vnet/use-data-gateways-sources-power-bi#supported-azure-data-services

But little or no details about Azure networking. Please add to the documentation:

Supported endpoint types for said data services.

Public endpoint

Ex.: With NAT Gateway for static public IP on egress.

Service endpoint
Private endpoint

Whether VNet peering is supported.

Example scenario: Central Power BI Virtual Network Data Gateway in the hub of a hub/spoke architecture.

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

ID: 5091585c-6eae-176b-f97b-6e7bf5f18d3f
Version Independent ID: ece61ded-aee6-c780-25ef-d5c57161df7b
Content: Use virtual network (VNet) data gateway and data sources in Power BI
Content Source: data-integration/vnet/use-data-gateways-sources-power-bi.md
Service: virtual-network-data-gateway
GitHub Login: @nikkiwaghani
Microsoft Alias: nikkiwaghani

Thanks @o-l-a-v for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. The requested updates have not been made since the creation of this issue, and the timeline for resolution may vary based on resourcing, so we've created an internal work item to incorporate your suggestions. We are closing this issue for now, but feel free to comment here as necessary. #please-close


[release/8.0.2xx] [tests] fix InvalidTargetPlatformVersion for net8.0

When 60dbcc9f was backported to .NET 8, the accompanying unit test was accidentally targeting .NET 9.

I don't see Rolf's changes from https://github.com/dotnet/sdk/commit/25b360d5799b022ea538a13bac52246f1a1b936a in this file:
/mnt/vss/_work/1/s/bin/Release/dotnet/sdk/8.0.204/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets

This causes the InvalidTargetPlatformVersion("android32") test to fail.
So, let me see if this starts working from a newer .NET SDK.

Ok, I don't see that change in .NET 8 at all:

https://github.com/dotnet/sdk/blob/release/8.0.4xx/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.TargetFrameworkInference.targets

So, I guess we just remove part of this test.

There are some random/flaky failures for ApplicationRunsWithDebuggerAndBreaks, but I'm going to merge so this gets us close to green.


Milestone 3: Game Logic

Contributors :

Certil Remy
Simon Debbarma

Project Requirements

[x] Suggested branch name game_logic.
[x] Add real logic for your game - get rid of all inline comments and mocked logic used in previous milestone.
[x] As main.rb file should be responsible for user interaction, this is the only(!) one place where puts/print and get.chomp can be used.
[x] Think how you can encapsulate diffrent parts of game logic in classes. Do not create one class for everything.
[x]  Read about DRY rule and use it.
[x] Think about the diffrence between attr_readers/attr_writers and atrr_acessors. Use atrr_acessors only if you really need it.
[x]  Remember about single responsibility rule. Always.
[x] Remember to cover edge cases: think what player could try to do to cheat the game and make sure that your program does not allow to perform invalid action.

Thank You @whiz25


Shifting to non-existing target time in given timezone returns an error

Steps to reproduce

API function called: Timex.shift/2
Arguments provided: [Timex.Timezone.resolve("Canada/Yukon", {{2012, 3, 12}, {2, 43, 31}}), days: -1]
Version: 3.4.1

Description of issue

What are the expected results?
The target time - 2012-03-11 02:43:31-07:00 does not exist in given timezone. Still would expect Timex.shift/2 to return corresponding / nearest time in given timezone, which would be 2012-03-11 03:43:31-07:00
Actual results:

iex(6)> Timex.shift(Timex.Timezone.resolve("Canada/Yukon", {{2012, 3, 12}, {2, 43, 31}}), days: -1)
{:error, {:could_not_resolve_timezone, "Canada/Yukon",<PHONE_NUMBER>1, :wall}}

Similar logic with moment.js

$ npm install moment-timezone
$ node
> var moment = require('moment-timezone');
> moment.tz("2012-03-12 02:43:31", "Canada/Yukon").subtract(1, 'day').format()
'2012-03-11T03:43:31-07:00'

This is fixed in master, let me know if you spot further issues!


Navigation Drawer is huge in Tablets

Summary:
The navigation drawer seems to occupy extra space in tablets.
Device and Android version:
Custom Tablet 9 inch API 28 stock android.
Commons app version:
latest betaDebug
Screen-shots:

Would you like to work on the issue?
Yes

How does it look in other apps such as Gmail?

@nicolas-raoul On other stock android apps such as Contacts, it is like this


[GOBBLIN-335] Increase blob size of mysql

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-335] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-335

Description

[x] Here are some details about my PR, including screenshots (if applicable):

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

@htran1  Can you review ? Thanks.


pod

could you plz make it pod

sorry,it didn't work out,please wait for a while.But you can drag the classes to your project.


mapToOneOrNull replaced by mapToOneOrDefault

Solves #55

Can you squash to one commit? If not, I can do it upon merge.

Squashed.

Thanks!


Migrating issues from Google Code

Just a passing note: there's 124 open issues on Google Code at the moment. The service will be shut down on August 25th, so maybe it's worthwhile to move the issues over here? That can be done with a single button click, it seems.

Except the one-click solution doesn't work. I get the error message "Project already exists." Their solution is to temporarily rename the repository on github, and retry the export. That doesn't work, though. If you have other solutions to migrate the issues, that would be great.

Tried out arthur-debert/google-code-issues-migrator on a test repo — seems to be robust (I aborted migration after the first ten). But do read the notes about spamming the people who watch your repo, cause that sounds pretty nasty. On the other hand, I doubt that Google Code has some backdorish way of migrating the issues without letting anybody know...

I wrote:

The service will be shut down on August 25th

That's a lie, actually. The service will only become read-only. So maybe it will suffice to point here from the main site, so that new issue reports go to GitHub.


Elkarte 2.0 - Boards icons

tested with Firefox and Chrome, same result. As a guest this problem does not exist.

Try to toggle back to the default theme vs 2.0. What you are seeing are the screen reader helpers.
I pulled back some of the better 2.0 items into the default, been using 2,0 as a playground and refining the 'keepers' back in default.

Thanks, it was due to 2.0 theme, switched back to default theme and icons are displayed correctly. I guess we can close this


[DriverConf] [Minor] Config resource filename should not be hard-coded

A call to parseResources with "external.config.resource" have been replaced with the value of external.config.resource. Anyway, I have doubts about what it is used for.

All right!

+1

By the way, the idea of using an environmental parameter for pointing to a path where the configuration file is, was a good idea but it wasn't implemented properlyy


feature: Enforce consistent suite naming

Running testifylint on a large codebase at work I noticed that suits are not consistently named. It would be useful if testifylint detected this and enforced usage of either (suite *TestSuite) or (s *TestSuite).
Example of inconsistent naming:
// example1_test.go
type ExampleTestSuite1 struct {
	suite.Suite
}

func (suite *ExampleTestSuite1) TestExample() {
}

// example2_test.go
type ExampleTestSuite2 struct {
	suite.Suite
}

func (s *ExampleTestSuite2) TestExample() {
}

Hi!
Thank you for feedback.
Related to https://github.com/Antonboom/testifylint/blob/master/CONTRIBUTING.md#suite-test-name

Also related
https://github.com/stretchr/testify/pull/1512


Fix autotuning so that it records Floating Point Operations per second, not microsecond

Autotuning run with a 1.3B parameter Megatron model on two 8xA100 machines records the following for an experiment with microbatch size 35, 1 gradient accumulation step, and ZeRO stage 1:
{
    "forward": 1314155.8837890625,
    "backward": 3941037.841796875,
    "step": 4537.1198654174805,
    "latency": 5259730.845451355,
    "FLOPS_per_gpu": 70800994.509407,
    "throughput": 0.013308665796185445,
    "rank": 0
}

However, the detailed FLOPS profiler output this report:
-------------------------- DeepSpeed Flops Profiler --------------------------
Profile Summary at step 4:
Notations:
data parallel size (dp_size), model parallel size(mp_size),
number of parameters (params), number of multiply-accumulate operations(MACs),
number of floating-point operations (flops), floating-point operations per second (FLOPS),
fwd latency (forward propagation latency), bwd latency (backward propagation latency),
step (weights update latency), iter latency (sum of fwd, bwd and step latency)

world size:                                                   16
data parallel size:                                           2
model parallel size:                                          8
batch size per GPU:                                           35
params per gpu:                                               858.64
params of model = params per GPU * mp_size:                   6869.16
fwd MACs per GPU:                                             62008.59 GMACs
fwd flops per GPU:                                            124131.39 G
fwd flops of model = fwd flops per GPU * mp_size:             993051.13 G
fwd latency:                                                  1.33 s
fwd FLOPS per GPU = fwd flops per GPU / fwd latency:          93.37 TFLOPS
bwd latency:                                                  3.92 s
bwd FLOPS per GPU = 2 * fwd flops per GPU / bwd latency:      63.38 TFLOPS
fwd+bwd FLOPS per GPU = 3 * fwd flops per GPU / (fwd+bwd latency):   70.98 TFLOPS
step latency:                                                 3.7 ms
iter latency:                                                 5.25 s
FLOPS per GPU = 3 * fwd flops per GPU / iter latency:         70.93 TFLOPS
samples/second:                                               106.66

In particular, the approximately 70 million FLOPS per GPU that autotuning has recorded is off by a factor of a million from the 70 tera-FLOPS that the detailed profile reports. It appears that the latency variable is recorded in microseconds, while the number of FLOPS is just divided by the microseconds number.
This PR is a quick fix to calculate the autotuning FLOPS and throughput in the proper units.
Work done with @Quentin-Anthony and  @nsarka
Co-authored-by:  Nick Sarkauskas<EMAIL_ADDRESS>Co-authored-by: Quentin Anthony<EMAIL_ADDRESS>Signed-off-by: Dashiell Stander<EMAIL_ADDRESS>

@cli99 -- kindly review this PR.

There was an unrelated runner error with the HF tests that was resolved in https://github.com/huggingface/transformers/commit/9286039c2a709d1c31f35ee07c23dc90bab9cf4d. I merged master into this branch and restarted the tests.
If these succeed, I think it's clear to merge.


Add python linters and code formatting

Integrate flake8 in the build.

Simplify installation of pytest and coverage
Add test Makfile
Add flake8 target and CI step
Add pylint target and CI step
Add black target and CI step (not finished)

Currently we ignore line length checks. We can improve this later by
reformatting the code.
Fixes: #655

Looks good to me.


Didn't get live stream

[wsp] Transport error
[transport:ws] [ctrl] close. code: 1006 unknown reason
[transport:ws] [ctrl] error

getting the same issue

same issue

Be sure that player links to working websocket rtsp proxy. For example this demo: wss://streamedian.com/demonstration/ws/


Bun - citext integration support

The queries generated by Bun don't work as expected in regards to case insensitivity when matching citext columns.
Is the citext type supported by Bun at the moment?  @vmihailenco
type User struct {
	bun.BaseModel `bun:"table:User"`

	ID        string `bun:",pk"`
	Email     string `bun:"email,notnull,unique"` // Makes use of `citext` type/extension

For this email we always get back the error if we don't respect the case of each character in the email:
Failed to create user with<EMAIL_ADDRESS>ERROR: duplicate key value violates unique constraint "User.email._UNIQUE" (SQLSTATE=23505)

I don't know anything about citext and fail to see what Bun has to do with it.

@vmihailenco The citext module provides a case-insensitive character string type. Is an extension used for attributes at DB level which helps when comparing values. so for example<EMAIL_ADDRESS>would equal<EMAIL_ADDRESS>After migrating to bun, this functionality stopped working for us and we started to receive the errors mentioned above.


Correct test input file Refs #405

This Pr resolves issue #405

Job VTB Documentation on 4ea48a6 wanted to post the following:
View the site here
This comment will be updated on new commits.

This fails even with a new pronghorn it seems
you ll want to update the subchannel module in pronghorn first, then update the pronghorn submodule in the VTB in this PR

Ok, i updated the subchannel submodule in the latest pronghorn Pr. Once that gets merged i will update pronghorn in this Pr.

you'll need to update the pronghorn submodule. and once it passes tests we can merge

looks like we need to investigate a msfr failure


Please update to the new sci-hub domain

Currently sci-hub.tw does not work. The working alternative is sci-hub.st

The maintainer seems to be no longer active, a working fork as been made https://github.com/0x01h/sci-hub-now/pull/20#issuecomment-886220729


[PE-D][Tester E] leave bug

"Leave .... integer more than 1". It should be "more than 0" because typing in 1 also works.

Labels: severity.Low type.FeatureFlaw
original: sarthak181/ped#1

duplicate issue


Support deepCopy and deepClone to clone and modify the options objects

it would be nice to deepClone and deepCopy the options by inheriting it to descendants. so it could be stored in a property and injected automatically to the merge. I could even write its own merge logic in a function:
{
    mergeOptions: {
        mergeOptions: function (self, newOptions, property){
               return deepCopy(deepClone(self[property]), [newOptions], [arguments.callee]);
        }
    }
}

this could be in the Base.prototype so by inheritance it would be possible to add new options for validation and merging logic.

moved to 0.8 since 0.7 is past by 3 days...

currently cloning properties like "@each" and "@once" interferes with the options
deepCopy({"@once": 1}, [{"@once": 2}], {"@once": function (subject, value, property){
    return subject[property] + value;
}});

this won't set 1+2=3 on the subject.@once, it rather sets subject[0]={"@once": 2}, because the params of @once are (subject, source, index, each, path) by definition.

if we use an object and define a new property that will have a completely different meaning
deepCopy({"@once": 1}, [{"@once": 2}], {"@once": {
    "@callback-for-once": function (subject, source, index, each, path){},
    "@callback-for-the-property":  function (subject, value, property){
        return subject[property] + value;
    }
}});

by @once this could work, with a big mess
by @each has it a different meaning, so by there I'll need to override the specification or add a new parameter to deepCopy, none of them is an easy way

I think something like would be okay:
{
    "@property": {
        "@property": propertyOptions, // callback to clone the "@property" property
        "@each": propertyOptions, // ...
        "@once": propertyOptions
    },
    regularProperty: propertyOptions,
    "@each": eachOptions,
    "@once": onceOptions
}

another way to avoid confusion to move the regular properties to a @property object
{
    "@property": {
        "@property": propertyOptions, // callback to clone the "@property" property
        "@each": propertyOptions, // ...
        "@once": propertyOptions,
        regularProperty: propertyOptions
    },
    "@each": eachOptions,
    "@once": onceOptions
}

in this case a nested structure would be something like this:
{
    "@each": {...}, //nested options on each property
    "@property": {
        "@each": {...}, //nested options on the "@each" property
        regularProperty: {} // nested options on a regular property
    }
}

{
    "@property": {
        regularProperty: {
            "@property": {
                subProperty: function (regularProperty, value, subProperty){}
            }
        }
    }
}

this is a bit verbose compared to
{
        regularProperty: {
                subProperty: function (regularProperty, value, subProperty){}
        }
}

and so it is easier to make mistakes.
I think the best option is the one I proposed at first with the extension that we can use regular properties in both objects:
{
    "@property": {
        "@property": propertyOptions, // callback to clone the "@property" property
        "@each": propertyOptions, // ...
        "@once": propertyOptions,
        regularProperty: propertyOptions,
    },
    regularProperty: propertyOptions,
    "@each": eachOptions,
    "@once": onceOptions
}

if there is a collision (both objects contain options of the same property, then we throw an Error)

I think the best option to use a hybrid of both objects:
{
    "@property": {
        "@property": propertyOptions, // callback to clone the "@property" property
        "@each": propertyOptions, // ...
        "@once": propertyOptions,
        regularProperty: propertyOptions,
    },
    regularProperty2: propertyOptions,
    "@each": eachOptions,
    "@once": onceOptions
}

if there is a collision (both objects contain options of the same property, then we throw an Error)

what about supporting the @property in the array style configuration?
[{}]
[each, {}]
[once, each, {}]

I think it is okay
{
    "@property": {
        regularProperty: {
            "@property": {
                subProperty: function (regularProperty, value, subProperty){}
            }
        }
    }
}

[
    {
        regularProperty: [
            {
                subProperty: function (regularProperty, value, subProperty){}
            }
        ]
    }
]

or compressed
[{
    regularProperty: [{
        subProperty: function (regularProperty, value, subProperty){}
    }]
}]

what if want to use @property with @once but not @each in the Array format?
I won't do that.

The @property is already taken, I have to find out something new.
regular, static, pfff I don't know...
fixed
native
hmm @native would be nice I think. native properties are not enumerable, so I could simple skip the keywords, and for-in the natives after that. This is a solution to #74 as well.

I think instead of using @* I should use only Arrays.
[Function @subject/@source, Object specificProperties+@native, Function @property]

so for example:
{
    x: function x(){},
    @property: function each(){}
}

will be
[{x: function x(){}}, function each(){}]

the order in the Array what counts...
if I give only an Object, then it can contain only specific properties
if I give only a Function, then it will be a regular property Function and not an each by nested Objects.
{
    x: function (){}, // regular property Function
    y: [function (){}] // nested property @property Function under y
}
// the object related to it
{
    x: 1,
    y: {a:1, b:2}
}

This is possible now, since the traverser does not use the same object to describe properties and tokens.
var options = {property: {x: dummy, y: dummy}};
deep(options, {property: {x: function (){}}}, {
    property: {
        property: {
            defaultProperty: function (subject, value){
                return value;
            }
        }
    }
});

this overrides the property.x with the new value.

bit verbose by using the deep, and by merge it is error prone to add defaultProperty to every object I want to deeply merge, but I think in long term this is a better solution than writing similar traversers

I think it is possible to make this less error prone. At least the merge logic can be reused by moving the options to a prototype property. By inheritance it should be possible to extend the merge logic.
this.mergeOptions = {
    property: {
        mergeOptions: {
            // ???
        }
    },
    defaultProperty: function (subject, value){
        return value;
    }
};

this.merge: function (source){
    for (var index in arguments)
        deep(this, arguments[index], this.mergeOptions, [index]);
    return this;
};

How to make it self modifiable?
Check an example:
    frames: [],
    string: undefined,
    build: function () {
        this.frames = shallowClone(this.frames);
    },
    merge: function (source) {
        for (var index in arguments)
            deep(this, arguments[index], {
                property: {
                    frames: {
                        subject: function (subjectFrames, frames, eachProperty) {
                            if (!(frames instanceof Array))
                                throw new StackTrace.StackFramesRequired();
                            eachProperty();
                            subjectFrames.push.apply(subjectFrames, frames);
                        },
                        defaultProperty: function (stackTrace, frame) {
                            if (!(frame instanceof StackFrame))
                                throw new StackTrace.StackFrameRequired();
                        }
                    }
                },
                defaultProperty: function (stackTrace, value) {
                    return value;
                }
            }, [index]);
        return this;
    },

What to do if I want to add frames to mergeOptions.property?
with traverser:
x.merge({
    mergeOptions: {
        frames: {...}
    }
});

so it needs a defaultProperty. and I think it should be deeply recursive. another possible solution to use the subject option and call a custom function with it given in the source.

var mergeOptions = {};
mergeOptions.subject = function (){
    // creates new object if it does not exist in the original one
};
mergeOptions.defaultProperty = mergeOptions;

I should follow the OCP here, so the mergeOptions and the buildOptions MUST be extended only. If I deeply clone them and merge with the source options, that may be a good solution. I have to write new tests for Base.build and Base.merge.

I decided in o3 to implement a meta property with clone and merge, which is much easier to understand than the deep() function. I already forgot how to use deep, so I am sure now it is not easy to use... :D https://github.com/inf3rno/o3/issues/47


Connection Error using Peppermint OS 8..

SQL Operations Studio Version:
0.30.6

Steps to Reproduce:
-Install including dependencies.
-Connect to SQL Server on Windows Server.
Details:
System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired.  The timeout period elapsed during the post-login phase.  The connection could have timed out while waiting for server to complete the login process and respond; Or it could have timed out while attempting to create multiple active connections.  The duration spent while attempting to connect to this server was - [Pre-Login] initialization=15; handshake=24; [Login] initialization=0; authentication=0; [Post-Login] complete=29929;  ---> System.ComponentModel.Win32Exception (258): Unknown error 258
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.<>c__DisplayClass40_0.b__1(Task1 _)    at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.SqlTools.ServiceLayer.Connection.ReliableConnection.ReliableSqlConnection.<>c__DisplayClass28_0.<b__0>d.MoveNext() in D:\a\1\s\src\Microsoft.SqlTools.ServiceLayer\Connection\ReliableConnection\ReliableSqlConnection.cs:line 298
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.SqlTools.ServiceLayer.Connection.ConnectionService.TryOpenConnection(ConnectionInfo connectionInfo, ConnectParams connectionParams) in D:\a\1\s\src\Microsoft.SqlTools.ServiceLayer\Connection\ConnectionService.cs:line 542
ClientConnectionId:8e66ee6d-195f-4ea4-b1a8-c50729108a8f
Error Number:-2,State:0,Class:11

@ECWeb this exception looks like a general timeout failure coming from the .Net Core SqlClient component.  Are you able to successfully connect to the server using other tools from the same machine?


Dafny: Compile does not work in 2.6

Instead of injecting the path to the DLL it sends the following to the console
"/usr/local/share/dotnet/dotnet" "[object Promise]" "/path/to/file.dfy"

This was just fixed.


fix the misleading quality gates linked from the readme

we need to fix the cut and paste error at the top of the readme.
Egeria Logo
GitHub CII Best Practices Azure Quality Gate Status Maven Central
however not until we understand the the differences between the scans.

I've added a PR to improve -

The azure link is not relevant for the connector (in fact not really for the base either - where it has already been removed)
The quality gate is always showing red as we've not set appropriate rules/strategy for the sonar reports - it is removed in the base so done the same here

I've left the maven link as is, but note it points to a group, not artifact. this is egeria as a whole (and that is what the version is of). If diversions diverge the actual connector may not be found in that version. In any case only one artifact is chosen not the 100s we have in the base. So at best it's an invite to go looking. As such it's probably worth leaving as-is.

Still a rogue ) in the readme!


react version conflict

@divriots/jampack depend quicklink which  has peer dependency<EMAIL_ADDRESS>while @astrojs/react depend<EMAIL_ADDRESS>Because of this error, my npm ci command is failed for my fly launch.
 Exit handler never called!
73.27
73.27 npm ERR! This is an error with npm itself. Please report this error at:
73.27 npm ERR!     https://github.com/npm/cli/issues
73.27
73.27 npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2024-05-25T13_34_08_343Z-debug-0.log

Error: failed to fetch an image or build from source: error building: failed to solve: process "/bin/sh -c npm ci --include=dev" did not complete successfully: exit code: 1

Hi, thanks,  I solved this question by upgrade my pnpm version.

solved this question by upgrade my pnpm version


Add support for SwiftWasm with CI and tests

WebAssembly support for atomics and multi-threading isn't fully standardized yet, and it not supported in SwiftWasm at the moment. Because of this Dispatch is unavailable, and all Combine-related Foundation stuff is unavailable too. Tests related to this are disabled. Locking functions are replaced with no-op shims.

Argh, Swift older than 5.3 doesn't support #if os(WASI) checks.
WDYT about dropping support for pre-5.3 Swift versions? You can still deploy with Swift 5.3 pretty far back, and support old versions of OS. And not that 5.3 was a particularly breaking release, I hope it's easy enough if not seamless for people to upgrade.

Argh, Swift older than 5.3 doesn't support #if os(WASI) checks.
@broadwaylamb WDYT about dropping support for pre-5.3 Swift versions? You can still deploy with Swift 5.3 pretty far back, and support old versions of operating systems we already support. And not that 5.3 was a particularly breaking release, I hope it's easy enough if not seamless for people to upgrade.

You can do this:
#if swift(>=5.3)
#if os(WASI)

#endif
#endif

I don't want to drop support for older Swift versions because if we do, we won't be able to run tests with Xcode 9.3, which is the last Xcode version that can build for 32 bit simulators. And I'd like to be able to test OpenCombine on 32 bit platforms.

Right, the problem is more about #if !os(WASI). Positive OS conditons can be hidden with #if swift(>=5.3), but I need to exclude some tests, that's why the negative !os(WASI) condition is needed too. Is there a way to work around that?

Fails

:no_entry_sign:

Sources/OpenCombine/CombineIdentifier.swift#L14 - All declarations should specify Access Control Level keywords explicitly. (explicit_acl)

:no_entry_sign:

Sources/OpenCombine/CombineIdentifier.swift#L14 - Let and var should be separated from other statements by a blank line. (let_var_whitespace)

:no_entry_sign:

Sources/OpenCombine/CombineIdentifier.swift#L14 - Top-level declarations should specify Access Control Level keywords explicitly. (explicit_top_level_acl)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L14 - Ensure definitions have a lower access control level than their enclosing parent (lower_acl_than_parent)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L14 - Explicitly calling .init() should be avoided. (explicit_init)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L15 - Ensure definitions have a lower access control level than their enclosing parent (lower_acl_than_parent)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L16 - Ensure definitions have a lower access control level than their enclosing parent (lower_acl_than_parent)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L17 - Ensure definitions have a lower access control level than their enclosing parent (lower_acl_than_parent)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L21 - All declarations should specify Access Control Level keywords explicitly. (explicit_acl)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L21 - Top-level declarations should specify Access Control Level keywords explicitly. (explicit_top_level_acl)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L22 - Ensure definitions have a lower access control level than their enclosing parent (lower_acl_than_parent)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L22 - Explicitly calling .init() should be avoided. (explicit_init)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L23 - Ensure definitions have a lower access control level than their enclosing parent (lower_acl_than_parent)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L24 - Ensure definitions have a lower access control level than their enclosing parent (lower_acl_than_parent)

:no_entry_sign:

Sources/OpenCombine/Helpers/Locking.swift#L25 - Ensure definitions have a lower access control level than their enclosing parent (lower_acl_than_parent)

  Generated by :no_entry_sign: Danger Swift against 2e7b7603b21f11d88a9edea890b53e35de16687b

Oh, that.
At times like this I wish I quit programming.
I'll figure something out.

BTW, if you care about 32-bit, WebAssembly is currenly 32-bit only 🙂

Here's an idea.
Instead of writing #if !os(WASI) let's use #if canImport(Darwin) || os(Linux), just like we do in Package.swift.

Turns out that os(WASI) is not a compiler error with older versions, just a warning. The error was caused by missing<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

Turns out that os(WASI) is not a compiler error with older versions, just a warning. The error was caused by missing<EMAIL_ADDRESS>and<EMAIL_ADDRESS>
Yeah, but I'd like to avoid warnings as well.

I can't reproduce this error with Swift 5.2 on Linux locally, have you seen it before?
[100/114] Compiling OpenCombineFoundation Violations.swiftwift2K[2K<unknown>:0: error: missing submodule 'CFURLSessionInterface'
/root/project/Sources/OpenCombineFoundation/URLSession.swift:11:8: error: missing required module 'CFURLSessionInterface'
import FoundationNetworking
       ^
[101/114] Compiling OpenCombineFoundation JSONEncoder.swift<unknown>:0: error: missing submodule 'CFURLSessionInterface'
/root/project/Sources/OpenCombineFoundation/URLSession.swift:11:8: error: missing required module 'CFURLSessionInterface'
import FoundationNetworking
       ^
[102/114] Compiling OpenCombineFoundation RunLoop+Scheduler.swift<unknown>:0: error: missing submodule 'CFURLSessionInterface'
/root/project/Sources/OpenCombineFoundation/URLSession.swift:11:8: error: missing required module 'CFURLSessionInterface'
import FoundationNetworking
       ^
[106/114] Compiling OpenCombineFoundation OperationQueue+Scheduler.swift<unknown>:0: error: missing submodule 'CFURLSessionInterface'
/root/project/Sources/OpenCombineFoundation/URLSession.swift:11:8: error: missing required module 'CFURLSessionInterface'
import FoundationNetworking
       ^

I've rerun the tests, it's fine now.

LGTM

  Generated by :no_entry_sign: Danger Swift against d50a7ae2c1b4f9784d91295fb24db9c6a8cde580

Writing #if !WASI is still not possible, is it? If not, that doesn't really solve the problem with the negative #if !os(WASI) platform checks.

Why not? AFAIU, it should be possible.

You're right, it does work. I always thought that Swift #if is equivalent to C #ifdef, but wasn't sure whether #if ! is valid and if it translates to #ifndef.

The iOS tests job also fails in master with Failed to download iOS 9.3 Simulator error.

The iOS tests job also fails in master with Failed to download iOS 9.3 Simulator error.

Unfortunately, this happens sometimes.

I only disabled PrintTests.swift as it relied on Atomic and race.

Would you prefer "Squash and merge" or "Rebase and merge" here?

I only disabled PrintTests.swift as it relied on Atomic and race.

I see. Can I ask you to enable those tests, but tweak the implementation of Atomic to not use NSLock on Wasm, and the implementation of the race function to just use a for loop instead of DispatchQueue.concurrentPerform(iterations:) on Wasm?

Would you prefer "Squash and merge" or "Rebase and merge" here?

The former.


"as is Pi, which is exported from the math package." Implies math.Pizza is a thing - use Intn instead of Pizza!

"as is Pi, which is exported from the math package...." Implies math.Pizza is a thing.
You shall either amend the tour's documentation or remove Pizza.

"as is Pi, which is exported from the math package...." Implies math.Pizza is a thing.

I don't think it does. The "which" in the sentence "as is Pi, which is exported by math" refers to Pi, not to both Pi and Pizza.


Vue is not detected when JSP is loaded through struts

Version
2.4.0
Reproduction link
http://localhost:8080
Steps to reproduce
<!DOCTYPE html>
 <html lang >
  <head>
         <script src="vue.min.js"></script>
  </head>
  <body>
    Sample heading
    <div class="container" id="mainDiv"> {{firstName}} </div>
  </body>
    <script type="text/javascript">

        Vue.config.devtools = true;

        var app = new Vue({
          el: '#mainDiv',
          data: {
            firstName: 'name',
            lastName: 'lName',
            description: 'desc'
          }
        });
    </script>
</html>

What is expected?
The following options are tried :
If the above file is executed using .html, it works as expected. Chrome Dev tools detects that its a Vue application
If the above file is executed using .jsp, it works as expected. Chrome Dev tools detects that its a Vue application(http://localhost:8080/example.jsp)
If the above file is executed using .jsp and the jsp is loaded through form submission like http://localhost:8080/example.do and the success is redirected to example.jsp, it doesn't work.

Output in case 1 and 2 :
Sample heading
name
What is actually happening?
Output in case 3 :
Sample heading.

1. Ideally its supposed to display "name" as well.
2. If we do inspect element, it shows "".
3. In inspect element, If I select "app.firstName" I am able to see the value "name"
4. lets say, if I add "<component ref='container' :is='something'></component>", Vue is still unable to display component's template. If I do app.$ref -- {} in case 3 and app.$ref -- {container:...} in case 1 and 2

_vnode seems to be undefined and when we do inspect element and select "app" / Vue all its functions are visible. Vue is not registered.
Have also tried using timeout function of one second delay for making sure if there are any aysnc problems.

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server, gitter or StackOverflow.


Version 1.1.0 MCMCSample() function cannot read MultiNest/PolyChord output files correctly.

Happened when execute this line:
sample = MCMCSamples(root=fileName)
Then get this error message:
ValueError: DataFrame constructor not properly called!
One thing worth to note is that 1.1.0 works well with the provided lensing example. So the error only happens when I change the 'root' equals to my own file name in the chains folder.
I also tried the standard PolyChord output file using the default gaussian example, it would report:
ValueError: Wrong number of items passed 5, placement implies 1
Previously when I used it with anesthetic 1.03, it can read the file ok. Now I upgraded it to version 1.1.0, run the same code it would report this.  The output files are the standard MultiNest/PolyChord output files.

Hi @xichenamoy . Many thanks for spotting this.
Can you confirm that this only occurs if you try to use read nested sampling chains with MCMCSamples, and that reading them with NestedSamples does not have this issue?
@lukashergt, I think this was introduced in #14 when we restructured in terms of SampleReader. It might be worth just raising a more informative ValueError if one tries to read ns chains with MCMCSamples

@williamjameshandley
Yes, I forgot to mention this. It works well with NestedSamples(), only occurs in MCMCSamples().

I think this was introduced in #14 when we restructured in terms of SampleReader

Probably, I never checked for the option of reading nested sampling files with MCMCSamples. Is that what we want?

I'm not sure. In theory NS files should be readable as MCMCSamples, but I don't know why you'd want to/if we should encourage it. Given that NestedSamples is a subclass of MCMCSamples you would get no benefit from loading them as MCMCSamples, so at the very least if we want to allow people to do this we should throw a warning. For now, the easiest solution would be to not support reading MN/PC files with MCMCSamples, but to throw a more informative error.

Fixed in #64


Failed to install VS COde update

Failed to install VS Code update: I think it has something to do with a Workspace that I tried to replace: Here are the log files from when the issue started to persist.
vscode-inno-updater-1548708156.log
vscode-inno-updater-1548792889.log
vscode-inno-updater-1548959051.log
vscode-inno-updater-1548962054.log
vscode-inno-updater-1549054296.log
vscode-inno-updater-1549293533.log
vscode-inno-updater-1549296172.log

Did you try to restart Windows?


10.0.22631.2861

10.0.22631.2861

Request support for this version

10.0.22631.2861

This is not a termsrv.dll version. termsrv.dll version != Windows version!

Duplicate of https://github.com/stascorp/rdpwrap/issues/2443


Android - Chat - Badge "stg" is missing

Fixed Issues

$https://github.com/Expensify/App/issues/9465
Tests

[ ] Comment out https://github.com/Expensify/App/blob/903ead3c5a37ac6127722bb2d12f27a7bcc78785/src/libs/Environment/getEnvironment/index.native.js#L20-L23, to be able to test in the mobile apps
[ ] Change this line https://github.com/Expensify/App/blob/903ead3c5a37ac6127722bb2d12f27a7bcc78785/src/libs/Environment/getEnvironment/index.js#L11 to

return Promise.resolve(lodashGet(Config, 'ENVIRONMENT', CONST.ENVIRONMENT.STAGING));

PR Review Checklist

PR Reviewer Checklist
The Contributor+ will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

QA Steps

[ ] Verify that no errors appear in the JS console

Screenshots

Web

Mobile Web

Desktop

iOS

Android

Changed the variable name and awaiting another review

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @Luke9389 in version: 1.1.86-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @yuwenmemon in version: 1.1.86-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Test Connection Result Appears to be cached

Problem
When creating a service with an invalid connection and testing it the result appears to be cached

Modifying the credentials to valid ones (before having pressed save) will still result in the same error message. e.g. create a BQ service with a credential file path that is fake and test the connection. Then update the credential type to credential values enter the correct values and test the connection again -> you should see the same error message as when testing the connection with the credentials file path

Putting in ingestion but we need to investigate the root cause

@OnkarVO7 does your PR fixes this issue?

@harshach this PR fixes issues where the connections details where getting cached for e.g in case of tableau which the user was facing.
This particular issue is specifically related to bigquery which has a different problem. Trying to figure out this issue.

@OnkarVO7 can we close this?


fix(dropdown tests): improved coverage to 100%

What is the change?
Provide a small description of what did you change and provide the reference to the issue ticket.
Is it bug?
No
*Dev Tested?

[x] Yes

We can expect timezoneArray be default assigned to api response ?? [] right?


pyzpl doesn't parse subtrees if the parent has a value

This is (as far as I can tell) valid ZPL. The C API has no trouble with it:
thing = foo
    bar = baz

thing = flu
    bar = bat

 thing
    bar = bar

However, if you load such a config file into pyzpl there is no way to iterate over the thing instances and no way to access the bar values
cfg = pyzpl.load( open(path, "r") )
thing = cfg.get("thing")
assert thing == u'thing'

Without any changes to the library, I'll just point you to the pyzpl.load_stream function.
In [10]: data = io.BytesIO(b"""
    ...: thing = foo
    ...:     bar = baz
    ...:
    ...: thing = flu
    ...:     bar = bat
    ...:
    ...: thing
    ...:     bar = bar
    ...: """)

In [12]: for names, value in pyzpl.load_stream(data):
    ...:     print(names, value)
('thing',) foo
('bar',) baz
('thing',) flu
('bar',) bat
('thing', 'bar') bar

If this isn't enough, I think you'll need to provide more input.

load_stream() has a different function than load(). load() returns a dict (tree) which more closely reflects the configuration. Note in your output:
('thing',) foo
('bar',) baz
('thing',) flu
('bar',) bat
('thing', 'bar') bar

the two 'bar' items subordinate to value-qualified 'thing' blocks lose context. That is, the last 'bar' item is correctly qualified as ('thing','bar') but the prior two are just ('bar',)
In more detail, in the C API, I can do this:
zconfig_t* cfg = zconfig_load("/path/to/file");
zconfig_t* thing = zconfig_locate(cfg, "thing");
/* find the "flu" item */
while (thing)
{
    char* name = zconfig_value(thing);
    if (name && strcmp(name, "flu") == 0) {
        char* bar = zconfig_get(thing, "bar", "");
        printf("thing/bar where thing=flu is %s\n", bar);
        thing = 0;
        break;
    }
    /* not flu, get the next one */
    do
    {
        thing = zconfig_next(thing);
    } while (thing && strcmp(zconfig_name(thing), "thing") == 0);
}

That's an (inelegant) example of walking a tree and finding a sub-tree with a matching value. Is there any way to do the same thing with pyzpl?

I think pyzpl.load_stream can work for you, it's just that you're input is structured in a way that pyzpl handles differently than you expect. In particular the issue is with the property assignment followed by another indented property assignment.
thing = foo
    bar = baz

The spec is not completely clear on how this should be treated. Thinking about it, I don't even know how this would even be parsed. Maybe something like this?
{"thing": {"root": "foo", "bar": "baz"}}

If so, maybe you can change your input to this.
thing
    root = foo
    bar = baz

Which should produce the following from  pyzpl.load_stream.
In [12]: for names, value in pyzpl.load_stream(data):
    ...:     print(names, value)
('thing', 'root') foo
('thing', 'bar',) baz
('thing', 'root') flu
('thing', 'bar',) bat
('thing', 'bar') bar

@jwmelto I made a beta release, which you can find here: https://pypi.org/project/pyzpl/201902.2b0/
You can install it with pip install pyzpl==201902.2b0. Please report if you find any issues.