Multiline string is messing up decoding

Another take on strings in HSD, this time to see what happens if I feed in a multiline string:
Valid? = Multiline
String
Invalid? = "Multiline
String"
Invalid! = """Multiline
String"""

Apparently an even number of quotation mark allows me to feed multiple lines to the HSD decoder, which are assumed to be arrays:
{'valid?': 'Multiline', 'invalid?': ['"Multiline', 'String"'], 'invalid!': ['"""Multiline', 'String"""']}

Note that the first key-value pair drops the second line without further notice, but should probably raise a syntax error (all of them actually should).

Probably related to the missing second line. An minimal input of the kind
parent = {
   "value" "value" "value"
   child = "something else"
}

will deserialize as
{'python': {'child': '"something else"'}}

and drop all the values already read in (of course we are not allowed to mix values and objects, but then we also expect an appropriate error from the decoder). Going one step further with
parent = {
   "value" "value" "value"
   child = "something else"
   0 1 2
}

will deserialize to
{'python': [0, 1, 2]}

and therefore drop its previous content twice without error.


[Reslice] update metadata after process

From this issue: https://github.com/Inria-Asclepios/medInria-public/issues/434
Will be rebased with https://github.com/Inria-Asclepios/medInria-public/pull/432
Update metadata of a data after a reslice.
:m:

PR rebased :)

Done, there is a common function in medUtilitiesITK and the ALTER function is used before CREATE in the database.

(replying here because the comment thread has disappeared)
For me medUtilitiesITK::updateMetaData shouldn't have been templated over the image type since that's internal code that could have been done in private in medUtiltiesITK (with a template function not visible outside), but even this version could be used from setDerivedMetaData since you just have to include medUtilitiesITK in medUtilties.cpp. I'll do it in another PR if you prefer.

I'll do it in another PR if you prefer.

No problem, since you seem to have a really specific idea in mind, and there are many ways to handle this case ^^'


Automatic filetype detection for differently named dockerfiles

Issue Type: Feature Request
Automatic file type detection and thus syntax highlighting for Dockerfiles only works if the file name is exactly "Dockerfile". When working with multiple Dockerfiles names may differ (e.g. DockerfileA, DockerfileB). Current solution is to set the file type manually after every restart.
It would be a quality of life improvement if those were automatically detected too. A good alternative would be saving the type and restoring on restart.
VS Code version: Code 1.30.1 (dea8705087adb1b5e5ae1d9123278e178656186a, 2018-12-18T18:07:32.870Z)
OS version: Linux x64 4.4.0-141-generic

@ntippman the docker extension detects files with the name Dockerfile and *.dockerfile.
If you have suggestions for additional file names that should be detected as Dockerfile, then file an issue against the vscode-docker extension.


Safeguard: Binary Transparency

hi!
I noticed the list of safeguards is missing Binary Transparency, the general concept is explained here by mozilla (ignore the specific implementation details described there), rekor is one of the implementations for a signature transparency log and pacman-bintrans is an experimental integration between rekor and pacman, the Arch Linux package manager.
Would be cool if Binary Transparency could be added to the list!

hi!
I noticed the list of safeguards is missing Binary Transparency, the general concept is explained here by mozilla (ignore the specific implementation details described there), rekor is one of the implementations for a signature transparency log and pacman-bintrans is an experimental integration between rekor and pacman, the Arch Linux package manager.
Would be cool if Binary Transparency could be added to the list!

Thank you once more @kpcyrd for opening this issue and following discussion. By reading the resource you shared it seems to me a more sophisticated version of the current safeguard [SG-043] Integrity check of dependencies through cryptographic hashes. What do you think then to add the resources you shared as references for this particular safeguard and maybe improve also the description of SG-043 to include not only the concept of cryptographic hashes but also the concept of transparency logs?


OpenBabel-produced PDB files lack TER records

It appears OpenBabel doesn't write TER records in PDB files.
This can become a problem with tleap specifically, which detects terminal residues via
a) TER records or
b) the end of a chain.
So, if a chain includes a bunch of residues AND some waters or a ligand, we can't parameterize it.
Options:

alleviate (but not eliminate) this by reading PDBs from mmCIFs, which split chains more aggressively.
manually write out TER records
switch to another PDB writer
Split structures into chains within MDT, at least before sending them to something that needs TER records

Option 1 didn't even work - the mmCIFs provided by PDB have problems and biopython parses them strangely.
Option 2 - seems unnecessarily hacky, but in practice should be very straightforward - we just need to insert TERs at the ends of lines.
For option 3 - what PDB writer? Biopython doesn't do bonds, meaning we'd have to do CONECT records manually. RDKit doesn't accept tetravalent nitrogens, suggesting that it's not flexible enough for our use cases.
Option 4 is appealing, but probably introduces too much unnecessary confusion - users will see chains appear out of nowhere.


What are MapPokemon and WildPokemon?

I have a few question regarding heartbeat payload sent by the server.

What are MapPokemon and WildPokemon in the heartbeat?
What are the differences between these two? It seems that their coordinate are equals.
Can we get nearby pokemons' location (which usually invisible until we close enough to them)? It seems that MapPokemons and WildPokemons are the pokemon that actually show on the map so users can tap into it to engange them. Can we map nearby pokemons and show them on google map and use the location data to actually move closer to those pokemons so the pokemon itself will spawn on the game itself?

To tag along, here are my similar questions from another github issues thread:
In lieu of a new Pokemon species, I'm now encountering a new problem instead.
My script, made to print the Pokemon available in the surrounding area (using WildPokemon), seems to only work when I set my location to popular places like the Santa Monica Pier or Times Square.  Otherwise, when it's set to locations like the street I live on, it prints absolutely nothing, bar the heartbeat notification.  Is this a kink in the api?  Or is my search radius simply not large enough to detect the surrounding "invisible" Pokemon?
Assuming the latter:
I was under the impression that WildPokemon would reveal all Pokemon in a larger radius than NearbyPokemon, but I suppose this is not the case.  I take it the only way to map out the locations of all the local Pokemon is to write an algorithm that has my character move in circles that gradually grow in size.  Has something like this already been developed?
I'm not sure it makes much of a difference in this use case, but I switched over to @d-pollard's fork of the api.
Edit:
Just stumbled upon the nearby Pokemon function found in this https://github.com/Daplie/node-pokemap/blob/master/index.js ... They don't seem to have a script implemented that moves their character around.  Why/how are they able to register these Pokemon?

After I look into it a bit more, I think each this is flow:

heartbeat only provide nearby pokemons (the one shown on the nearby panel on the game app).
Once the user move close enough to the location specified by server data and calling heartbeat again, by this time, the heartbeat will provide map and wild pokemons (both are showing exact coordinate, which is why I'm asking the difference between the two) which will be shown on the game's map and tappable by the user to engage.

This way, we cannot get all pokemon's position without actually moving the character's location. As @WhataShane said, we must decide a point, and then move in circular motion wider and back to the center to scan the vicinity. Note that each pokemon will disappear after each of them reach their designated expiration (which means you need to constantly moving in circular motion with your gps location as the center).

MapPokemon - geolocation (for knowing when to show a pokemon)
NearbyPokemon - distance in meters (for the sort in the right hand corner)
WildPokemon - not sure, but I think this is as opposed to Lured pokemon


rateLimit  by redis acquired requestbody is null

eurekaserver-demo.zip
service-demo.zip
springcloudgateway-demo.zip
as the sample; i want to do pressure test with RateLimiterGatewayFilterFactory,when i  run GateWayClientTest.testMultiThreadClient,sometimes get request body is NULL, but sometimes could acquire correct requestbody;
parts of log:
LoggingFilter.filter:41) - LoggingFilter global filter start
RealtimeAuditRequestRateLimiterGatewayFilterFactory.lambda$apply$1:55) - request body={"stageCode":"STAGE000002"}
LoggingFilter.lambda$filter$0:45) - LoggingFilter global filter end
LoggingFilter.lambda$filter$0:48) - /realtime/post-audit: 97ms
LoggingFilter.filter:41) - LoggingFilter global filter start
ilter.RealtimeAuditRequestRateLimiterGatewayFilterFactory.lambda$null$0:72) - RealtimeAuditRequestRateLimiter gateway filter end
RealtimeAuditRequestRateLimiterGatewayFilterFactory.lambda$apply$1:55) - request body={"stageCode":"STAGE000002"}
allback.FallbackController.fallback:17) - in fallback method,req={"stageCode":"STAGE000002"}
LoggingFilter.filter:41) - LoggingFilter global filter start
RealtimeAuditRequestRateLimiterGatewayFilterFactory.lambda$apply$1:55) - request body=null
RealtimeAuditRequestRateLimiterGatewayFilterFactory.setRateCheckResponse:105) -response={"respMessage":"reject","riskStatus":"R"}
LoggingFilter.lambda$filter$0:45) - LoggingFilter global filter end
LoggingFilter.lambda$filter$0:48) - /realtime/post-audit: 11ms
LoggingFilter.lambda$filter$0:45) - LoggingFilter global filter end
LoggingFilter.lambda$filter$0:48) - /realtime/post-audit: 61ms
ilter.RealtimeAuditRequestRateLimiterGatewayFilterFactory.lambda$null$0:72) - RealtimeAuditRequestRateLimiter gateway filter end
allback.FallbackController.fallback:17) - in fallback method,req={"stageCode":"STAGE000002"}
LoggingFilter.lambda$filter$0:45) - LoggingFilter global filter end
LoggingFilter.lambda$filter$0:48) - /realtime/post-audit: 32ms
LoggingFilter.filter:41) - LoggingFilter global filter start
RealtimeAuditRequestRateLimiterGatewayFilterFactory.lambda$apply$1:55) - request body=null
RealtimeAuditRequestRateLimiterGatewayFilterFactory.setRateCheckResponse:105) -response={"respMessage":"reject","riskStatus":"R"}
LoggingFilter.lambda$filter$0:45) - LoggingFilter global filter end
LoggingFilter.lambda$filter$0:48) - /realtime/post-audit: 5ms
LoggingFilter.filter:41) - LoggingFilter global filter start
RealtimeAuditRequestRateLimiterGatewayFilterFactory.lambda$apply$1:55) - request body={"stageCode":"STAGE000002"}

Can you tell us how to use the samples to reproduce the issue?

gatewaydemo.log
maybe you need replace the redis config to yourselfs, thanks

is anyone can help,thanks

Can you tell us how to use the samples to reproduce the issue?

The cause of this issue resides within RealtimeAuditRequestRateLimiterGatewayFilterFactory.
In the resolveBodyFromRequest method you're subscribing on the body of the request which causes these "null" values.
Therefor I'm closing this issue.


Theming not applied to components exported on the marketplace

How to reproduce

Create a new project
Create a new collection in the theme variables
Create a new component
In styles, use the variables created
Export the component to the marketplace
Install your package in another project and notice that the styles are not applied

https://jam.dev/c/e1124258-4cc4-4732-868f-9db3f0b3fbdf
Describe the bug
Project sample in Canary: https://app-staging.clutch.io/project/65771aa9169de1f82de8580d (Test Component)
Expected behavior
The styles should be applied.
Operating System
macOS 14.1.1
Clutch Version
Desktop: 1.207.1-alpha.0ce7298de1 | Interface: 72298d1
Other
No response

We need to PJ this, and the introduction of a default set of scales and semantic tokens may alleviate this issue


add a maintenance mode

https://github.com/soruly/trace.moe-api/pull/308
This would put the server away from external traffic so that it can spend full speed doing things like bulk import a lot of hashes, or focus on hashing.

I'd suggest system admin to configure the search quota to 0 in tier table. see https://github.com/soruly/trace.moe-api/blob/master/sql/data.sql
In this way, you can enable/disable the search function without restarting the server. You may even selectively disable search for only a some groups of users. Afterall, this is designed to reduce server load while the server is busy hasing a lot of files. In case you want to disable all features, I would suggest you just block the server in firewall, or remove it from reverse-proxy/gateway/load balancer.


[GoSDK] Handle data write errors & stream recreate

This resolves a longstanding TODO around errors when writing data to a runner.

This adds handling for failing stream Sends per https://godoc.org/google.golang.org/grpc#ClientConn.NewStream which was only discovered by looking at all the generated GRPC code.
In particular, this documentation clarifies that when Send fails with an io.EOF, the caller must drain Recv until a non-nil error occurs, which further causes stream resource cleanup on the SDK side. This surfaces the "root" error for why the write failed.
This (along with previous similar fixes) promotes errors to bundle failures, which should be a sufficient signal to the runner to terminate attention to Sends from the SDK, allowing runner side resources to be cleaned up.
This fixes previously broken cases where the now-broken DataChannel wasn't being cleaned up. That is, the data manager would persist in using the broken channel as directed by the runner, but that particular stream was broken. If a channel is broken, it now returns errors for why, which should cause users to clean up, but further, the DataManager is now able to re-use that stream id for a new DataChannel for subsequent bundles.
Allow the writer to cancel the reader goroutine incase the reader is blocked in GRPC's receive, via the context.
Unit tests for the above.

Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @youngoli

An internal user found a race condition in the closing of everything where the readers could be stuck in GRPC land, after no more data was to be written, preventing a bundle from. I need to update this PR to correct that.

PTAL @youngoli

Run Go Precommit


Pass only specified options to spark dependencies

Related to https://github.com/jaegertracing/jaeger-operator/issues/668#issuecomment-543698875
PR in spark-dependencies https://github.com/jaegertracing/spark-dependencies/pull/79
Signed-off-by: Pavol Loffay<EMAIL_ADDRESS>

CI failed bc I forgot to run make generate. I cannot run it because of https://github.com/jaegertracing/jaeger-operator/pull/710


Names for some fields and methods in net.minecraft.data.server

Some of the names might be up for debate so feel free to criticize.

Imo you should simplify names, e.g. in "block loot table" class your method/field names need not include "loot table" or "block", such as createLootTableForBlockNeedingShears -> createForNeedingShears, etc.

Are the names in 4a8ab4a better?

Also fixed the names in EntityLootTableGenerator (and fixed a rogue NEED_* there).


Node paths to editable children in custom resources do not save

Godot version
v4.1.1.stable.official [bd6af8e0e]
System information
Godot v4.1.1.stable - Windows 10.0.19045 - Vulkan (Compatibility) - AMD Radeon(TM) R7 Graphics () - AMD A10-7800 Radeon R7, 12 Compute Cores 4C+8G (4 Threads)
Issue description
I was attempting to bundle a bunch of information into the same array element by making a custom resource, and was then frustrated when the nodes in said array never got saved. Doing some testing, I've found out that it only affected editable children. Every time I try to save the scene with a resource with a node path to an editable child, the console spits out this error

For my particular problem, this can be worked around with multiple arrays, as when not in a resource the nodes do save
Steps to reproduce

Create a custom resource with an exported node
Create a scene with a child, where one of the nodes has a script that that exports the custom resource
Create a scene with the previous scene instanced inside it. Set child to editable children
Create the resource inside the child, and assign the node field to an editable child
Save (the editor may crash at this point)
Reopen the project - the node path inside the resource will now be blank

Minimal reproduction project
ResourceNodePathBug.zip

Looking at the result of the serialization, if your field is a Node, then it actually holds an Object instance (since Nodes also inherit from Object), but the Node is not instantiated during deserialization (which makes sense to me, otherwise you'd be reloading the scene again with an additional Node, but it might take some hints?)
However, for your needs.  If you want to refer to an object in the scene, you can use NodePath

Thanks for your report. This is a duplicate of https://github.com/godotengine/godot/issues/80538. This is also not a bug.
Resources cannot export nodes. Exporting nodes only makes sense for other nodes, because both the exporter and exportee need to exist in the scene tree. Resources are not a part of the scene tree, they cannot resolve node paths because of that. Plus the same resource can be shared between multiple nodes or non-node objects, like other resources. This makes any kind of resolution of node paths impossible.
As suggested, you can export and store the node path as is in your resource, and resolve the node as fits your game logic yourself.


Align properties of TsConfigJsonResolved with TypeScript's ParsedCommandLine

See also ParsedCommandLine
https://github.com/microsoft/TypeScript/blob/fd3a84c3f0c80cb201c47399a055625f919a9b91/lib/typescriptServices.d.ts#L3168-L3178

I'd like to replace parsing tsconfig.json from TypeScript to get-config more seamlessly.
It would be a BREAKING CHANGE.

@privatenumber Hi, WDYT about this?

The first version of get-tsconfig used to return ParsedCommandLine by directly using TypeScript. (I moved the code to the FAQ.)
However, the output is very different and incompatible with most tools that expect a tsconfig JSON. For example, since the parsed version uses enums, all the values are converted to numbers. This makes it unusable for important tools (eg. esbuild).
It also makes preparations for compilation that may not be necessary in other tools. For example, it scans the disk and detects matched files. In tools like tsx, would be wasteful because the "compiled files" are detected via dependency tree.
I'm open to adding another util function that converts the static tsconfig.json JSON to the "parsed" one. Although, I'm skeptical how useful it would be.
The function names would probably need to be renamed to make more sense:

Rename existing parseTsconfig to readTsconfig
Add parseTsconfig(tsconfig: TsconfigObject): ParsedCommandLine

I'm working on a PR at https://github.com/import-js/eslint-plugin-import/pull/2519#issuecomment-1230993695, which aims to provide parsed tsconfig for resolvers, and also I have https://github.com/un-es/eslint-plugin-i#eslint-plugin-i to integrate with get-tsconfig.
See also https://github.com/import-js/eslint-import-resolver-typescript/issues/179


Error: Config flow could not be loaded: {"message":"Invalid handler specified"}

Describe the bug
When trying to set up the Integration, I get an error pop-up in HA stating
Error
Config flow could not be loaded: {"message":"Invalid handler specified"}

In the logs:
2023-03-28 15:59:57.983 ERROR (MainThread) [homeassistant.loader] Unexpected exception importing platform custom_components.bosch.config_flow
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 779, in get_platform
cache[full_name] = self._import_platform(platform_name)
File "/usr/src/homeassistant/homeassistant/loader.py", line 796, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/config/custom_components/bosch/__init__.py", line 12, in <module>
from bosch_thermostat_client.const import (
File "/usr/local/lib/python3.10/site-packages/bosch_thermostat_client/__init__.py", line 10, in <module>
from .gateway import gateway_chooser
File "/usr/local/lib/python3.10/site-packages/bosch_thermostat_client/gateway/__init__.py", line 1, in <module>
from .ivt import IVTGateway, IVTMBLanGateway
File "/usr/local/lib/python3.10/site-packages/bosch_thermostat_client/gateway/ivt.py", line 6, in <module>
from bosch_thermostat_client.connectors import connector_ivt_chooser
File "/usr/local/lib/python3.10/site-packages/bosch_thermostat_client/connectors/__init__.py", line 2, in <module>
from .ivt import IVTXMPPConnector
File "/usr/local/lib/python3.10/site-packages/bosch_thermostat_client/connectors/ivt.py", line 2, in <module>
import aioxmpp
File "/usr/local/lib/python3.10/site-packages/aioxmpp/__init__.py", line 121, in <module>
from .security_layer import make as make_security_layer # NOQA: F401
File "/usr/local/lib/python3.10/site-packages/aioxmpp/security_layer.py", line 131, in <module>
import aiosasl
File "/usr/local/lib/python3.10/site-packages/aiosasl/__init__.py", line 150, in <module>
from .anonymous import ( # noqa:F401
File "/usr/local/lib/python3.10/site-packages/aiosasl/anonymous.py", line 28, in <module>
logger = logging.getLogger()
TypeError: get_logger() missing 1 required positional argument: 'name'
2023-03-28 15:59:57.994 ERROR (MainThread) [homeassistant.config_entries] Error occurred loading configuration flow for integration bosch: Exception importing custom_components.bosch.config_flow

To Reproduce
Steps to reproduce the behavior:

Download custom integration via HACS
Restart HA
Go to Settings -> Integrations and add Bosch Thermostat integration
Pop-up with spinner will show but result in the error described above after a short while
Note: the error shows up before I can make any configuration choices.

Expected behavior
Integration can be set up properly.
Version

Home Assistant 2023.3.6 Supervisor 2023.03.2 Operating System 9.5 Frontend 20230309.1 - latest
HA Bosch component version: tried with 0.21.0 and 0.22.0dev1
Python Bosch HTTP client version: N/A (not relevant here?)

** Debug SCAN **
Not possible due to failure to set up the integration.
Additional context
I've previously tried to set up the integration but failed due to me not knowing my EasyRemote password. Maybe some leftover stuff is interfering with trying to do another setup? Probably not, but just to note it here.

Just noticed the logs above seems somewhat specific for 0.22.0dev1 so here's the log for 0.21.0
2023-03-28 16:31:54.648 ERROR (MainThread) [homeassistant.loader] Unexpected exception importing platform custom_components.bosch.config_flow
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 779, in get_platform
cache[full_name] = self._import_platform(platform_name)
File "/usr/src/homeassistant/homeassistant/loader.py", line 796, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/config/custom_components/bosch/__init__.py", line 12, in <module>
from bosch_thermostat_client.const import (
File "/usr/local/lib/python3.10/site-packages/bosch_thermostat_client/__init__.py", line 10, in <module>
from .gateway import gateway_chooser
File "/usr/local/lib/python3.10/site-packages/bosch_thermostat_client/gateway/__init__.py", line 1, in <module>
from .ivt import IVTGateway
File "/usr/local/lib/python3.10/site-packages/bosch_thermostat_client/gateway/ivt.py", line 6, in <module>
from bosch_thermostat_client.connectors import connector_ivt_chooser
File "/usr/local/lib/python3.10/site-packages/bosch_thermostat_client/connectors/__init__.py", line 2, in <module>
from .ivt import IVTXMPPConnector
File "/usr/local/lib/python3.10/site-packages/bosch_thermostat_client/connectors/ivt.py", line 2, in <module>
import aioxmpp
File "/usr/local/lib/python3.10/site-packages/aioxmpp/__init__.py", line 121, in <module>
from .security_layer import make as make_security_layer # NOQA: F401
File "/usr/local/lib/python3.10/site-packages/aioxmpp/security_layer.py", line 131, in <module>
import aiosasl
File "/usr/local/lib/python3.10/site-packages/aiosasl/__init__.py", line 150, in <module>
from .anonymous import ( # noqa:F401
File "/usr/local/lib/python3.10/site-packages/aiosasl/anonymous.py", line 28, in <module>
logger = logging.getLogger()
TypeError: get_logger() missing 1 required positional argument: 'name'
2023-03-28 16:31:54.659 ERROR (MainThread) [homeassistant.config_entries] Error occurred loading configuration flow for integration bosch: Exception importing custom_components.bosch.config_flow

Can you try 0.22.x?

Tried on 0.22.2, same issue unfortunately.
After further investigation it seems to happen to multiple people in various integrations so most likely I was mistaken thinking it is the bosch thermostat integration's fault. No one can provide any information on what circumstances are causing this issue or how to fix it though which is quite frustrating.
Further info:
https://community.home-assistant.io/t/error-adding-integration/485237/14
https://github.com/home-assistant/frontend/issues/14376
Feel free to close this PR then and thank you for coming back to me.

same issue

What type of device do you try to configure? IVT, Nefit?

The error pop-up appears before you can make any choices / configuration. I can see the "please wait" pop-up with the spinner but then immediately receive the error pop-up.
Again, not sure if this is relevant, but I've previously tried to set up an IVT device but unsuccessful since I didn't know my EasyRemote password. Since then I have reinstalled the integration & restarted HA multiple times.

Solved.
It was a problem with the timezone. Somehow tzlocal past the wrong timezone, Belgium/Brussels instead of Europe/Brussels.
Changing /usr/local/lib/python3.10/site-packages/tzlocal/utils.py manually to the right timezone solved the problem for me.

Solved. It was a problem with the timezone. Somehow tzlocal past the wrong timezone, Belgium/Brussels instead of Europe/Brussels. Changing /usr/local/lib/python3.10/site-packages/tzlocal/utils.py manually to the right timezone solved the problem for me.

Thanks for coming back to this thread @verwo. I'm not quite following your solution unfortunately, could you give more details? Is it a problem in the integration or in HA?
For example, in my Homeassistant OS there's no python directory in /usr/local/lib/
Thanks!

Same error in frontend, but different error in the log.
I'm running Home Assistant Core on Raspbian 11 Bullseye, upgrade from 2022.11 to 2023.4.6. It runs in Python venv environment.
I've compiled Python 3.11 from source and installed it with altinstall.
It looks like this a Python 3.11 problem.
Apr 27 08:19:18 raspberrypi hass[9570]: #033[31m2023-04-27 08:19:18.891 ERROR (MainThread) [homeassistant.loader] Unexpected exception importing platform custom_components.bosch.config_flow
Apr 27 08:19:18 raspberrypi hass[9570]: Traceback (most recent call last):
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/usr/local/lib/python3.11/enum.py", line 260, in __set_name__
Apr 27 08:19:18 raspberrypi hass[9570]:     enum_member._value_ = enum_class._member_type_(*args)
Apr 27 08:19:18 raspberrypi hass[9570]:                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/aioxmpp/xso/model.py", line 2923, in __init__
Apr 27 08:19:18 raspberrypi hass[9570]:     self.xso_class = self._create_class()
Apr 27 08:19:18 raspberrypi hass[9570]:                      ^^^^^^^^^^^^^^^^^^^^
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/aioxmpp/xso/model.py", line 2933, in _create_class
Apr 27 08:19:18 raspberrypi hass[9570]:     self._create_name(),
Apr 27 08:19:18 raspberrypi hass[9570]:     ^^^^^^^^^^^^^^^^^^^
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/aioxmpp/xso/model.py", line 2926, in _create_name
Apr 27 08:19:18 raspberrypi hass[9570]:     return "".join(map(str.title, self.name.split("_")))
Apr 27 08:19:18 raspberrypi hass[9570]:                                   ^^^^^^^^^
Apr 27 08:19:18 raspberrypi hass[9570]: AttributeError: 'XSOEnumMixin' object has no attribute 'name'
Apr 27 08:19:18 raspberrypi hass[9570]: The above exception was the direct cause of the following exception:
Apr 27 08:19:18 raspberrypi hass[9570]: Traceback (most recent call last):
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/homeassistant/loader.py", line 779, in get_platform
Apr 27 08:19:18 raspberrypi hass[9570]:     cache[full_name] = self._import_platform(platform_name)
Apr 27 08:19:18 raspberrypi hass[9570]:                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/homeassistant/loader.py", line 796, in _import_platform
Apr 27 08:19:18 raspberrypi hass[9570]:     return importlib.import_module(f"{self.pkg_path}.{platform_name}")
Apr 27 08:19:18 raspberrypi hass[9570]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
Apr 27 08:19:18 raspberrypi hass[9570]:     return _bootstrap._gcd_import(name[level:], package, level)
Apr 27 08:19:18 raspberrypi hass[9570]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 27 08:19:18 raspberrypi hass[9570]:   File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
Apr 27 08:19:18 raspberrypi hass[9570]:   File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
Apr 27 08:19:18 raspberrypi hass[9570]:   File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked
Apr 27 08:19:18 raspberrypi hass[9570]:   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
Apr 27 08:19:18 raspberrypi hass[9570]:   File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
Apr 27 08:19:18 raspberrypi hass[9570]:   File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
Apr 27 08:19:18 raspberrypi hass[9570]:   File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
Apr 27 08:19:18 raspberrypi hass[9570]:   File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
Apr 27 08:19:18 raspberrypi hass[9570]:   File "<frozen importlib._bootstrap_external>", line 940, in exec_module
Apr 27 08:19:18 raspberrypi hass[9570]:   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/home/homeassistant/.homeassistant/custom_components/bosch/__init__.py", line 29, in <module>
Apr 27 08:19:18 raspberrypi hass[9570]:     from bosch_thermostat_client.version import __version__ as LIBVERSION
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/bosch_thermostat_client/__init__.py", line 10, in <module>
Apr 27 08:19:18 raspberrypi hass[9570]:     from .gateway import gateway_chooser
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/bosch_thermostat_client/gateway/__init__.py", line 1, in <module>
Apr 27 08:19:18 raspberrypi hass[9570]:     from .ivt import IVTGateway, IVTMBLanGateway
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/bosch_thermostat_client/gateway/ivt.py", line 6, in <module>
Apr 27 08:19:18 raspberrypi hass[9570]:     from bosch_thermostat_client.connectors import connector_ivt_chooser
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/bosch_thermostat_client/connectors/__init__.py", line 2, in <module>
Apr 27 08:19:18 raspberrypi hass[9570]:     from .ivt import IVTXMPPConnector
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/bosch_thermostat_client/connectors/ivt.py", line 2, in <module>
Apr 27 08:19:18 raspberrypi hass[9570]:     import aioxmpp
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/aioxmpp/__init__.py", line 101, in <module>
Apr 27 08:19:18 raspberrypi hass[9570]:     from .errors import (  # NOQA
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/srv/homeassistant/lib/python3.11/site-packages/aioxmpp/errors.py", line 109, in <module>
Apr 27 08:19:18 raspberrypi hass[9570]:     class ErrorCondition(structs.CompatibilityMixin, xso.XSOEnumMixin, enum.Enum):
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/usr/local/lib/python3.11/enum.py", line 557, in __new__
Apr 27 08:19:18 raspberrypi hass[9570]:     raise exc
Apr 27 08:19:18 raspberrypi hass[9570]:   File "/usr/local/lib/python3.11/enum.py", line 266, in __set_name__
Apr 27 08:19:18 raspberrypi hass[9570]:     raise new_exc
Apr 27 08:19:18 raspberrypi hass[9570]: TypeError: _value_ not set in __new__, unable to create it#033[0m
Apr 27 08:19:18 raspberrypi hass[9570]: #033[31m2023-04-27 08:19:18.924 ERROR (MainThread) [homeassistant.config_entries] Error occurred loading flow for integration bosch: Exception importing custom_components.bosch.config_flow#033[0m

Hello, I am experiencing the same issue. Is there a fix ? I just downloaded Bosch via  HACS in the latest raspi04 HA image. Thanks!

using HAOS on a Proxmox for Homeassistant won't let me access the root. So can't change the utils.py file :(
any other fix?

HAOS now gets newer version of python, so problem shouldn't occur anymore.


Fix peer location docs

Peer location is derived from its IP address, not its public key.

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


Add xf86-input-cmt touchpad driver from GalliumOS

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Closing this issue because these drivers are inferior in comparison with latest versions of libinput.


cmd-ref: document data:status command

I have tried to keep it simple.
I was not sure what to add in data/index.md, so I started to introduce a few concepts around index/dvc-data, which is going to be helpful in the data/status.md to clarify and not repeat that we are comparing to file hashes in dvc.lock and .dvc files and just mention the term index. But I did not go completely and introduce that concept yet. :)
Closes #3732.

Looks good!
A couple high-level comments:

Could some of the introductory text be more generic ("Show changes/status of data tracked by DVC") instead of immediately jumping into all of the "indexes" being compared? While that detail is important, to me it seems like it's too much of the focus here and is introduced too early and repeated too much. It makes it hard to get an overview of the command.
Would it be useful to directly compare to git status? I think that a helpful way to frame this command and show how it might be useful over the existing dvc status is to make the analogy to git status and maybe even suggest using them together or show that in the examples as a way to get a holistic status of the repo.

@skshetry When you are available, could you do another iteration on this?

@skshetry What's the status of this one? Do you need someone else to take over?

@skshetry What's the status of this one? Do you need someone else to take over?

@dberenbaum, I have been prioritizing the bugfix for https://github.com/iterative/dvc/issues/8052 over this.
The major issue here is about how to describe this command: https://github.com/iterative/dvc.org/pull/3812#discussion_r930458955, other seems minor.

Let's try to get this merged this sprint. I think with 1-2 more iterations, we should be able to merge something and follow up later if needed.
@skshetry When do you expect to have another iteration ready? I can also take over if needed.

@skshetry I'll plan to merge once you address those comments. Thanks everyone for your help here!

I’ll remove index and push another version tomorrow. :)

Looks like we do need the index.md file:
Gatsby.js development 404 page
There's not a page or function yet at /doc/command-reference/data

@skshetry pls check the Contributing section:
  {
    "label": "Contributing",
    "slug": "contributing",
    "source": false,
    "children": [
      {
        "label": "DVC Core Project",
        "slug": "core"
      },
      {
        "label": "Docs and Website",
        "slug": "docs"
      },
      {
        "label": "Writing Blog Posts",
        "slug": "blog"
      }
    ]
  },

Thanks @shcheklein. I have deleted the index.

All of the conversations are resolved, and the index file is now removed. I am merging this, if there’s anything, let me know. I am happy to work on top. And thankyou for the all the suggestions and help. 🙏🏼

Hi. A couple post-merge questions (based on existing conversations above).

should we just drop the index page for now and to simplify this?

Since there's no index for this command's base, should we just list data status directly in the nav? No need for the parent data link (if we expect more subcommands we can fix it later)

Would it be useful to directly compare to git status?
show how it might be useful over the existing dvc status

At least mentioning the difference with dvc status would be great, and/or link back and forth between both refs.

At least mentioning the difference with dvc status would be great, and link back and forth between both refs. And/or these things could be explained in the index.md page if we restore it, along with some other general motivation.

makes sense!

On the other hand, not having an index.md breaks the existing pattern and is technically incomplete since you can dvc data (-h).

let's keep it simple for now? that page is not useful at all ... and let's keep the hierarchy in place, also for simplicity and for consistency

@jorgeorpinel could you please distill what is actually important here and doesn't require changes to the DVC repo and make a PR to review? a lot of changes, lots of them very cosmetic, and I'm not sure if there is a reason behind them ... reviewing them takes time

please distill what is actually important here

Started https://github.com/iterative/dvc.org/pull/3924 and resolved the things I included there.

doesn't require changes to the DVC repo

Nothing I added so far, but these string changes are typically pretty easy to propagate to the core repo in my experience.


User is not shown failures when creating/editing configmap

Setup

Rancher version: 2.9 pre 2.9.0

Describe the bug

If the request to create or edit a configmap fails the user sees a forever Creating/Saving button and is not informed of the issue
This seems to only be the case for configmaps. I had a quick look at some others (persistent volume, secrets, pod, storage class) and they were fine

We should check if this was a recent regression or also applies to 2.8

To Reproduce

Cluster Explorer --> Storage --> ConfigMap --> Create --> Add $^$^"£% as a name --> Create

Result

user is not informed of failure

Expected Result

error banner showing description of error. note - there's an existing pattern to convert an error response to an on screen message

Screenshots

e2e test coverage is sufficient. will move this to done as soon as the below is resolved. cc @izaac
I'm seeing this bug in 2.8, should we backport this? cc @momesgin @richard-cox

In hindsight, just 2.9.0 will suffice


implemented login2factor

Hey @ErrorxCode I had implemented the login2factor code which was previously not implemented. Please take a note and merge these changes. I had tested on my own, you can also test it. Looking forward for contributing to this amazing library.

Here is the example for login using 2 step verification


bn_sqr_mont produces incorrect for certain BIGNUMs on SPARC sun4v

For some input numbers, BN_mod_mul_montgomery() produces incorrect results on SPARC sun4v CPUs. Specifically, for 1DEA64498CAE6197AB5283F8A8A05F343D0CCA7F5F05EDF3C9892F80851E0E40A39BD8855B4824C5BCC86727312D6979965FA131365CB24ED1C52E4E3B54CD01E0C in combination with the field p from the crypto/ec/ec_curve.c#_EC_NIST_PRIME_521.
The following code can be used to reproduce the problem:
	BIGNUM *r = BN_new();
	BIGNUM *a = BN_new();

	if (!BN_hex2bn(&a, argv[1])) {
		ERR_print_errors_fp(stderr);
		errx(1, "BN_hex2bn");
	}

	EC_GROUP *group = NULL;
	BN_CTX *ctx = NULL;

	if ((ctx = BN_CTX_new()) == NULL)
		errx(1, "new");

	BN_MONT_CTX *mont_ctx = NULL;

	mont_ctx = BN_MONT_CTX_new();
	if (mont_ctx == NULL)
		errx(1, "mont NULL");

	// taken from crypto/ec/ec_curve.c#_EC_NIST_PRIME_521, field p
	unsigned char p_bin[] = {0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};

	BIGNUM *p = BN_new();
	BN_bin2bn(p_bin, sizeof (p_bin), p);

	if (!BN_MONT_CTX_set(mont_ctx, p, ctx)) {
		errx(1, "BN_MONT_CTX_set");
	}

	if (!BN_mod_mul_montgomery(r, a, a, mont_ctx, ctx)) {
	ERR_print_errors_fp(stderr);
	exit(1);
	}

	fprintf(stderr, "r after: ");
	BN_print_fp(stderr, r);
	fprintf(stderr, "\n");

For full program see https://github.com/vladak/sqrmont
I tried this on SPARC-T5-4 with the SPARC-T5 CPU and also on SPARC-T7-1 with SPARC-M7 CPU. The problem does not seem to be dependent on the CPU.
The result produced for the above inputs is:
16A86598DB73518CFBA3A20B61336AE1F988AF5153F6CB1C1B3E8FCAAFB3538BCF71E72F72F02731E233C0F88C95F561D5D937F >> 8F << C7AF697AA82D703001FFD99E53

while the correct result should be:
16A86598DB73518CFBA3A20B61336AE1F988AF5153F6CB1C1B3E8FCAAFB3538BCF71E72F72F02731E233C0F88C95F561D5D937F >> 91 << C7AF697AA82D703001FFD99E53

i.e. the 4th BN_ULONG chunk from backwards (when looking at the representation; in memory that would be the 4th chunk), the 87 byte should be 91. This happens every time the program is run on said CPUs.
How do I know ? Well, this causes failures higher up in the stack, e.g. in ECDSA signature verification (notably when using the secp521r1 curve) where the signature is computed correctly however the signature verification fails. When running in FIPS mode on a machine performing lots of signature verifications (e.g. busy HTTPS/LDAPS server) this is getting frustrating fairly quickly as the FIPS self test basically shoots down any further crypto computation within the process. Using multithread program I can generate the faulty numbers at will. This is not a problem with parallel computation, I am just using the mutlithreading to speed things up to generate the faulty numbers. The number supplied in this report is the result of one such run.
Another confirmation comes from my old trusty SGI Indy with MIPS R5000 CPU (also big endian machine) running NetBSD where the same program arrives to the correct result every time.
The problem is in the optimized Montgomery squaring procedure, i.e. in the bn_sqr_mont routine in crypto/bn/asm/sparcv9-mont.pl. When I replaced https://github.com/openssl/openssl/blob/4cedf30e995f9789cf6bb103e248d33285a84067/crypto/bn/asm/sparcv9-mont.pl#L117 commented out the branch instruction entirely (replacing with a nop would do the same job I guess), the problem went away. As a workaround this is palatable however in the long term it would be good to fix the actual problem. There is some performance degradation associated with the workaround, it is like 5% on average on the above mentioned CPUs, based on my not so extensive benchmarking (using back to back ECDSA sign/verify, it went through only bunch of millions of operations on 16 CPU LDOM).
So far I was not able to isolate the problem further, my hunch is that it is somewhere in the sqr_1st or sqr_2nd cycle (because it happens in the 4th chunk and there is great deal of special casing for the first 3 iterations in these cycles, i.e. j = 12), missing a carry or such.

Adding "help wanted" label for this

This problem is reproducible on the latest greatest OpenSSL 3.x and also all older releases.

I gave a try to fix it. But I failed. I'm going to lose access to sparc64 in few days, so I'm going to dump here all my notes and tools I used to try to tackle this bug. this paper discusses various implementations of montgomery multiplications. There is a brief notion of how to optimize multiplication to s squaring. It explains why we do "a[i]*a[j] * 2" where i != j. The doubling the result matches line  336.
328         mulx    $apj,$mul0,$tmp0
329         mulx    $npj,$mul1,$tmp1
330         add     $acc0,$car0,$car0               ! ap[j]*a0+c0
331         add     $acc1,$car1,$car1
332         ld      [$ap+$j],$apj                   ! ap[j]
333         and     $car0,$mask,$acc0
334         ld      [$np+$j],$npj                   ! np[j]
335         srlx    $car0,32,$car0
336         add     $acc0,$acc0,$acc0
337         or      $sbit,$acc0,$acc0
338         mov     $tmp1,$acc1
339         srlx    $acc0,32,$sbit
340         add     $j,4,$j                         ! j++
341         and     $acc0,$mask,$acc0
342         cmp     $j,$num
343         add     $acc0,$car1,$car1
344         st      $car1,[$tp]
345         mov     $tmp0,$acc0
346         srlx    $car1,32,$car1
347         bl      %icc,.Lsqr_1st
348         add     $tp,4,$tp                       ! tp++

This construct is found at more places in montgomery squaring function for sparc. My effort to understand code by reading turned to be futile very soon. I've decided to instrument code in gdb  (see gdb commands script attached gdb.txt) attached. It dumps relevant operands as code is executed. This allowed me reconstruct interim results for each iteration so I could better understand what's going on there. The file with my notes is also atteched (see debug.txt). The file shows the buggy word (0x937f8fc7) gets introduced to array element  tp[9] in 8th iteration of .Lsqr_outer loop, when we are multiplaying ap[10] (10th element of input array) with result we got from 7th iteration of .Louter loop.
Understanding the flow of operation we can step backward. I believe the error must be coming from tp[9+1] we got in 7th iteration. tp[0] which is also part of the operation as mul1 seems to be correct, otherwise the error would be much bigger that's just my feeling. We can step backward. up to 2nd iteration of Outer loop. Also the interim results show the code in Outer loop mostlikely does the right thing. This made me thinking the bug must be hiding somewhere in early section where we execute Lsqr1st and Lsqr2nd (which is doing calculation for ap[0] and ap[1].
The code here right at the begining caught my eye:
309         mulx    $apj,$mul0,$tmp0                !prologue!
310         and     $car0,$mask,$acc0
311         add     %sp,$bias+$frame,$tp
312         ld      [$ap+8],$apj                    !prologue!
313
314         mulx    $n0,$acc0,$mul1                 ! "t[0]"*n0
315         srlx    $car0,32,$car0
316         and     $mul1,$mask,$mul1
317
318         mulx    $car1,$mul1,$car1               ! np[0]*"t[0]"*n0
319         mulx    $npj,$mul1,$acc1                !prologue!
320         and     $car0,1,$sbit
321         ld      [$np+8],$npj                    !prologue!
322         srlx    $car0,1,$car0
323         add     $acc0,$car1,$car1
324         srlx    $car1,32,$car1
325         mov     $tmp0,$acc0                     !prologue!
326
327 .Lsqr_1st:
328         mulx    $apj,$mul0,$tmp0

At line 309 we calculate ap[0]*a[1] and store it to tmp0. At line 325 we move tmp0 to acc0 however according to paper we are supposed to do ap[0] * a[1] * 2. And this is how I arreived to patch below:
--- a/crypto/bn/asm/sparcv9-mont.pl
+++ b/crypto/bn/asm/sparcv9-mont.pl
@@ -322,8 +322,9 @@ $code.=<<___;
        srlx    $car0,1,$car0
        add     $acc0,$car1,$car1
        srlx    $car1,32,$car1
-       mov     $tmp0,$acc0                     !prologue!
-
+       and     $tmp0,$mask,$acc0                       !prologue!
+       add     $acc0,$acc0,$acc0
+       srlx    $tmp0,32,$car2
 .Lsqr_1st:
        mulx    $apj,$mul0,$tmp0
        mulx    $npj,$mul1,$tmp1
@@ -334,8 +335,10 @@ $code.=<<___;
        ld      [$np+$j],$npj                   ! np[j]
        srlx    $car0,32,$car0
        add     $acc0,$acc0,$acc0
-       or      $sbit,$acc0,$acc0
+       add     $sbit,$acc0,$acc0
        mov     $tmp1,$acc1
+       add     $car0,$car2,$car0
+       clr     $car2
        srlx    $acc0,32,$sbit
        add     $j,4,$j                         ! j++
        and     $acc0,$mask,$acc0
@@ -367,7 +370,7 @@ $code.=<<___;
        and     $car0,$mask,$acc0
        srlx    $car0,32,$car0
        add     $acc0,$acc0,$acc0
-       or      $sbit,$acc0,$acc0
+       add     $sbit,$acc0,$acc0
        srlx    $acc0,32,$sbit
        and     $acc0,$mask,$acc0
        add     $acc0,$car1,$car1

With change above applied the result changes to:
16A 86598DB7 3518CFBA 3A20B613 36AE1F98 8AF5153F 6CB1C1B3 E8FCAAFB 3538BCF7 1E72F72F 02731E23 3C0F88C9 5F561D5D 937F91C7 AF697AA8 2D7031D3 E7638E53

While we expect:
16A 86598DB7 3518CFBA 3A20B613 36AE1F98 8AF5153F 6CB1C1B3 E8FCAAFB 3538BCF7 1E72F72F 02731E23 3C0F88C9 5F561D5D 937F91C7 AF697AA8 2D703001 FFD99E53

This makes me thinking the change aims in right direction, but is still wrong. I'm attaching debug output for code with patch applied.
debug1.txt
That's all I know may be there is someone else with idea where to move next.

new diff yields result as follows
16A ...  937F91C7 AF697AA8 2D702FD3 E7638E53

while we expect
16A ...  937F91C7 AF697AA8 2D703001 FFD99E53

changes in this diff:

always use add instruction to add sbit
also calculate sbit1 before we enter .Lsqr_1st loop

diff --git a/crypto/bn/asm/sparcv9-mont.pl b/crypto/bn/asm/sparcv9-mont.pl
index fe51fcaf81..50bb0d6aa9 100644
--- a/crypto/bn/asm/sparcv9-mont.pl
+++ b/crypto/bn/asm/sparcv9-mont.pl
@@ -301,6 +301,7 @@ ___
 ######## code without following dedicated squaring procedure.
 ########
 $sbit="%o5";
+$sbit1="%o7";

 $code.=<<___;
 .align	32
@@ -317,12 +318,17 @@ $code.=<<___;

 	mulx	$car1,$mul1,$car1		! np[0]*"t[0]"*n0
 	mulx	$npj,$mul1,$acc1		!prologue!
-	and	$car0,1,$sbit
+	and	$car0,$mask,$sbit
 	ld	[$np+8],$npj			!prologue!
-	srlx	$car0,1,$car0
+	srlx	$car0,32,$car0
 	add	$acc0,$car1,$car1
 	srlx	$car1,32,$car1
-	mov	$tmp0,$acc0			!prologue!
+
+	and	$tmp0,$mask,$acc0
+	srlx	$tmp0,32,$car2
+	add	$acc0,$acc0,$acc0
+	srlx	$acc0,32,$sbit1
+	and	$acc0,$mask,$acc0

 .Lsqr_1st:
 	mulx	$apj,$mul0,$tmp0
@@ -334,15 +340,18 @@ $code.=<<___;
 	ld	[$np+$j],$npj			! np[j]
 	srlx	$car0,32,$car0
 	add	$acc0,$acc0,$acc0
-	or	$sbit,$acc0,$acc0
+	add	$sbit,$acc0,$acc0
 	mov	$tmp1,$acc1
-	srlx	$acc0,32,$sbit
+	mov	$sbit1,$sbit
+	srlx	$acc0,32,$sbit1
 	add	$j,4,$j				! j++
 	and	$acc0,$mask,$acc0
 	cmp	$j,$num
 	add	$acc0,$car1,$car1
 	st	$car1,[$tp]
 	mov	$tmp0,$acc0
+	add	$car2,$acc0,$acc0
+	clr	$car2
 	srlx	$car1,32,$car1
 	bl	%icc,.Lsqr_1st
 	add	$tp,4,$tp			! tp++
@@ -355,8 +364,9 @@ $code.=<<___;
 	and	$car0,$mask,$acc0
 	srlx	$car0,32,$car0
 	add	$acc0,$acc0,$acc0
-	or	$sbit,$acc0,$acc0
-	srlx	$acc0,32,$sbit
+	add	$sbit,$acc0,$acc0
+	mov	$sbit1,$sbit
+	srlx	$acc0,32,$sbit1
 	and	$acc0,$mask,$acc0
 	add	$acc0,$car1,$car1
 	st	$car1,[$tp]
@@ -367,7 +377,8 @@ $code.=<<___;
 	and	$car0,$mask,$acc0
 	srlx	$car0,32,$car0
 	add	$acc0,$acc0,$acc0
-	or	$sbit,$acc0,$acc0
+	mov	$sbit1,$sbit
+	add	$sbit,$acc0,$acc0
 	srlx	$acc0,32,$sbit
 	and	$acc0,$mask,$acc0
 	add	$acc0,$car1,$car1
@@ -375,7 +386,7 @@ $code.=<<___;
 	srlx	$car1,32,$car1

 	add	$car0,$car0,$car0
-	or	$sbit,$car0,$car0
+	add	$sbit,$car0,$car0
 	add	$car0,$car1,$car1
 	st	$car1,[$tp+8]
 	srlx	$car1,32,$car2


Create plugin to allow Taiko to test site accessibility

Create a plugin for Taiko that would allow users to assess the accessibility of a site page.
Here is a snippet of text from the puppeteer class
The Accessibility class provides methods for inspecting Chromium's accessibility tree. The accessibility tree is used by assistive technology such as screen readers or switches.
Accessibility is a very platform-specific thing. On different platforms, there are different screen readers that might have wildly different output.
Blink - Chrome's rendering engine - has a concept of "accessibility tree", which is then translated into different platform-specific APIs. Accessibility namespace gives users access to the Blink Accessibility Tree.
Most of the accessibility tree gets filtered out when converting from Blink AX Tree to Platform-specific AX-Tree or by assistive technologies themselves. By default, Puppeteer tries to approximate this filtering, exposing only the "interesting" nodes of the tree.
Puppeteer has this functionality.
https://pptr.dev/#?product=Puppeteer&version=v1.16.0&show=api-class-accessibility

@RoscoV3 is there anything else you are looking for besides inspecting the accessibility tree? It would be nice if you could share your usecase.

I would like it to provide incite into the % of accessibility coverage the site has so that a company can make sure that their site is more user friendly for the disabled.

Have you tried using lighthouse cli?
From their documentation, you can get an accessibility report by running the following command
lighthouse <url> --only-categories=accesibility

Is there something else that's not available in this report that you want from Taiko's plugin?

@RoscoV3 I created a first draft of a plugin for accessibility testing. Can you check if this fits your usecase or otherwise create an issue on the plugin repo with the changes you would require? https://www.npmjs.com/package/taiko-accessibility https://github.com/andreas-ku/taiko-accessibility

@RoscoV3 The plugin (https://www.npmjs.com/package/taiko-accessibility) now calculates the percentage as 'score', so you can do something like:
const audit = await runAudit();
expect(audit.score).toBeGreaterThan(80);
Please let me know if this solves your problem or if anything else is needed from your side.


Map DAACs to cloud providers when cloud_hosted is present.

Right now a user will have to know the different cloud providers beforehand in order to search for cloud hosted data, that's not necessary if we have the mapping to a cloud provider.
Bonus point, print a list of DAACs and their info using the DataCollection class.

This is done in v.2
We can query by DAAC and get the data without knowing the provider i.e.
Query = DataCollections().daac("PODAAC").cloud_hosted(True)
granules = Query.get(10) # If we get results here we're using POCLOUD


Connection information carried along in T-SQL Notebook

Azure Data Studio Version: 1.5.1

Steps to Reproduce: When you save a notebook, it is clunky to not have the connection information saved along with the queries if you want it to. If I want to send this to someone in my org, I don't want them to have to go create a connection if they have never used this database before (and it is even more clunky to need to include instructions on how to connect)
I would expect this to be a "you have to set it to carry along the connection information yourself" sort of feature, where the default is how it is set up now, but I can choose to include a connection (and it would not be automatically trusted)…
The big problem is what if I have 100 databases I work with? Do I need 100 connections that I have to choose from?
(if things were perfect, you might have the ability to have > 1 connection as well, like one for dev and prod, or one for customer x and another for customer y)

This experience is needed for livesite engineers. Specifically to remember Kusto connection as well.


feat: get all deleted files

Description
Please include a summary of the change and which issue is fixed. Please also include relevant and context. List any new dependencies that are required for this change.

Fixes # (issue)
Get request to get all deleted files

How Has This Been Tested?
Yes
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.
Hit this route with postman/api/v1/files/DeletedFiles
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no lint warnings

Conflicts can't merge boss

conflicts resolved


Remove deprecated attributes from template comment

This is to remove deprecated attributes from template comments. Also rerun go generate for all templates. #12494

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: bianpengyuan
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: douglas-reid
If they are not already assigned, you can assign the PR to them by writing /assign @douglas-reid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm
/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bianpengyuan, geeknoid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [geeknoid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@duderino Need to merge this for 1.1 doc set. Very very low  risk, just comment changes.
Mind if I merge once CI is done?

@bianpengyuan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
35094f5ab7dbe7bffbe6284d18c2c58e321dbad9
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@bianpengyuan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
35094f5ab7dbe7bffbe6284d18c2c58e321dbad9
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
35094f5ab7dbe7bffbe6284d18c2c58e321dbad9
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


autoPan give error

I have the same problem than issue #92 @d-koppenhagen  I have tried your example and it seems to work because the 'autopan' prop should be 'autoPan', if you change it the error does appear.

it's still error


Mario & Luigi: Superstar Saga :: Messed up graphics in start screen

Fixed by https://github.com/mattrberry/crab/commit/73712b1


One-shot systems via Commands for scripting-like logic

What problem does this solve or what need does it fill?
Some operations are only done very rarely:  scripting-like game logic that modifies levels, unlocks achievements or handles a boss's special attack come to mind.
These systems clutter the schedule, waste resources as they constantly spin, and are harder to extend.
What solution would you like?
There are two parts to my proposed solution:

Add  Commands::run_system(system: impl Into<SystemDescriptor>). This runs the specified system on the World the next time commands are processed.
Create a pattern where we store references to system functions on components, and dynamically run those systems when the appropriate trigger is met, allowing for scripting-like flexibility with low-overhead and seamless ergonomic Bevy syntax.

What alternative(s) have you considered?
Writing custom commands types each time will be onerous and have much increased boilerplate, and because they take exclusive access to World, force the users to learn a new syntax and reduce our ability to parallelize commands of this sort in the future.
This same functionality could also be framed as "dynamically inserting systems", but that may complicate the API somewhat when you often don't end up caring a lot about overhead.
Other approaches to reactivity may be able to fill this niche in some form instead.
Additional context
Making sure the ordering on this is correct enough is going to be one of the larger challenges. May be better to wait until after #1375. Chaining also needs some careful thought.
Brought up in response to the following user request:

Is it possible / practical / good practice to pass a function around inside an event? My thought process is an NPC could have an interaction with a very specific procedure following it like opening a secret door across the map or unlocking a new dialogue option with another NPC so much so that having a system that contains every one of these niche interactions inside a match would be rather hideous.

Depending on the efficiency and ergonomics of this, could also be used to support push data-flow for UI (see #254).
Related to #1273.

Create a pattern where we store references to system functions on components [...]

I'm not sure what this entails on Bevy side. A mention in the book(s) and an example?

This same functionality could also be framed as "dynamically inserting systems", but that may complicate the API somewhat when you often don't end up caring a lot about overhead.

I'm not sure what you mean by that. Inserting systems dynamically is not an API problem: it can't be done without forcing the systems executor to recalculate its cached data, which is necessarily slow.

Making sure the ordering on this is correct enough is going to be one of the larger challenges. May be better to wait until after #1375.

Commands' order is entirely dependant on the order of the systems that issue them. This reads like proposing we add another layer of ordering on top of that, which is bound to get ugly. Stageless won't change anything here.

Chaining also needs some careful thought.

Why? Chaining two systems is essentially making them into one system, no special considerations needed.

I don't think there are any obstacles for a built-in arbitrary closure command (if we don't have one already). Dressing said closure up as a system shouldn't be a challenge, at first glance, but: systems are stateful - they have their own local variables. How should that be handled here?
This might be once again us running into the trap of trying to jam everything and anything into our system abstraction.
I think it's best to instead consider the accessor API for this. It's semantically more correct: a thing that's not a normally scheduled system but needs potentially-shared access to world data.

I think pre-registering a system with the executor, retrieving a handle from that, then triggering a run of the system via commands (or some other abstraction) is probably the way to go if we want to support this.
It definitely has synergies with "reactivity", which entails running a pre-defined system on a trigger. The only difference is "manual trigger" vs "data access trigger".
The executor is already "greedy" (it just loops over systems that need to run and sees if they can run), so this feels like a natural extension of that. Reactions and manual system triggers should both probably run before the source system's dependencies run, so I think its probably just a matter of only flipping the "finished" state for the source system once all triggered systems have finished.

I think pre-registering a system with the executor, retrieving a handle from that, then triggering a run of the system via commands (or some other abstraction) is probably the way to go if we want to support this.

I'm on board with this strategy: should be quite clean and support the scripting-like use cases very nicely. As long as we can store the handles on components we should be good.

I'm not sure what this entails on Bevy side. A mention in the book(s) and an example?

Yes, likely as part of an example game of some sort plus a page in the book. This sort of design pattern is really important to communicate IMO, but very challenging to understand without context.

One other useful bit of functionality that would be helpful: the ability to pass in new data to the system via the Input type on system chaining. This should probably be split from the default no-input form for ergonomic reasons.

That's not what chaining is for. We don't have a centralized way to pipe data directly between systems (like in e.g. run criteria), and I don't think we need one - events and other kinds of channels should work just fine.

there's also the config method on  FunctionSystem

For posterity, my current thinking is that this pattern is less than optimal.  It creates a lot of spaghetti in terms of dependencies and ordering, and has a serious but largely hidden performance impact. It's also very painful to refactor away from.
Instead, I think there are two, better alternatives:

create a well-scoped event type, which stores a FnMut with the appropriate data types, and then process it in its own system. Possibly in combination with #2070.
work to dynamically add-and-remove systems based on world state in order to disable specialized scripting systems when they're not needed. Blocked on #279, and by extension #2801.

To add to this: I think we should have a way to queue runs of systems (in the same stage as the queuing system or some future stage) via their labels. This is slightly different than disabling and enabling at runtime, because queuing twice should result in two runs of the system.

Here's an approach to a one-shot style scheme.
https://gist.github.com/hlb8122/33ef96079aa3ba9d5cbd3611f3e4e27c

Reopening this: we need something along these lines still, and this is a nice discussion of what will and will not work.

I was discussing a workaround with a user today.

Store a HashMap<MyLabel, BoxedSystem> in a resource.
Add systems to this resource, initializing them when they're added.
Use World::resource_scope to run these in an exclusive system.

This is (somewhat) ergonomic, and avoids the reinitialization pain. #2777 would make this pattern even cleaner.

@alice-i-cecile, I've been thinking about infrequent events and ECS for a while now and every time I dig deeper I find you've already been there (both here and on Reddit 😅). Given that you've changed your stance on the topic over the months I'd like to know what is your current thinking. Do you still find this a non-optimal pattern? Do you have thoughts on the direction to follow after closing #4090?
I believe this pattern fills some legitimate needs not well supported by classic ECS, but I find it hard to implement without creating confusion around when it should be used or avoided. Even after making a proposal to have ergonomic system params in commands, I still fear an easy-to-use API that completely defeats the parallelism of ECS.
 Some could be handled with events, but the constant polling for infrequent actions and the explosion of EventWriters that a system might need for very divergent logic just don't feel right. Others could be handled with simple function calls, but in complex systems that forces me to add a lot of boilerplate to fetch the params on the outer system and to pass them to the inner functions.
But I know that by relying too heavily on them I'm bypassing schedules and all the good parallelization stuff. I've been thinking of ways of mitigating this command drawback but it clearly is a very complex topic and so far I've only reached dead ends.

That sounds great, I'll start tomorrow with the redo. I'll start with the same approach as #4090, but I'd like to discuss #7707 (mainly my last comment) before merging. Using commands instead of labels opens the possibility of passing arguments to the one-shot systems and they require almost none additional boilerplate.

I'd be okay to have them take basically an impl System object, and then cache if and only if we can :) I don't think that should use commands though: there's no need for &mut World in most cases.

I'll first redo #4090 to fully understand your proposal and then reevaluate my reasoning for #7707.


k_timer tracing with CTF, Systemview

tracing: ctf: remove unused metadata
tracing: ctf: add timer support

@nashif This change makes sense, duration and period should be part of the trace macro. Unfortunately, this change breaks the Percepio trace module since it expands the parameters for sys_port_track_k_timer_start.
While I could fix this specific macro for our module, I'm thinking that it might be better to improve our modules resilience to macro updates (new parameters) by changing our macro mappings from sys_port_hook(x, y) to sys_port_hook(x, y, ...). I'll get started on an update (I should have it ready for merge early next week) so we can get this change merged ASAP.
Looking through various trace hooks I've noticed several others that should be updated similar to this one (obvious parameters missing in the hook). I'll see about updating these in Zephyr soon.

@nashif This change makes sense, duration and period should be part of the trace macro. Unfortunately, this change breaks the Percepio trace module since it expands the parameters for sys_port_track_k_timer_start.

yes, I realized this will break percepio, will not merge until we have a fix on your side.


Twine bug: urllib3 >= 1.26.0, < 2.0.0

When the Twine bug is fixed, ease restrictions on urllib3 in setup.cfg and requirements_def.txt.

I also found it necessary to do this.
pip install --upgrade twine requests-toolbelt
Otherwise, this fatal error happened.
ImportError: cannot import name 'appengine' from 'requests.packages.urllib3.contrib1

Installing twine now automatically installs requests-toolbelt, so I removed requests-toolbelt from requirements_def.txt.


Is this repository dead?

@manueliglesias
9 months since the most recent commit. Issues haven't been answered for a year. This is in the main aws repository as opposed to awslabs which indicates first-class support according to AWS Support Center.
How can organizations depend on repositories and packages from aws when they routinely & abruptly stop providing support without comment?

hi, check out this page, they said this sdk now become a part of Amplify library
https://docs.aws.amazon.com/cognito/latest/developerguide/setting-up-the-javascript-sdk.html

The Amazon Cognito Identity SDK for JavaScript is now part of the AWS Amplify Library.

even though I think they should explain that in Document


CUDNN_STATUS_BAD_PARAM in NStepLSTM

Related to https://github.com/himkt/pyner/pull/37.
I found that when enabling cuDNN, it raises CUDNN_STATUS_BAD_PARAM in the latest platform.
Currently, I disable cuDNN because it works on GPU if a procedure run without cuDNN. (workaround)
https://github.com/himkt/pyner/pull/37/commits/c168d8eda228d594e0083f1c067a0eb9fda9c03a
Exception in main training loop: CUDNN_STATUS_BAD_PARAM
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/chainer/training/trainer.py", line 316, in run
    update()
  File "/usr/local/lib/python3.6/dist-packages/chainer/training/updaters/standard_updater.py", line 175, in update
    self.update_core()
  File "/usr/local/lib/python3.6/dist-packages/chainer/training/updaters/standard_updater.py", line 187, in update_core
    optimizer.update(loss_func, *in_arrays)
  File "/usr/local/lib/python3.6/dist-packages/chainer/optimizer.py", line 805, in update
    loss.backward(loss_scale=self._loss_scale)
  File "/usr/local/lib/python3.6/dist-packages/chainer/variable.py", line 1433, in backward
    _backprop_to_all([(node, grad_var)], retain_grad, loss_scale)
  File "/usr/local/lib/python3.6/dist-packages/chainer/variable.py", line 1649, in _backprop_to_all
    func, target_input_indexes, out_grad, in_grad, is_debug)
  File "/usr/local/lib/python3.6/dist-packages/chainer/_backprop_utils.py", line 140, in backprop_step
    _reraise_with_stack(func, e)
  File "/usr/local/lib/python3.6/dist-packages/chainer/_backprop_utils.py", line 138, in backprop_step
    target_input_indexes, grad_outputs)
  File "/usr/local/lib/python3.6/dist-packages/chainer/function.py", line 209, in backward
    gxs = self._function.backward(in_data, grad_out_data)
  File "/usr/local/lib/python3.6/dist-packages/chainer/functions/connection/n_step_rnn.py", line 325, in backward
    dhy, dcy, dys, self.lengths)
  File "cupy/cudnn.pyx", line 1094, in cupy.cudnn.rnn_backward_data
  File "cupy/cuda/cudnn.pyx", line 2186, in cupy.cuda.cudnn.RNNBackwardData
  File "cupy/cuda/cudnn.pyx", line 732, in cupy.cuda.cudnn.check_status
Will finalize trainer extensions and updater before reraising the exception.
Traceback (most recent call last):
  File "train.py", line 173, in <module>
    trainer.run()
  File "/usr/local/lib/python3.6/dist-packages/chainer/training/trainer.py", line 349, in run
    six.reraise(*exc_info)
  File "/usr/local/lib/python3.6/dist-packages/six.py", line 693, in reraise
    raise value
  File "/usr/local/lib/python3.6/dist-packages/chainer/training/trainer.py", line 316, in run
    update()
  File "/usr/local/lib/python3.6/dist-packages/chainer/training/updaters/standard_updater.py", line 175, in update
    self.update_core()
  File "/usr/local/lib/python3.6/dist-packages/chainer/training/updaters/standard_updater.py", line 187, in update_core
    optimizer.update(loss_func, *in_arrays)
  File "/usr/local/lib/python3.6/dist-packages/chainer/optimizer.py", line 805, in update
    loss.backward(loss_scale=self._loss_scale)
  File "/usr/local/lib/python3.6/dist-packages/chainer/variable.py", line 1433, in backward
    _backprop_to_all([(node, grad_var)], retain_grad, loss_scale)
  File "/usr/local/lib/python3.6/dist-packages/chainer/variable.py", line 1649, in _backprop_to_all
    func, target_input_indexes, out_grad, in_grad, is_debug)
  File "/usr/local/lib/python3.6/dist-packages/chainer/_backprop_utils.py", line 140, in backprop_step
    _reraise_with_stack(func, e)
  File "/usr/local/lib/python3.6/dist-packages/chainer/_backprop_utils.py", line 138, in backprop_step
    target_input_indexes, grad_outputs)
  File "/usr/local/lib/python3.6/dist-packages/chainer/function.py", line 209, in backward
    gxs = self._function.backward(in_data, grad_out_data)
  File "/usr/local/lib/python3.6/dist-packages/chainer/functions/connection/n_step_rnn.py", line 325, in backward
    dhy, dcy, dys, self.lengths)
  File "cupy/cudnn.pyx", line 1094, in cupy.cudnn.rnn_backward_data
  File "cupy/cuda/cudnn.pyx", line 2186, in cupy.cuda.cudnn.RNNBackwardData
  File "cupy/cuda/cudnn.pyx", line 732, in cupy.cuda.cudnn.check_status
cupy.cuda.cudnn.CuDNNError: CUDNN_STATUS_BAD_PARAM

https://github.com/himkt/pyner/pull/37#issuecomment-500191511
This patch can investigate input data raising CUDNN_STATUS_BAD_PARAM.
(Dataset is CoNLL, created following README)

This occurs when char_inputs has only one sequence whose length is 1 in BiLSTM_CRF.char_encode.
In other words, this happens when processing a sentence that consists of only one character.
CoNLL 2003 eng.train has such a sentence . in line 278.
Here is a reproduction code.
import chainer
from chainer.backends import cuda
import chainer.functions as F
import numpy as np

class Model(chainer.Chain):

    def __init__(self, n_vocab, n_units, n_tags, impl=0):
        super().__init__()
        with self.init_scope():
            self.embed = chainer.links.EmbedID(n_vocab, n_units)
            self.bilstm = chainer.links.NStepBiLSTM(1, n_units, n_units, 0.5)
            self.linear = chainer.links.Linear(n_units * 2, n_tags)
        self.impl = impl

    def forward(self, xs):
        hy, cy, hs = self.bilstm(None, None, [self.embed(x) for x in xs])
        if self.impl > 0:
            hs = hy.transpose([1, 0, 2]).reshape(len(xs), -1)
            ys = self.linear(hs)
        else:
            d = hs[0].shape[-1] // 2
            features = []
            for h in hs:
                feature = F.concat((h[-1, :d], h[0, d:]), axis=0)
                features.append(feature)
            ys = self.linear(F.vstack(features))
        return ys

    def __str__(self):
        return "{}(impl={})".format(self.__class__.__name__, self.impl)

if __name__ == '__main__':
    chainer.config.use_cudnn = 'always'
    n_vocab = 1000
    n_tags = 128
    n_units = 200

    input0 = (10, 2, 4, 5, 1, 6)
    input1 = (1,)
    model0 = Model(n_vocab, n_units, n_tags, impl=0)
    model1 = Model(n_vocab, n_units, n_tags, impl=1)

    def generate_data(lengths):
        xs = [np.random.randint(n_vocab, size=l) for l in lengths]
        ys = np.random.randint(n_tags, size=len(lengths))
        return xs, ys

    def run(model, lengths):
        print("RUN: model={}, lengths={}".format(model, lengths))
        model.to_gpu()
        model.cleargrads()
        xs, ts = generate_data(lengths)
        ys = model.forward([cuda.to_gpu(x) for x in xs])
        ts = cuda.to_gpu(ts)
        loss = F.softmax_cross_entropy(ys, ts, ignore_label=-1)
        print("loss", loss)
        loss.backward()

    run(model0, input0)
    run(model1, input0)
    run(model0, input1)
    run(model1, input1)  # cupy.cuda.cudnn.CuDNNError: CUDNN_STATUS_BAD_PARAM

FYI: According to https://docs.nvidia.com/deeplearning/sdk/cudnn-developer-guide/index.html#cudnnRNNBackwardData, CUDNN_STATUS_BAD_PARAM is returned when

At least one of the following conditions are met:

The descriptor rnnDesc is invalid.
At least one of the descriptors dhxDesc, wDesc, hxDesc, cxDesc, dcxDesc, dhyDesc, dcyDesc or one of the descriptors in yDesc, dxdesc, dydesc is invalid.
The descriptors in one of yDesc, dxDesc, dyDesc, dhxDesc, wDesc, hxDesc, cxDesc, dcxDesc, dhyDesc, dcyDesc has incorrect strides or dimensions.
workSpaceSizeInBytes is too small.
reserveSpaceSizeInBytes is too small.

I hope this will help you fix.

Actually, I encountered the problem before, and it solved with the workaround at that time.
In the case, the error occurred because a shape of ndarray whose length is 1 was not (1, 1) but (1,) . (It may be related to this problem... 🤔 )
I forgot this workaround and I will investigate it.
Thanks, @chantera  very much for providing relevant information!

It found that this problem is caused by CuPy.
ref: https://github.com/cupy/cupy/pull/2261

Solved in https://github.com/himkt/pyner/pull/41


code implement  not match paper

in paper  formula 5 and 6 ,each gene is processed individual, but in code https://github.com/HantaoShu/DeepSEM/blob/master/src/Model.py#L94 , Fusion of genes from different groups.
@HantaoShu

Thanks for your interest in our work. We provide code with the GMVAE framework. And Line 94 in Model.py in to get the weight for the "K" Gaussian mixture distribution (K=1). Formulas 5 and 6 are referred to Line 150 (decoder) and Line 100 (encoder).  Any other questions are welcome.

logits, prob, y = self.qyx(x.squeeze(2), temperature) #Line131
mu, logvar = self.qzxy(x, y) # line 132
Line 132  will call Line 125 which will concat y from Line 131.
and Line 131 will call Line94, which will fuse gene infoamation, as show in  following picutre

Thanks for your reply, but you can find in Line 125 and also in your figure (repeat(1,shape[1],1), for each cell, the influence source from y are same for each gene. And in our default parameter (k=1), it's just add a bias for each gene.

y shape is 641 , which is calculate from x( 64910), and i mean that y  have Fusing information between genes. your mean y is just add bias for each gene of 910?Thanks for your reply

Yes, that is what I have stated, our model forces gene interaction which means updating gene embeddings based on embedding from the other genes.  Here, we add the same value for each gene which does not influence the main idea of our model. And we use GMVAE as the reviewer recommended especially for the embedding visualization section. One hypothesis is that the embedding of cells follows the gaussian mixture model, therefore, using GMVAE can improve the performance of embedding visualization. However, as the figure shows in the supplementary, we find adds more Gaussian doesn't significantly improve performance. Therefore, we use k=1 for default hyperparameters.
Any other questions are welcome.


home-gallery ignores files with capital filename extension

My camera is creating files where the filename extension is in capital letters picture.JPG. These seem to be ignored from home-gallery. I want to avoid to bulk change all of these as these are many. Is there a option to implement that these are not ignored?

I now found out that not all *.JPG* are ignored and I will net to further check why some are.

Hi @MelBourbon glad you find the solution.
Does the exclusion pattern/option requires some clarification?


If multiple scripts in SQL 2019 lab for one module use file names to denote order

Many folks have been flying through the labs and while we explicitly call out what to run and what order it would be helpful is there are multiple scripts in one module to use file names that help show you the order of steps

I've thought about this some and I think I'd like to leave the scripts as is. If you are flying too fast through the modules this means to me you are just looking at script names and not reading the github pages.


selectFiles Seems Broken in Chrome Canary

Given:
  await selectFiles(
    '.some-selector',
    [
      new Blob(['test-test'], {
        name: 'foo.jpg',
        type: 'image/jpeg'
      }),
    ]
  );

I see the following error message in Chrome Canary (v62):

@webark May I bring your attention to this?
@jherdman does this work for you on non-canary versions of chrome?

ya. I was trying to keep things as close to the traditional api as possible, but it looks like now chrome 62 doesn't work, and give a similar error as firefox did, but using a different message. Perhaps we need to abandon the hope that we could maintain the FileList object, and just reset it to an array.

In my experience error messages change very little. If we add another Regexp for chrome we might be good for the next 2 years.

No, this also appears to be broken in Chrome v60 too. The file list is empty (i.e. event.target.files).

ya. My only concern is that if both chrome and firefox do not support the mutating of the FileList is it worth even trying to do that?

@cibernox i think just replacing the FileList with an array is simpler and being that at least firefox and chrome no longer "support" the other way munching it, we should just keep with that. Take a look at #95 and let me know what you think.


ResourceLauncher and refactor show CreateVMWizard

features

opening dialog in new ReactDOM (inspired by createModalLauncher) for any type of a dialog

specify a component
declare resources and their names
resourceToProps for derived resources
pass component props

possibility to mark resource as required: the dialog will open once all the resource have been loaded, otherwise empty resources are passed to the dialog
Error Dialog will be shown if loading of resources failed.

replaces #110 and will be also used by MigrationDialog

fixed

fixed again


Cassandra Db support

Datastax.com Cassandra Database Support for keyv pls

@MEZBATHEKING - thanks for the suggestion and if you are interested it would be great if you want to build a third party driver like the following:
https://github.com/jaredwray/keyv#third-party-storage-adapters
We will add this as something to vote on to see if it gets traction.

This would be cool 👍

Looks like there are a couple votes here so far. I am not planning to work on this at this time but if you want to build this adapter and make it into a pull request we are happy to help on it.
@prohooks-y, @MEZBATHEKING?


update autostopping helm chart location

Change location of helm chart as i migrated it to a central repo
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6709464be815ef00fe74e4e7--harness-developer.netlify.app


fix check_installed

closes #60
fixing check_installed so it behaves the same as @requires

:books: Documentation preview :books:: https://ploomber-core--61.org.readthedocs.build/en/61/

lgtm!

released this in version 0.2.11, should be on PyPI in a few minutes


Error when the model vocabulary is larger than 120k

Dear author,
when using the easycontext to evaluate a model with more than 120K vocabuary, I come across an strange problem:
the predict result is correct when a single gpu is used, but error when 8 gpus are used.  the 'pred' result in low code are all zeros, which is quite stange.
I wonder is there any limit of the vocabulary size in ring-attention implementation and what is the possible reason?
BTW, below is what i have tried:

i tried the model your provided, it is correct on both single and multi-gpu mode.
To eliminate the issue with the tokenizer, I am using input_ids as the input in eval_forward func. (consistent with the input_ids for multi-GPU inference and single-GPU inference)

with torch.inference_mode():
logits = self.model(
local_input_ids,
position_ids=local_position_ids,
use_cache=False,
).logits
pred = logits.argmax(dim=-1)
the value of pred ids: tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], device='cuda:6')Traceback (most recent call last):

when using the easycontext to evaluate a model with more than 120K vocabuary

We only support llama model for now.
https://github.com/jzhang38/EasyContext/blob/f81973b1caea65e8480df0ad619f420711411a09/eval_needle.py#L22

To add on, many opensource models nowadays (yi/qwenvl ...) can be converted into Llama architecture. Just make sure you load them as LlamaForCausalLM.

To add on, many opensource models nowadays (yi/qwenvl ...) can be converted into Llama architecture. Just make sure you load them as LlamaForCausalLM.

Yeah, it is LlamaForCausalLM, but the tokenizer is customized by ourself to support a much larger vocabulary size.
I also tried:

By using the default flash-attention2,  running on 8 gpus is correct.
with 'zigzag_ring_attn', if running on 2 gpus, it is correct, but with 3/4/8 cards, the prediction is all zero.  quete strange.

Seems there is something wrong in dist communication ?

add more
I add some print info before and after calling self-attn function in the monkey_patch.py (see below codes in detail) and find that at about the 14 layer,  the outputs of self_attn are 'nan'. I tried different models configured with the same 120K vocabs, the 'nan' values are appeared in almost the 14-15 layers.  Any idea of this strange error ? @liuziwei7

print('the last 10 values of hidden states before self_attn {0}'.format(hidden_states[:,:,-10:]))
# Self Attention
hidden_states, self_attn_weights, present_key_value = self.self_attn(
hidden_states=hidden_states,
attention_mask=attention_mask,
position_ids=position_ids,
past_key_value=past_key_value,
output_attentions=output_attentions,
use_cache=use_cache,
cache_position=cache_position,
**kwargs,
)
print('the last 10 values of hidden states after self_attn {0}'.format(hidden_states[:,:,-10:]))

----------- the print info----------------
the last 10 values of hidden states before self_attn tensor([[[ 0.1074,  0.6445, -0.3945,  ..., -0.2256,  0.1797,  0.4160],
[-0.2070,  0.3789, -0.3262,  ..., -0.0786,  0.0825,  0.3125],
[ 0.1270,  0.6250, -0.2109,  ..., -0.2480,  0.2373,  0.3809],
...,
[ 0.3633,  0.2891,  0.1797,  ..., -0.4258,  0.1650, -0.0198],
[ 0.3672,  0.4453,  0.2012,  ..., -0.3535,  0.3047,  0.0481],
[ 0.5352,  0.3223,  0.0894,  ..., -0.3320,  0.7070,  0.0143]]],
device='cuda:1', dtype=torch.bfloat16)
the last 10 values of hidden states before self_attn tensor([[[ 0.4141,  0.2734,  0.0825,  ...,  0.1396,  0.4219,  0.3984],
[ 0.3809, -0.1226, -0.0160,  ..., -0.0737,  0.2129,  0.3164],
[ 0.3223,  0.0947, -0.0527,  ..., -0.1748,  0.2129,  0.3340],
...,
[ 0.2471,  0.2148,  0.1040,  ..., -0.4258,  0.2236, -0.0635],
[ 0.3027,  0.3945,  0.1387,  ..., -0.3359,  0.3691,  0.0947],
[ 0.4766,  0.2930,  0.0447,  ..., -0.3203,  0.7305,  0.0126]]],
device='cuda:5', dtype=torch.bfloat16)
the last 10 values of hidden states after self_attn tensor([[[    nan,     nan,     nan,  ...,     nan,     nan,     nan],
[    nan,     nan,     nan,  ...,     nan,     nan,     nan],
[    nan,     nan,     nan,  ...,     nan,     nan,     nan],
...,
[-0.3340, -0.0013, -0.3496,  ..., -0.4707, -0.4551, -0.5234],
[ 0.0747,  0.1836,  0.3652,  ..., -0.3750, -0.7539, -0.4531],
[-0.4141,  0.2051,  0.9102,  ..., -0.4238, -1.1953, -0.4453]]],
device='cuda:7', dtype=torch.bfloat16)
the last 10 values of hidden states after self_attn tensor([[[    nan,     nan,     nan,  ...,     nan,     nan,     nan],
[    nan,     nan,     nan,  ...,     nan,     nan,     nan],
[ 0.2754,  0.4375, -0.1777,  ..., -0.1108, -1.1562, -0.1797],
...,
[ 0.4668,  0.2041,  0.1973,  ...,  0.6641, -1.7500, -0.2188],
[ 0.0452, -0.0967, -0.5352,  ...,  0.5234, -1.1875,  0.1514],
[ 0.2041,  0.9570, -0.2393,  ...,  0.3477, -1.5625, -0.0337]]],
device='cuda:4', dtype=torch.bfloat16)

It is probably caused by the numerical error in the current zigzag_ring_attn's implementation:
https://github.com/zhuzilin/ring-flash-attention?tab=readme-ov-file#limits
"There are some arithmetic errors with the current implementation. The reason for them is probably that flash attention will return bf16 value for each block, so we cannot accumluate the values with the original fp32 ones."

It is probably caused by the numerical error in the current zigzag_ring_attn's implementation:
https://github.com/zhuzilin/ring-flash-attention?tab=readme-ov-file#limits
"There are some arithmetic errors with the current implementation. The reason for them is probably that flash attention will return bf16 value for each block, so we cannot accumluate the values with the original fp32 ones."

I see. Any plan to fix it?

It would be nice if you could give me some detailed instructions (including model weights) about how to reproduce your error first.

It would be nice if you could give me some detailed instructions (including model weights) about how to reproduce your error first.

Thanks for your kindly help. Finally, I figured out the problem. It's not by bf16 or fp32, but the torch.exp overflow in ring-flash-attention.
Line 19 "new_lse = lse + torch.log(1 + torch.exp(block_lse - lse)) " in file https://github.com/zhuzilin/ring-flash-attention/blob/main/ring_flash_attn/utils.py
I fixed it by using logsigmoid:
_logSigmoid = torch.nn.LogSigmoid()
new_lse = lse - _logSigmoid(lse - block_lse)

@microhu That is really nice!  I think submitting a PR to the ring-flash-attention repo would be very helpful!

@microhu Glad you resolved the issue! Would you consider submitting a PR to the ring-flash-attention repo? That would be very helpful!.

Done


[Documentation] Please consider specifying in the main README clearly which version of wxwidgets are supported

It would be useful to clearly state which versions of wxwidgets are supported.
I'll compile wxWidgets <IP_ADDRESS> soon and then I will install the latest wxRuby3, but
right now I do not know whether that works. This is why I think it would be very
useful if wxRuby3 could on the main README clearly state which version of
wxwidgets are supported. That way people quickly know whether they should
give the latest wxwidgets a try or stay to some more "stable" variant instead.
Please consider this documentation-request. Thank you for reading.
(PS: If I have missed it perhaps it could be made more prominent, like a
markdown table or something. Right now I do not know if and which
version scheme wxruby3 follows.)

The first item of the FAQ on the main README pretty clearly states which platforms (OS and wxWidgets versions) are currently supported.


Add Scala - SBT example

Awesome, thanks for this! This will resolve https://github.com/actions/cache/issues/59

Ah, just noticed https://github.com/actions/cache/issues/59#issuecomment-552846834. This example only works for SBT < 1.3 (with Ivy), or SBT 1.3+ with Coursier disabled (which will fallback to Ivy). Seems like the cache size limit is too small for Coursier at the moment.

@daniel-shuy Will this example work with Coursier as-is once the cache size limit is increased?  We expect to rollout the size increase early next year.

@daniel-shuy Will this example work with Coursier as-is once the cache size limit is increased? We expect to rollout the size increase early next year.

Unfortunately no, the configuration for Coursier is very different


Update Curriculum

Hi Shubham, thanks for the PR. Do you also have it deployed somewhere so that I can see before I merge the PR?
If you don't have it already, deploy it somewhere and share the link here (you can take a look at this)


NodePattern: Use stricter criteria for children count

This improves the checking for some node patterns (variadic with positive minimum number of terms).
E.g.: (array <int ...>) produced code with condition node0.children.size >= 0 instead of node0.children.size >= 1. This had no actual consequence though expect being less efficient, because the code to check for the orderless children would still work properly.
This will come in handy for future work (e.g. #6726)

Thanks!