Refactor numba.np.arraymath methods from lower_builtins to overloads

This PR refactors methods in numba.np.arraymath to use the new @overload API. It refactors the following functions:

[x] np.prod
[x] np.cumsum
[x] np.cumprod
[x] np.mean
[x] np.var
[x] np.std
[x] np.min
[x] np.max

The two remaining functions in arraymath that use @lower_builtin are:

np.nonzero (which would be trivial once #8258 goes in)
np.sum (which is big enough to need it's own separate PR, due to it's support for axis argument).

Ultimately the goal with these PRs would be to get axis support for all the methods i.e. extending axis framework used in np.sum to all the other methods in arraymath.

/azp run

np.std gives a different result in Numba when the input is an empty array. This is not exclusive to your refactoring and perhaps should be addressed in a future PR.
from numba import njit

@njit
def foo(a):
    return np.std(a)

a = np.array([])
print(foo(a))  # raise => ZeroDivisionError: division by zero
print(foo.py_func(a))  => emit a warning and return nan

Also, if it is simple enough, we should copy the tests from NumPy into Numba for the functions you're refactoring. But this can als be done in a future work.
Cumprod
https://github.com/numpy/numpy/blob/74980dc65755eebbc99f097308b3fd5a44dee0e3/numpy/lib/tests/test_function_base.py#L684
Prod
https://github.com/numpy/numpy/blob/74980dc65755eebbc99f097308b3fd5a44dee0e3/numpy/lib/tests/test_function_base.py#L664
Cumsum
https://github.com/numpy/numpy/blob/74980dc65755eebbc99f097308b3fd5a44dee0e3/numpy/lib/tests/test_function_base.py#L641
Std/Var
https://github.com/numpy/numpy/blob/74980dc65755eebbc99f097308b3fd5a44dee0e3/numpy/core/tests/test_numeric.py#L2673
https://github.com/numpy/numpy/blob/74980dc65755eebbc99f097308b3fd5a44dee0e3/numpy/core/tests/test_numeric.py#L2712

np.std gives a different result in Numba when the input is an empty array. This is not exclusive to your refactoring and perhaps should be addressed in a future PR.

I'll open a issue for this one, as of now there is a ongoing discussion on warnings (as of how to implement them in Numba). Consecutively the tests will be modified from that issue onward.

Build numba_smoketest_cpu_yaml_133 has started

Build numba_smoketest_cpu_yaml_133 has started

This failed on win32 with the following errors. During an OOB conversation, we concluded that since this is a refactor, it should not be breaking, even on platforms we aim to no longer support very soon.
INFO - ======================================================================
INFO - FAIL: test_cumprod_magnitude (numba.tests.test_array_reductions.TestArrayReductions)
INFO - ----------------------------------------------------------------------
INFO - Traceback (most recent call last):
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\test_array_reductions.py", line 658, in test_cumprod_magnitude
INFO -     self.check_aggregation_magnitude(array_cumprod, is_prod=True)
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\test_array_reductions.py", line 637, in check_aggregation_magnitude
INFO -     self.assertPreciseEqual(npr, nbr)
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 391, in assertPreciseEqual
INFO -     self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
INFO - AssertionError: when comparing [<PHONE_NUMBER>606846976<PHONE_NUMBER>606846976<PHONE_NUMBER>213693952
INFO -<PHONE_NUMBER>641081856 -9223372036854775808 -9223372036854775808
INFO -                     0                    0                    0
INFO -                     0] and [0 0 0 0 0 0 0 0 0 0]: dtype('int64') != dtype('int32')
INFO -
INFO - ======================================================================
INFO - FAIL: test_cumprod_magnitude (numba.tests.test_array_reductions.TestArrayReductions)
INFO - ----------------------------------------------------------------------
INFO - Traceback (most recent call last):
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 851, in tearDown
INFO -     self.memory_leak_teardown()
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 826, in memory_leak_teardown
INFO -     self.assert_no_memory_leak()
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 835, in assert_no_memory_leak
INFO -     self.assertEqual(total_alloc, total_free)
INFO - AssertionError: 6 != 5
INFO -
INFO - ======================================================================
INFO - FAIL: test_cumsum_magnitude (numba.tests.test_array_reductions.TestArrayReductions)
INFO - ----------------------------------------------------------------------
INFO - Traceback (most recent call last):
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\test_array_reductions.py", line 647, in test_cumsum_magnitude
INFO -     self.check_aggregation_magnitude(array_cumsum)
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\test_array_reductions.py", line 637, in check_aggregation_magnitude
INFO -     self.assertPreciseEqual(npr, nbr)
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 391, in assertPreciseEqual
INFO -     self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
INFO - AssertionError: when comparing [<PHONE_NUMBER>606846976<PHONE_NUMBER>213693953<PHONE_NUMBER>820540931
INFO -<PHONE_NUMBER>427387910<PHONE_NUMBER>034234890<PHONE_NUMBER>641081871
INFO -<PHONE_NUMBER>247928853 -9223372036854775780 -8070450532247928796
INFO -  -6917529027641081811] and [ 0  1  3  6 10 15 21 28 36 45]: dtype('int64') != dtype('int32')
INFO -
INFO - ======================================================================
INFO - FAIL: test_cumsum_magnitude (numba.tests.test_array_reductions.TestArrayReductions)
INFO - ----------------------------------------------------------------------
INFO - Traceback (most recent call last):
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 851, in tearDown
INFO -     self.memory_leak_teardown()
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 826, in memory_leak_teardown
INFO -     self.assert_no_memory_leak()
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 835, in assert_no_memory_leak
INFO -     self.assertEqual(total_alloc, total_free)
INFO - AssertionError: 6 != 5
INFO -
INFO - ======================================================================
INFO - FAIL: test_nancumprod_magnitude (numba.tests.test_array_reductions.TestArrayReductions)
INFO - ----------------------------------------------------------------------
INFO - Traceback (most recent call last):
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\test_array_reductions.py", line 662, in test_nancumprod_magnitude
INFO -     self.check_aggregation_magnitude(array_nancumprod, is_prod=True)
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\test_array_reductions.py", line 637, in check_aggregation_magnitude
INFO -     self.assertPreciseEqual(npr, nbr)
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 391, in assertPreciseEqual
INFO -     self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
INFO - AssertionError: when comparing [<PHONE_NUMBER>606846976<PHONE_NUMBER>606846976<PHONE_NUMBER>213693952
INFO -<PHONE_NUMBER>641081856 -9223372036854775808 -9223372036854775808
INFO -                     0                    0                    0
INFO -                     0] and [0 0 0 0 0 0 0 0 0 0]: dtype('int64') != dtype('int32')
INFO -
INFO - ======================================================================
INFO - FAIL: test_nancumprod_magnitude (numba.tests.test_array_reductions.TestArrayReductions)
INFO - ----------------------------------------------------------------------
INFO - Traceback (most recent call last):
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 851, in tearDown
INFO -     self.memory_leak_teardown()
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 826, in memory_leak_teardown
INFO -     self.assert_no_memory_leak()
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 835, in assert_no_memory_leak
INFO -     self.assertEqual(total_alloc, total_free)
INFO - AssertionError: 6 != 5
INFO -
INFO - ======================================================================
INFO - FAIL: test_nancumsum_magnitude (numba.tests.test_array_reductions.TestArrayReductions)
INFO - ----------------------------------------------------------------------
INFO - Traceback (most recent call last):
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\test_array_reductions.py", line 651, in test_nancumsum_magnitude
INFO -     self.check_aggregation_magnitude(array_nancumsum, is_prod=True)
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\test_array_reductions.py", line 637, in check_aggregation_magnitude
INFO -     self.assertPreciseEqual(npr, nbr)
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 391, in assertPreciseEqual
INFO -     self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
INFO - AssertionError: when comparing [<PHONE_NUMBER>606846976<PHONE_NUMBER>213693953<PHONE_NUMBER>820540931
INFO -<PHONE_NUMBER>427387910<PHONE_NUMBER>034234890<PHONE_NUMBER>641081871
INFO -<PHONE_NUMBER>247928853 -9223372036854775780 -8070450532247928796
INFO -  -6917529027641081811] and [ 0  1  3  6 10 15 21 28 36 45]: dtype('int64') != dtype('int32')
INFO -
INFO - ======================================================================
INFO - FAIL: test_nancumsum_magnitude (numba.tests.test_array_reductions.TestArrayReductions)
INFO - ----------------------------------------------------------------------
INFO - Traceback (most recent call last):
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 851, in tearDown
INFO -     self.memory_leak_teardown()
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 826, in memory_leak_teardown
INFO -     self.assert_no_memory_leak()
INFO -   File "C:\Users\ci\32\miniconda3\envs\testenv_fbc7a8da-aa9c-48e4-b05a-4061e9c88f36\lib\site-packages\numba\tests\support.py", line 835, in assert_no_memory_leak
INFO -     self.assertEqual(total_alloc, total_free)
INFO - AssertionError: 6 != 5

Build numba_smoketest_cpu_yaml_133 has started

This failed on win32 with the following errors. During an OOB conversation, we concluded that since this is a refactor, it should not be breaking, even on platforms we aim to no longer support very soon.

Looks like 1c0c32b fixed the win32 issues. Thank you!

/azp run

let's finally use the following checklist (from https://github.com/numba/numba/pull/8209/files):
I have checked that:

* [ ] There is no other Pull Request proposing the same change. (If there is
      please highlight this and one of the core developers will pick it up.)
* [ ] The proposed additional NumPy functionality is not deprecated by
      NumPy.
* [ ] Public CI is passing.
* [ ] The patch does not touch files in `numba.core`.
* [ ] The patch is implemented using the high-level extension API only
      (https://numba.readthedocs.io/en/stable/extending/high-level.html).
* [ ] The patch updates the documentation to reflect the new functionality.
      (https://github.com/numba/numba/blob/main/docs/source/reference/numpysupported.rst)
* [ ] The patch is line wrapped to 80 characters.
* [ ] Changes to Python source in the patch are `flake8` compliant.
* [ ] The implementation of the NumPy function reflects that present in the
    NumPy implementation itself (look in the NumPy repository:
      https://github.com/numpy/numpy)...
    * [ ] The implementation has references to the region of the NumPy code
          base that provides the same functionality. The references are URLs
          of the form:
          `https://github.com/numpy/numpy/tree/<SHA>/path/to/file.py:#<lines>`
    * [ ] The code "looks" reasonably similar to the NumPy implementation.
    * [ ] The code uses the same algorithm as the NumPy implementation, if
          it does not it explains why and this justification is reasonable.
    * [ ] The type inference part of the Numba implementation restricts the
          types to those declared in the NumPy docs (or if not present, what
          is accepted in the NumPy implementation itself).
    * [ ] The Numba implementation uses the same variable names for
          arguments as in the NumPy implementation.
    * [ ] The Numba code has commentary present for anything not-obvious by
          inspection.
    * [ ] The Numba code accommodates differences that might occur across
          different NumPy versions in a clear fashion and uses
          `numba.np.numpy_support.numpy_version` to separate the difference
          in implementations.
* [ ] The unit tests for the implementation:
    * [ ] Use the same test inputs as the NumPy unit tests for the same
          functionality. If this is not the case there are comments which
          explain why and this justification is reasonable.
    * [ ] The NumPy unit test inputs have reference URLs associated with
          them to track their origin. The references are URLs of the form:
          `https://github.com/numpy/numpy/tree/<SHA>/path/to/file.py:#<lines>`
    * [ ] Use `unittest` style assertions (not pytest style!).
    * [ ] Check that unsupported/invalid input types are handled as expected
          using the `with self.assertRaises()` pattern.
    * [ ] Explicitly check custom error messages are raised appropriately.
    * [ ] Hit all the branches of the proprosed change (both at type
          inference and run time).
    * [ ] Check that numerically awkward values work as expected e.g.
          `NaN`, `+/-Inf`, `0`, `INT_MAX`, `INT_MIN` etc.
    * [ ] Check that types which can be converted to arrays (assuming NumPy
          accepts this behaviour) work as expected.
    * [ ] Check that passing empty versions of containers e.g. empty tuple
          or 0d array works as expected.
* [ ] The patch works in a simple manual test in my local checkout.
* [ ] I cannot break the code in the patch in my local checkout after
      trying to do so for a minimum of 10 minutes. The error messages seem
      reasonable and there are no "incorrect" results.
* [ ] I think the code introduced in this change is easy to maintain.
* [ ] I understand all the code in this PR.

I flake8 checked the files:

numba/core/typing/npydecl.py
numba/core/typing/arraydecl.py

Since these are excluded from flake8 analysis via the stanzas in the .flake8 config file.
And I think the patches suggested here would inadvertently introduce new flake8 violations.
numba/core/typing/arraydecl.py:820:1: E305 expected 2 blank lines after class or function definition, found 1
numba/core/typing/arraydecl.py:822:1: E302 expected 2 blank lines, found 1

And:
numba/core/typing/npydecl.py:416:1: E305 expected 2 blank lines after class or function definition, found 1

To remedy this, I would like to suggest the following patch:
diff --git i/numba/core/typing/arraydecl.py w/numba/core/typing/arraydecl.py
index 235c9f985a..a9d2686e1d 100644
--- i/numba/core/typing/arraydecl.py
+++ w/numba/core/typing/arraydecl.py
@@ -816,9 +816,11 @@ def install_array_method(name, generic, prefer_literal=True):

     setattr(ArrayAttribute, "resolve_" + name, array_attribute_attachment)

+
 # Functions that return a machine-width type, to avoid overflows
 install_array_method("sum", sum_expand, prefer_literal=True)

+
 @infer_global(operator.eq)
 class CmpOpEqArray(AbstractTemplate):
     #key = operator.eq
diff --git i/numba/core/typing/npydecl.py w/numba/core/typing/npydecl.py
index 52e8173b85..4adc211e61 100644
--- i/numba/core/typing/npydecl.py
+++ w/numba/core/typing/npydecl.py
@@ -413,6 +413,7 @@ def _numpy_redirect(fname):
                dict(key=numpy_function, method_name=fname))
     infer_global(numpy_function, types.Function(cls))

+
 for func in ['sum', 'argsort', 'nonzero', 'ravel']:
     _numpy_redirect(func)

Build numba_smoketest_cpu_yaml_145 has started

Build numba_smoketest_cpu_yaml_145 has started

Unfortunately this did not go well. On osx-arm64 we have the following crash when using both NumPy 1.22 and 1.23. It will need to be investigated very carefully to determine the exact origin of this crash (it may very well be NumPy, for example). Also, Windows test results are not available because that portion of the farm is currently not available.
st_basic40 (numba.tests.test_stencils.TestManyStencils)
args! ... Assertion failed: (isInt<33>(Addend) && "Invalid page reloc value."), function encodeAddend, file /Users/ci/miniconda3-arm64/conda-bld/llvmdev_1643905487494/work/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOAArch64.h, line 210.
tal Python error: Aborted

rrent thread 0x0000000100ffc580 (most recent call first):
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/llvmlite/binding/ffi.py", line 151 in __call__
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/llvmlite/binding/executionengine.py", line 92 in finalize_object
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/codegen.py", line 1060 in wrapper
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/codegen.py", line 999 in _finalize_specific
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/codegen.py", line 797 in _finalize_final_module
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/codegen.py", line 765 in finalize
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/codegen.py", line 567 in _ensure_finalized
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/codegen.py", line 989 in get_pointer_to_function
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/cpu.py", line 230 in get_executable
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typed_passes.py", line 423 in run_pass
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 273 in check
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 311 in _runPass
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler_lock.py", line 35 in _acquire_compile_lock
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 356 in run
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler.py", line 486 in _compile_core
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler.py", line 520 in _compile_bytecode
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler.py", line 452 in compile_extra
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler.py", line 715 in compile_extra
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/dispatcher.py", line 152 in _compile_core
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/dispatcher.py", line 139 in _compile_cached
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/dispatcher.py", line 125 in compile
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/dispatcher.py", line 965 in compile
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/dispatcher.py", line 363 in get_call_template
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/types/functions.py", line 541 in get_call_type
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typing/templates.py", line 824 in _build_impl
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typing/templates.py", line 713 in _get_impl
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typing/templates.py", line 614 in generic
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typing/templates.py", line 351 in apply
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/types/functions.py", line 308 in get_call_type
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typing/context.py", line 248 in _resolve_user_function_type
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typing/context.py", line 196 in resolve_function_type
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typeinfer.py", line 1555 in resolve_call
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typeinfer.py", line 601 in resolve
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typeinfer.py", line 578 in __call__
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typeinfer.py", line 155 in propagate
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typeinfer.py", line 1078 in propagate
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typed_passes.py", line 83 in type_inference_stage
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/typed_passes.py", line 105 in run_pass
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 273 in check
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 311 in _runPass
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler_lock.py", line 35 in _acquire_compile_lock
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 356 in run
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler.py", line 486 in _compile_core
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler.py", line 527 in _compile_ir
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler.py", line 462 in compile_ir
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/core/compiler.py", line 778 in compile_ir
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/stencils/stencil.py", line 758 in _stencil_wrapper
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/stencils/stencil.py", line 793 in __call__
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/tests/test_stencils.py", line 717 in check_against_expected
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/tests/test_stencils.py", line 1839 in test_basic40
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/unittest/case.py", line 549 in _callTestMethod
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/unittest/case.py", line 591 in run
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/unittest/case.py", line 650 in __call__
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/unittest/suite.py", line 122 in run
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/testing/main.py", line 775 in _run_inner
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/unittest/runner.py", line 184 in run
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/testing/main.py", line 809 in run
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/unittest/main.py", line 271 in runTests
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/testing/main.py", line 339 in run_tests_real
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/testing/main.py", line 354 in runTests
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/unittest/main.py", line 101 in __init__
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/testing/main.py", line 182 in __init__
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/testing/__init__.py", line 54 in run_tests
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/testing/_runtests.py", line 25 in _main
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/site-packages/numba/runtests.py", line 9 in <module>
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/runpy.py", line 86 in _run_code
File "/Users/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/runpy.py", line 196 in _run_module_as_main

tension modules: yaml._yaml, numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, numba.core.typeconv._typeconv, numba._helperlib, numba._dynfunc, numba._dispatcher, numba.core.runtime._nrt_python, numba.np.ufunc._internal, numba.experimental.jitclass._box, scipy._lib._ccallback_c, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg._cythonized_array_utils, scipy.linalg._flinalg, scipy.linalg._solve_toeplitz, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg.cython_lapack, scipy.linalg.cython_blas, scipy.linalg._matfuncs_expm, scipy.linalg._decomp_update, scipy.sparse._sparsetools, scipy.sparse._csparsetools, scipy.sparse.linalg._isolve._iterative, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, scipy.sparse.csgraph._tools, scipy.sparse.csgraph._shortest_path, scipy.sparse.csgraph._traversal, scipy.sparse.csgraph._min_spanning_tree, scipy.sparse.csgraph._flow, scipy.sparse.csgraph._matching, scipy.sparse.csgraph._reordering, _cffi_backend, numpy.core._umath_tests, scipy.special._ufuncs_cxx, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.special._ellip_harm_2, scipy.special.cython_special, markupsafe._speedups, numba.mviewbuf, numpy.linalg.lapack_lite (total: 55)
ar/folders/wk/981rzzds69v57x0g3m4rwsyw00010k/T/airflowtmp787lsmmn/test_osx_arm64_py3.10_npy1.22cp6hb_va: line 21: 83479 Abort trap: 6           NUMBA_DISABLE_CUDA=1 python -m numba.runtests -m 4 -v numba.tests
sers/ci/miniconda3-arm64/envs/testenv_0b4855af/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 6 leaked semaphore objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d '
mmand exited with return code 134

I ran it on an M1 with NumPy 1.23 and it ran without any errors. So...not sure what's going on here.

I debugged this today and the error we are seeing here is most likely related to:
https://github.com/llvm/llvm-project/issues/48701
This means, the code in this PR is probably fine and we are triggering a hard to trigger (at present) LLVM bug.

After some OOB discussions with @stuartarchibald and @sklam we concluded, that the above failure is unlikely to be related to this PR. Hence I am marking this as RTM now. Thank you again @kc611 for your efforts to improve Numba, patches appreciated as always.


Dockerfile doesn't correctly build

By using the Dockerfile from the README.md as a guide to edit latest Dockerfile.native or Dockerfile.micro-native from Quarkus 3

Env:
Windows 11
Podman 4.9.4 (inside WSL)
Powershell 7.4.2

Commands:

./mvnw package -Dnative "-Dquarkus.native.container-build=true"
podman build -f src/main/docker/Dockerfile.native -t <redacted> .

Dockerfile.native:

FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9

######################### Set up environment for POI #############################
RUN microdnf update && microdnf install freetype fontconfig && microdnf clean all
######################### Set up environment for POI #############################

WORKDIR /work/
RUN chown 1001 /work \
    && chmod "g+rwX" /work \
    && chown 1001:root /work
# Shared objects to be dynamically loaded at runtime as needed,
COPY --chown=1001:root target/*.properties target/*.so /work/
COPY --chown=1001:root target/*-runner /work/application
# Permissions fix for Windows
RUN chmod "ugo+x" /work/application
EXPOSE 8080
USER 1001

ENTRYPOINT ["./application", "-Dquarkus.http.host=<IP_ADDRESS>"]

target folder:

Full Log:

podman build -f src/main/docker/Dockerfile.native -t test-native-poi .
STEP 1/10: FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9
STEP 2/10: RUN microdnf update && microdnf install freetype fontconfig && microdnf clean all
--> Using cache 5e40506b4381604c154c7cdc007bdc2c9ec03734164da3fe257f3183331c07d1
--> 5e40506b4381
STEP 3/10: WORKDIR /work/
--> Using cache 5c66e4f6134929771a404e0978c4a537b3b23520b59d0c4614d3112d573fb059
--> 5c66e4f61349
STEP 4/10: RUN chown 1001 /work     && chmod "g+rwX" /work     && chown 1001:root /work
--> Using cache 83770f7be1e980ffb721efbf16ff0d3ac1ff374ae61cd0e95a34333c00417351
--> 83770f7be1e9
STEP 5/10: COPY --chown=1001:root target/*.properties target/*.so /work/
Error: building at STEP "COPY --chown=1001:root target/*.properties target/*.so /work/": checking on sources under "/var/tmp/libpod_builder2608102444/build": Rel: can't make  relative to /var/tmp/libpod_builder2608102444/build; copier: stat: ["/target/*.properties" "/target/*.so"]: no such file or directory

Additional Information:
I also found https://quarkus.io/guides/quarkus-runtime-base-image#extending-the-image, which worked without issues. I'm just not sure if I should use the "full AWT support", if there is any optimization that can be done or if I must use the .so files generated at build time.
  I get errors about not finding AWT and not being able to load the AWT library in my native images.

here is my working log of the original DockerFile.native.
#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile.native
#1 transferring dockerfile: 1.21kB done
#1 DONE 0.0s

#2 [internal] load metadata for registry.access.redhat.com/ubi8/ubi-minimal:8.9
#2 DONE 0.8s

#3 [internal] load .dockerignore
#3 transferring context: 2B done
#3 DONE 0.0s

#4 [1/7] FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9@sha256:f30dbf77b075215f6c827c269c073b5e0973e5cea8dacdf7ecb6a19c868f37f2
#4 DONE 0.0s

#5 [internal] load build context
#5 transferring context: 256.51MB 0.5s done
#5 DONE 0.5s

#6 [3/7] WORKDIR /work/
#6 CACHED

#7 [2/7] RUN microdnf update && microdnf install freetype fontconfig && microdnf clean all
#7 CACHED

#8 [4/7] RUN chown 1001 /work     && chmod "g+rwX" /work     && chown 1001:root /work
#8 CACHED

#9 [5/7] COPY --chown=1001:root target/*.properties target/*.so /work/
#9 DONE 0.2s

#10 [6/7] COPY --chown=1001:root target/*-runner /work/application
#10 DONE 0.2s

#11 [7/7] RUN chmod "ugo+x" /work/application
#11 DONE 0.5s

#12 exporting to image
#12 exporting layers
#12 exporting layers 0.3s done
#12 writing image sha256:a3b55817cefef8d36de872683793493e463d4ab153b86f85cf83f1f098b9579a done
#12 naming to docker.io/melloware/quarkus-faces:14.0.0 done
#12 DONE 0.3s

Ahh I am using Docker not Podman as well.

~Regarding the error, are you running it on Windows? I was thinking that maybe is a Podman vs Docker issue, the 256 limit on Windows (which in theory I have disabled) or something else specific to Windows.~ Found the issue. default Quarkus .dockerignore doesn't allow to copy .so files. Would be nice to mention it in the README.md 😅 as well as the equivalent with Dockerfile.native-micro.
Before closing this issue, would like to ask you something. I'm not well versed on Linux or those ".so" files, but I understand that they are important. Are those generated at build time REALLY necessary, or created exclusively for the specific project? I find quite interesting that the ones installed with microdnf install freetype fontconfig work just fine.

so .so files in Unix are what .dll files are in Windows.  They are linked libraries.    Basically somewhere along the lines Mandrel or GraalVM stopped including those by default which is why we need to manually add them to the container.

Done:


Study Federated learning litterature and libraries

https://arxiv.org/pdf/1602.05629.pdf
https://arxiv.org/pdf/1805.09767.pdf
https://arxiv.org/pdf/1908.07873.pdf
https://arxiv.org/pdf/1912.04977.pdf

Federated averaging is the state of the art method for fed learning. New framework FedProx theoretically provides more robust convergence and improves performance especially when there is systems heterogeneity
https://arxiv.org/pdf/1812.06127.pdf ==> could be tested with important number of partners
Increasing number of federated learning tools and frameworks:

TensorFlow Federated :  https://www.tensorflow.org/federated
Federated AI Technology Enabler/ FATE : https://github.com/FederatedAI/FATE
Leaf : https://leaf.cmu.edu (benchmark on impact of number of partners on federated avg performance on various datasets)
PadleFL: https://github.com/PaddlePaddle/PaddleFL
Clara Training Framework (focus on medical images): https://docs.nvidia.com/clara/tlt-mi/clara-train-sdk-v2.0/nvmidl/index.html

@jeromechambost this seems to be the perfect issue for you to update with your research 😄

@jeromechambost it would be interesting to complete the bibliography file @HeytemBou and @arthurPignet initiated in PR #348


In neovim nightly lsp handlers no longer accept config parameter

See https://github.com/neovim/neovim/pull/30982/commits/6841a0c484f4bf4b0b1df5271eff90ebc25f78c5
New implementation should (I think) be something like
vim.lsp.handlers["textDocument/publishDiagnostics"] = function(err, result, ctx)
  require("ts-error-translator").translate_diagnostics(err, result, ctx)
  vim.lsp.diagnostic.on_publish_diagnostics(err, result, ctx)
end

Hey if you could open a PR I'd be happy to merge - don't have a lot of time to work on this atm unfortunately

I can do that


Add servicepack command.

For now we need deploy action. In future we will have export and create.
Parameters
-t / --target - accepts a target string. (optional)
-s / --source - accepts a json file containing services to be deployed. (required)
Example call
sasjs servicepack deploy -t sampleTarget -s sampleFile.json
It should work with both global and local targets.
The feature should also be fully documented.

:tada: This issue has been resolved in version 1.14.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Sudoku Solver

The solution can not pass test cases.

Thank you for the kind bug report! I just fixed it! :+1:


Expected behaviour for exempting resource groups of the same exact name but of different subscriptions

Although it was mentioned in https://github.com/globalbao/terraform-azurerm-policy-exemptions#variables that resourceGroupName is the name of the Resource Group. I thought of trying to put the full resource group id but this error came up:
Error: "resource_group_name" may not exceed 90 characters in length
If an assignment is at tenant or management group level and the exemption needs to be applied to 2 or more resource groups of the same exact name but of different subscriptions, what is the expected behaviour? I would suggest to add the expected behaviour in the documentations if that's Ok.
Additionally, it would be good enhancement if the resourceGroupName field can accept resource group id which gives us ability to specify a specific resource group from a subscription to exempt.

Hi @tpidor
This module uses the AzureRM resource_group_template_deployment to deploy the exemption JSON as an ARM template so we're limited by the arguments available. So would recommend sticking with passing in a name, not an id, to the resourceGroupName variable.
I'm also interested in knowing what the expected behavior is when using this module in the scenario you mentioned. Will test that out myself 😄

If an assignment is at tenant or management group level and the exemption needs to be applied to 2 or more resource groups of the same exact name but of different subscriptions, what is the expected behaviour? I would suggest to add the expected behaviour in the documentations if that's Ok.

HI @jesseloudon,
This may not be directly related to this ticket but thought of asking you here.
We were applying our policy exemption automation at tenant management group level which consists of several subscriptions.
We have SPNs with all the required permissions. One SPN for nonprod at the subscription level only and another SPN for prod environment that has access at the tenant management group level. Nonprod policies are being deployed using the nonprod SPN to a nonprod subscription only. Deployment of nonprod policies and exemptions using the nonprod SPN are working well. However using prod SPN to deploy policy exemptions to multiple different resource group names under different subscriptions, for some reason automation is failing with this error:
Error: validating Template Deployment "PROD_ABC-Ex-123" (Resource Group "rg-name"): requesting validating: resources.DeploymentsClient#Validate: Failure sending request: StatusCode=404 -- Original Error: Code="ResourceGroupNotFound" Message="Resource group 'rg-name' could not be found."
We did looked at the prod SPN permissions but everything was configured correctly. All SPNs include the required permissions as you suggested in https://github.com/globalbao/terraform-azurerm-policy-exemptions/issues/6. Prod SPN does not have issues deploying assignments with scope to different subscriptions or resource groups from different subscriptions. Automation is only failing with the policy exemptions deployment with the above error.
Any idea or clue with the above error ResourceGroupNotFound?

HI @jesseloudon,
This may not be directly related to this ticket but thought of asking you here.
We were applying our policy exemption automation at tenant management group level which consists of several subscriptions.
We have SPNs with all the required permissions. One SPN for nonprod at the subscription level only and another SPN for prod environment that has access at the tenant management group level. Nonprod policies are being deployed using the nonprod SPN to a nonprod subscription only. Deployment of nonprod policies and exemptions using the nonprod SPN are working well. However using prod SPN to deploy policy exemptions to multiple different resource group names under different subscriptions, for some reason automation is failing with this error:
Error: validating Template Deployment "PROD_ABC-Ex-123" (Resource Group "rg-name"): requesting validating: resources.DeploymentsClient#Validate: Failure sending request: StatusCode=404 -- Original Error: Code="ResourceGroupNotFound" Message="Resource group 'rg-name' could not be found."
We did looked at the prod SPN permissions but everything was configured correctly. All SPNs include the required permissions as you suggested in https://github.com/globalbao/terraform-azurerm-policy-exemptions/issues/6. Prod SPN does not have issues deploying assignments with scope to different subscriptions or resource groups from different subscriptions. Automation is only failing with the policy exemptions deployment with the above error.
Any idea or clue with the above error ResourceGroupNotFound?

Hi @tpidor this sounds like the prod SPN needs to use the relevant subscription context. Because the error suggests the SPN can't find the RG in its current subscription context.
From your Terraform calling module can you give me more info of how are you switching/targeting multiple subscriptions and linking the exemption code (via this module) to the relevant subscriptions?

Hi @jesseloudon
We have one automation that deploys assignments, initiatives, policies and exemptions into Azure Tenant. The SPN used by this automation is configured and assigned at tenant level, which means it has access to all management groups, subscriptions and resource groups within the tenant. This automation can create assignments with scopes to different subscriptions or resource groups from different management groups. There's no issue from here.
With the exemption part, we have this main.tf with fields as per the readme here https://github.com/globalbao/terraform-azurerm-policy-exemptions. There are more RGs here but only give 2 examples. These 2 resource groups are from different subscriptions and could be from different management groups but all in the same tenant. This main.tf is called by a parent calling module (shown below) which passes multiple assignment ids list or map. This map contains the full assignment id created during the automation. This also means that the exemption module will wait for all assignments to be created first before the exemptions going to be deployed. During the automation, Terraform apply picks up all the assignment config and apply them into tenant root level, management group or subscription level depending on what assignment scope is defined.
policy/exemptions/main.tf
variable "assignment_ids_map" {
  type = map(any)
}

module "policy_exemptions" {
  source  = "globalbao/policy-exemptions/azurerm"
  version = "0.1.1"
  policyExemptions = {
    PROD_ABC-Ex-123_01 = {
      deploymentMode     = "Incremental"
      name               = "PROD_ABC-Ex-123_01"
      displayName        = "PROD_ABC-Ex-123_01 - Exemption for preventing ...."
      description        = "Exemption from blocking new ...."
      resourceGroupName  = "rg-name-01"
      policyAssignmentId = var.assignment_ids_map["PROD_ABC-As-123_00001"]
      policyDefinitionReferenceIds = []
      exemptionCategory = "Waiver"
      expiresOn         = "2021-11-30T23:59:00.0000000Z"
      metadata = {
        "requestedBy": "Requester",
        "approvedBy": "Approver",
        "ticketRef": "Ticket-01"
      }
    },PROD_ABC-Ex-123_02 = {
      deploymentMode     = "Incremental"
      name               = "PROD_ABC-Ex-123_02"
      displayName        = "PROD_ABC-Ex-123_02 - Exemption for preventing ...."
      description        = "Exemption from blocking new ...."
      resourceGroupName  = "rg-name-02"
      policyAssignmentId = var.assignment_ids_map["PROD_ABC-As-123_00001"]
      policyDefinitionReferenceIds = []
      exemptionCategory = "Waiver"
      expiresOn         = "2021-11-30T23:59:00.0000000Z"
      metadata = {
        "requestedBy": "Requester",
        "approvedBy": "Approver",
        "ticketRef": "Ticket-02"
      }
    }
  }
}

calling module
locals {
    assignment_ids_map = {
        for assignment in var.policy_assignment_map : "${assignment.name}" => assignment.id
    }
}

module "exemptions" {
  source = "../../../policy/exemptions"
  assignment_ids_map = local.assignment_ids_map
}

I did try to replicate the issue on another test tenant today. I setup the SPN at tenant level, put assignment config with scope at tenant root level, then add 2 exemptions on 2 different resource groups (1 exemption each group) from different subscriptions. The result is that, it successfully created the exemption on one RG while it failed on another RG with the same error - Error: Code="ResourceGroupNotFound" Message="Resource group 'rg-name' could not be found.". Then I thought maybe the exemption module picks-up first resource group and creates it successfully while the rest will fail since they're on a different subscription, so I tried switching over the RG names but still fail on the same RG name.
With creating exemption using az cli, it accepts scope with full resource group id containing subscription. How does this exemption Terraform module knows the subscription id? Do you get the subscription from the active session and dynamically generate the resource group id? If yes, what if the assignment id is scoped on a different subscription as per my above explanation? If not, how can we tell to the exemption module which subscription to create the exemption? Keen to hear your analysis on this ticket and what would be the behaviour looks like. Thanks for responding to my queries again, and good job on this exemption module.


fix: Handle empty stargazers

When there are no stargazers in the next page function, it fails, this PR addresses it, fixing https://github.com/MeltanoLabs/tap-github/issues/191

Thanks @sicarul! This LGTM and seems like a safe change so I'm gonna go ahead and merge, and then tag a patch release 🙂


[USMON-1023] - Run Event monitoring tests for all build mods

What does this PR do?

Runs event monitoring tests for all build modes
Setup event stream monitoring (if needed) and process monitor only once per a suite run.
In the leaf tests we register and de-register dedicated callbacks to verify the tests are
working. Thus, we don't have to create over and over again the event monitoring for every
leaf test.

Motivation
The setup/teardown time for the event monitoring, which takes 10s.
Thus, running event monitoring tests are very expensive

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Setup event stream monitoring (if needed) and process monitor only once per a suite run.
In the leaf tests we register and de-register dedicated callbacks to verify the tests are
working. Thus, we don't have to create over and over again the event monitoring for every
leaf test.

Can you share the impact of this change? (before and after)

/merge

Setup event stream monitoring (if needed) and process monitor only once per a suite run.
In the leaf tests we register and de-register dedicated callbacks to verify the tests are
working. Thus, we don't have to create over and over again the event monitoring for every
leaf test.

Can you share in the PR description the impact of this change? (before and after)

overall no impact
the first commit reduced about 1m from the total time of the tests, but the second commit consumed most of it


fix(form-control): fixed error background

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.006%) to 84.524%

Totals

Change from base Build<PHONE_NUMBER>:
0.006%

Covered Lines:
9354

Relevant Lines:
10237

💛  - Coveralls


When I try to open a folder on vscode.dev it redirects me to a 404 GitHub page.

As the title says I have enabled the extension for vscode.dev and try to open a file or folder and it just redirects me to a 404 GitHub page the url is https://filepicker.app/pick/file?id=someguidthatIhaveremoved&accepts=&multiple=false

Please restart your iOS device, delete the app, and reinstall from the App Store.

A restart fixed it. Thanks


specify input/output files for running sequence tolerance analysis

Hi,
In analysis/README.rst, the example command line is:
cd output/sample
R
> source("../../analysis/sequence_tolerance.R")
> process_specificity()

This is the way that the original analysis script was written and has been available since the original publication. I'm guessing you've seen the command lines above but would like to specify the input directory and output directory on the command line. We can definitely add this after the paper submission but I would prefer to leave it until after if possible. If you think that this should be done before, I can update the script.

Actually, I was just wanted to know what files the script was going to look for and what files it would generate.

Ah, understood. I've updated the text:
The input files for the analysis script are generated by the sequence tolerance step:

1N7T_{ITERATION}.ga.entities.gz e.g. 1N7T_0001.ga.entities.gz;
1N7T_{ITERATION}.ga.generations.gz;
1N7T_{ITERATION}_seqtol.out;
the input PDB to the sequence tolerance step (read from e.g. 1N7T_{ITERATION}_seqtol.out).

The analysis script currently works with files generated by the Rosetta sequence tolerance application however it can be
modified to work more generally in the event that different sequence tolerance protocols are added to this capture.
The analysis generates the following files:

specificity_pwm.txt; a position weight matrix;
specificity_sequences.fasta; a FASTA file which can be used to generate a sequence logo;
specificity_boxplot_{RESIDUE POSITION}.png; a series of boxplots per designed position;
specificity_boxplot.pdf/.png; a combined PDF/image of the boxplots above;
specificity_seqrank.pdf/.png; a predicted ranking table for selected amino acid types for the positions.

For more details, see the Smith & Kortemme 2010 paper (references below).

Also, I see that Colin already added an option for input directory (dirpath).


feat: Upgrade anonymous users to regular users automatically if opted in

What kind of change does this PR introduce?
This PR adds a feature where if the user tries to sign-up, and the user actually is an anonymous user, this library will automatically upgrade the user to a normal authenticated user instead of calling signUp and creating a new user.
Fixes https://github.com/supabase-community/flutter-auth-ui/issues/91

Looks delish to me 😋


Get opentelemetry trace id from request headers instead of creating a new trace

Feature request
Currently a new trace is created per each HTTP request. It would be useful if trace is get (if available) from the request using traceparent header as defined in https://opentelemetry.io/docs/specs/otel/context/api-propagators/#propagators-distribution https://www.w3.org/TR/trace-context/
In this way you will be able to trace the request through microservice invocations.
Motivation
I want to track the request using opentelemetry starting from frontend, backend and then TGI
Your contribution
I don't have enough understanding of TGI code

Hi @ptanov 👋
Thanks for opening the issue 🙌
Gotcha, I think this is a solid motivation. I might find some time to implement it. But could you help me a bit on the road with understanding the traceparent header.
So a request comes in with a header named traceparent and then we should set this in the span in TGI? Do I understand it correctly?

@ErikKaum yeah essentially, most frameworks do this automatically and I am surprised the axum opentelemetry integration doesn't just do this automatically.
Specifically, you usually check to see if there is an "active trace" before starting a new one, so wherever the integration is starting a new trace/determining if there is an active trace is where you'd probably need to look to see if it even knows about active traces.
Ideally, there is some middleware layer that parses out the trace from the header and sets the "active trace" immediately.

Hi @ErikKaum ,
sorry for the late reply :(
Yes, it is exactly as described by @noyoshi - it is usually done automatically by the framework.
The format of the content of the header is described here: https://www.w3.org/TR/trace-context/#traceparent-header

No worries @ptanov, it's been quite a busy week so (un)fortunately I haven't gotten to this yet 😅
Thanks for the clarification @ptanov 🙌 A bit surprising indeed!
I think I won't be able to get to this this week, but most likely end of next week.

Thank you!
One more thing that could be useful to you- usually if trace is not automatically propagated by the framework (e.g. by .layer(OtelInResponseLayer::default()) and .layer(OtelAxumLayer::default()) in ./router/src/server.rs) it could be extracted and reused manually with something like:
    let extractor = HeaderExtractor(headers);
    let propagator = global::get_text_map_propagator(|propagator| propagator.clone());
    let span = propagator.extract(&extractor);
    let _guard = span.make_current();

assuming that global::set_text_map_propagator(TraceContextPropagator::new()); is set in ./router/src/logging.rs
but I couldn't make it work :( Sorry I'm not familiar with TGI codebase nor with rust.
I'm testing it by providing tracepoint header to curl, e.g. curl -v tgihostport/v1/chat/completions -H 'traceparent: 00-aa1274dfd3752a0f67b3bc3f21c71aaa-c8480007d4f1cbbb-01' -H 'Content-Type: application/json' -d '{SOMEQUESTION}'

Thank you @ptanov 🚀 this already helps a lot!

Hi @ErikKaum,
can I help you with something regarding this ticket (e.g. docker-compose configuration for running collector/kibana/prometheus)?

Hi @ptanov
Sorry for the radio silence, unfortunately it's been very busy lately and I haven't been able to prioritize this 🙁

Hi @ErikKaum ,
don't worry, take your time
73 ;)

@ptanov, @ErikKaum
Hi, I just opened a PR for this feature in the TEI repo here! If you are available, please check it out and feel free to leave a review!
I'm new to OpenTelemetry things, so maybe my implementation could be incorrect or inefficient.

Thanks @kozistr ,
I'll try to check it tomorrow

Hi @kozistr @ErikKaum ,
I tested this PR and I can confirm that it works in my case - opentelemetry trace is propagated from request to TGI.
Thanks again @kozistr !

Big thanks @kozistr 🙌

Hi @kozistr @ErikKaum ,
I tested this PR and I can confirm that it works in my case - opentelemetry trace is propagated from request to TGI.
Thanks again @kozistr !

great to hear! thanks for tesing this PR :)


Optimize timeline queries.

Someone might open multiple pages in quick succession, which would call the timeline API too many times. There is a "last read date" but not a "last query time" to check.

Same with the /notify call?

Implemented in 2.3.79


Error report submission failed due to sqlserver

Hi Prisma Team! The following command just crashed.
Command
db pull --schema [redacted]
Versions

Name
Version

Platform
windows

Node
v16.19.1

Prisma CLI
4.10.1

Engine
aead147aa326ccb985dcfed5b065b4fdabd44b19

Error
Error: Error in migration engine.
Reason: [libs\sql-schema-describer\src\mssql.rs:341:30] called `Result::unwrap()` on an `Err` value: "Couldn't parse default value: `\n/* Defaults */\r\n\r\nCREATE DEFAULT DEF0 AS 0\r\n`"

Please create an issue with your `schema.prisma` at
https://github.com/prisma/prisma/issues/new

Hey @lucasverissimopapini,
Are you able to provide any more information, such as your Prisma Schema (or a subset of it) that could help us reproduce your panic?
Thank you!

Hey @lucasverissimopapini,
Did you get a chance to look at my comment above? Without further information, we'll have to close this issue as we can't reproduce it.
Thank you 🙏

Hello!
Without the info that @Weakky asked for above we're unable to move forward here. I'm closing this issue but if you can provide the above info please leave a comment or open a new issue.


feat: use typed events

Description
closes: #1074

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added ! to the type prefix if API or client breaking change
[ ] added appropriate labels to the PR
[ ] targeted the correct branch (see PR Targeting)
[ ] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

Codecov Report

Merging #1302 (6129960) into main (ba12f26) will increase coverage by 0.56%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #1302      +/-   ##
==========================================
+ Coverage   51.65%   52.22%   +0.56%
==========================================
  Files          68       68
  Lines        6870     6796      -74
==========================================
  Hits         3549     3549
+ Misses       3063     2989      -74
  Partials      258      258

Impacted Files
Coverage Δ

x/leverage/keeper/msg_server.go
1.17% <0.00%> (+0.35%)
:arrow_up:

x/oracle/types/query.pb.gw.go
0.00% <ø> (ø)

Prefer functional field names (supplied, received, collateral) over noun based (asset, uToken)

ERC standards perfer nonu. Moreover, received doesn't make much sense without a context. I prefer to follow the message model.

Eliminate uAsset from both field names and comments

OK, we already discussed in https://github.com/umee-network/umee/pull/1302#discussion_r958992715

Favor the word Assets over Liquidity in comments

I think liquidity here makes more context as this is the asset liquidity provided. We can add asset to the comment, but this is a bit of repetition.
BTW, don't we abusing the PR blocking?


It is TOO SLOW because of the label_denoising function

Greetings,
I've been trying to reproduce the reported results in your paper. However, when I run python semi_resnet12.py --dataset miniImagenet --algorithm ilpc --alpha 0.8 --K 15 --n_shots 1, I find that the label_denoising function cost ~50 minutes on a single episode, which means >800 hours on 1000 episodes to obtain the final results.
The reason lies in that there are 1000 iterations within the label_denoising function.
I wonder if you ever face the same problems? Is there any method to boost the computation?
Thanks

Never mind. I put the label_denoising function on GPU and now it is much faster (about 4.5 second per episode).


Drop deprecated template

See:

https://github.com/gohugoio/hugo/issues/9172
https://discourse.gohugo.io/t/page-render-error/43594

Apologies for the delay, all merged now =)


Add standard dialog to inform the user

It would be nice to have a standard approach for informing the user of various info (such as errors in interactive compute usage).
blocking #1694

Was this issue meant to be closed by #1754 instead of #1752?

Yeah. My bad - nice catch!

Closed by #1754


Question: How does cqlreplicator behave if a row already exists on TARGET

Is your feature request related to a problem? Please describe.
I'm trying to understand the behavior of cqlreplicator in certain scenarios.
Describe the solution you'd like
Does cqlreplicator ignore rows that already exist on the TARGET? Or does it copy over the existing data?
Describe alternatives you've considered
I've tried reading the code, but I'm not familiar with spark nor scala so my understanding has been slow.
Additional context
We're planning to setup a new keyspace and have our services aware of both. During this time, we don't want cqlreplicator to copy a given row if it already exists on the TARGET.

This might be a duplicate of (or related to) https://github.com/aws-samples/cql-replicator/issues/69

Hi @jlewis-spotnana if don't supply an arbitrary column, e.g.  --writetime-column colX the CQLReplicator won't update rows in the target table. So, the CQLReplicator will replicate only inserts and deletes.

Hi @nwheeler81 thanks for your response. We're not using --writetime-column since our services do not issue UPDATE statements.
We're trying to close a potential race during service cutover from the SOURCE to TARGET table. During cutover (rolling restart), it's possible for our services to write a certain row, say PK1, to the TARGET table. If that same row PK1 already exists in the SOURCE table but cqlreplicator hasn't copied it yet, then cqlreplicator will (eventually) overwrite PK1 on the TARGET.
We would like cqlreplicator to ignore (not copy) Primary Keys which already exist on the TARGET. Is there a way to configure cqlreplicator to ignore existing Primary Keys, given the current code?
I believe this might be what https://github.com/aws-samples/cql-replicator/issues/69 is asking for. (I only found that issue after opening this one.)

hi @jlewis-spotnana there is a quick fix in CQLReplicator.scala line replace s"INSERT INTO $trgKeyspaceName.$trgTableName JSON '$jsonRow'" to s"INSERT INTO $trgKeyspaceName.$trgTableName JSON '$jsonRow' IF NOT EXISTS". It enables LWT against the target table in Amazon Keyspaces.
I will publish an enhancement that will officially contain this feature in 3-4 weeks.

Confirmed the simple patch provided by nwheeler81 works. Thanks for the help!


Selenium Proxy useDNS flag

Adding a useDNS parameter to create the selenium proxy with IP instead of hostname. This prevents issues when using EC2 hosts with internal DNS hostnames.

Thanks for your contribution, @dpost. The ClientUtil is meant to be an extremely basic convenience utility for the most general use case. If you need any customization, I would recommend creating your own utility method that creates the Selenium Proxy object instead of using ClientUtil.

Understood, I would nevertheless suggest making a similar change as the
createSeleniumProxy methods are currently incompatible with Amazon EC2
instances because you are using the internal hostname rather than IP
address.
Thanks for reviewing this though!
On Fri, Jul 1, 2016 at 5:53 PM Jason Hoetger<EMAIL_ADDRESS>wrote:

Thanks for your contribution, @dpost https://github.com/dpost. The
ClientUtil is meant to be an extremely basic convenience utility for the
most general use case. If you need any customization, I would recommend
creating your own utility method that creates the Selenium Proxy object
instead of using ClientUtil.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lightbody/browsermob-proxy/pull/490#issuecomment-230069995,
or mute the thread
https://github.com/notifications/unsubscribe/AAluFkuesTyXNKqlxchkOPAl56qdZUSCks5qRahvgaJpZM4JDc3R
.


Language corrections/ suggestions

[Enter feedback here]
In the first paragraph under "Reliability", the last line reads as "Availability is can your users get to your workload when they need to.". The phrase "Availability is" and the following words can be rephrased.
In the first paragraph under "Data sovereignty and encryption", the opening line read as "Make sure that your data remains in the correct geopolitical zone when using Azure's highly available. ". The last 3 words seems to be broken sentence.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 111d7b49-94b6-abd9-c21a-fb0bace59114
Version Independent ID: 5d9aa212-cbb2-803c-2ea9-6da76c7a9394
Content: Microsoft Azure Well-Architected Framework - Microsoft Azure Well-Architected Framework introduction
Content Source: docs/framework/index.md
Service: architecture-center
Sub-service: well-architected
GitHub Login: @adamboeglin
Microsoft Alias: pnp

Thanks for reporting - this issue is under review.  This is a Microsoft Internal DevOps Bug ID AB#279715

@jmadhanraj, Thank you for your feedback! We have assigned this issue to the author to review further and take the next course of action.

This has been fixed and will publish today. Thanks for submitting the issue.


[10.x] Allows overriding the stub path at migration create time

There are times when it may be useful for creating migrations that are based on a path to the migration.stub not being either of the two defaults. This functionality allows a developer to specify a path to a stub of their choosing.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Provide rendering of PRs

Short Description of the issue
It would be nice to have some rendering of the proposed PRs so people can take a look how the changes will look on the server before merging.

Summary of proposed changes

One way to do this could be to adapt the release workflow, to deploy the update to a github pages with a baseURL containing a path segment corresponding to the PR number.
See baseURL at https://gohugo.io/getting-started/configuration/.
Then all links will have to be managed via relURL:  https://gohugo.io/functions/relurl/

One way to do this could be to adapt the release workflow, to deploy the update to a github pages with a baseURL containing a path segment corresponding to the PR number.
See baseURL at https://gohugo.io/getting-started/configuration/.
Then all links will have to be managed via relURL:  https://gohugo.io/functions/relurl/

Hi @enolfc ,
This can be done nicely with the GitHub CLI https://cli.github.com
You can checkout pr and run them locally
gh pr list
eg.
gh pr checkout 284 --recurse-submodules
Then:
hugo server -D   (or the one from binaries distributed with the repo)
ps: Instructions at the end of the page at:
https://docs.egi.eu/about/contributing/git/

The intent there is to be able to publish this somewhere so that less technical/in a hurry people can look directly at the rendering without having to do it locally.
It seems that if we want to do this it shouldn't be automatic (for security reason as anyone can make a PR), but it could be done for some specific Pull Requests that are marked with a specific label (as long as label cannot be set by random people opening a PR).


D414 false positive on function with Numpy convention

Hi I have this function and pydocstyle recognises argument attributes in docstring as a section but Attributes section belongs to a class
This is related to #318
numpy style reference: https://numpydoc.readthedocs.io/en/latest/format.html#docstring-standard
def parse_attributes(attributes):
    """
    Parse resource attributes.

    Parameters
    ----------
    attributes
        Resource attributes.

    """
    print(attributes)

Same with parameters which results in D405,406,407,410,411,414, all of them twice except 406:
"""Demo module for parameters bug."""

def foo(parameters):
    """Do something.

    Parameters
    ----------
    parameters:
       a list of parameters
    """

Linting above file gives following output (with pydocstyle 4.0.1):
foo.py:4 in public function `foo`:
        D410: Missing blank line after section ('Parameters')
foo.py:4 in public function `foo`:
        D414: Section has no content ('Parameters')
foo.py:4 in public function `foo`:
        D405: Section name should be properly capitalized ('Parameters', not 'parameters')
foo.py:4 in public function `foo`:
        D411: Missing blank line before section ('Parameters')
foo.py:4 in public function `foo`:
        D407: Missing dashed underline after section ('Parameters')
foo.py:4 in public function `foo`:
        D406: Section name should end with a newline ('Parameters', not 'parameters:')
foo.py:4 in public function `foo`:
        D410: Missing blank line after section ('Parameters')
foo.py:4 in public function `foo`:
        D414: Section has no content ('Parameters')
foo.py:4 in public function `foo`:
        D405: Section name should be properly capitalized ('Parameters', not 'parameters')
foo.py:4 in public function `foo`:
        D411: Missing blank line before section ('Parameters')
foo.py:4 in public function `foo`:
        D407: Missing dashed underline after section ('Parameters')```

Would it be a solution to introduce a state machine which marks already passed sections as such so that they will not be mixed up with any following attribute/parameter definitions?

In the case above, the parser could mark that it has already seen a section `Parameters` and then not check for a `Parameters` section again. In case someone really has two parameter sections, this will of course pass unnoticed, but all those false positives right now are IMHO the larger annoyance.

Oddly enough, if you omit the . at the end of the parameter description for params like attributes: these errors go away for some reason.


ol.overlay.Popup implementation

Hi,
A little while back I posted to the OL3 Dev list details of a [popup implementation] (https://github.com/walkermatt/ol3-popup) and there was some discussion about the possibility of it being incorporated into the core.
I've moved the popup into a branch in my fork of ol3. It's largely based on the example provided by @tschaub but I've now made use of the Closure library, implemented panIntoView functionality, provided docs and updated the popup example.
Before I go much further I though it would be worth asking about the likelihood of it being incorporated in the core and if that's a possibility some guidance around tests etc.
Thanks,
Matt.
/cc @elemoine

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

autoPan has been added to ol.Overlay in #3256


Added substitution 'template' to allow importing of markup from external .html files

As discussed here, having to copy and paste html from other documents into a comment in an scss file really inconvenient. With this PR, you can use the @{template: /pth/to/file} substition.
Path can either be absolute paths, relative to where nucleus is running, or you can set a templatePath variable in the config and it will be prepended to all paths in the substitution.
It would be even better if we could leave the argument empty, and have a templateSuffix property in the config, and then nucleus would automatically find a file of the same name as the one being processed:
 // file: navigation.css
 /**
  * blah blah
  *   @{template: }
  */

 // config.nucleus.js
 {
    templatePath: "src/styleguide/templates/"
    templateSuffix:  ".html"
 }

// -> nucleus automatically tries to fetch src/styleguide/templates/navigation.html

But if I understand correctly, Substitute doesn't know the name of the file it is processing.
Still, this is a step forward and should save lots of time

This looks like the same error as the other pull request that has been sitting there for about a month.
It looks like Travis is not set up correctly, and there's nobody at hand to fix it.
I hope the project's not being abandoned...

Hopefully not, and this PR looks like great functionality to be added to Nucleus. Perhaps @michaelseibt could shed some light on where this project is going?


Thunar open terminal here not working

file ~/.config/xfce4/helpers.rc
with
TerminalEmulator=foot
fix that, it doesn't work when added to /etc/xdg/xfce4 or /usr/share/xfce4

wayblue fixes this


Dictionary within a dictionary does not work

Config:
"params" : {
            "global": {
                        "test" : {"001" : {"002" : "X"}}
                      }
           }

Result:
[ ERROR ] Could not convert: CConfig.ddictJson.001 = DotDict({'002': 'X'}) to dotdict.
Exception: invalid syntax (<string>, line 1)

Why is this not working? The same definition of "test" in JsonPreprocessor works fine.

Addendum:
maybe caused by removed globals() within CConfig / exec()?

Hello Hogler,
This is related to dotdict coverting in TestsuiteManagement, Python does not allow the  expression CConfig.ddictJson.001 because identifiers (attribute names) cannot start with a digit.
In JP, it works becuase a dictionary object is not coverted to dotdict.
In the ticket https://github.com/test-fullautomation/python-jsonpreprocessor/issues/206, we're going to prevent user names a key started by digits.
Thank you,
Son

Hi Son,
OK, when there is such a syntax restriction, we have to accept. But nevertheless, I do not understand this.
Instead of a dictionary within a dictionary, I can define a list inside a dictionary:
  "params" : {
              "global": {
                          // "test" : {"001" : {"002" : "X"}}
                          "test" : {"001" : ["002" , "X"]}
                        }
             }

Here we also have the number "001" as key name. And this works. What is the difference?

Hi Son,
as discussed, both is valid for creation of a dotdict.
If your dotdict fails, then it is a wrong implementation in the constructur.
Thank you,
Thomas

Hello Thomas,
I had updated the dotdict converter method as our discussion and created the pull-request for this update.
Thank you,
Son

very good!

Retest successful. Issue can be closed.


Which feature can be used to restart the timed_out tasks (HTTP Tasks) once end system returns live after maintenance window

@rajnishkg You could restart or retry all your failed/timed_out workflows which were affected by the HTTP task timeouts once the end system is back live. This can be done using the Conductor API.


[Bug] controller start panic

Before Creating the Bug Report

[X] I found a bug, not just asking a question, which should be created in GitHub Discussions.

[X] I have searched the GitHub Issues and GitHub Discussions  of this repository and believe that this is not a duplicate.

[X] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.

Runtime platform environment
yiji@yiji-m1 ~ % uname -a
Darwin yiji-m1.local 23.5.0 Darwin Kernel Version 23.5.0: Wed May  1 20:12:58 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6000 arm64
JDK:
yiji@yiji-m1 rocketmq % java -version
java version "1.8.0_331"
Java(TM) SE Runtime Environment (build 1.8.0_331-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.331-b09, mixed mode)
RocketMQ version
5.3.1-SNAPSHOT
JDK Version
No response
Describe the Bug
start controller panic:
Connected to the target VM, address: '<IP_ADDRESS>:52955', transport: 'socket'
load config properties file OK, /Users/yiji/rocketmq/home/conf/controller-n0.conf
Sofa-Middleware-Log SLF4J Warn : No log util is usable, Default app logger will be used.
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGILL (0x4) at pc=0x0000000127b6dd40, pid=97230, tid=0x0000000000002203
#
# JRE version: Java(TM) SE Runtime Environment (8.0_331-b09) (build 1.8.0_331-b09)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.331-b09 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C  [librocksdbjni7657158669296250959.jnilib+0x49d40]  Java_org_rocksdb_WriteBatch_00024Handler_createNewHandler0+0xc80
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/yiji/opensource/rocketmq/hs_err_pid97230.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Disconnected from the target VM, address: '<IP_ADDRESS>:52955', transport: 'socket'

Process finished with exit code 134 (interrupted by signal 6:SIGABRT)

start conf for controller:
yiji@yiji-m1 ~ % cat /Users/yiji/rocketmq/home/conf/controller-n0.conf
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

#controllerDLegerGroup = group1
#controllerDLegerPeers = n0-<IP_ADDRESS>:9878;n1-<IP_ADDRESS>:9868;n2-<IP_ADDRESS>:9858
#controllerDLegerSelfId = n0
controllerStorePath=/Users/yiji/rocketmq/home/controller/n0

clientCallbackExecutorThreads=2
controllerThreadPoolNums=2

controllerType = jRaft
jRaftGroupId = jRaft-Controller
jRaftServerId = localhost:9880
jRaftInitConf = localhost:9880,localhost:9881,localhost:9882
jRaftControllerRPCAddr = localhost:9770,localhost:9771,localhost:9772
jRaftSnapshotIntervalSecs = 3600

Steps to Reproduce

What Did You Expect to See?
jdk 1.8 mac arm可以运行broker
What Did You See Instead?
Problematic frame:
C  [librocksdbjni7657158669296250959.jnilib+0x49d40]  Java_org_rocksdb_WriteBatch_00024Handler_createNewHandler0+0xc80

rocksdb 库在mac os arm机器有问题？
Additional Context
No response

rocketmq-rocksdb 需要兼容一下arm64, 我把 rocketmq-rocksdb 依赖替换成 <rocksdb.version>9.5.2</rocksdb.version> 就可以了.
不过broker 又依赖rocketmq-rocksdb的一些新增java。。

依赖了加了 compaction filter 的 rocksdb，可以主动 set compaction filter 而不是源码编译 rocksdb，可以修改下

依赖了加了 compaction filter 的 rocksdb，可以主动 set compaction filter 而不是源码编译 rocksdb，可以修改下
CompactionFilter需要在Native里实现，Java侧目前不行...等Project Panama成熟了，才有希望

@lizhanhui 您好，我也在develop分支遇到了这个问题，我想测试lmq on rocksdb，我该怎么办。


add test framework

Not that there's any code to test yet, but that's soon to change. It would be great to have a test framework in place and perhaps use Travis-CI to keep me honest.

Oops! I closed the wrong issue by mistake.


Add Open Source Saturday Badge in README

We work on this project during the OSS Milano last Saturday, the only rule is to add the badge to every PR submitted during the event. But since we do not have a pr I think it's nice to add the badge to the project!

Could you add a brief explanation in this issue of the reason behind this, so it will be public and clear, thank you

@ludusrusso ping

@TheJoin95 he leaves the explanation in the first message

We can do that, just create a PR for that and merge

Sorry, did not see the edit.
I leave it here as a good first issue then

Anyone up for grab?

Hi! I think that's something I can handle even with my newbie skills. :)


Pocket Dimension cleanup is easilly exploitable

Before your mate exits dimension you can see if he's dead or not locking your mouse at him. While he's coming out you can see his role changing to Spectator. If you didn't see it - he's left pocket dimension alive.

I don't feel like that's a bad thing. If anything I feel like that's a good thing. It makes sense to me that if there was more than one person in the pocket dimension, you'd be able to tell if a path was safe or not by whether or not the person going along that path dies

So people can remember which path is correct easilly. It's already happening at our servers because players start to understand how to exploit this system.

It's not exactly easily, it has the requirement of having multiple people in the pocket dimension, then one of you has to find the correct path, then it forces you to mark the correct paths and even then people can screw you over by changing or removing the marker.
To me, you should be able to realize a path is safe if you see someone get out while you're in the pocket dimension with them. The issue with ragdolls in the pocket dimension was that you could enter it, see corpses in six of the paths and have a 50/50 chance of getting out. Now unless you work together you'll always have a 1/8 chance, so you actually have to start thinking about what you'll do in there


FAUSTPy still working?

Hello!
I'm trying to get FAUSTPy to work, but
if I try the test_examples.py, it just terminates the process without any errors and nothing happens.
I tried in the FAUSTPy main directory: python3 test_examples.py -p test_synth.dsp
This should give an output somehow, right?
Thank you in advance,
vince

So, I finally found some time to look into this.  While FAUSTPy does need to be updated due to changes to the C API of FAUST, you're also using the test script wrong.  It's intended as a sort-of sanity check that FAUSTPy works with all example DSP files that ship with FAUST, so -p is supposed to point to a directory full of *.dsp files.  However, the script also needs to be reworked, since the the examples are now sorted into categories.
I will try to look into this by the weekend.  Thanks for the patience so far :) .

Hello!
I have tried to use FAUSTPy, but it has not been done "python3 setup.py test" with some errors and I have no idea how to solve this problem...
error:
FAUSTPy/pycache/cffi_.c::: error: ‘MetaGlue’ {aka ‘struct ’} has no member named ‘metaInterface’; did you mean ‘mInterface’?
*** |  m->declare(m->metaInterface, "", "**");
environment:
Python 3.8.10
CFFI 1.15.0
NumPy 1.21.4
FAUST2 2.38.4
Best regards


importing CSV failed with a pipe "|" as delimiter

if I replace the "|" delimiter with a ";" the loading process complete successfully.

hey @geomartino closing this since we will not support this file by default for the time being.


Skip TestPodConnectivityAfterAntreaRestart in Kind CI

TestPodConnectivityAfterAntreaRestart destroys and recreates dataplane
which affects existing connection between components (e.g coredns and
antrea-controller) and kube-apiserver somehow and they don't receive
events stream in some time. Since it only happens on Kind cluster, it
might be related to the dataplane implementation.
Before we can resolve it, skip the test in case of tests depending on
coredns and antrea-controller failing.
Related to #244

/test-e2e

Merging this for release.


New package: Mingw_jll v11.0.0

Registering package: Mingw_jll
Repository: https://github.com/JuliaBinaryWrappers/Mingw_jll.jl
Created by: @staticfloat
Version: v11.0.0
Commit: 02382aa1dc331ccfbc145e84e7a3a215b0ebb2dd
Reviewed by: @staticfloat
Reference: https://github.com/JuliaBinaryWrappers/Mingw_jll.jl/commit/02382aa1dc331ccfbc145e84e7a3a215b0ebb2dd#commitcomment-145050689

Name does not meet all of the following: starts with an upper-case letter, ASCII alphanumerics only, not all letters are upper-case.

Because this is a JLL, the underscore seems to be tripping this rule up.  I guess the JLL autodetection fails when the PR comes from julia registrator instead of the Yggdrasil bot.

JLL packages are only allowed to depend on Pkg, Libdl, Artifacts, JLLWrappers, LazyArtifacts, TOML, MPIPreferences and other JLL packages

This JLL build is from BB2, which has a new LazyJLLWrappers.  I have a PR open to fix this, but it's bogged down by broken CI at the moment.  So I'm going to manually merge this so I can continue to make forward progress on BB2, which needs this registered.


Td/fixing system case arg serialization

Some tests fail randomly due to a Windows IOError, but sometimes they all pass. Dan was able to run all the tests successfully using SiennaIntegrationTests

@sourabhdalvi Can you checkout the new design of kwarg-passing and let us know what you think?


I want to need tansparent NativeHostControl

Hellow Avalonia Development Team:
When I use NativeControlHost  to host windows ， I find that the background is always black. But there is an urgent need for a tansparent background. I found through the  source code that it is always black, so can you consider opening a configuration to modify this value?

We are creating the parent window with WS_EX_LAYERED. You might need a compatibility manifest with the recent windows version to enable that behavior.
Example


Add support for non-s args to refer to self

Addresses #255. This PR allows the use of positional arguments that is not "s" to refer to the self variable. An example of this is
class A(Component):
    def construct(self):
        self.in_ = InPort(Bits32)
        self.out = OutPort(Bits32)

        @update_ff
        def test():
            self.out <<= self.in_

Is this update generic meaning it will now work with any name? or is not hard coded to explicitly work with both s and self?

excellent!


Add Minato - Soneium Testnet

Adding a New Chain
This PR adds Minato to the registry.
Checklist

[ ] I have declared the chain at the appropriate Superchain Level.
[x] I have run just validate <chain-id> locally to ensure all local validation checks pass.
[x] I have run just codegen to ensure that the chainlist and other generated files are up-to-date and include my chain.

@Wazabie I have a question:
The proposer challenger in the toml config file here is most likely populated from the l2OutputOracleChallenger field of deploy config.
However there is two address for the challenger:

One (Safe multisig) with power to nulitfy proposals is l2OutputOracleChallenger in deploy config: 0xB278818732E5BEbb742dc4Aa0617ccd1Dec76b65

One EOA to finalize games in the account we used to run op-challenger:  0x48813BF46744A068F358E59183FA9F70CFb357c1

Can you confirm that in the toml file it should be the address with power to nulitfy proposals ?

@bitwiseguy
What about the challenger question above ?
Also I wanted to double validate something. The state of our chain has evolved significantly from genesis deploy config to now (form v1.3 Ecotone to v1.6 FP Granite).
So the deploy-config.json reflects the state of the chain at genesis, not the one that is running now - many parameters differ, particularly those related to fault proofs.
Also the gasConfig is different and this value is not relevant anymore.
Would it make more sense to update the deploy-config.json to reflect our current chain state, or should it stays as it is and reflects the genesis config parameters ?

@PierreOssun your understanding of the challenger is correct. The Superchain Registry also needs some work when it comes to keeping the latest chain values up to date. Let's keep your deploy-config as is for now.