ImportError: Numba could not be imported

After installing numba on Win7, the test does not work:
C:\Windows\System32>python3 -m numba -s
Traceback (most recent call last):
  File "C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages\numba\core\typeco
nv\typeconv.py", line 4, in <module>
    from numba.core.typeconv import _typeconv
ImportError: DLL load failed: No se puede encontrar el módulo especificado.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\runpy.py", line 183, in _run_mo
dule_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\runpy.py", line 142, in _get_mo
dule_details
    return _get_module_details(pkg_main_name, error)
  File "C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\runpy.py", line 109, in _get_mo
dule_details
    __import__(pkg_name)
  File "C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages\numba\__init__.py
", line 20, in <module>
    from numba.misc.special import (
  File "C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages\numba\misc\specia
l.py", line 3, in <module>
    from numba.core.typing.typeof import typeof
  File "C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages\numba\core\typing
\__init__.py", line 1, in <module>
    from .context import BaseContext, Context
  File "C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages\numba\core\typing
\context.py", line 11, in <module>
    from numba.core.typeconv import Conversion, rules
  File "C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages\numba\core\typeco
nv\rules.py", line 2, in <module>
    from .typeconv import TypeManager, TypeCastingRules
  File "C:\PROGRA~1\QGIS3~1.12\apps\Python37\lib\site-packages\numba\core\typeco
nv\typeconv.py", line 17, in <module>
    raise ImportError(msg % (url, reportme, str(e), sys.executable))
ImportError: Numba could not be imported.
If you are seeing this message and are undertaking Numba development work, you m
ay need to re-run:

python setup.py build_ext --inplace

(Also, please check the development set up guide http://numba.pydata.org/numba-d
oc/latest/developer/contributing.html.)

If you are not working on Numba development:

Please report the error message and traceback, along with a minimal reproducer
at: https://github.com/numba/numba/issues/new

If more help is needed please feel free to speak to the Numba core developers
directly at: https://gitter.im/numba/numba

Thanks in advance for your help in improving Numba!

The original error was: 'DLL load failed: No se puede encontrar el módulo especi
ficado.'
--------------------------------------------------------------------------------

If possible please include the following in your error report:

sys.executable: C:\PROGRA~1\QGIS3~1.12\bin\python3.exe

C:\Windows\System32>

This problem does not occur wit numb 0.47.0

Can you tell us how you installed numba? e.g. conda, pip, or manually?

Using python3 and pip:
python -m install numba
Then
python -m pip uninstall numba
python -m pip install numba==0.47.0

and worked.

I cannot replicate the problem. I will need more info.

What is your OS version?  32-bit or 64-bit?
Did you install Python via Anaconda/Miniconda? If so, can you install numba on a fresh environment?

Exactly same issue starting with 0.49. 0.48 works fine.
Win 10 64bit, Python 3.8.2, installing with pip install --force-reinstall numba --user.

@sklam Cannot install on a fresh environment.
These are the details of my environment:
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32 installed through OSgeo4W on Win7
Nombre del sistema operativo:              Microsoft Windows 7 Professional
Versión del sistema operativo:             6.1.7601 Service Pack 1 Compilación 7601
Fabricante del sistema operativo:          Microsoft Corporation
Fabricante del sistema:                    LENOVO
Modelo el sistema:                         4291B66
Tipo de sistema:                           x64-based PC
Procesador(es):                            1 Procesadores instalados.
[01]: Intel64 Family 6 Model 42 Stepping 7 GenuineIntel ~1975 Mhz
Please check
https://bitbucket.org/hu-geomatics/enmap-box/issues/405/import-numba-crashes-qgis-on-linux
(same problem reported on linux)

Same issue over here.
It works correctly in a computer with Windows 10 Home (64 bits), but it fails in another computer with Windows 10 Pro (64 bits). Both tests have been done with Python 3.8.2 and Numba has been installed from pip.

Could all those reporting problems with Numba installs for 0.49 please run numba -s, edit out any bits you don't want to share, and then post the rest here? Many thanks in advance.
Hopefully there'll be some identifiable pattern!

The _typeconv.cp37-win_amd64.pyd file in the numba 0.49.0 wheel imports from VCRUNTIME140_1.dll.  The 0.48.0 file did not import from this DLL.
It is possible that this DLL is not present on all Windows systems.
My guess is that this is a result of switching from VS 2015 to VS 2017.
$ # numba 0.49.0
$ python -c "import lief; b = lief.parse('_typeconv.cp37-win_amd64.pyd'); [print(i.name) for i in b.imports]"
MSVCP140.dll
python37.dll
KERNEL32.dll
VCRUNTIME140_1.dll
VCRUNTIME140.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
$ # numba 0.48.0
$ python -c "import lief; b = lief.parse('_typeconv.cp37-win_amd64.pyd'); [print(i.name) for i in b.imports]"
MSVCP140.dll
python37.dll
KERNEL32.dll
VCRUNTIME140.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll

For those running into this issue, does installing the latest Visual Studio Redistributable from Microsoft  resolve the issue?

We updated the compiled since we supported py3.8. It's odd that this issue shows up only in this release and not in 0.47, which is first to support py3.8

Oh, I know why. It's because I updated the buildfarm to VS2019 with a VC14.2 compiler to build LLVM9.

For those running into this issue, does installing the latest Visual Studio Redistributable from Microsoft  resolve the issue?

This solved it for me.

For those running into this issue, does installing the latest Visual Studio Redistributable from Microsoft  resolve the issue?

This solved it for me too.

Could all those reporting problems with Numba installs for 0.49 please downgrade to 0.48, run numba -s, edit out any bits you don't want to share, and then post the rest here? Many thanks in advance.
Hopefully there'll be some identifiable pattern!

yes, 0.48 is ok

I have update the labels to reflect the recent discoveries regarding this issue.

For those having on windows with numba0.49.0, please try 0.49.1rc1 wheels from https://pypi.org/project/numba/0.49.1rc1/

Closing this, resolved in 0.49.1. Thanks for the input all.

python -m pip install numba==0.47.0

Why i have this error ?

wen i install numba

@zabbix-byte thank you for adding to this issue. I see you have also opened https://github.com/numba/llvmlite/issues/657 -- is the issue you report above related.


Unintuitive and limiting behavior in naming and prefixing nested modules

Snakemake version

$ snakemake --version
7.19.1

and I checked against the changelog, apparently nothing related has been worked on since 7.19.1.
Describe the bug
When modularizing Snakemake workflows, one would naturally expect (and need) the workflows to apply rule renaming and path prefixing strictly recursively.
In short: when top.Snakefile modularizes nested-1st-level.Snakefile and applies prefix prefix_a/,  and nested-1st-level.Snakefile modularizes nested-2nd-level.Snakefile  and applies prefix_b/, then outputs of the latter nested-2nd-level.Snakefile should be prefixed prefix_a/prefix_b/ when executed via the former top.Snakefile, and the same rationale should apply to rule renaming.
This is not the case, as the following example demonstrates,
Minimal example
We have three Snakefiles,
$ ls -1
nested-1st-level.Snakefile
nested-2nd-level.Snakefile
top.Snakefile

with their content
$ cat nested-2nd-level.Snakefile
from snakemake.utils import min_version
min_version("6.0")

rule leaf:
    output:
        ".done"
    shell:
        "touch {output}"

rule default:
    input:
        rules.leaf.output
    default_target: True

$ cat nested-1st-level.Snakefile
from snakemake.utils import min_version
min_version("6.0")

module module_2:
    snakefile: "nested-2nd-level.Snakefile"
    prefix: "nested-2nd-level"

use rule * from module_2 as nested_2nd_level_*

rule default:
    input:
       rules.nested_2nd_level_default.input
    default_target: True

$ cat top.Snakefile
from snakemake.utils import min_version
min_version("6.0")

module module_1:
    snakefile: "nested-1st-level.Snakefile"
    prefix: "nested-1st-level"

use rule * from module_1 as nested_1st_level_*

rule default:
    input:
       rules.nested_1st_level_default.input
    default_target: True

so top.Snakefile imports, renames, and prefixes nested-1st-level.Snakefile, and nested-1st-level.Snakefile in turn imports, renames, and prefixes nested-1st-level.Snakefile.
All Snakefiles are syntactically correct:
$ snakemake --lint --snakefile nested-2nd-level.Snakefile
Lints for rule leaf (line 4, /mnt/dat2/git/ContactEngineering/snakemake-nested-modules/nested-2nd-level.Snakefile):
    * No log directive defined:
      Without a log directive, all output will be printed to the terminal. In distributed environments, this means that errors are harder to discover. In local environments, output of concurrent jobs will be
      mixed and become unreadable.
      Also see:
      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
    * Specify a conda environment or container for each rule.:
      This way, the used software for each specific step is documented, and the workflow can be executed on any machine without prerequisites.
      Also see:
      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers

$ snakemake --lint --snakefile nested-1st-level.Snakefile
Lints for rule nested_2nd_level_leaf (line 4, /mnt/dat2/git/ContactEngineering/snakemake-nested-modules/nested-2nd-level.Snakefile):
    * No log directive defined:
      Without a log directive, all output will be printed to the terminal. In distributed environments, this means that errors are harder to discover. In local environments, output of concurrent jobs will be
      mixed and become unreadable.
      Also see:
      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
    * Specify a conda environment or container for each rule.:
      This way, the used software for each specific step is documented, and the workflow can be executed on any machine without prerequisites.
      Also see:
      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers

$ snakemake --lint --snakefile top.Snakefile
Lints for rule nested_2nd_level_leaf (line 4, /mnt/dat2/git/ContactEngineering/snakemake-nested-modules/nested-2nd-level.Snakefile):
    * No log directive defined:
      Without a log directive, all output will be printed to the terminal. In distributed environments, this means that errors are harder to discover. In local environments, output of concurrent jobs will be
      mixed and become unreadable.
      Also see:
      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
    * Specify a conda environment or container for each rule.:
      This way, the used software for each specific step is documented, and the workflow can be executed on any machine without prerequisites.
      Also see:
      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers

The bottom Snakefile has its rules and output files as expected,
$ snakemake --list --snakefile nested-2nd-level.Snakefile
default
leaf

$ snakemake --summary --snakefile nested-2nd-level.Snakefile
Building DAG of jobs...
output_file	date	rule	version	log-file(s)	status	plan
.done	-	-	-	-	missing	update pending

and so does the middle Snakefile,
$ snakemake --list --snakefile nested-1st-level.Snakefile
default
nested_2nd_level_default
nested_2nd_level_leaf

$ snakemake --summary --snakefile nested-1st-level.Snakefile
Building DAG of jobs...
output_file	date	rule	version	log-file(s)	status	plan
nested-2nd-level/.done	-	-	-	-	missing	update pending

but at the top level Snakefile, the behavior deviates from what I would expect in clean recursive inclusion, and that renders modules quite impossible to use efficiently when nesting deeper than one level,
$ snakemake --list --snakefile top.Snakefile
default
nested_1st_level_default
nested_2nd_level_default
nested_2nd_level_leaf

$ snakemake --summary --snakefile top.Snakefile
Building DAG of jobs...
MissingInputException in rule default in file /mnt/dat2/git/ContactEngineering/snakemake-nested-modules/top.Snakefile, line 10:
Missing input files for rule default:
    affected files:
        nested-1st-level/nested-2nd-level/.done
(venv) jotelha@jotelha-fujitsu-ubuntu-20:/mnt/dat

Instead, I would have expected this output,
$ snakemake --list --snakefile top.Snakefile
default
nested_1st_level_default
nested_1st_level_nested_2nd_level_default
nested_1st_level_nested_2nd_level_leaf

$ snakemake --summary --snakefile top.Snakefile
Building DAG of jobs...
output_file	date	rule	version	log-file(s)	status	plan
nested-1st-level/nested-2nd-level/.done	-	-	-	-	missing	update pending

Additional context
I did not find documentation, other issues or stackoverflow posts on that limitting behavior, hence I am reporting here as bug.
I started using snakemake in December for quick and dirty parameter space exploration on my local machine and have been pretty happy with it for that purpose, very useful! Gets the user productive quickly without learning curve as long as one knows Python and understands Makefiles, at least conceptually. But now, trying to get a little cleaner and better organized, I am unfortunately slowed down here.
Thanks for clarifying whether this behavior might actually be intended for some reasons or it's worth fixing.

I've just merged PR #1817, which should I think fix the naming issues. If you think there is still something wrong with it or with the prefixing, may I ask you to provide a PR with a test case that illustrates the failure? Thanks a lot!


Suggestion: Simple Status monitoring API

Thanks for your great Job.
This issue is not for the bug, rather than a suggestion.
I want to use this module for my homebrew project - magic mirror. It has no good input interface except voice or some kinds of sensor. So I believe this voice assistant could be a good option for me. (Of course, I shall make some Alexa Skills or Google Actions for controlling my mirror)
Anyway,
There is a little missing feature to use this module with another program.
It is very difficult to detect this program's working well or not in background process. Is it alive? It might be normally working but just the volume is too low to hear? When on development stage, I can check everything by myself. But after deploying, It's not easy. My main users(my family) wouldn't like if Alexa or Google doesn't answer when they call.
I want to monitor this service status by another program. Maybe I could catch the logs. But if you provide a small feature to broadcast signal with simple REST API, It could be more convenient.
It would be simple.
 HTTP endpoint. I will catch the signal and can guess the status of this program by it.
By example,
Assuming this URL for the listener.
http://my.another.server/listen
And you can send some signals to this API occasionally or on schedules.
when started : POST {status:'started'}
when alive, every 1 minutes(if available) : POST {status:'alive'}
when hotwords are detected: POST {status:'actiavted'}
when Assistant works : POST {status:'processing'}
when Assistant fails : POST {status:'failed'}
and so on...(I think you don't need a RESPONSE)
...
And I just catch this HTTP REQUEST then use for variable things, like showing status on my mirror or displaying warning on inactive, or using as trigger for other jobs(e.g. rebooting, stop using another mic or speaker)
Could you provide this features? I'm not an expert so I cannot make PULL REQUEST by myself.

Hi @eouia,
sorry but I can't do this for you.
You can try play around with AlexaPi's pre- and post-interaction hooks. In the config.yaml, you'll find event_commands, where you can add custom bash commands to be run on certain events. pre_interaction runs before you talk to Alexa/Assistant, post_interaction after it's finished. You could do your web calls here.
Add your own hooks where necessary in the /src/main.py.
Let me know how it goes :)

Thanks for your reply. I'll close this.


Fix "no return" warning on CFE_SB_ReadQueue() function

This is not a "real" warning, but it is flagged by static code analysis in Eclipse that the CFE_SB_ReadQueue() function has no return statement.  Although there is no real code path that will //not// get to a return statement, static code analysis does not see that.
A trivial fix to consolidate the scattered return's into a single return at the end will get rid of this warning and make the code more readable.

Imported from trac issue 33.  Created by jphickey on 2015-01-26T10:57:10, last modified: 2019-03-05T14:57:55

Trac comment by jphickey on 2015-04-06 11:22:45:
This is ready for review/merge

Trac comment by jphickey on 2015-01-26 11:03:18:
Pushed branch "trac-33-readqueue_return" to address this.
Commit [changeset:bb342e8]

Trac comment by sstrege on 2015-04-06 12:32:38:
I concur with these changes

Trac comment by acudmore on 2015-04-07 12:49:47:
Concur

Trac comment by jwilmot on 2015-04-06 15:13:48:
Concur.

Trac comment by glimes on 2015-04-07 13:14:09:
Tested changeset [changeset:bb342e8] as part of the ic-2015-03-10 merge.

Trac comment by glimes on 2016-02-25 10:17:32:
these will be fixed in CFE 6.5

Trac comment by glimes on 2015-04-13 15:16:14:
Part of integration candidate 2015-03-10,
committed to cFS CFE Development branch on 2015-04-10
as part of merge [changeset:7d6f6d0].

Trac comment by jhageman on 2019-03-05 14:57:55:
Milestone renamed


Render --cloud-startup-script as inline code

I've added backticks around --cloud-startup-script for better readability. The linked section renders this flag as inline code as well.

fixed by #298


Write manual test cases for "Rhineland-PalatinatePage"

Please write a manual test case for the following pages manual test which involves breaking down the functionality of the webpage into specific steps that can be tested.
Rhineland-PalatinatePage:
https://prayersconnect.com/mosques/search/Ludwigshafen%252C%2520Rhineland-Palatinate%252C%2520Germany/49.4774018%2C8.4447451/49.4774018%2C8.4447451
Please use this Google doc for your test cases.
https://docs.google.com/spreadsheets/d/1v4pXXdrtDnI1bMoTChw2GMhktxPvWBu5ayLzeNaXiFk/edit?usp=sharing

done

Thank you


Issue with Power8/32bit tests

Hi,
Following issue 2693 [https://github.com/xianyi/OpenBLAS/pull/2693] by @EGuesnet, once fixed by our patch , we have found another issue when tests are run during build phase, still with Power8/32bit, thus using the Power8 assembler code.
+ make BINARY=32 TARGET=POWER8
...
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./sblat3 < ./sblat3.dat
******* FATAL ERROR - PARAMETER NUMBER 2 WAS CHANGED INCORRECTLY *******
******* FATAL ERROR - PARAMETER NUMBER 3 WAS CHANGED INCORRECTLY *******
******* FATAL ERROR - PARAMETER NUMBER 4 WAS CHANGED INCORRECTLY *******
******* FATAL ERROR - PARAMETER NUMBER 5 WAS CHANGED INCORRECTLY *******
******* FATAL ERROR - PARAMETER NUMBER 6 WAS CHANGED INCORRECTLY *******
******* FATAL ERROR - PARAMETER NUMBER 9 WAS CHANGED INCORRECTLY *******
******* STRMM FAILED ON CALL NUMBER:
506: STRMM ('L','U','N','U', 1, 1, 1.0, A, 2, B, 2) .

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

 \
-L/opt/freeware/lib  -lc  /opt/freeware/lib/gcc/powerpc-ibm-aix<IP_ADDRESS>/8/libgcc.a /opt/freeware/lib/gcc/powerpc-ibm-aix<IP_ADDRESS>/8/libgcc_eh.a \
/opt/freeware/lib/gcc/powerpc-ibm-aix<IP_ADDRESS>/8/libgcc.a /opt/freeware/lib/gcc/powerpc-ibm-aix<IP_ADDRESS>/8/libgcc_eh.a

gdb and dbx say nothing very useful.
Since it is written in assembler, that may be very difficult to debug, and our 2 assembler experts are out and will be back next week only.
For now, we have no idea about the root cause. We need help, probably from the Power assembler expert who wrote this code.

Unfortunately wernsaar has not been active here (nor responding to messages) since early 2017, and I learned just about the bare minimum ppc assembly needed to fix the obvious omissions in his code as they were pointed out. Perhaps @kavanabhat can help  ? (@quickwritereader would be our semi-"resident" expert for ppc but I believe is not that familiar with AIX or coding for big-endian in general. Actually endianness could be the problem here - but perhaps gdb can be coaxed into reporting the actual assembly instruction on which it crashes )

what do you see in gdb or dbx repeating the failing test command?
also worth using assembly-free GENERIC target, because POWER8 assembly was unlikely on PPC604e or whatever was the latest 32bit PPC running AIX

Since we worked to work-around this for being able to generate RPM files, I had to rebuild it all without the work-around, and then original above issue has disappeared and has been replaced, still in the same test, by:
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./sblat3 < ./sblat3.dat
At line 573 of file sblat3.f (unit = 6, file = 'SBLAT3.SUMM')
Fortran runtime error: Missing initial left parenthesis in format

Error termination. Backtrace:
make[1]: *** [Makefile:74: level3] Error 2

32bit/power8/test/sblat3.f :
  +567                             CALL SGEMM( TRANSA, TRANSB, M, N, K, ALPHA,
  +568       $                                 AA, LDA, BB, LDB, BETA, CC, LDC )
  +569  *
  +570  *                          Check if error-exit was taken incorrectly.
  +571  *
  +572                             IF( .NOT.OK )THEN
  +573                                WRITE( NOUT, FMT = 9994 )
  +574                                FATAL = .TRUE.
  +575                                GO TO 120
  +576                             END IF

32bit/power8/test/SBLAT3.SUMM :
 TESTS OF THE REAL             LEVEL 3 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   0     1     2     3     7    31
   FOR ALPHA             0.0   1.0   0.7
   FOR BETA              0.0   1.0   1.3

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  1.2E-07

 SGEMM  PASSED THE TESTS OF ERROR-EXITS

32bit/power8/test/sblat3.dat:
'SBLAT3.SUMM'     NAME OF SUMMARY OUTPUT FILE
6                 UNIT NUMBER OF SUMMARY FILE
'SBLAT3.SNAP'     NAME OF SNAPSHOT OUTPUT FILE
-1                UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0)
F        LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD.
F        LOGICAL FLAG, T TO STOP ON FAILURES.
T        LOGICAL FLAG, T TO TEST ERROR EXITS.
16.0     THRESHOLD VALUE OF TEST RATIO
6                 NUMBER OF VALUES OF N
0 1 2 3 7 31 63   VALUES OF N
3                 NUMBER OF VALUES OF ALPHA
0.0 1.0 0.7       VALUES OF ALPHA
3                 NUMBER OF VALUES OF BETA
0.0 1.0 1.3       VALUES OF BETA
SGEMM  T PUT F FOR NO TEST. SAME COLUMNS.
SSYMM  T PUT F FOR NO TEST. SAME COLUMNS.
STRMM  T PUT F FOR NO TEST. SAME COLUMNS.
STRSM  T PUT F FOR NO TEST. SAME COLUMNS.
SSYRK  T PUT F FOR NO TEST. SAME COLUMNS.
SSYR2K T PUT F FOR NO TEST. SAME COLUMNS.

So, that looks random. Damned!
Nuts !!! The last time I wrote Fortran code, it was maybe in 1983, or sure in 1981 (6 months). Fortran 77... ;-) I need a refresh.

... Actually endianness could be the problem here -

Hummm. Since that works fine for Power8/64bit, I'm not sure it is Endianess.

but perhaps gdb can be coaxed into reporting the actual assembly instruction on which it crashes )

I do not remember exactly the output of gdb and dbx. Probably nothing for gdb, and 3 lines for dbx with a fortran routine at the top.

also worth using assembly-free GENERIC target, because POWER8 assembly was unlikely on PPC604e or whatever was the latest 32bit PPC running AIX

Hummm So, maybe this 32bit assembler code had never been tested.
We are using "using assembly-free GENERIC target" as a work-around. Not very fast, but that works fine in 32bit too.
We need openblas in 32bit because we have numpy in 64bit and 32 because we have Boost.Python and Boost in both 64bit and 32bit because AIX manages both 64 & 32bit.
Anyway, we have a work-around.
I'll experiment reproducing the build & test and see if it is stable or not.

I see nothing wrong with the format line labeled 9994, probably something is scribbling over parts of the stack

I see nothing wrong with the format line labeled 9994, probably something is scribbling over parts of the stack

Thanks for providing your expertise.
Hummmm I gonna relaunch the test, and then rebuild, and see if I get a third result (random...) or if it stabilizes.
Random issues are always a pain...

The problem may be not stable, since it now shows the first issue, but with no core:
cd OpenBLAS-0.3.10/32bit/power8/test
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./sblat3 < ./sblat3.dat

 ******* FATAL ERROR - PARAMETER NUMBER  2 WAS CHANGED INCORRECTLY *******
 ******* FATAL ERROR - PARAMETER NUMBER  3 WAS CHANGED INCORRECTLY *******
 ******* FATAL ERROR - PARAMETER NUMBER  4 WAS CHANGED INCORRECTLY *******
 ******* FATAL ERROR - PARAMETER NUMBER  5 WAS CHANGED INCORRECTLY *******
 ******* FATAL ERROR - PARAMETER NUMBER  6 WAS CHANGED INCORRECTLY *******
 ******* FATAL ERROR - PARAMETER NUMBER  9 WAS CHANGED INCORRECTLY *******
 ******* STRMM  FAILED ON CALL NUMBER:
    506: STRMM ('L','U','N','U',  1,  1, 1.0, A,  2, B,  2)        .

SBLAT3.SUMM:
 TESTS OF THE REAL             LEVEL 3 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   0     1     2     3     7    31
   FOR ALPHA             0.0   1.0   0.7
   FOR BETA              0.0   1.0   1.3

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  1.2E-07

 SGEMM  PASSED THE TESTS OF ERROR-EXITS

 ******* FATAL ERROR - COMPUTED RESULT IS LESS THAN HALF ACCURATE *******
           EXPECTED RESULT   COMPUTED RESULT
       1      0.156895          0.198940
 ******* SGEMM  FAILED ON CALL NUMBER:
   3568: SGEMM ('N','N',  1,  1,  2, 1.0, A,  2, B,  3, 0.0, C,  2).

 SSYMM  PASSED THE TESTS OF ERROR-EXITS

 ******* FATAL ERROR - COMPUTED RESULT IS LESS THAN HALF ACCURATE *******
           EXPECTED RESULT   COMPUTED RESULT
       1       0.00000         -0.662874E-02
      THESE ARE THE RESULTS FOR COLUMN   2
 ******* SSYMM  FAILED ON CALL NUMBER:
    310: SSYMM ('R','U',  1,  2, 1.0, A,  3, B,  2, 0.0, C,  2)    .

 STRMM  PASSED THE TESTS OF ERROR-EXITS

 STRSM  PASSED THE TESTS OF ERROR-EXITS

 ******* FATAL ERROR - COMPUTED RESULT IS LESS THAN HALF ACCURATE *******
           EXPECTED RESULT   COMPUTED RESULT
       1     -0.102897           0.00000
      THESE ARE THE RESULTS FOR COLUMN   2
 ******* STRSM  FAILED ON CALL NUMBER:
    686: STRSM ('R','U','N','U',  1,  3, 1.0, A,  4, B,  2)        .

 SSYRK  PASSED THE TESTS OF ERROR-EXITS

 ******* FATAL ERROR - COMPUTED RESULT IS LESS THAN HALF ACCURATE *******
           EXPECTED RESULT   COMPUTED RESULT
       1      0.727544E-03      0.397006E-02
 ******* SSYRK  FAILED ON CALL NUMBER:
    436: SSYRK ('U','N',  1,  2, 1.0, A,  2, 0.0, C,  2)           .

 SSYR2K PASSED THE TESTS OF ERROR-EXITS

 ******* FATAL ERROR - COMPUTED RESULT IS LESS THAN HALF ACCURATE *******
           EXPECTED RESULT   COMPUTED RESULT
       1     -0.202936         -0.225193
 ******* SSYR2K FAILED ON CALL NUMBER:
    436: SSYR2K('U','N',  1,  2, 1.0, A,  2, B,  2, 0.0, C,  2)    .

 END OF TESTS

gdb keeps acting up for me, single-stepping through sblat3 is extremely slow with lots of "internal error ... in read in psymtab but not in symtab" warnings. valgrind does not appear to be installed on the (gcc compile farm) machine

When rebuilding all (libopenblas_power5p-r0.3.10.a) after complete clean, by scripts, with -O0 -g, or -O1 -g, or -O2 -g, there is no more bug.
Before, it was built with -Ofast and sometimes with -O2 .
Rebuilding all with -Ofast -g, or with -Ofast, still with scripts, does not produce the issue!
cd test
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./sblat3 < ./sblat3.dat
SBLAT3.SUMM  when it's OK:
 TESTS OF THE REAL             LEVEL 3 BLAS

 THE FOLLOWING PARAMETER VALUES WILL BE USED:
   FOR N                   0     1     2     3     7    31
   FOR ALPHA             0.0   1.0   0.7
   FOR BETA              0.0   1.0   1.3

 ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LESS THAN   16.00

 RELATIVE MACHINE PRECISION IS TAKEN TO BE  1.2E-07

 SGEMM  PASSED THE TESTS OF ERROR-EXITS

 SGEMM  PASSED THE COMPUTATIONAL TESTS ( 17496 CALLS)

 SSYMM  PASSED THE TESTS OF ERROR-EXITS

 SSYMM  PASSED THE COMPUTATIONAL TESTS (  1296 CALLS)

 STRMM  PASSED THE TESTS OF ERROR-EXITS

 STRMM  PASSED THE COMPUTATIONAL TESTS (  2592 CALLS)

 STRSM  PASSED THE TESTS OF ERROR-EXITS

 STRSM  PASSED THE COMPUTATIONAL TESTS (  2592 CALLS)

 SSYRK  PASSED THE TESTS OF ERROR-EXITS

 SSYRK  PASSED THE COMPUTATIONAL TESTS (  1944 CALLS)

 SSYR2K PASSED THE TESTS OF ERROR-EXITS

 SSYR2K PASSED THE COMPUTATIONAL TESTS (  1944 CALLS)

 END OF TESTS

Rebuilding all from scratch from running rpmbuild on the .spec file does recreate the issue:
 OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./sblat3 < ./sblat3.dat

 Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

 Backtrace for this error:
 gmake[1]: *** [Makefile:74: level3] Segmentation fault (core dumped)

 # pwd
 /opt/freeware/src/packages/BUILD/OpenBLAS-0.3.10/32bit/power8
 # file test/core
 test/core: AIX core file 32-bit, sblat3

 # gdb test/sblat3 test/core
 ...
 Reading symbols from test/sblat3...done.
 "/opt/freeware/src/packages/BUILD/OpenBLAS-0.3.10/32bit/power8/test/core" is not a core dump: File format not recognized
 (gdb) where
 No stack.

 # dbx test/sblat3 test/core

 Segmentation fault in pthread_kill at 0xd05883ec
 0xd05883ec (pthread_kill+0xac) 80410014            lwz   r2,0x14(r1)
 (dbx) where
 pthread_kill(??, ??) at 0xd05883ec
 _p_raise(??) at 0xd05877c8
 raise.raise(??) at 0xd0123604
 _gfortrani_backtrace_handler(??), line 137 in "compile_options.c"
 schk1(??, ??, ??, ??, ??, ??, ??, ??) at 0x10006408
 MAIN__() at 0x1000d09c
 sblat3.main(??, ??) at 0x10000410

 SBLAT3.SUMM : empty !

        0 Jul  7 10:16 SBLAT3.SUMM

Relaunching the test by hand leads to a different error message, with no core, as described at beginning of this issue:
 OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./sblat3 < ./sblat3.dat
 ******* FATAL ERROR - PARAMETER NUMBER  2 WAS CHANGED INCORRECTLY *******
 ******* FATAL ERROR - PARAMETER NUMBER  3 WAS CHANGED INCORRECTLY *******
 ******* FATAL ERROR - PARAMETER NUMBER  4 WAS CHANGED INCORRECTLY *******
 ******* FATAL ERROR - PARAMETER NUMBER  5 WAS CHANGED INCORRECTLY *******
 ******* FATAL ERROR - PARAMETER NUMBER  6 WAS CHANGED INCORRECTLY *******
 ******* FATAL ERROR - PARAMETER NUMBER  9 WAS CHANGED INCORRECTLY *******
 ******* STRMM  FAILED ON CALL NUMBER:
    506: STRMM ('L','U','N','U',  1,  1, 1.0, A,  2, B,  2)        .

and now the SBLAT3.SUMM file is no more empty and contains what has already been described above:
# ll SBLAT3.SUMM
-rw-r--r-- 1 root system 2069 Jul  7 10:35 SBLAT3.SUMM

????

First rebuild was probably without setting TARGET, leading to an all-C power5 build (as I have not completed and merged my PR yet), spec file probably specifies TARGET=POWER8 ? (Had no luck with gdb so far - building with -fsanitize=address -fsanitize=undefined (on 64bit) turns up several complaints about misaligned arguments in loads and stores of vector floats though none of them in level3 BLAS)

First rebuild was probably without setting TARGET...

Yes. I forgot this. Now using BINARY and TARGET. Not perfectly awaken this morning...
Now using:
# cat MAKE
export OBJECT_MODE=32
export CC="gcc -maix32"
export CXX="g++ -maix32"
export FC="gfortran -maix32"
export LDFLAGS="-Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000"
#gmake clean
gmake --trace VERBOSE=1 -j16 $1 BINARY=32 TARGET=POWER8
cd test
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./sblat3 < ./sblat3.dat

gdb is still KO.
# dbx sblat3 core
...
(dbx) where
pthread_kill(??, ??) at 0xd05883ec
_p_raise(??) at 0xd05877c8
raise.raise(??) at 0xd0123604
_gfortrani_backtrace_handler(??), line 137 in "compile_options.c"
_gfortrani_library_start(??), line 37 in "lock.c"
_gfortran_st_write(??), line 4227 in "transfer.c"
schk3(??, ??, ??, ??, ??, ??, ??, ??) at 0x10006d5c
MAIN__() at 0x10010584
sblat3.main(??, ??) at 0x10000410

Which is not exactly what I got from the total rebuild from .spec file:
(dbx) where
pthread_kill(??, ??) at 0xd05883ec
_p_raise(??) at 0xd05877c8
raise.raise(??) at 0xd0123604
_gfortrani_backtrace_handler(??), line 137 in "compile_options.c"
schk1(??, ??, ??, ??, ??, ??, ??, ??) at 0x10006408
MAIN__() at 0x1000d09c
sblat3.main(??, ??) at 0x10000410

By the way, the number of cores to be used on AIX is not computed by OpenBlas, thus leading to NUM_CORES=2 .
The attached patch does make use of the real number of cores of the AIX VM. Thus speeding a lot the build.
openblas-0.3.10-AIX-NUM_CORES.patch.txt

Need to add DEBUG=1 (or -g in your CC) to get (any chance of) detailed information from inside sblat3. (Did not help when I tried though, and setting a breakpoint at MAIN__ and single-stepping from there proved to be extremely time-consuming (to the point where my ssh to the other side of the world would die before I got to anything useful)

Is there an  advantage to using SC_NPROCESSORS_ONLN rather than _CONF ? (Which is what is used on Linux - changed that some years ago to improve ARM support where additional processors may wake up on demand)

Is there an advantage to using SC_NPROCESSORS_ONLN rather than _CONF ?

The man of sysconf on both AIX and Fedora say:
AIX :        _SC_NPROCESSORS_ONLN     Number of processors online.
Fedora:   - _SC_NPROCESSORS_ONLN   The number of processors currently online (available).
I guess that _SC_NPROCESSORS_CONF is what was set at start of the VM and that the number of processors may have been dynamically changed. Thus _SC_NPROCESSORS_ONLN   should show what is available at the time of the call, I think.

Just asking as we used to see the opposite effect (on armv8 however), where ONLN would show less than actually available (the others taking a nap unless some other compute-intensive task had just finished). But no problem with adding a separate code path for AIX instead of adding it to the if Linux or Sun block already there.

Just asking as we used to see the opposite effect (on armv8 however)...

On AIX, the number of CPUs available for a VM is far more complicated than on Linux. The number of CPUs for a VM can be set fixed all along the life of the VM (capped). Or it can be uncapped, with a minimum N1 and a maximum N2: thus, if the total M processors of the machine (CEC) are not used by the other (AIX or Linux) VMs, if the workload is very high on the VM, some m processors from (M-N2) can be dynamically added to N. And I'm not sure I'm describing this fully correctly.

returning tp the original topic, what is a bit suspicious to me is that the Power8 GEMM kernels have a surprisingly tiny STACKSIZE defined in 32-bit mode (400 bytes compared to 34k), exploring that now

About this issue, after testing with the appropriate options, it looks like there are issues with GCC and gdb, in 32bit only and Power8.

gdb is unable to show how the code of sblat3.f is executed after about one hundred of lines. It looks like running crazy in its own code, looping for ever.
GCC probably generates something wrong, and in addition the Fortran signal handler seems to do wrong things.

We have to clarify this.

returning tp the original topic, what is a bit suspicious to me is that the Power8 GEMM kernels have a surprisingly tiny STACKSIZE defined in 32-bit mode (400 bytes compared to 34k), exploring that now

What is "Power8 GEMM kernel" ?
Looking at my environment, we are using:
export OBJECT_MODE=32
export CC="gcc -maix32"
export CXX="g++ -maix32"
export FC="gfortran -maix32"
export LDFLAGS="-Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000"

Moreover, by default on AIX, there are limitations to several sizes, including the "stack size". By means of: ulimit ...
Extending "max memory size", "stack size", and 'data seg size" did not fixed the issue.
Nothing better with:  export AIXTHREAD_STK=400000  too .
ulimit -m unlimited
ulimit -d unlimited
ulimit -s unlimited

What is "Power8 GEMM kernel" ?

From kernel/power/KERNEL.POWER8 : SGEMMKERNEL= sgemm_kernel_16x8_power8.S which has
ifdef __64BIT__
#define STACKSIZE 32752
...
else
#define STACKSIZE 440

(but blindly increasing the STACKSIZE value does not have the desired effect )

The problem appears to affect the GEMM/TRMM kernels as well as DTRSM. So far #2682 only automates the choice of POWER6 kernels when TARGET=POWER8 was specified for a 32 bit build (but this does not work for autodetection, kind of a chicken-and-egg problem there). A somewhat more flexible workaround would leave the build system unchanged but add a big messy ifdef big-endian and 32bit in KERNEL.POWER8 to replace the affected kernels with their POWER6 equivalents (with a corresponding 32bit-section using POWER6 GEMM_UNROLL values in param.h). Still no clue on the actual overflow or other coding issue behind all this though - can you estimate how prevalent 32bit POWER8 is (i.e. how important getting full performance on that platform would be) ?


Multiversion setup for 1.19 - 1.19.4 support

Support MC versions from 1.19 to 1.19.4 (in between snapshots should technically work too).
It builds a jar including the compatibility layer modules by default, resulting in a single jar for all supported versions.
Calls breaking between those versions are redirected to a proxy which handles registering each proxy module for the runtime mc version. Some mixins are handled the same way.
I tried my best to keep most logic code in the common/default sourceset whenever it was possible to avoid having to change the same code at multiple places when it shouldn't be needed.
Most compatibility code I took from ModMenu commit history to help determine which changes were needed between versions and which mc versions were breaking.
There is a lot of room to improve this setup.
Maven publishing is not handled yet.
Modules are interdependent because of the proxy logic.

I've included #556.


OAuth2::Error invalid_client: client_id parameter missing being thrown before callback

I've updated the gem to the latest version (2.3.0) with the following dependencies:

omniauth-oauth2 (1.8.0)
omniauth (2.1.0)
omniauth-rails_csrf_protection (1.0.1)

But now, after logging into mailchimp and authorizing the access, I get the OAuth2::Error invalid_client: client_id parameter missing error.

Checking the mailchimp authorization url I can see that the client_id is included on it
https://login.mailchimp.com/oauth2/authorize?response_type=code&client_id=<my client id>&redirect_uri=https%3A%2F%2F<myapp.com>%2Fauth%2Fmailchimp%2Fcallback&retry=1
And looking at the stacktrace I can see that my app is not being reached yet and that the request is stuck in Oauth2 due to the error
oauth2 (2.0.6) lib/oauth2/client.rb:139:inrequest'
oauth2 (2.0.6) lib/oauth2/client.rb:188:in get_token' oauth2 (2.0.6) lib/oauth2/strategy/auth_code.rb:37:in get_token'
omniauth-oauth2 (1.8.0) lib/omniauth/strategies/oauth2.rb:126:in build_access_token' omniauth-oauth2 (1.8.0) lib/omniauth/strategies/oauth2.rb:91:in callback_phase'
omniauth (2.1.0) lib/omniauth/strategy.rb:272:in callback_call' omniauth (2.1.0) lib/omniauth/strategy.rb:194:in call!'
omniauth (2.1.0) lib/omniauth/strategy.rb:169:in call' omniauth (2.1.0) lib/omniauth/builder.rb:44:in call'
rack (2.2.4) lib/rack/tempfile_reaper.rb:15:in call' rack (2.2.4) lib/rack/etag.rb:27:in call'
rack (2.2.4) lib/rack/conditional_get.rb:27:in call' rack (2.2.4) lib/rack/head.rb:12:in call'
actionpack (<IP_ADDRESS>) lib/action_dispatch/http/permissions_policy.rb:38:in call' actionpack (<IP_ADDRESS>) lib/action_dispatch/http/content_security_policy.rb:36:in call'
rack (2.2.4) lib/rack/session/abstract/id.rb:266:in context' rack (2.2.4) lib/rack/session/abstract/id.rb:260:in call'
actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/cookies.rb:697:in call' activerecord (<IP_ADDRESS>) lib/active_record/migration.rb:603:in call'
actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/callbacks.rb:27:in block in call' activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:99:in run_callbacks'
actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/callbacks.rb:26:in call' actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/executor.rb:14:in call'
actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in call' actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/debug_exceptions.rb:28:in call'
actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/show_exceptions.rb:26:in call' railties (<IP_ADDRESS>) lib/rails/rack/logger.rb:40:in call_app'
railties (<IP_ADDRESS>) lib/rails/rack/logger.rb:25:in block in call' activesupport (<IP_ADDRESS>) lib/active_support/tagged_logging.rb:114:in block in tagged'
activesupport (<IP_ADDRESS>) lib/active_support/tagged_logging.rb:38:in tagged' activesupport (<IP_ADDRESS>) lib/active_support/tagged_logging.rb:114:in tagged'
railties (<IP_ADDRESS>) lib/rails/rack/logger.rb:25:in call' sprockets-rails (3.4.2) lib/sprockets/rails/quiet_assets.rb:13:in call'
actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/remote_ip.rb:93:in call' actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/request_id.rb:26:in call'
rack (2.2.4) lib/rack/method_override.rb:24:in call' rack (2.2.4) lib/rack/runtime.rb:22:in call'
activesupport (<IP_ADDRESS>) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in call' actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/executor.rb:14:in call'
actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/static.rb:23:in call' rack (2.2.4) lib/rack/sendfile.rb:110:in call'
actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/host_authorization.rb:137:in call' railties (<IP_ADDRESS>) lib/rails/engine.rb:530:in call'
railties (<IP_ADDRESS>) lib/rails/railtie.rb:226:in public_send' railties (<IP_ADDRESS>) lib/rails/railtie.rb:226:in method_missing'
puma (5.6.4) lib/puma/configuration.rb:252:in call' puma (5.6.4) lib/puma/request.rb:77:in block in handle_request'
puma (5.6.4) lib/puma/thread_pool.rb:340:in with_force_shutdown' puma (5.6.4) lib/puma/request.rb:76:in handle_request'
puma (5.6.4) lib/puma/server.rb:441:in process_client' puma (5.6.4) lib/puma/thread_pool.rb:147:in block in spawn_thread'
`

I'm having this issue as well.

I am getting this on v2.1.0 as well. Looks like build_access_token is not able to add client_id.

This is due to changes in oauth2 v2

Reason:

#312 - BREAKING: Set :basic_auth as default for :auth_scheme instead of :request_body. This was default behavior before 1.3.0. (@tetsuya, @wy193777)

That will get the access_token but oauth v2 seems to require a refresh token. It will say it is expired an attempt to refresh it and fail as there is no refresh_token.
Related: https://github.com/omniauth/omniauth-oauth2/issues/143

This will fix this issue: https://github.com/espen/omniauth-mailchimp/commit/fd6b007f591404176c1bbba07c2e6ec78ef00632. See #8


Print ssh cmd

When running jungle ec2 ssh ... sometimes it gets a bit confusing, if jungle prints the cmd used in case of error it would be very nice to trobleshooting IMO.
I don't know if it should be a verbose mode, or just do this by default.

@padilo I think you can use --dry-run argument, which is not documented. I'll add it to README.


CMD+click linking to ES6 imports

Currently if you have the following in a controller / JS file:
import navigator from "core/navigator";

holding CMD+hovering over the core/navigator doesn't make it selectable or take you to the file. It would be really cool if this was possible -- ES5 var navigator = require("core/navigator") require works.

@ewanharris I think it needs an OR for
import [-a-zA-Z0-9-_/]* from ['"]([-a-zA-Z0-9-_/]*)['"]

PR submitted -- should support both import something from 'xyz' and 'import 'xyz'


Fix one-to-one relations in admin and restoring to historical instances

I was able to reproduce and fix what @ryangallen is talking about in #162. Once I can reproduce @bradford281's original error, I'll include that before this is merged.
Fixes #162

Looks like both were the same bug.


Incorrect transaction fee display

Describe the bug
Incorrect transaction fee display
Actual: To reproduce the behavior with address: 0x25B12Fe4D6D7ACca1B4035b26b18B4602cA8b10F

Extrinsic: https://moonbeam.subscan.io/extrinsic/0xd22425d6c9c8c6d488bf27015e4363ee4a6e85fe6d197486291b1f018af6b30c

Since data from the DataIndexer is missing, the fee calculation is incorrect.
The issue will be further resolved after updating the DataIndexer side.

Currently use data in transaction to calculate gas fee.
However, evm network have 2 way to set max gas fee for transaction:

Simple: gasPrice and gasLimit
EIP 1559: gasLimit, maxPriorityFeePerGas and maxFeePerGas

At the moment, we are using the formula: gasFee = gasPrice * gasLimit.
So in case transaction use EIP 1559 protocol, we cannot calculate gasFee.
The above methods all use information from the transaction submitted to calculate the fee. This way of getting the fee is not correct, the information should be taken directly from the block.

Unable to reproduce the issue on the current extension (v1.2.28) => Close this issue


Give option to make new tab default to homepage

Summary
It'd be nice if it was an option that opening a new tab immediately showed the homepage
Details
Thanks :D

This is intentionally not included as the Obsidian New Tab Page plugin already does this


Add commitplease to validate commit messages via grunt default task

Fixes #347

Is this supposed to land together with #368, or to replace it?

Since the task implementation is still in a branch: If you do a PR against your own repo, I can do a code review there.

Jörn, I lost your comment in my emails, sorry for the delay.
This is supposed to replace #368. I've created a PR there (https://github.com/rxaviers/grunt-commitplease/pull/1).

I still don't understand why you don't want to land #368. I've been using commitplease as-is in many of our projects and its very useful to get immediate feedback while committing.

As a contributor I think it's more useful to get early feedback about problems than waiting for the CI or build process to say something. I don't think Globalize has had this problem yet but their haven't been a lot of contributors.

I still don't understand why you don't want to land #368.

@jzaefferer, according to our conversation on Dec 12, I understood we agreed on landing #368 unless we had this solution (using grunt task).

As a contributor I think it's more useful to get early feedback about problems than waiting for the CI or build process to say something

@dmethvin, I also think it's important that contributors (+ people in general) have freedom to choose what is the most convenient for them. Everyone can opt in on using the git hook. But, not opt out. Everyone that has a preference for this sort of feedback can use the git hook with no problem. I can add instructions on how to set it up. The other way around is not true (forcing the git hook on everyone inhibits their choice of not wanting this sort of feedback).

The ultimate goal of #347 is that no incorrect commit message lands on master. Please, correct me if I'm wrong.
The approach implemented on #368 doesn't address that (given our discussion there on #347 - see [1] and [2]). In the other hand, the approach implemented here does, because all branches will get a failed CI status if a commit message is wrong.
Please, just let me know on any questions or different ideas.

@rxaviers unless you plan on not following the commit message guidelines for globalize what would be the point in disabling commitplease as a git hook? A grunt task is nice i guess, but for new contributors ( the ones most likely to run into this ). It will be much harder to fix a message ( or messages ), after finding them with the grunt task, then it would have been to just fix the message, when they made the commit in the first place. Also instructions to set up a git hook are great except that new contributors ( again the ones i think benefit the most from the hook ), would have no idea to do this in the first place.

@rxaviers Personally I think its about more then just preventing bad messages from landing on master, it is also about helping contributors to find and fix these messages before they even get to the PR stage ( as early as possible ) . Yes there are ways someone can work around the hook, but i don't think we have run into that on any of the many repos using commitplease currently. If you want to be extra sure with a grunt task thats awesome, but it seems like this does not replace the git hook to me.

@arschmitz, please read [1] and [2]. New contributors will submit their fixes/changes via a PR. The PR automatically runs CI and we automatically get notified whether or not there's a incorrect commit message.
Note we use the same workflow for everything else: coding standards (via jscs grunt task), tests (via qunit grunt task), lint errors (via jshint grunt task). Why would it be different with commit message standards.

@rxaviers please re-read my comment what i said was.

it is also about helping contributors to find and fix these messages before they even get to the PR stage

Key word being "before" a git hook will find these before they ever submit a pr, or even make the commit.

it is also about helping contributors to find and fix these messages before they even get to the PR stage

So, we need to prevent them from saving their files if jscs or jshint or test fails.

I also think it's important that contributors (+ people in general) have freedom to choose what is the most convenient for them. Everyone can opt in on using the git hook. But, not opt out. Everyone that has a preference for this sort of feedback can use the git hook with no problem. I can add instructions on how to set it up. The other way around is not true (forcing the git hook on everyone inhibits their choice of not wanting this sort of feedback).

@arschmitz, this is an important statement in my opinion. Please, consider that people can opt in using the git hook if that's their choice. But, not to opt out.

@rxaviers I think thats a bit of a stretch we are only stopping a commit if the COMMIT MESSAGE fails the test. We are not preventing saving, we are simply asking them to retype the message in the proper format.

@rxaviers as i already asked.

unless you plan on not following the commit message guidelines for globalize what would be the point in disabling commitplease as a git hook?

I don't think we should allow opting out what is the use case?

There isn't really a need for opt-out at the commitplease or project level is there? You can use git commit -n or git commit --no-verify if you want to skip the commitplease  hook so that case is already possible with no extra work. It also accepts component names like squash! to help with rebasing against master.
The only case I can see for not wanting commitplease is if you think contributors will be really confused when they try to commit and decide to ragequit rather than submit a PR. If that's happening we should improve the README and/or the error message. Otherwise we end up having to have a discussion with the contributor in the PR about the failed CI and asking them to rebase and fix it all, or do it for them.

So let me be clear about what I think is strange for this situation. I think it's fine for this project to have different guidelines for what a commit message should look like. Since only the project maintainers land this stuff and we tend to rebase/squash commits, the maintainer has the ability to rewrite the message anyway and it hardly matters what the PR message says.
The thing that seems odd in this case is to use the jQuery common format and only validate it when the PR is made. That means you'll be getting CI errors late in the process when it could have been found earlier.

DAMMIT GITHUB

Here's my understanding and conclusion of everything...
Goal

The commits of this repo should follow http://contribute.jquery.org/commits-and-pull-requests/, specially before landing on master.
Similarly, but unrelated to this PR, the commits of this repo should follow style guides, have License (CLA or CAA) approved, and do NOT introduce test regressions.

Workflow for checking style guides, license, and test regressions
For everything except for License, the workflow is to run grunt. It passes when all criteria is met. It fails when any criterion is unmet.
On local environment, contributors have the freedom to break tests, to not follow style guide, to commit all that, to do whatever they want while they develop. Contributors can run grunt locally to get assistance for the failures. So, they can fix them all before sending a PR.
On PRs, grunt is run by travis/CI and a nice and clean status is automatically set for every PR with whether or not all criteria has passed, which helps on triage and review.
Commitplease git hook
On local environment, the commitplease git hook prevents someone from performing a commit using invalid message.
On PRs, it's assumed that contributors have installed (and therefore used) commitplease. So, no invalid commit messages would be present. Although, that's not a guarantee. Reviewers cannot count with this. All statues could look green and incorrect commit messages still present. Therefore, it doesn't help on triage and review.
Commitplease grunt task
On local environment, contributors can run grunt locally to get assistance for all failures (now, including invalid commit messages as well). So, they can fix them all before sending a PR. it's the same workflow of everything else.
On PRs, it's again the same workflow of everything else. Grunt is run by travis/CI and a nice and clean status is automatically set for every PR with whether or not all criteria has passed (including invalid commit messages), which helps on triage and review.
My conclusions
The commitplease git hit hook enforcement may have helped other jQuery projects to drop the problem of invalid commit messages on its PRs. But, having a reliable green status on a PR to help the triage and review is a must.
Given (a) the linearity of using a grunt task approach compared to how we check other criteria and (b) the ability for checking invalid commit messages on both local and PRs/CI environments, we must give the grunt task approach a try first.
Given the invasive aspect of the git hook, because it prevents people from performing actions on their local environment, we should defer it for now. We don't want to prevent people from saving their files when jscs, or jshint, or a test fails. So, I don't think we should prevent people from committing their changes unless there's a strong evidence we must enforce that. Having said that, I still do think that:

if contributors complain/request for a local tool/assistance to prevent them from committing invalid messages, we should explain them how to install the git hook themselves.
if the previous complain becomes repetitive and hinders/prevents contributors from contributing to the project, we could consider enforcing the git hook on everyone.


fixfix missing notify_all() after the stop

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

https://github.com/apache/doris/pull/27653

run p0


"Unknown error occurred whilst sending slack message" on gitlabCI

I understand that gitlab isn't supported yet.
It seems to be working locally after running these steps.
e2e-tests:
  script:
    - npm ci
    - npm run e2e:ci
    - npm run e2e:consolidate:report # consolidate test reports
    - npm run e2e:report:send # sends consolidated report to Slack

And I have a before-script to export the SLACK_WEBHOOK_URL
variables:
  SLACK_WEBHOOK: https://hooks.slack.com/services/XXXX

before_script:
  - export SLACK_WEBHOOK_URL=$SLACK_WEBHOOK

But for some reason I'm getting this error in my gitlab ci
> npx cypress-slack-reporter --report-dir mochareports/mochawesome.json --ci-provider none
{"level":30,"time":1618502686655,"pid":591,"hostname":"runner-x8zlwexr-project-25494770-concurrent-0","data":{"attachments":[{"color":"#36a64f","fallback":"Report available at mochareports/mochawesome.json/mochawesome.json","text":"Total Passed:  26","actions":[{"type":"button","text":"Test Report","url":"mochareports/mochawesome.json/mochawesome.json","style":"primary"},{"type":"button","text":"Build Logs","url":"undefined","style":"primary"}]},{"text":"","color":"#36a64f"}],"unfurl_links":false,"unfurl_media":false},"msg":"passing run"}
{"level":50,"time":1618502686660,"pid":591,"hostname":"runner-x8zlwexr-project-25494770-concurrent-0","e":{},"msg":"Unknown error occurred whilst sending slack message"}
(node:591) UnhandledPromiseRejectionWarning: Error: Error: An error occurred whilst sending slack message
    at Object.exports.slackRunner (/e2e-tests/node_modules/cypress-slack-reporter/bin/slack/slack-alert.js:162:15)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:591) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)
(node:591) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Have you come accross this issue by any chance?

Hey @mikeyhoang sorry for the late reply.
looks like it has some data being logged out here but its failing at sending the actual webhook to slack
https://github.com/YOU54F/cypress-slack-reporter/blob/35d0f201e96b0b7200d562077d0074a609daa11b/src/slack/slack-alert.ts#L181
You could try and use that data that has been logged out as send arguments and just trying to call the slack webhook from your local machine.
I do have a gitlab account, so if you can setup a example I would be happy to try it out when I get some time

Please raise as new issues, with reproducers if this is still affecting people


CM-727 How to insert and return inserted identity using Dapper

Commit for CM-727. Please for your review.

Checks have been failed because the process cant make the connection to the database. The connection string is a dummy string only for demo purposes.

@KonstantinosP7 and @mahrncic along with my comments about the need to parameterize the queries, we also need to move this PR to the proper location. There is a "dotnet-dapper" folder with other Dapper related article code, so this should move to that folder


bug: stageMonitor use screen coordinate system

This is following to scratch but not reasonable.

not bug. stageMonitor don't wan't move with world, it fix its position with the window.


Add network troubleshooting tips

With this commit we improve the documentation on network issues with the
Rally daemon and also add a warning to avoid benchmarking via a VPN.

Thanks for the feedback! I've mentioned now that the IP address needs to be routable.


Fixed grader view rendering when a pre-defined annotation's content is blank

Proposed Changes
(Describe your changes here. Also describe the motivation for your changes: what problem do they solve, or how do they improve the application or codebase? If this pull request fixes an open issue, use a keyword to link this pull request to the issue.)
Currently if an annotation belonging to a category has a content that's nil, there is a rendering error in the grader AnnotationManager component. In the call safe_marked(text.content), the argument cannot be null/undefined.
This PR fixes this by ensuring that the content is always sent as a string in the server response.

Screenshots of your changes (if applicable)

Associated documentation repository pull request (if applicable)

Type of Change
(Write an X or a brief description next to the type or types that best describe your changes.)

Type
Applies?

🚨 Breaking change (fix or feature that would cause existing functionality to change)

✨ New feature (non-breaking change that adds functionality)

🐛 Bug fix (non-breaking change that fixes an issue)
X

🎨 User interface change (change to user interface; provide screenshots)

♻ Refactoring (internal change to codebase, without changing functionality)

🚦 Test update (change that only adds or modifies tests)

📦 Dependency update (change that updates a dependency)

🔧 Internal (change that only affects developers or continuous integration)

Checklist
(Complete each of the following items for your pull request. Indicate that you have completed an item by changing the [ ] into a [x] in the raw text, or by clicking on the checkbox in the rendered description on GitHub.)
Before opening your pull request:

[x] I have performed a self-review of my changes.

Check that all changed files included in this pull request are intentional changes.
Check that all changes are relevant to the purpose of this pull request, as described above.

[ ] I have added tests for my changes, if applicable.

This is required for all bug fixes and new features.

[ ] I have updated the project documentation, if applicable.

This is required for new features.

[x] If this is my first contribution, I have added myself to the list of contributors.

After opening your pull request:

[x] I have updated the project Changelog (this is required for all changes).
[x] I have verified that the pre-commit.ci checks have passed.
[ ] I have verified that the CI tests have passed.
[ ] I have reviewed the test coverage changes reported by Coveralls.
[ ] I have requested a review from a project maintainer.

Questions and Comments
(Include any questions or comments you have regarding your changes.)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.414%

Totals

Change from base Build<PHONE_NUMBER>0:
0.0%

Covered Lines:
40148

Relevant Lines:
43246

💛  - Coveralls


[Suggestion] Have "is" take multiple params

{{#is variable "val1" "val2" "val3"}}
    Multiple values!
{{/is}}

I found myself wanting this too. If I put together a pull request for this, is it likely to get merged?


TASK:  Make flow setup:database flow application context aware

running

FLOW_CONTEXT=Testing flow setup:database

should place the config in the correct context ;)

No only the setup commands ;)
Will try to remember to fix it with https://github.com/neos/setup/pull/59


Latest pycnite (2024.5.27) does not have sdist on PyPI

We (FreeBSD ports) mainly use sdist to build python modules.
Previous version (2023.10.11) of pycnite provided sdist (pycnite-2023.10.11.tar.gz) on PyPI.
Please also publish sdist of pycnite 2024.5.27 to PyPI.
Thanks.

Thanks for pointing this out! I think there was some error during the upload last time. I can see it from my local machine, but it seems that it was just not uploaded. I've just re-uploaded it.
I will close the PR as it seems not needed.

Thanks for fixing it so quickly.


copy_to how to

Hi
Im trying to copy the decoded content using attachment plugin and in order to do this i'm trying to use copy_to on a model in the following way
indexes :resume_file, type: 'attachment', copy_to: 'resume_content'
indexes :resume_content, type: 'string'

But i get the following
Elasticsearch::Transport::Transport::Errors::BadRequest: [400] {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"Mapping definition for [resume_file] has unsupported parameters:  [copy_to : resume_content]"}],"type":"mapper_parsing_exception","reason":"Failed to parse mapping [candidate]: Mapping definition for [resume_file] has unsupported parameters:  [copy_to : resume_content]","caused_by":{"type":"mapper_parsing_exception","reason":"Mapping definition for [resume_file] has unsupported parameters:  [copy_to : resume_content]"}},"status":400}

Is there any way to make the copy_to work with Elasticsearch::Model ?

I'm going to close this issue, please open a new one if you have further questions. Thanks!


csrf token being sent as '{{csrf}}' in headers

I've created a flow div with csrf token in the headers:

When a file is uploaded, I checked the headers and it's just {{csrf}} instead of the actual token.
Looking at the HTML source of my form when it's rendered, I see that the token is properly set:

Am I missing something?

It should be:


Better Layout on Desktop

Just a suggestion, to improve the styling on desktop.
The buttons are kind of small.
Additionally it might be an idea to have keyboard keys for choosing.
I'd be willing to contribute this, if it's of interest to you.

go on ahead


[Windows] Line isn't getting drawn

Line is not getting drawn on Windows.
On Windows, the following code does not render anything, whereas it renders properly as a diagonal red line on Android:
new Line { Stroke=Colors.Red, StrokeThickness=2, X1=0, X2=100, Y1=0, Y2=20 }

not tested on iOS

yep, it's the same issue - it works with HeightRequest and WidthRequest


Use a docker image for kafka on CI environment to run tests.

For rabbit binder build on CI, we use a docker image for Rabbitmq. A similar approach could be explored for the kafka binder.

I don't think this issue is relevant anymore. The use of EmbeddedKafka has proven to be fairly sufficient for the integration testing needs of the binder. Moreover, we have other layers of testing now in place for acceptance tests where we make use of dockerized Kafka environment.


Fix the BEAM dashboard

The BEAM dashboard currently has no metrics being shown.

The dashboard was actually working. The --beacon-api flag is needed to enable it.


Added CultureInfo.InvariantCulture to AsString formatting

Otherwise the Google API request fails on a german system since the
decimal separator and the lat/lng separator are both comma

Build failed due to missing System.Globalization namespace. Also please create pull requests for the dev branch.
You will be mentioned as contributer in the readme after next release.
Dankeschön!

Sorry, did the fix locally and just made the modification afterwards in notepad to the branch...
I will check the Dev branch next time :)

Am 21.03.2016 um 10:50 schrieb TorbenK<EMAIL_ADDRESS>Build failed due to missing System.Globalization namespace. Also please create pull requests for the dev branch.
You will be mentioned as contributer in the readme after next release.
Dankeschön!
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub


Merge for v2.2b1 release

Codecov Report

Merging #215 (bca7cf3) into main (9c23522) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #215   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           18        18
  Lines          661       661
=========================================
  Hits           661       661

Impacted Files
Coverage Δ

src/sphobjinv/version.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9c23522...bca7cf3. Read the comment docs.


fix: wildcard generalize only generalizes visible theorems

generalize ... at * sometimes will try to modify the recursive hypothesis corresponding to the current theorem being defined, which may not be the expected behaviour.  It should only try to generalize hypotheses that it can actually modify and are visible, not implementation details. Otherwise this means that there are discrepancies between generalize ... at * and generalize ... at H, even though H is the only hypothesis in the context.
This commit uses getLocalHyps instead of getFVarIds to get the current valid FVarIds in the context.  This uses isImplementationDetail to filter out FVarIds that are implementation details in the context and are not visible to the user and should not be manipulated by generalize.
Closes 4845

If there is a preferred way to fix this, or if this is actually the expected behaviour then let me know, happy to close the PR then.
awaiting-review

@ymherklotz, apologies for my unreasonable delay here. This looks good. I've just rebase on nightly-with-mathlib so we can get some downstream testing before merging. If that goes well, I will merge.


Add casher application

#2868

Coverage remained the same at 91.174% when pulling<PHONE_NUMBER>cf207cecc4d220658260599d899b36 on dev-2868-add-casher-app into 35288cf5dc50cb79fac6effbc19bd3d7a0aa5bb2 on develop.


Change userid_column_name to match the command line equivelants

Description
Fixes inconsistent id column.
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.

/merge


fixes tor modal

Addresses:
#5021

@Raheel1258 I don't see changes to dismiss the modal when clicked outside. Also do not see code to make the secondary button work, am I missing something?

@cakesoft-utkarsh Those changes have already been merged that is why they are not being shown in the changes but i have rechecked the file it is there.


https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details
In my opinion the information provided on page https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types are misleading.
The page states that:
application/javascript is one of "other JavaScript MIME types that should not be used" and that it is " deprecated API" which "should no longer be used, but will probably still work".
It also states

Servers should use text/javascript for JavaScript resources. Servers should not use other JavaScript MIME types for JavaScript resources, and must not use non-JavaScript MIME types.

quoting https://html.spec.whatwg.org/multipage/scripting.html#scriptingLanguages
This is in contrast with IANA's https://www.iana.org/assignments/media-types/media-types.xhtml#text where it's stated that text/javascript is "OBSOLETED in favor of application/javascript".
Acceptance criteria

[ ] Page updated to correct this problem
[ ] A few other inconsistencies need to be fixed (like the list of types is missing a few newer ones)

This is really interesting. These specifications are in fact in conflict with one another. The HTML specification does in fact specifically say that the media type for JavaScript should always be text/javascript, and the IANA Media Types document does in fact say that text/javascript is deprecated and that application/javascript should be used instead. This is an interesting situation.
Muddying the waters is the MIME sniffing spec, which lists a bunch of MIME types and says they're all acceptable even though many are technically not valid.
Specs that say 180º different things are pretty rare. This is one of those cases, apparently. I'll see what I can work up for this content.

Content reworded. Fixed a number of other issues with the page while I was at it.


$ICE not passed to atdelete hooks

Describe the bug
$ICE is not passed to atdelete hooks breaking their functionality in annexes such as https://github.com/zinit-zsh/z-a-bin-gem-node as well as the atdelete'' ice
For example, upon plugin deletion, https://github.com/zinit-zsh/z-a-bin-gem-node has a hook that is supposed to delete the plugins sbin entry at $ZPFX/bin. This fails to occur because $ICE has no value.
Versions:

$ZSH_VERSION == 5.8
Operating system name and version (uname -a): Linux Nicks-Laptop 5.9.0-1-amd64 #1 SMP Debian 5.9.1-1 (2020-10-17) x86_64 GNU/Linux

Looking at the code it seems ices are stored in $ICE2 instead of $ICE which the rest of the code and annexes expect.

Thanks. Also, thanks for the linkbin annex!

Thanks!


[Reopen][Issue 5597] Retry when getPartitionedTopicMetadata failed

Motivation
Fixes #5597
Add backoff retries when getting partitioned metadata from brokers.
The change in #5734 (copy from #5603) used the wrong time unit when inited Backoff which failed to trigger the retry logic as expected.
Modifications
Correct the time unit and add some useful log.

@murong00  Seems there was a test case testGetPartitionedTopicDataTimeout() , maybe we should improve it to make it really protecting the code.

@jiazhai ok, will improve it later.

@jiazhai fix the unit test, please help to review again.

Thanks @murong00 for the help, over all looks good to me. left some minor comments.

run java8 tests
run cpp tests

run java8 tests
run cpp tests

need fix NPE in ConnectionTimeoutTest:
2019-12-20\T\05:33:18.457 [ERROR] testLowTimeout(org.apache.pulsar.client.impl.ConnectionTimeoutTest)  Time elapsed: 31.139 s  <<< FAILURE!
java.lang.NullPointerException
	at org.apache.pulsar.client.impl.ConnectionTimeoutTest.testLowTimeout(ConnectionTimeoutTest.java:53)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
	at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:54)
	at org.testng.internal.InvokeMethodRunnable.run(InvokeMethodRunnable.java:44)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

run java8 tests
run cpp tests

run cpp tests
run java8 tests

run cpp tests
run java8 tests

@sijie The retry logic may skip the limit of lookup throttle which can be set on client or server side (e.g. maxConcurrentLookupRequest,maxLookupRequests), for example unit test testLookupThrottlingForClientByClient() may fail since all consumer is connected.


Provide main entrypoint and generated typings to use the core as a library

This library is incredibly useful as is, but I had a need to include the core database introspection and parsing into relations in a project. So, I created a basic library.ts file which exports the necessary classes, added the flag for to tsc generate the typings, and included these references in the package.json.
This enables the use of the library like so:
import { createDriver, dataCollectionPhase } from 'typeorm-model-generator';
...

let dbModel = await dataCollectionPhase(driver, {
      host: 'localhost',
      port: 3306,
      schemaName: 'schema',
      databaseName: 'database',
      databaseType: 'mysql',
      user: 'user',
      password: 'password',
      ssl: true,
      timeout: 30000
    });

Yeah, I can do the rebase. Will try to get that done soon here. Thanks

Closing and re-opening with a new PR against the next branch


ExpressionChangedAfterItHasBeenCheckedError when testing Angular Material Table

Using Angular 7 I added material table to my application with ng generate @angular/material:table test-table
Inside the generated template there is a paginator:
<mat-paginator #paginator
    [length]="dataSource.data.length"
    [pageIndex]="0"
    [pageSize]="50"
    [pageSizeOptions]="[25, 50, 100, 250]">
</mat-paginator>

On init the datasource is changed:
ngOnInit() {
  this.dataSource = new ItemsTableDataSource(
    this.paginator,
    this.sort,
    this.route.paramMap,
    this.afs
 );
}

When trying to compile the component on Karma expect(component).toBeTruthy(); I'm getting the following error
Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has
changed after it was checked. Previous value: 'length: 0'. Current
value: 'length: 1'.

How can I solve this issue?

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.

Posted here: https://stackoverflow.com/questions/53455767/expressionchangedafterithasbeencheckederror-when-testing-angular-material-table


[BUG] Banking turns disables while flapping

When you trigger a flap, any banking turning you were doing will be paused until the flap action is finished. This seems to be related to this line here https://github.com/Mattshark89/OpenFlight-VRC/blob/86b9acedf0d1fb33959f9c388275d4d6a9bd01c4/Packages/com.mattshark.openflight/Runtime/Scripts/Flight/WingFlightPlusGlide.cs#L588-L593
When rotSpeedGoal is set to 0, rotation wont happen in update()
https://github.com/Mattshark89/OpenFlight-VRC/blob/86b9acedf0d1fb33959f9c388275d4d6a9bd01c4/Packages/com.mattshark.openflight/Runtime/Scripts/Flight/WingFlightPlusGlide.cs#L360-L389
rotSpeedGoal being set to 0 seems to erroneously happen as the if statement its captured by is checking for flaps as part of its conditions
https://github.com/Mattshark89/OpenFlight-VRC/blob/86b9acedf0d1fb33959f9c388275d4d6a9bd01c4/Packages/com.mattshark.openflight/Runtime/Scripts/Flight/WingFlightPlusGlide.cs#L522-L529

Need to check back in on this upcoming school term


Content of hover missing escape backslashes depending on context.

I've noticed that content of hover info box differs depending on how it was triggered.
For example following was triggered while typing in insert mode.
Note the line let mut iter = " Mary..., it's missing escape backslashes.

And here hover triggered in normal mode with lsp-hover command.
Note the line let mut iter = " Mary.... Now it includes escape backslashes.

My question is it on purpose? Can we preserve escape backslashes in hover boxes in any cases?

This is fixed in the latest release, probably by #513


Uncaught ReferenceError: jQuery is not defined at select2.min.js:2

I'm trying to use the basic example of select2 but it does not work.
I included this on the head of my page:
    <!-- select -->
    <script<EMAIL_ADDRESS>    <link<EMAIL_ADDRESS>rel="stylesheet" />
    <script>
        $(document).ready(function() {
            $(".js-example-basic-single").select2();
        });
    </script>

I set class name of my select to class = 'js-example-basic-single'
but nothing happend in the console it showed me Uncaught ReferenceError: jQuery is not defined at select2.min.js:2

It sounds like you need to also include the JS file for jQuery prior to loading in Select2 from jsdelivr.

This appears to be more of a usage question than a bug report or common feature request.  As we continue to keep the Select2 issue tracker geared towards these two areas, bug reports and common feature requests, we are redirecting usage questions to other communities such as the mailing list, IRC, or Stack Overflow.

I realise this is closed, but... there's nothing in the documentation that says you need to also include jQuery.
The installation instructions don't mention jQuery.
In fact, the tagline on the very front page reads "The jQuery replacement for select boxes" which suggests it, er, replaces jQuery in some way. i.e. doesn't require jQuery.


Request Access to Azure OpenAI Service

It looks like this course is for businesses only as we need to Request Access to Azure OpenAI Service but for that we need to provide our Company Email Address... so If we are an individual we can't have access to the service?  Am i missing something?
Edit : It looks like we can use OpenAI API

Basis


Cannot connect to cameras at remote location

Many thanks for your work on this project!  I successfully installed the Eufy integration in my Home Assitant some months ago, and it reliably connects with, and allows me to control, all Eufy cameras on the LAN that includes my Home Assistant installation.  However, I have never been able to connect to Eufy cameras located on a different network at a remote site.   The log for the security addon simply states "Tried all hosts, no connection could be established," and ultimately  "Timeout connecting to station xxxxxxxxxxxxxx."  Is such a connection possible with the integration?  If it is, do you have any thoughts on what I might try to get a connection?  Thanks!

please report over here: https://github.com/bropat/hassio-eufy-security-ws


"14___SetDefaultFileExtensions.ps1" does not work when 64-bit software is installed

https://devblogs.microsoft.com/powershell-community/determine-if-a-folder-exists/#:~:text=The Test-Path Cmdlet&text=%24Folder %3D 'C%3A\Windows,exists%2C otherwise False is returned.

Fixed in version 21.3


visualization

Hello, excuse me, I'm very interested in this visual part of the code, can you share it? Thank you

Thanks for your concern, the original code was lost with the server migration, but I can provide an idea：
Add code here to save the feat, cam_id and id as npy.
Then Load npy files and apply scikit-learn to map features to 2 dimensions.
Finally, apply matplotlib to visualize.
Cam 3 and 6 is for IR domain


Fixed Header Throughout the Website.

Assign me this issue I can fix this.

Hey @Srijita-Mandal , I would like to contribute in this issue, could you please assign me this issue under JWOC 2k23 ?

Hello @Srijita-Mandal ...I want to work on this issue under jwoc


AuthorizationPolicy affecting resources created in a different namespace - Ambient Mode

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
AuthorizationPolicy defined in a given namespace A is being applied to ztunnel policies pods on namespace B if the pod is matches the selector while using new Ambient mode.
Extracting ztunnel config using kubectl debug -it ztunnel-m8djs -n istio-system --image=curlimages/curl -- curl localhost:15000/config_dump I can see this:
    "/<IP_ADDRESS>": {
      "authorizationPolicies": [
        "namespace-A/pod-123-policies-deny-all",
        "namespace-A/pod-123-policies-exceptions"
      ],
      "canonicalName": "pod-123",
      "canonicalRevision": "v2",
      "clusterId": "Kubernetes",
      "locality": {
        "region": "northeurope",
        "subzone": "",
        "zone": "northeurope-1"
      },
      "name": "pod-123-75669954bd-45j75",
      "namespace": "namespace-B",
      "node": "aks-default-38469435-vmss00017i",
      "protocol": "HBONE",
      "serviceAccount": "default",
      "status": "Healthy",
      "trustDomain": "cluster.local",
      "uid": "Kubernetes//Pod/namespace-B/pod-123-75669954bd-45j75",
      "workloadIps": [
        "<IP_ADDRESS>"
      ],
      "workloadName": "pod-123",
      "workloadType": "deployment"
    },

This behavior didn't occur while using Istio Sidecar, not defined (at least I didn't see it anywhere) and the exact opposite of what I saw in the documentation here

The selector decides where to apply the authorization policy. The selector will match with workloads in the same namespace as the authorization policy. If the authorization policy is in the root namespace, the selector will additionally match with workloads in all namespaces.

I'm not using hierarchical namespaces also.
If this behavior won't be changed, it would be nice to update the documentation. This was a "breaking change" in our scenario.
Also, how can I create an AuthorizationPolicy that only applies to pods in "namespace-A", even if the selector matches pods in "namespace-B" without creating a label on the pod itself with the namespace? Maybe the AuthorizationPolicy should also support to define the namespace on the WorkloadSelector?
Version
$ istioctl version
client version: 1.22.1
control plane version: 1.22.1
data plane version: 1.21.1 (126 proxies), 1.22.1 (44 proxies)
$ kubectl version
Client Version: v1.29.0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.29.2

Additional Information
No response

Forgot to add label area/ambient

I don't think this is intended; smells like a bug @howardjohn @ilrudie @bleggett

:eyes:

Thanks for the report @hilariocoelho. This is not intended and should be fixed in 1.22.2 (assuming https://github.com/istio/istio/pull/51557 merges)

Wow! This was incredibly fast! Thanks a lot 😀
Hope it makes it into 1.22.2, looking forward to start using ambient mode 😄

Thank you for reporting!


ServiceEntry merging behavior in 1.22.x

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
The way multiple ServiceEntries are merged have changed drastically in 1.22.x and I wonder if this really is the intended behavior.
The behavioral changes appear to originate in https://github.com/istio/istio/blob/1.22.3/pilot/pkg/model/sidecar.go#L1001
Previously we could have a ServiceEntry export to the entire mesh and then have additional ServiceEntries in relevant names extended the allowed ports.
Now the metadata.namespace, spec.exportTo and metadata.labels are used to determine if the ServiceEntries can be merged. (The bit with got me extra baffled)
The change notes for 1.22.0 does mention some changes around SidecarScope construction but no references to issues or reasoning behind the changes.
Test Istio resources (setup.yaml)
---
apiVersion: v1
kind: Namespace
metadata:
  labels:
    istio-injection: enabled
  name: test1
---
apiVersion: v1
kind: Namespace
metadata:
  labels:
    istio-injection: enabled
  name: test2
---
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: dummysite-p100-exported-to-all
  namespace: test1
spec:
  hosts:
  - dummysite.local
  location: MESH_EXTERNAL
  ports:
  - name: https-100
    number: 100
    protocol: HTTPS
  resolution: DNS
---
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: dummysite-p200-exported-to-self
  namespace: test2
spec:
  exportTo:
    - "."
  hosts:
  - dummysite.local
  location: MESH_EXTERNAL
  ports:
  - name: https-200
    number: 200
    protocol: HTTPS
  resolution: DNS
---
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  labels:
    app.kubernetes.io/part-of: secondary-service-in-same-namespace
  name: dummysite-p300-exported-to-self-and-with-label
  namespace: test2
spec:
  exportTo:
    - "."
  hosts:
  - dummysite.local
  location: MESH_EXTERNAL
  ports:
  - name: https-300
    number: 300
    protocol: HTTPS
  resolution: DNS

How to reproduce
$ kubectl apply -f setup.yaml
$ kubectl run -n test1 test1app --image=busybox
$ kubectl run -n test2 test2app --image=busybox

Results in Istio 1.21.5
Here we see that the 3 ServiceEntries are merged for the test2app pod (as we expected)
$ istioctl pc cluster test1app.test1 | grep -E "(^SERVICE|dummysite)"
SERVICE FQDN                                                           PORT      SUBSET     DIRECTION     TYPE             DESTINATION RULE
dummysite.local                                                        100       -          outbound      STRICT_DNS

$ istioctl pc cluster test2app.test2 | grep -E "(^SERVICE|dummysite)"
SERVICE FQDN                                                           PORT      SUBSET     DIRECTION     TYPE             DESTINATION RULE
dummysite.local                                                        100       -          outbound      STRICT_DNS
dummysite.local                                                        200       -          outbound      STRICT_DNS
dummysite.local                                                        300       -          outbound      STRICT_DNS

Results in Istio 1.22.3
Here we see that only a single ServiceEntry is in effect for the test2app pod. The actual entry in effect is determined by the creation timestamp of the ServiceEntries - but never the one exported from the test1 namespace.
$ istioctl pc cluster test1app.test1 | grep -E "(^SERVICE|dummysite)"
SERVICE FQDN                                                           PORT      SUBSET     DIRECTION     TYPE             DESTINATION RULE
dummysite.local                                                        100       -          outbound      STRICT_DNS

$ istioctl pc cluster test2app.test2 | grep -E "(^SERVICE|dummysite)"
SERVICE FQDN                                                           PORT      SUBSET     DIRECTION     TYPE             DESTINATION RULE
dummysite.local                                                        200       -          outbound      STRICT_DNS

Note: If the ServiceEntries in test2 namespace are removed completely then the ServiceEntry from test1 namespace is exported correctly
Version
$ istioctl version
client version: 1.22.3
control plane version: 1.22.3
data plane version: 1.22.3 (23 proxies)
$ kubectl version
Client Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.2+k3s1

Additional Information
No response

The behavior of duplicate hosts is typically undefined in Istio; the previous ServiceEntry behavior was responsible for several bugs. Most of the context can be found in https://github.com/istio/istio/pull/50711 and linked issues within the description. Happy to chat more if you have other questions/concerns!

It may had been responsible for several bugs - but the new behavior is far from backwards compatible 😉
In setups with multiple application teams we'd like to have some shared/common ServiceEntries and then let each team create additional ServiceEntries - in some cases with additional ports on predefined hosts. With the new behavior each team must also remember to include whatever ports the common ServiceEntry defined - and preferable only once per namespace?
Maybe we can get away with having each app create their ServiceEntries with workload selectors - assuming that those get prioritized over creation timestamp when there's duplicate hosts.
I haven't found anything in the linked issues that tells me why metadata.labels  are used to determine if merging is possible?
In summary, I just want to be really sure that the new behavior wasn't faulty before starting the required rework 😉

Ack, that's perfectly reasonable. Sorry for the trouble. I don't know if labels was purposefully used as part of merging criteria. Maybe @howardjohn or @hzxuzhonghu can speak more to it

Actually, looked like the behavior changed in #49595

Actually, looked like the behavior changed in #49595

Yeah, I found that one as well - the guys are discussing the label selectors (ie. .spec.workloadSelector.labels) - yet the PR also included the labels (ie. metadata.labels) as part of the merge magic.

That feels like a bug... @hzxuzhonghu was this intentional?

@keithmattix  is there a plan to modify the logic of merge? We faced issues with the merge logic where it skips the merge when labels are different. We do have multiple namespaces with more than a single app and same hosts defined in serviceentries.
I see this is till unchanged in the new release https://github.com/istio/istio/blob/1.23.2/pilot/pkg/model/sidecar.go#L1014. So we are looking at fixing the charts now.

Looks like we reverted this fix: https://istio.io/latest/news/releases/1.22.x/announcing-1.22.5/#changes

Looks like we reverted this fix: https://istio.io/latest/news/releases/1.22.x/announcing-1.22.5/#changes

@keithmattix thanks for the follow up - it's still unclear what the intended future behavior will be ;-) In the mean time we'll be reworking our use of ServiceEntries to avoid merging as much as possible.

We are also facing a similar issue. https://github.com/istio/istio/issues/53667

Yeah, i will take a deep look.


Non-numeric categorical variables

I would like to use non-numerical categorical variables in GPyOpt.
From the error, I understand such variables are being treated in the same way as DiscreteVariables, but it is not possible to convert them to float.
Minimal example
from sklearn.svm import SVC
from GPyOpt.methods.bayesian_optimization import BayesianOptimization

domain = [{'name': 'kernel', 'type': 'categorical', 'domain': ('linear', 'poly')}]
BayesianOptimization(SVC(), domain=domain)

Output
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-7-d90c79264e40> in <module>()
      2
      3 domain = [{'name': 'kernel', 'type': 'categorical', 'domain': ('linear', 'poly')}]
----> 4 BayesianOptimization(SVC(), domain=domain)

/home/fede/src/GPyOpt/GPyOpt/methods/bayesian_optimization.pyc in __init__(self, f, domain, constraints, cost_withGradients, model_type, X, Y, initial_design_numdata, initial_design_type, acquisition_type, normalize_Y, exact_feval, acquisition_optimizer_type, model_update_interval, evaluator_type, batch_size, num_cores, verbosity, verbosity_model, maximize, de_duplication, **kwargs)
    115         self.initial_design_type  = initial_design_type
    116         self.initial_design_numdata = initial_design_numdata
--> 117         self._init_design_chooser()
    118
    119         # --- CHOOSE the model type. If an instance of a GPyOpt model is passed (possibly user defined), it is used.

/home/fede/src/GPyOpt/GPyOpt/methods/bayesian_optimization.pyc in _init_design_chooser(self)
    189         # Case 1:
    190         if self.X is None:
--> 191             self.X = initial_design(self.initial_design_type, self.space, self.initial_design_numdata)
    192             self.Y, _ = self.objective.evaluate(self.X)
    193         # Case 2

/home/fede/src/GPyOpt/GPyOpt/experiment_design/__init__.pyc in initial_design(design_name, space, init_points_count)
     18         raise ValueError('Unknown design type: ' + design_name)
     19
---> 20     return design.get_samples(init_points_count)

/home/fede/src/GPyOpt/GPyOpt/experiment_design/random_design.pyc in get_samples(self, init_points_count)
     17             return self.get_samples_with_constraints(init_points_count)
     18         else:
---> 19             return self.get_samples_without_constraints(init_points_count)
     20
     21     def get_samples_with_constraints(self, init_points_count):

/home/fede/src/GPyOpt/GPyOpt/experiment_design/random_design.pyc in get_samples_without_constraints(self, init_points_count)
     57         samples = np.empty((init_points_count, self.space.dimensionality))
     58
---> 59         self.fill_noncontinous_variables(samples)
     60
     61         if self.space.has_continuous():

/home/fede/src/GPyOpt/GPyOpt/experiment_design/random_design.pyc in fill_noncontinous_variables(self, samples)
     44             if isinstance(var, DiscreteVariable) or isinstance(var, CategoricalVariable) :
     45                 sample_var = np.atleast_2d(np.random.choice(var.domain, init_points_count))
---> 46                 samples[:,idx] = sample_var.flatten()
     47
     48             # sample in the case of bandit variables

ValueError: could not convert string to float: linear

Make a wrapper function to internally call SVC, and encode inside the function numbers corresponding to the attributes you care about.
This way the optimisation method need not need to know the details of the arguments to optimise the function

Are discrete variables also fitted with a GP?

This might do what you are looking for: https://github.com/SheffieldML/GPyOpt/issues/175


[User Interface] Create Components Storybook

Goal:
In order to organize Shutter Staking dApp and architecture its scaling code development in a reusable and modular way, a component library must be created, giving team the power of changing Ui later without greater code development need, by following the principles of atomic design and web components. Storybook is the tool chosen to document this Ui lib.

Storybook was configured in the dApp and can be accessed from now on:

This Ui documentation library will scale as new components are created.


Add k8s support

Hello, this PR adds a k8s manifest for a periodic cronjob and uses a secret mounted as a volume to hold the configuration and keep the container stateless.
At this time it still requires to user to build the image and push it to a registry, if interested we could think of adding an automated pipeline to build and push the image to a public registry and, later on, even create a helm chart for the installation in k8s.

Awesome, thank you very much for this gem.


[ci] Make run-fpga-cw310-tests.sh locally runnable

ci/scripts/run-fpga-cw310-tests.sh is used in CI to run the top Earlgrey tests on the CW310. This script is hard to reproduce locally, however, for two reasons:

It starts by setting some environment variables and backdoor populating the bitstream cache.
It uses a special --define cw310=lowrisc flag that looks for specific USB ports to find the FPGA.

We should refactor this script to make it easier to duplicate tests locally to help reproduce CI failures. Running this script should require no additional modifications or flags.

Cross referencing: https://github.com/lowRISC/opentitan/issues/13103

Closing this in favor of the resolution in #14550. The run-fpga-cw310-tests.sh currently just performs some backdoor configuration of the bitstream cache and runs a bazel test command on all FPGA tests. This is unlikely to be useful to someone debugging a particular test. These users should just defer to the instructions in the online docs.