No sound when timer finished

To Install my Wyoming satellite on my Raspberry 3 I use the tutorial_installer.md.
I don't know where I can select to have a sound when my timer is finished ?
thx for your help

~/wyoming-satellite/script/run --help
  --timer-finished-wav TIMER_FINISHED_WAV
                        WAV file to play when a timer finishes
  --timer-finished-wav-repeat repeat delay
                        Number of times to play timer finished WAV and delay between repeats in seconds

Edit your service file or run command to include the above argument/s

thx but I'm quiet a newbie I don't know how to edit the service file... when I run --help I have some Errors.

I've edited my service file like this but no sound at the end of the timer...

I have just tested this and the problem seems to be with the timer_finished.wav file.
If  you copy and rename either awake.wav or done.wav to timer_finished.wav and overwrite the file to the /wyoming-satellite/sounds/folder then reboot the device it now plays once the timer is complete.
at least thats what I just tried and it worked.
whats the audio format of the wav sample ?? looking at them in Audacity they show as Microsoft wav 22050Hz Mono 32bit float.
I tried to replace the files with my own saved in the same format but they refuse to play so they must be a specific format for this.
reading the destructions again , testing the record fuction it uses  "arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t wav -d 5 test.wav"  so maybe the sample rate is 16000 not 22050 that Audacity found.
Any ideas or do I need to keep testing

im having the same issue, no awake/timer/done sound is playing. Tried absolute path and local path, no bueno :(.. i really need this

If the awake.wav & done.wav both play from the default sounds/awake.wav & sounds/done.wav folder then the path to the sound files is working and the sounds/timer_finished.wav should work unless you tried to use your own timer_finished.wav file.
Have you split the long command up into small parts with a trailing \ after each command ? it could be a hidden extra space after the \ that you can not see . it could be a missing \ or the last command may have a \ when it should not have one, python syntax like most code is very very picky, any problems and it just will not work, wrong indents, missing quotes and even spaces.
here is part of my current working code from wyoming-satellite.service that works perfectly
--uri 'tcp://<IP_ADDRESS>:10700' \
--mic-command 'arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \
--snd-command 'aplay -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \
--snd-command-rate 16000 \
--snd-volume-multiplier 0.5 \
--mic-auto-gain 1 \
--mic-noise-suppression 2 \
--vad-threshold 0.5 \
--wake-uri 'tcp://<IP_ADDRESS>:10400' \
--wake-word-name 'hey_jarvis' \
--event-uri 'tcp://<IP_ADDRESS>:10500' \
--awake-wav sounds/awake.wav \
--done-wav sounds/done.wav \
--timer-finished-wav sounds/timer_finished.wav \
--timer-finished-wav-repeat 10 2

the next code below is the same code from above that does not work because there is a space after the \ on the sounds/done.wav \ line, you can not see it with the naked eye but it is there and it will ruin the syntax of the command
--uri 'tcp://<IP_ADDRESS>:10700' \
--mic-command 'arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \
--snd-command 'aplay -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \
--snd-command-rate 16000 \
--snd-volume-multiplier 0.5 \
--mic-auto-gain 1 \
--mic-noise-suppression 2 \
--vad-threshold 0.5 \
--wake-uri 'tcp://<IP_ADDRESS>:10400' \
--wake-word-name 'hey_jarvis' \
--event-uri 'tcp://<IP_ADDRESS>:10500' \
--awake-wav sounds/awake.wav \
--done-wav sounds/done.wav \
--timer-finished-wav sounds/timer_finished.wav \
--timer-finished-wav-repeat 10 2

if you left click and highlight the code above you should be able to see the extra space that will become visable after the \ .
post a reply here with your code if you are still stuck and you may be able to get help once we can see the code you are using.


Minor changes to get majority of tests running with ES5

This introduces a feature flag and test matrix so that we can start to ensure that queries work for ES5. I've kind of hacked scan for now as I've tried to be minimal in test changes but perhaps we can just have it not be defined when the flag is set and that we add alternative tests for the modern variants.
There are currently 3 tests which are ignored as they need changes to how the tests are written (as they don't seem to setup any mappings from what I can tell). Should we consider these a blocker for merging?

Thanks for this 😃 This is exactly what I had in mind for using feature flags to support multiple ES versions, but hadn't got around to implementing myself.
Regarding your question about the ignored tests: I don't think this is a block to merging, I'll add a comment to the README saying the default is ES 2, with optional partial support for ES 5. It may be a requirement before we changed the default from ES 2 to ES 5 (or higher), but there's also a number of other things that would be needed before we got to that point anyway.

This has been published as 0.12.1

Regarding your question about the ignored tests: I don't think this is a block to merging, I'll add a comment to the README saying the default is ES 2, with optional partial support for ES 5. It may be a requirement before we changed the default from ES 2 to ES 5 (or higher), but there's also a number of other things that would be needed before we got to that point anyway.

Cool, thanks for the update :)
Thanks for publishing!


Fail if danger-js version is below the minimum supported version

As discussed on https://github.com/danger/swift/issues/131 would be good if danger-swift would fail if the danger-js used version is not supported.
It would avoid problems like the one we had when we introduced --passURLForDSL argument, that was not supported before the 6.1.2

Warnings

:warning:

Any changes to library code should be reflected in the Changelog.
Please consider adding a note there and adhere to the Changelog Guidelines.

  Generated by :no_entry_sign: dangerJS against 4d57d926a78269361026fa324342a76ffd8f270f

merge on green

great call


"Encrypted password" is actually "Hash" of the password. Does it need to be renamed?

Currently, the column designated for the hashed value of the password is named "encrypted_password". While I understand the historical context, I've noticed that this term could potentially be a bit misleading for some users.
For clarity and user experience, It would be helpful to rename this column to something like "password_hash" or another relatable name. If suitable/possible we can just give an alias_name in the codebase. This adjustment could help avoid confusion and create a more intuitive environment for users interacting with the database directly. Much Appreciate your work. TIA.

I also was confused / amused by the encrypted_password name. Note that in the code it mentions that it is named like this for legacy reasons:
https://github.com/heartcombo/devise/blob/a259ff3c28912a27329727f4a3c2623d3f5cb6f2/lib/devise/models/database_authenticatable.rb#L62-L68
How would one implement a rename of the field in a backwards compatible manner? I imagine something like this:

Add password_hash alias to database_authenticatable: This allows to use password_hash in most places in the code, without needing to change anything else.
Rename the encrypted_password field in the DB to password_hash, the generated migrations, providing an update path when upgrading the gem and add a deprecated alias encrypted_password to the new password_hash

Or maybe allow to use either password_hash or encrypted_password as the DB field name as an intermediate step?


[BUG] string error response in GET /_alias for not existing index alias

Describe the bug
The OpenSearch returns an error as a String instead of an Error object.
Because of that, we have to create a special ErrorHandler in the opensearch-java client.
To Reproduce
Run OpenSearch with docker-compose and open:
http://localhost:9200/_alias/test
see the response, and then compare with:
http://localhost:9200/not_existing_index/_search -> the error format is unified.
Expected behavior
The API returns an Error object instead of a plain string.
Plugins
None.
Screenshots
https://localhost:9200/_alias/not_existing_alias response:

An example proper API error:

Host/Environment (please complete the following information):

Docker
OpenSearch 1.3.7

Additional context
See this GitHub issue:
https://github.com/opensearch-project/opensearch-java/issues/301
and
https://github.com/opensearch-project/opensearch-java/pull/399
OpenSearch code returning this error:
https://github.com/opensearch-project/OpenSearch/blob/8e0edee3d403e5f2339d176b800e9e5df1372692/server/src/main/java/org/opensearch/rest/action/admin/indices/RestGetAliasesAction.java

Hi! Could I take on the resolution of this issue?

Fixed by https://github.com/opensearch-project/opensearch-java/pull/476


align=center sometimes doesn't work in Windows 10's Mail App

outlook.com

gmail

Windows 10's Mail App

Try it here: https://mjml.io/try-it-live/SyIE3YubZ
mjml code:
<mjml>
  <mj-head>
    <mj-attributes>
      <mj-all align="center" />
    </mj-attributes>
  </mj-head>
  <mj-body>
    <mj-container>
      <mj-section>
        <mj-column>
          <mj-text font-weight="100" font-size="48px" line-height="48px" color="#555" mj-class="f-os">
            should be centered
          </mj-text>
          <mj-link href="https://mjml.io" font-weight="100" font-size="48px" line-height="48px" color="#3498db" text-transform="none" padding="0">
            should be centered
          </mj-link>
        </mj-column>
      </mj-section>
      <mj-section background-color="#fff">
        <mj-column>
          <mj-section padding="10px">
            <mj-section background-color="#27ae60" border-radius="10px">
              <mj-link href="https://mjml.io" font-size="25px" line-height="30px" color="#fff" mj-class="f-r" text-transform="none" padding="5px">
                should be centered
              </mj-link>
            </mj-section>
          </mj-section>
          <mj-link href="https://mjml.io" font-weight="100" font-size="35px" color="#3498db" mj-class="f-r" text-transform="none">
            should be centered
          </mj-link>
        </mj-column>
      </mj-section>
    </mj-container>
  </mj-body>
</mjml>

I tried this and didn't work as well:
    <mj-style inline="inline">
      * { text-align: center !important; }
    </mj-style>

Hi @luisrudge
Well there's some issues in your code and I believe this is why it doesn't work :

mj-link is only for inline-links component, you can read more about mj-navbar here: https://mjml.io/documentation/#mjml-navbar
We don't support nesting mj-section inside mj-column. ( Even if some people are doing it and have no issue with it see #580 )

I'm closing the issue feel free to reopen if needed

Something similar happens to me with my mail.

https://mjml.io/try-it-live/ry_CPiNMb

Hello @ajorquera91
It's a separate issue but looks like you more than 100% of content in a section ( column 100% + 88% in the same section ).

Hello @iRyusa
You were right :).
Really thanks.


Is this library still maintained?

This library seems to be great, but it has many issues, and I get the impression that is not maintained anymore.
The bug of keyboard being on top of the text input is present, which is fixed by this https://github.com/FaridSafi/react-native-gifted-chat/issues/680#issuecomment-377662861
I get this error:

Setting a timer for a long period of time, i.e. multiple minutes, is a performance and correctness issue on Android as it keeps the timer module awake, and timers can only be called when the app is in the foreground. See https://github.com/facebook/react-native/issues/12981 for more info.
(Saw setTimeout with duration 1800000ms)

And also this one

Warning: ListView is deprecated and will be removed in a future release. See https://fb.me/nolistview for more information

And giftedchat is using a very old version.
Also in Chat.js line 177, there is this line
height: Platform.OS === 'ios' ? height : height - height / 25,
which causes issues with other navigation headers, changing it with
height: '100%'
can be an option.
So my request is that this library still get maintained, since its great. (specially since its official from LiveChat)

Agreed. I have some problems as well, an example of this is that I cannot see the chat bubbles at all when chatting...

@Alenius I'm currently attempting to resolve this issue. I have a feeling it has to do with an outdated livechat-vistor-sdk.

To be honest, this package is so old most all of its dependencies need updating.

having the same issue/feeling ....most dependencies are very old and now with react-native .60 this library  crashes from the beginning as there are features such as list view no longer supported .

@IsaacHardy I have tried to connect to utilize the sdk via the .min.js-file but I can't even use init for some reason, have you succeeded? I really want this to work, even if I have to implement everything from scratch by myself except the sdk connection.

i replaced the SDK with version 0.35.2. and it compiles without any issue. however, the messages are not sent. ( no matter what sdk version sdk i use) . any idea ?

Same here. Any forks that solve the issue with sending messages?

@Alenius I'm in the same boat still. I've attempted to update the necessary packages and I've even replaced the .min.js file with the latest with no avail.
I've decided to suggest a different solution for my client until I can spend more time "resolving" LiveChat's own product package.

@IsaacHardy  "I've decided to suggest a different solution for my client until I can spend more time "resolving" LiveChat's own product package. "  did the same here xD xD
the SDK doens't seem to send messages with me

same here... i abandoned this library .. its useless


Install Packer

Whoops, accidental public pull request?

Yes. Sorry abouy that, the GH UI failed me and went to this repo instead of our own.

No sweat! If you want me to email GH support to delete, happy to

I'd love to get some of those changes into master @evilmarty, let us know if you ever feel inclined to discuss your usecase and how we might upstream some of the things you need.

@lox definitely. Just trying to complete things on our end and wrap up the pipeline and I'll introduce those changes as bite-size chunks.


typo fix

@yucwan : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Equivalent RegionInfo "2 char ISO Codes" for government regions

What are the equivalent "RegionInfo" codes for usgovvirginia etc?
Some APIs only support "2 char codes"?
Since there probably isn't a "2-letter ISO code" for usgovvirginia, what should be used?
https://msdn.microsoft.com/en-us/library/azure/mt219004.aspx Indicates:
•Set {RegionInfo} to the 2 letter ISO code where the offer was purchased.

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

ID: 2a6b8431-b6f6-8465-01d2-f66f6f4d98f7
Version Independent ID: 607755a8-442e-7b74-a98d-07b86111eb78
Content: Azure Government Connect with PowerShell | Microsoft Docs
Content Source: articles/azure-government/documentation-government-get-started-connect-with-ps.md
Service: azure-government
GitHub Login: @gsacavdm
Microsoft Alias: gsacavdm

@HerbM Thank you for your feedback! We have assigned this issue to the author to investigate further and take the right course of action.

@HerbM , for Gov, you should also use RegionInfo eq 'US'.
This is because the RegionInfo value isn't 1-to-1 with data centers, as noted in the example in from the doc you referenced:

The following example demonstrates a Monetary Credit offer query on a given subscription, where OfferDurableId = ‘MS-AZR-0121p’ for the United States region (US), rates are returned in US Dollars (USD), and metadata is localized for the US English locale (en-US).
https://management.azure.com/subscriptions/{subscription-Id}/providers/Microsoft.Commerce/RateCard?api-version=2015-06-01-preview&$filter=OfferDurableId eq ’MS-AZR-0121p’ and Currency eq ’USD’ and Locale eq ’en-US’ and RegionInfo eq ’US’

Note that the RegionInfo isn't specifying a data center like West US or East US2, rather just US.
@mike-urnun-msft , can you please close this issue?

@HerbM We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Remove duplicate packages from database

There are a few packages that are published twice, once in mixed-case, once in all lowercase. As Github repository URLs are case insensitive, they point to the exact same code.
This applies to the following packages:

xerono/pinnablecache
warry/ascii-table
swiftsnamesake/euclidean-space
punie/elm-matrix
luftzig/elm-quadtree
joeandaverde/flex-html
janiczek/cmd-extra
ggpeti/elm-html-decoder
fresheyeball/elm-cardinal
engagesoftware/elm-dnn-localization
elm-canvas/raster-shapes
elm-canvas/element-relative-mouse-events
airtucha/pathfinder

@evancz This was resolved in the upgrade to Elm 0.19, right?


Sync Features dictionaries

This PR adds a wrapper to the Features class to keep the secondary dict, _column_requires_decoding, aligned with the main dict (as discussed in https://github.com/huggingface/datasets/pull/3723#discussion_r806912731).
A more elegant approach would be to subclass UserDict and override __setitem__ and __delitem__, but this PR doesn't implement it for the following reasons:

it requires replacing all occurrences of isinstance(obj, dict) with isinstance(obj, Mapping), which is five times slower than isinstance(obj, dict) on my machine, in features.py
is a breaking change, i.e., isinstance(Features(...), dict) would return False after it
IMO, it makes sense to be consistent in the user-facing API and subclass either dict or UserDict. The problem with the latter is that it can't be used for DatasetDict because DatasetDict exposes the data property, which is also used by UserDict, so this would result in a collision.

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


Response of the restful api can not deserialize to the types generated from ha.proto

Describe the bug
the type of 'CypherResult.Result' is 'RepeatedField < ListOfProtoFieldData > '. serialized json should be like '[{"values":[xxx]}]' when calling function 'Google.Protobuf.JsonFormatter.Default.Format', while the json responsed from restful api "/cypher" is like '[[xxx]]'.
exception 'Google.Protobuf.InvalidProtocolBufferException:“Expected an object”' catched when calling function 'CypherResult.Parser.ParseJson'.
To Reproduce
Steps to reproduce the behavior:

protoc ha.proto --csharp_out .
var json = "{"elapsed":0.0003452301025390625,"header":[{"name":"n","type":1}],"result":[["{\"identity\":0,\"label\":\"person\",\"properties\":{\"born\":1961,\"id\":2,\"name\":\"Laurence Fishburne\",\"poster_image\":\"https://image.tmdb.org/t/p/w185/mh0lZ1XsT84FayMNiT6Erh91mVu.jpg\\\"}}\"]],"size":1}";
var result = CypherResult.Parser.ParseJson(json);
See error

https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/json/internal/parser.cc

We guarantee that the server will return the result in json format. We do not guarantee that the result can be serialized by protobuf. In the follow-up plan, the return of protobuf result will be supported, so stay tuned

Reusing the basic capabilities of protobuf is more conducive to the development of TuGraph ecosystem. Strongly recommended to include it in the next milestone.

We guarantee that the server will return the result in json format. We do not guarantee that the result can be serialized by protobuf. In the follow-up plan, the return of protobuf result will be supported, so stay tuned


add type argument to S.get, S.gets, and S.pluck

The fact that S.get returns a value of type Maybe * has bothered me for some time. I find myself filtering the result to ensure I have a value of the expected type. For example:
R.pipe(...,
       S.get('x'),
       R.filter(R.is(Number)),
       ...)

This pull request adds a type specifier to S.get, S.gets, and S.pluck. The above will become:
R.pipe(...,
       S.get(Number, 'x'),
       ...)

The current loose behaviour can be approximated by S.get(Object). It's no longer possible to get null/undefined values. If this is important we could export an Any pseudotype, where Any contains every JavaScript value. Unless there's a use case, I'd prefer not to export and document S.Any.
These changes build upon the foundation laid by #63. I've included a section explaining the Accessible pseudotype, as it's now used in type signatures.
One question I have is how to link Type and a in a signature such as:
get :: Type -> String -> Accessible -> Maybe a

Any suggestions?

This should be really useful @davidchambers!
I think saying Typeof a is very readable, but there's possibly a better convention out there somewhere.

One question I have is how to link Type and a in a signature

You could use the syntax for a class constraint.
get :: Type a => Type -> String -> Accessible -> Maybe a

You could use the syntax for a class constraint.
get :: Type a => Type -> String -> Accessible -> Maybe a

Since a is already a type variable, I'm not sure what information the Type a constraint adds. Also, I don't see how this relates the return type to the type of the first argument.

I think you have to be the type checker in this case. Look at where Type flows through your program, and make the decision based on that.
It is sent to is in get
In is it is compared to Accessible. So it should probably have a type like: () -> Accessible.
It also is used as the RHS of instanceof on the same line. So, it must be a constructor. Since what it is checked against is a value (the a) it should have a type like: () -> a.
Combine the two types and you end up with something like: () -> (Accessible | a), where | represents a union.
So putting it all together you get something like:
get :: (() -> (Accessible | a)) -> String -> Accessible -> Maybe a

@joneshf, I don't understand how you arrived at () in () -> (Accessible | a). Are you using () to indicate zero arguments? Take String as an example of a type:
> String(42)
'42'
> String(null)
'null'

This suggests we have something like String :: * -> String. But the "constructor" can be given no arguments (in which case it returns ''). Then we have RegExp which accepts multiple arguments. So perhaps we should replace Type with *... -> a. But there are an infinite number of functions which return a value of type a for any given a, not just the a constructor.
How about this?
get :: A -> String -> Accessible -> Maybe a

This would mean we're treating single-letter identifiers—rather than lower-case identifiers—as type variables. This is a deviation from Haskell, but the correspondence between A and a is quite nice.

One thing that might work is
TypeRep a -> String -> Accessible -> Maybe a

This is more exact since the values like Number are value-level representatives of types, not types themselves (this is confusing nomenclature in Javascript, since the word "type" is so overloaded, but it is certainly accurate).
We can imagine an indexed family of types of kind TypeRep : * -> * where for each type a, TypeRep a has exactly one value—a singleton. This value represents the types at the value level.

@tel, are you suggesting that Number is the sole value of the TypeRep Number type? I want to make sure I've understood your comment. :)

Yeah, exactly! We cannot instantiate this type directly in Haskell, but it'd look a bit like this
data TypeRep a where
  Number :: TypeRep Number
  Array :: TypeRep a -> TypeRep (Array a)
  ...

The difficulty is that in Haskell we need to ultimately close the type (end it after finitely many variants have been specified) yet we're allowed to continue specifying new types afterward. Worse, there's no way to get values at TypeRep (TypeRep X), e.g.
But ignoring those issues that's the exact idea.

Okay. I like the idea. Do these changes seem right?
- is :: Type -> a -> Boolean
+ is :: Type a -> b -> Boolean

- Maybe :: Type
+ Maybe :: Type Maybe

- Maybe#type :: Type
+ Maybe#type :: Type Maybe

- Either :: Type
+ Either :: Type Either

- Either#type :: Type
+ Either#type :: Type Either

- pluck :: String -> [{String: *}] -> [Maybe *]
+ pluck :: Type a -> String -> [Accessible] -> [Maybe a]

- get :: String -> Object -> Maybe *
+ get :: Type a -> String -> Accessible -> Maybe a

- gets :: [String] -> Object -> Maybe *
+ gets :: Type a -> [String] -> Accessible -> Maybe a

Unless there's a compelling reason to use TypeRef rather than Type, I'd prefer to stick with the latter since we're already using it (S.Just(42).type, for example, evaluates to S.Maybe).

I suppose those work, but using Type directly feels very confusing to me. Maybe :: Type Maybe at the value level certainly isn't a type after all! Generally that's looking good though.

Yeah, TypeRef is much better. I'll update the type signatures but leave the type property alone for now. We can consider renaming it typeref or typeRef in a separate pull request.

I've changed occurrences of Type in type signatures to TypeRep (not TypeRef as I mistakenly wrote in earlier comments).
Setting aside type signatures for a moment, do others agree with the API change in question? Do you find the rationale compelling, @svozza?

I definitely like this, the main issues I used to have with gets was that often there'd be a chance that they'd just be wrapping nulls, which meant I actually avoided using it. Big +1 from me.


Update renovate configuration

Base in config base preset and disable dependency board as it creates
issues instead of PRs.
Change-type: patch
Signed-off-by: Alex Gonzalez<EMAIL_ADDRESS>

@balena-ci retest


Replace admin:admin default credentials with configuration file password

This issue describes the tasks required to replace the basic admin:admin default credentials with an alternative method which takes a provided password from the openseach.yml file to be used as the default password. This issue results from:
Feedback from @peternied and @cwperks on a spike I created.
While I think OTP could be a useful feature down the road, specifically for addressing requests to be able to run as a superadmin while SSL is disabled, for now, we can start with making the default password configurable via a configuration file value and a env. variable.
Craig said:
"
I like this approach and have seen it used in a number of places. Here's an example for keycloak where its passed in as an env variable in a docker-compose file:
version: '3'
services:
  postgres:
      image: postgres
      volumes:
        - postgres_data:/var/lib/postgresql/data
      environment:
        POSTGRES_DB: keycloak
        POSTGRES_USER: keycloak
        POSTGRES_PASSWORD: password
  keycloak:
      image: quay.io/keycloak/keycloak:legacy
      environment:
        DB_VENDOR: POSTGRES
        DB_ADDR: postgres
        DB_DATABASE: keycloak
        DB_USER: keycloak
        DB_SCHEMA: public
        DB_PASSWORD: password
        KEYCLOAK_USER: admin
        KEYCLOAK_PASSWORD: Pa55w0rd
        KEYCLOAK_FRONTEND_URL: http://localhost:8080/auth
        # Uncomment the line below if you want to specify JDBC parameters. The parameter below is just an example, and it shouldn't be used in production without knowledge. It is highly recommended that you read the PostgreSQL JDBC driver documentation in order to use it.
        #JDBC_PARAMS: "ssl=true"
      ports:
        - 8080:8080
      depends_on:
        - postgres

volumes:
  postgres_data:
      driver: local

networks:
  opensearch-net:

I'd like to try to keep the simplicity of starting a demo cluster with docker-compose, where someone trying to start a cluster with the sample docker-compose.yml file can do docker-compose up and the cluster is brought up.
With the env variable approach, there would be one additional step to bring up a node or starting the cluster with docker. It would be to supply OPENSEARCH_ADMIN_PASSWORD or the node could not be brought up. A sample docker-compose.yml file for a single node could look like:
version: '3'
services:
  opensearch-node1: # This is also the hostname of the container within the Docker network (i.e. https://opensearch-node1/)
    image: opensearchproject/opensearch:latest # Specifying the latest available image - modify if you want a specific version
    container_name: opensearch-node1
    environment:
      - cluster.name=opensearch-cluster # Name the cluster
      - node.name=opensearch-node1 # Name the node that will run in this container
      - discovery.seed_hosts=opensearch-node1,opensearch-node2 # Nodes to look for when discovering the cluster
      - cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2 # Nodes eligible to serve as cluster manager
      - bootstrap.memory_lock=true # Disable JVM heap memory swapping
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" # Set min and max JVM heap sizes to at least 50% of system RAM
      - "OPENSEARCH_ADMIN_PASSWORD=w3akP@ssw0rd2023!"
    ulimits:
      memlock:
        soft: -1 # Set memlock to unlimited (no soft or hard limit)
        hard: -1
      nofile:
        soft: 65536 # Maximum number of open files for the opensearch user - set to at least 65536
        hard: 65536
    volumes:
      - opensearch-data1:/usr/share/opensearch/data # Creates volume called opensearch-data1 and mounts it to the container

In addition to admin:admin being widely known there are a few other widely known secrets too:
The admin certificate and key should also be treated as a default password (they are) and anyone connecting with them can do anything
`kibanaserver:kibanaserver`

"
And I agree.
The tasks required for these are listed on the document linked above, so I won't duplicate them here. Support for the configuration file will be prioritized first but both should ultimately be supported.
The tasks required to complete this include:

[x] Add new blank configuation file to config (1 hour)
[ ] Update documentation (1 hour)
[x] Add code to parse the provided doc on launch (1 hours)
[ ] Reconcile configuration issues for multi-node clusters (1 day)
[ ] Make sure nodes sync admin credentials in config to match the provided config (1 day)

Going to add the configuration value to the opensearch.yml file instead of as a separate file.

I was able to confirm the setting parsing etc. is correct but there is still an issue I am facing with how to populate the updated password. I think the way to go is to hash the password and then use it to update the internal users configuration using the UserService. This is nice because we know this will be consistent and it reuses a lot of the logic.
The issue is determining when the config is accessible... still not sure how to do that.

I made a different solution which just modifies the yaml file directly during the creation of the configuration repository. Going to ask Craig which he thinks seems like a better idea... I am not convinced by either.

The easy part is done: add in a setting which someone can provide a new password to use as the default; if they don't provide one we use "admin" like before

This goes against the spirit of this work: to not have admin:admin as a default. If they don't provide it and we use that as a default, we are back to square one.

@scrawfor99 This is the current block where all internal_users are created: https://github.com/opensearch-project/security/blob/main/src/main/java/org/opensearch/security/configuration/ConfigurationRepository.java#L155-L161
It would be great if the admin password can be hashed and saved in the internal user list in the same call as it is now. As Dave said above, no default, if the setting is missing the node should not be brought up. That being said, I would support adding this into the install_demo_configuration scripts and having a demo value as default with a log warning a user that they are relying on demo values and should be changed when using in a production environment.
Implementation wise, I think what you mentioned about editing yaml files is on the right track but no files need to be edited directly.
In the startup flow the internal_users.yml file is read in with this call: https://github.com/opensearch-project/security/blob/main/src/main/java/org/opensearch/security/support/ConfigHelper.java#L88
Following the call stack it leads down to fromYamlReader here: https://github.com/opensearch-project/security/blob/main/src/main/java/org/opensearch/security/support/ConfigHelper.java#L157
Do you think it makes sense to add a condition in this block that if ctype is CType.INTERNAL_USERS that it calculates the hash and assigns the hash to the admin user within there?

@davidlago, I understand that the intention is to replace the default admin password. However, there is no way to use a setting if we don't provide a default. We cannot have it empty as that will not allow any of the demos to work. If we want an out-of-the-box demo with securtiy to work, we either have to provide a password in all of the demo scripts--bringing us to where we are now--or set a default setting value as I did.
If we do neither of these the demos will not work. I was under the impression that this change was not expected to remove any functionality so was going to do the best I could to remove the defaults but still provide coverage where needed. If you are fine breaking the demos than I will remove any safe guards against an empty field.

Hi @cwperks, thanks for taking a minute to provide some more thoughts. See above about my concerns for completely removing any default.
If @davidlago is okay with breaking out-of-the-box demos then I will do it, but I did not want to do that on my own.
For your other suggestions, I will take a look. I had not messed with the ConfigHelper yet so maybe that will work well. I did you try directly modifying the configuration repository before but I will give it another shot with the route you mentioned.

I think it is acceptable that if you don't provide a value for something as important as an admin password, we fail to start the cluster.
I would decouple the problems into

Making sure we don't have defaults and one must be provided to start the cluster. Provided how?
a. Configuration file (this issue)
b. Environment value (#3286)
Deal with the logistics of how demos and out-of-the-box container images work after this change. Perhaps have the demo scripts auto-generate a password and spit it out as part of the script output?

We can, also separately, think about what the backport and breaking changes considerations are as we merge any/all of these to 2.x. For example, we will have to have both 1 and 2 above before we backport all of them at once into 2.x, or else we'll be breaking demos.

Hi @davidlago, sounds good. Sorry for the confusion on my end. To be clear, I did recognize that some of the changes I was proposing may seem counterintuitive but the intention was to preserve the demo scripts. I will remove that support.

We can still preserve them, and adapt them to work with whichever new more secure approach we use... just not necessarily as part of this PR.

I added a change to the SingleClusterTest so that every integration test will have a password to use but if one is not provided we throw a RTE.

[Triage] This issue is a common request and important for OpenSearch to exercise best security practices. Going to mark as triaged.


Initial CLI integration test

Includes addition of logback as the production runtime logger for the CLI
Adds a resource to be included in a package under src/main/resources

I forgot that I cheated with this IT and hard-coded an IP address.  I'm going to withdraw this PR and re-submit.


some tricks in ssz

The current way of ssz has some flaws

the array length is different in different preset(mainnet_preset and minimal_preset), this mainly affects encode and decode
like HistoricalBatch, in fact the block_roots and state_roots are both array type, not Slice, but in different preset, the length is different

// 8192 in mainnet_preset and 64 in minimal_preset
pub const HistoricalBatch = struct {
    block_roots: []primitives.Root,
    state_roots: []primitives.Root,
};

maybe we can use union to solve the problem, like types in different forks
pub const BeaconBlockBody = union(primitives.ForkType) {
    phase0: phase0.BeaconBlockBody,
    altair: altair.BeaconBlockBody,
    bellatrix: bellatrix.BeaconBlockBody,
    capella: capella.BeaconBlockBody,
    deneb: deneb.BeaconBlockBody,
    electra: deneb.BeaconBlockBody,
};

when caculate the hashRootTree of a Slice type, we must know the limit of the slice, like attesting_indices field in
IndexedAttestation type

pub const IndexedAttestation = struct {
    // # [Modified in Electra:EIP7549] size: MAX_VALIDATORS_PER_COMMITTEE * MAX_COMMITTEES_PER_SLOT
    attesting_indices: []primitives.ValidatorIndex,
    data: AttestationData,
    signature: primitives.BLSSignature,
};

we can add a attrs to present the limit for Slice, the field in attrs represent the limit of corresponding properties
pub const IndexedAttestation = struct {
    // # [Modified in Electra:EIP7549] size: MAX_VALIDATORS_PER_COMMITTEE * MAX_COMMITTEES_PER_SLOT
    attesting_indices: []primitives.ValidatorIndex,
    ...
    pub const attrs = struct{
         .attesting_indices = limit
   }
};

or we can consider using codegen, so some other information can be present in comments, just like tag in golang
pub const IndexedAttestation = struct {
    attesting_indices: []primitives.ValidatorIndex, // add additional information here
    data: AttestationData,
    signature: primitives.BLSSignature,
};

Our goal is that building a high performance ssz lib such as https://www.youtube.com/watch?v=WIu4PGDZOqI

https://github.com/ghiliweld/sszb the lib

https://github.com/karalabe/ssz


Tag version 1.2.1 has not been released to CocoaPods, yet.

I don't know how active things are at the moment but it would be great to have 1.2.1 released for cocoapods, much appreciated.
https://github.com/CocoaPods/Specs/tree/9543734012238c33ea018af5a4381459c13f0916/Specs/0/6/4/APNGKit
Thanks!

1.2.2 was released with CocoaPods support.


chore(main): release 1.0.1

:robot: I have created a release beep boop
1.0.1 (2023-12-18)
Bug Fixes

IDE global fetch warning (#27) (5dba066)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/fedonev/lambda-params-secrets/releases/tag/v1.0.1 :sunflower:


Autotests

My name is Alexey and I am writing a project of autotests, covering the bot telegram through your library in the company. Please tell me why Telegram marks my frequent requests as a flood? If I make, for example, 10 requests in 5 seconds, then he will tell you to wait 25 seconds to avoid flooding and then I can send requests again, but after 10 requests, wait again. How can I avoid this?

Flood limits can't be avoided.


Custom hint for the code actions bulb

It would be nice to have a possibility to change the hint for the code actions bulb. Code actions are often being used for other things except for code fixes. For example, in mongodb we would like to use it for partial playground execution: https://github.com/mongodb-js/vscode/pull/318
It can be confusing for users and prevent them from discovering the feature.

Maybe there's a way already how to do it, but I didn't find the API?

I'm going to update the tooltips to be more generic
I don't think we can easily make this customizable by extension since multiple extensions can contribute code actions

Thank you, it totally works for us!


Support PDFs

Someone inscribed the bitcoin whitepaper, so we should support PDFs:
https://ordinals.com/content/85b10531435304cbe47d268106b58b57a4416c76573d4b50fa544432597ad670i0

PDFs may be hard to support:
https://github.com/whatwg/html/issues/3958
https://bugs.chromium.org/p/chromium/issues/detail?id=413851
Chrome renders PDFs with a plugin, and plugins aren't allowed inside sandboxed iframes. Inscription previews are all iframes, so we would have to un-sandbox iframes containing PDFs. This would suck, since it breaks our current model of not needing to know anything about inscriptions to render them, just instantiate an iframe with the right /preview URL.
PDFs are also pretty bonkers in general. They can contain scripts, and do other wacky things. Our best option may be to use some kind of PDF preview service, or render them using JS.

The way to do this is probably https://github.com/mozilla/pdf.js.

It is done, and it wasn't even that bad!


🚀 | Phniebox running as non root user

Feature Description
What functionality would you like to see in your phoniebox?
Run phoniebox as normal user. I want to get rid of phoniebox commands show up in auth.log
Is that possible?
How do you envision the feature to work from a users perspective?
pi@pipi01:/var/log $ sudo tail -n 10 auth.log
Jan  3 23:22:12 pipi01 sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan  3 23:22:12 pipi01 sudo: pam_unix(sudo:session): session closed for user root
Jan  3 23:22:12 pipi01 sudo: www-data : TTY=unknown ; PWD=/home/pi/RPi-Jukebox-RFID/htdocs/api ; USER=root ; COMMAND=/home/pi/RPi-Jukebox-RFID/scripts/playout_controls.sh -c=getvolume
Jan  3 23:22:12 pipi01 sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan  3 23:22:12 pipi01 sudo: pam_unix(sudo:session): session closed for user root
Jan  3 23:22:13 pipi01 sudo: www-data : TTY=unknown ; PWD=/home/pi/RPi-Jukebox-RFID/htdocs/api ; USER=root ; COMMAND=/home/pi/RPi-Jukebox-RFID/scripts/playout_controls.sh -c=getchapters
Jan  3 23:22:13 pipi01 sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan  3 23:22:13 pipi01 sudo: pam_unix(sudo:session): session closed for user root
Jan  3 23:22:16 pipi01 sudo:       pi : TTY=pts/0 ; PWD=/var/log ; USER=root ; COMMAND=/usr/bin/tail -n 10 auth.log
Jan  3 23:22:16 pipi01 sudo: pam_unix(sudo:session): session opened for user root by pi(uid=0)

Related to #1785

Was fixed for future3 in #2132


Translations are sometimes not working

Hi there,
We're haunted with an issue where the translations are occasionally not being respected.
We support 3 languages, NL, EN and FR.
I can confirm that for each language there's a payment.php file in the correct lang folder and in that file there's a description entry:
'description' => 'Order: number',

Narrowing it down, it seems like this happens when a user swaps a plan.

I'm sorry, I think we needed to add some configuration on our end. Closing this one.

Hi @sandervanhooft
I think its something on our end. I just read about publishing the /lang/vendor/cashier translations and adding the getLocale() method to the, in my case, User model.
I initially thought putting the translations in /lang/en/payment.php would be sufficient.
I've pushed the translations now so we'll see if that solves the issue.

Hi @voicecode-bv,
yes, you are right. To override package translations you have to put the translation into lang/vendor/{package}/{locale}.
S. laravel documentation for more details


Replace outdated dependency with a new-born

I don't observe many fixes has been added into the new fork. Isn't it possible to continue working with the original lib?

I don't observe many fixes has been added into the new fork. Isn't it possible to continue working with the original lib?

@mykola-mokhnach, we going to maintenance the xmldom. Only the old xmldom is never been updated in 2 years. A lot of contributors love to keep maintaining. So we great the reborn.


Sanitize RPC responses and replace non-UTF-8 compliant characters

RPC responses, which go through the RPC server, are sanitized, and invalid characters, or character sequences, are replaced with question marks '?'. This is enabled by default.
The PR resolves #438 and is essentially a port of #177.
It can be tested by starting omnicored -rpcforceutf8=0, then omnicore-cli omni_getproperty<PHONE_NUMBER>, which should result in a failure. Without -rpcforceutf8, or the default -rpcforceutf8=1, there should be a valid, sanitized result.

UTAck, thanks @dexX7


Challenge Select Link Should Always Be There

And the controller that renders the page checks of the user is good

This has turned into a little more. Eligibility is now checked through any manage actions that were involuntary. For example, an alternate who has no manage actions for that performance can challenge.
An alternate who has an involuntary manage action (as the most recent) is ineligible to challenge.
A regular who has a voluntary manage actions (as the most recent) is eligible to challenge because that means they opened their spot on purpose. A regular with an involuntary manage action (as the most recent) is ineligible because they're either being disciplined or something like that


Disclosure: config title spacing.

@mperrando Thank you so much for the PR 🙏
I merged it into an internal branch, so that we can run automatic checks before merging on main


Link deuterosomal cell to centriole replication

Based on text of def this is valid:
An epithelial cell part of respiratory tract epithelium that is a precursor of a multi-ciliated cell. This cell actively amplifies centrioles, a required step for multiciliogenesis.
+
SubClassOf capable_of some centriole replication (GO:0007099)

@dosumis Would this term be more specific de novo centriole assembly involved in multi-ciliated epithelial cell differentiation?


Edge 110 dropped JPEG XL as well 😢

Via and https://twitter.com/Siphonay/status/1626881753003565058

Boo, oh well. Thanks!


Unit converter project

Forgot how to convert degree Fahrenheit to Celsius? Don’t worry. We have a solution for you. This unit converter converts basic units such as temperature, currency, and mass.

Hello @dwijmistry11
Kindly assign this to me.
Can you explain me once that how you want to take input from users and please specific once which units you want for Mass?
Also which currencies should be used for currency convertor?

please create your named+project name branch

Hey @dwijmistry11 , Done Sir


Disconnect Lies Sometimes

Describe the bug
Sometimes (I want to stress this is an intermittent problem, difficult to reproduce deterministically) the await BleClient.disconnect(deviceId) succeeds (doesn't throw an error) but the phone doesn't actually disconnect from the Bluetooth device. The onDisconnect callback attached to the BleClient.connect even fires after the BleClient.disconnect call, even though truly the phone is still connected to the Bluetooth device. I've tried, for example, repeatedly calling disconnect 3 times with 0.5s between attempts, to no avail. The only workaround is to turn Bluetooth off on the phone, which then positively results in the Bluetooth device indicating it has been disconnected from.
To Reproduce
Sorry, I can't provide predictable steps to reproduce this, but it happens "often enough" that I notice it and I think I'm going to have to recommend to my users that they turn off Bluetooth after finishing the configuration process that takes place over Bluetooth that I'm guiding them through in my app as a precaution against the device being left in configuration mode and chewing up batteries.
Expected behavior
BleClient.disconnect(deviceId) should reliably result in the phone no longer being connected to the Buetooth device and should not fire the onDisconnect callback associated with the associated BleClient.connect until the Bluetooth device is actually disconnected. It should certainly not resolve the Promise successfully if disconnect didn't actually happen.
Screenshots
N/A
Plugin version:

@capacitor-community/bluetooth-le: 2.0.0

Desktop (please complete the following information):
n/a
Smartphone (please complete the following information):

Device: Google Pixel 6
OS: Android 13
Ionic App
@ionic/angular: "^6.2.7", @capacitor/core: "^4.2.0"

Additional context
N/A

When the disconnect call resolves but the device stays connected, do you see the "Disconnected from GATT server" log statement in Android studio? If possible, can you share the logs from a case where the device disconnects and one where it does not?
Does the device still show up if you call getConnectedDevices?
Are you able to reproduce it with different Android phones?

@pwespi  I can confirm that I see D/Device: Disconnected from GATT server. in logcat in Android Studio under these circumstances, despite my device beeping at me periodically to tell me it still believes it is connected. Turning Bluetooth on the phone off causes the device to disconnect / recognize it is disconnected an it indicate that to me audibly.
I can also confirm that 250ms, 500ms, and 750ms after disconnect is called if I call getConnectedDevices, my device still appears in the list (even after the onDisconnect callback fires). This seems to be true even when disconnect genuinely succeeds. As an aside, it doesn't seem like my services array parameter to getConnectedDevices actually filters anything out of the results. I don't have a bunch of phones to test with unfortunately.

If the log statement "Disconnected from GATT server" appears, this means that the Android Bluetooth API reported that the device is now in STATE_DISCONNECTED, see https://github.com/capacitor-community/bluetooth-le/blob/bb3fe18939d71164ea89e641175393ba724de52c/android/src/main/java/com/capacitorjs/community/plugins/bluetoothle/Device.kt#L54-L60
Therefore I'm not sure if there is anything that can be done about this in the plugin.
Is there another app installed that connects to the peripheral? Or was the initial connection established in the Android settings instead of the app? Is there bonding involved?

Interesting... I have nRF connect installed on the phone, but it's not open. Could it be running in the background or something and interfering somehow I wonder?

I found the problem. This happened when connect was called multiple times. In that case the plugin created multiple internal GATT clients, but in the disconnect call only one of the clients was disconnected.
Fixed in 2.2.3.

I'm on version 3.1.1, but I'm experiencing the same issue. Below is the log from Chrome Devtools. What happens here is the following:

I'm attempting a write operation, which fails with error.message "Not connected to device."
I'm running getConnectedDevices(), and it claims that the device is still connected (MAC starting with C0:EA)
I'm running stopNotifications(), which also fails because "Not connected to device."
Because of this, I'm running disconnect(). This call seems to be successful, no error is being catched.
I'm running getConnectedDevices() again, and the device still shows up being connected.


Manually Bump org.gradle.test-retry from 1.5.3 to 1.5.4

Description
Manually bump org.gradle.test-retry from 1.5.3 to 1.5.4 since #8841 failed.
Check List

[ ] ~New functionality includes testing.~

[ ] ~All tests pass~

[ ] ~New functionality has been documented.~

[ ] ~New functionality has javadoc added~

[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pending backport to 2.x


Issue with --near

Hi, when i try to collect tweets from specific location it doesn't take into account the country. For example i tried --near "Vienna, Austria" and it returned tweets from California.

Rechecked: to me it works as expected.
Please, compare tweets manually with those from https://twitter.com/search-advanced

i tried this
GetOldTweets3 --querysearch "holidays Greece" --since 2018-10-19 --until 2018-10-31 --near "Vienna, Austria" --within 1500mi
and one of the tweets was this:
https://twitter.com/_AminaMoloto_/status/1056360983944486914
which has geolocation South Africa and with my search i was supposed to be getting tweets from Europe

Have you compared with what Twitter's advanced search give you (the link above)?

yes and it returns different tweets.
Am i writing something wrong when i call the script?

and one of the tweets was this:
https://twitter.com/_AminaMoloto_/status/1056360983944486914

I issued the same query and didn't get this tweet. Please, send debug.log along with the got_output.csv.

I deleted everything and i downloaded again the repository and everything works fine now. thank you for your time.

how can i get city name and cordinates of each tweet?


Creating a Camera node crashes Godot

Windows 7 - Godot version: 2.1.4
Issue description:
Simply put, creating or switching a node to be a Camera node crashes Godot.
Also happens with the InterpolatedCamera node.

I can't reproduce on the 2.1.4b "official" build on Ubuntu 17.04.

Windows 10 - can't reproduce on 2.1.4

Can you give more details? Does it happen under a specific scene setup?

Just creating the camera, nothing more.
The PC uses Intel HD Graphics 2500, if it helps in anything.

@Mudley: What OpenGL version does your card support? I have a sneaking suspicion it's too weak for 3d stuff

@Zireael07 I don't think that's the problem, before downgrading from Windows 10, it used to work fine.

Hmm, maybe Win10 installed some Win10-only drivers that are now acting up because it's no longer Win10?

Check the latest drivers from the official Intel site.

Nobody could reproduce it, closing.


first commit

this is not how you PR request, pull everything locally, then just start working on it!


[Bug]: asyncio.exceptions.CancelledError asyncio.exceptions.TimeoutError

Your current environment
Collecting environment information...
PyTorch version: 2.3.0+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A
OS: Debian GNU/Linux 10 (buster) (x86_64)
GCC version: (Debian 8.3.0-6) 8.3.0
Clang version: Could not collect
CMake version: version 3.29.5
Libc version: glibc-2.28
Python version: 3.10.9 (main, Mar  1 2023, 18:23:06) [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-5.15.0-78-generic-x86_64-with-glibc2.28
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration:
GPU 0: NVIDIA A800-SXM4-80GB
GPU 1: NVIDIA A800-SXM4-80GB
GPU 2: NVIDIA A800-SXM4-80GB
GPU 3: NVIDIA A800-SXM4-80GB
Nvidia driver version: 525.125.06
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       46 bits physical, 57 bits virtual
CPU(s):              128
On-line CPU(s) list: 0-127
Thread(s) per core:  2
Core(s) per socket:  32
Socket(s):           2
NUMA node(s):        2
Vendor ID:           GenuineIntel
CPU family:          6
Model:               106
Model name:          Intel(R) Xeon(R) Platinum 8358 CPU @ 2.60GHz
Stepping:            6
CPU MHz:             988.276
CPU max MHz:         3400.0000
CPU min MHz:         800.0000
BogoMIPS:            5200.00
Virtualization:      VT-x
L1d cache:           48K
L1i cache:           32K
L2 cache:            1280K
L3 cache:            49152K
NUMA node0 CPU(s):   0-31,64-95
NUMA node1 CPU(s):   32-63,96-127
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 invpcid_single intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local split_lock_detect wbnoinvd dtherm ida arat pln pts avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg tme avx512_vpopcntdq la57 rdpid fsrm md_clear pconfig flush_l1d arch_capabilities
Versions of relevant libraries:
[pip3] flake8==6.0.0
[pip3] mypy==1.9.0
[pip3] mypy-extensions==1.0.0
[pip3] numpy==1.23.5
[pip3] numpydoc==1.5.0
[pip3] nvidia-nccl-cu12==2.20.5
[pip3] sentence-transformers==3.0.1
[pip3] torch==2.3.0
[pip3] transformers==4.41.2
[pip3] triton==2.3.0
[conda] blas                      1.0                         mkl
[conda] mkl                       2021.4.0           h06a4308_640
[conda] mkl-service               2.4.0           py310h7f8727e_0
[conda] mkl_fft                   1.3.1           py310hd6ae3a3_0
[conda] mkl_random                1.2.2           py310h00e6091_0
[conda] numpy                     1.23.5          py310hd5efca6_0
[conda] numpy-base                1.23.5          py310h8e6c178_0
[conda] numpydoc                  1.5.0           py310h06a4308_0
[conda] nvidia-nccl-cu12          2.20.5                   pypi_0    pypi
[conda] sentence-transformers     3.0.1                    pypi_0    pypi
[conda] torch                     2.3.0                    pypi_0    pypi
[conda] transformers              4.41.2                   pypi_0    pypi
[conda] triton                    2.3.0                    pypi_0    pypi
ROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.5.0.post1
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0    GPU1    GPU2    GPU3    NIC0    NIC1    NIC2    NIC3    NIC4    NIC5    NIC6    NIC7    NIC8    CPU Affinity    NUMA Affinity
GPU0     X      NV8     NV8     NV8     SYS     SYS     PXB     PXB     NODE    NODE    NODE    NODE    NODE    32-63,96-127    1
GPU1    NV8      X      NV8     NV8     SYS     SYS     PXB     PXB     NODE    NODE    NODE    NODE    NODE    32-63,96-127    1
GPU2    NV8     NV8      X      NV8     SYS     SYS     NODE    NODE    PXB     PXB     PXB     PXB     NODE    32-63,96-127    1
GPU3    NV8     NV8     NV8      X      SYS     SYS     NODE    NODE    PXB     PXB     PXB     PXB     NODE    32-63,96-127    1
NIC0    SYS     SYS     SYS     SYS      X      PIX     SYS     SYS     SYS     SYS     SYS     SYS     SYS
NIC1    SYS     SYS     SYS     SYS     PIX      X      SYS     SYS     SYS     SYS     SYS     SYS     SYS
NIC2    PXB     PXB     NODE    NODE    SYS     SYS      X      PIX     NODE    NODE    NODE    NODE    NODE
NIC3    PXB     PXB     NODE    NODE    SYS     SYS     PIX      X      NODE    NODE    NODE    NODE    NODE
NIC4    NODE    NODE    PXB     PXB     SYS     SYS     NODE    NODE     X      PIX     PXB     PXB     NODE
NIC5    NODE    NODE    PXB     PXB     SYS     SYS     NODE    NODE    PIX      X      PXB     PXB     NODE
NIC6    NODE    NODE    PXB     PXB     SYS     SYS     NODE    NODE    PXB     PXB      X      PIX     NODE
NIC7    NODE    NODE    PXB     PXB     SYS     SYS     NODE    NODE    PXB     PXB     PIX      X      NODE
NIC8    NODE    NODE    NODE    NODE    SYS     SYS     NODE    NODE    NODE    NODE    NODE    NODE     X
Legend:
X    = Self
SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
PIX  = Connection traversing at most a single PCIe bridge
NV#  = Connection traversing a bonded set of # NVLinks
NIC Legend:
NIC0: mlx5_0
NIC1: mlx5_1
NIC2: mlx5_4
NIC3: mlx5_5
NIC4: mlx5_6
NIC5: mlx5_7
NIC6: mlx5_8
NIC7: mlx5_9
NIC8: mlx5_bond_0
🐛 Describe the bug
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 506, in engine_step
request_outputs = await self.engine.step_async()
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 235, in step_async
output = await self.model_executor.execute_model_async(
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/executor/distributed_gpu_executor.py", line 166, in execute_model_async
return await self._driver_execute_model_async(execute_model_req)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/executor/multiproc_gpu_executor.py", line 149, in _driver_execute_model_async
return await self.driver_exec_model(execute_model_req)
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/anaconda3/envs/vllm/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in call
return await self.app(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/fastapi/applications.py", line 1054, in call
await super().call(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/applications.py", line 123, in call
await self.middleware_stack(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/middleware/errors.py", line 186, in call
raise exc
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/middleware/errors.py", line 164, in call
await self.app(scope, receive, _send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 65, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
raise exc
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 756, in call
await self.middleware_stack(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 776, in app
await route.handle(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 297, in handle
await self.app(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 77, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
raise exc
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 75, in app
await response(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/responses.py", line 258, in call
async with anyio.create_task_group() as task_group:
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 574, in aexit
raise exceptions[0]
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/responses.py", line 261, in wrap
await func()
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/responses.py", line 250, in stream_response
async for chunk in self.body_iterator:
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/entrypoints/openai/serving_chat.py", line 311, in chat_completion_stream_generator
async for res in result_generator:
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 673, in generate
async for output in self._process_request(
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 780, in _process_request
raise e
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 776, in _process_request
async for request_output in stream:
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 89, in anext
raise result
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 42, in _log_task_completion
return_value = task.result()
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 532, in run_engine_loop
has_requests_in_progress = await asyncio.wait_for(
File "/root/anaconda3/envs/vllm/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in call
return await self.app(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/fastapi/applications.py", line 1054, in call
await super().call(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/applications.py", line 123, in call
await self.middleware_stack(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/middleware/errors.py", line 186, in call
raise exc
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/middleware/errors.py", line 164, in call
await self.app(scope, receive, _send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 65, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
raise exc
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 756, in call
await self.middleware_stack(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 776, in app
await route.handle(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 297, in handle
await self.app(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 77, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
raise exc
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 75, in app
await response(scope, receive, send)
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/responses.py", line 258, in call
async with anyio.create_task_group() as task_group:
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 574, in aexit
raise exceptions[0]
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/responses.py", line 261, in wrap
await func()
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/responses.py", line 250, in stream_response
async for chunk in self.body_iterator:
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/entrypoints/openai/serving_chat.py", line 311, in chat_completion_stream_generator
async for res in result_generator:
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 673, in generate
async for output in self._process_request(
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 767, in _process_request
stream = await self.add_request(
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 572, in add_request
self.start_background_loop()
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 443, in start_background_loop
raise AsyncEngineDeadError(
vllm.engine.async_llm_engine.AsyncEngineDeadError: Background loop has errored already.

2024-06-21T14:00:57.229006087+08:00 ERROR: Exception in ASGI application
2024-06-21T14:00:57.229015739+08:00 Traceback (most recent call last):
2024-06-21T14:00:57.229022362+08:00 File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 506, in engine_step
2024-06-21T14:00:57.229028830+08:00 request_outputs = await self.engine.step_async()
2024-06-21T14:00:57.229035509+08:00 File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 235, in step_async
2024-06-21T14:00:57.229041491+08:00 output = await self.model_executor.execute_model_async(
2024-06-21T14:00:57.229047778+08:00 File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/executor/distributed_gpu_executor.py", line 166, in execute_model_async
2024-06-21T14:00:57.229053895+08:00 return await self._driver_execute_model_async(execute_model_req)
2024-06-21T14:00:57.229060130+08:00 File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/executor/multiproc_gpu_executor.py", line 149, in _driver_execute_model_async
2024-06-21T14:00:57.229066146+08:00 return await self.driver_exec_model(execute_model_req)
2024-06-21T14:00:57.229072047+08:00 asyncio.exceptions.CancelledError
2024-06-21T14:00:57.229077477+08:00
2024-06-21T14:00:57.229084802+08:00 During handling of the above exception, another exception occurred:
2024-06-21T14:00:57.229090528+08:00
2024-06-21T14:00:57.229096490+08:00 Traceback (most recent call last):
2024-06-21T14:00:57.229102644+08:00 File "/root/anaconda3/envs/vllm/li
b/python3.10/asyncio/tasks.py", line 456, in wait_for
2024-06-21T14:00:57.229108631+08:00 return fut.result()
2024-06-21T14:00:57.229114492+08:00 asyncio.exceptions.CancelledError

ERROR 06-21 15:09:02 async_llm_engine.py:52]     x, _ = self.down_proj(x)
2024-06-21T15:09:02.358742631+08:00 ERROR 06-21 15:09:02 async_llm_engine.py:52]   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
2024-06-21T15:09:02.358749790+08:00 ERROR 06-21 15:09:02 async_llm_engine.py:52]     return self._call_impl(*args, **kwargs)
2024-06-21T15:09:02.358756498+08:00 ERROR 06-21 15:09:02 async_llm_engine.py:52]   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
2024-06-21T15:09:02.358763389+08:00 ERROR 06-21 15:09:02 async_llm_engine.py:52]     return forward_call(*args, **kwargs)
2024-06-21T15:09:02.358770096+08:00 ERROR 06-21 15:09:02 async_llm_engine.py:52]   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/model_executor/layers/linear.py", line 804, in forward
2024-06-21T15:09:02.358776852+08:00 ERROR 06-21 15:09:02 async_llm_engine.py:52]     output_parallel = self.quant_method.apply(self, input_parallel)
ERROR 06-21 15:09:02 async_llm_engine.py:52]   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/model_executor/layers/quantization/awq.py", line 169, in apply
2024-06-21T15:09:02.358790378+08:00 ERROR 06-21 15:09:02 async_llm_engine.py:52]     out = torch.matmul(reshaped_x, out)
ERROR 06-21 15:09:02 async_llm_engine.py:52] torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 492.00 MiB. GPU
ERROR:asyncio:Exception in callback functools.partial(<function _log_task_completion at 0x7fa2827113f0>, error_callback=<bound method AsyncLLMEngine._error_callback of <vllm.engine.async_llm_engine.AsyncLLMEngine object at 0x7fa258667df0>>)
2024-06-21T15:09:02.361567693+08:00 handle: <Handle functools.partial(<function _log_task_completion at 0x7fa2827113f0>, error_callback=<bound method AsyncLLMEngine._error_callback of <vllm.engine.async_llm_engine.AsyncLLMEngine object at 0x7fa258667df0>>)>
2024-06-21T15:09:02.361575961+08:00 Traceback (most recent call last):
2024-06-21T15:09:02.361583992+08:00   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 42, in _log_task_completion
2024-06-21T15:09:02.361591500+08:00     return_value = task.result()
2024-06-21T15:09:02.361598778+08:00   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 532, in run_engine_loop
2024-06-21T15:09:02.361606784+08:00     has_requests_in_progress = await asyncio.wait_for(
2024-06-21T15:09:02.361614131+08:00   File "/root/anaconda3/envs/vllm/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
return fut.result()
(VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226] Exception in worker VllmWorkerProcess while processing method start_worker_execution_loop: CUDA out of memory. Tried to allocate 492.00 MiB. GPU  has a total capacity of 79.32 GiB of which 77.56 MiB is free. Process 2811341 has 79.24 GiB memory in use. Of the allocated memory 73.08 GiB is allocated by PyTorch, and 1.52 GiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables), Traceback (most recent call last):
2024-06-21T15:09:02.361643250+08:00 (VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226]   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/executor/multiproc_worker_utils.py", line 223, in _run_worker_process
2024-06-21T15:09:02.361654663+08:00 (VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226]     output = executor(*args, **kwargs)
(VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226]   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
2024-06-21T15:09:02.361660848+08:00 (VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226]     return func(*args, **kwargs)
2024-06-21T15:09:02.361631137+08:00   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 506, in engine_step
2024-06-21T15:09:02.361671065+08:00     request_outputs = await self.engine.step_async()
File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 235, in step_async
(VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226]   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/worker/worker.py", line 294, in start_worker_execution_loop
2024-06-21T15:09:02.361686031+08:00     output = await self.model_executor.execute_model_async(
2024-06-21T15:09:02.361696125+08:00   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/executor/distributed_gpu_executor.py", line 166, in execute_model_async
2024-06-21T15:09:02.361703177+08:00     return await self._driver_execute_model_async(execute_model_req)
2024-06-21T15:09:02.361710431+08:00   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/executor/multiproc_gpu_executor.py", line 149, in _driver_execute_model_async
2024-06-21T15:09:02.361717227+08:00     return await self.driver_exec_model(execute_model_req)
2024-06-21T15:09:02.361724226+08:00   File "/root/anaconda3/envs/vllm/lib/python3.10/concurrent/futures/thread.py", line 58, in run
2024-06-21T15:09:02.361730993+08:00     result = self.fn(*self.args, **self.kwargs)
2024-06-21T15:09:02.361738099+08:00   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
(VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226]     while self._execute_model_non_driver():
2024-06-21T15:09:02.361771008+08:00 (VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226]   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/worker/worker.py", line 317, in _execute_model_non_driver
2024-06-21T15:09:02.361781698+08:00 (VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226]     self.model_runner.execute_model(None, self.gpu_cache)
2024-06-21T15:09:02.361744892+08:00     return func(*args, **kwargs)
(VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226]   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
2024-06-21T15:09:02.361796983+08:00   File "/root/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/worker/worker.py", line 280, in execute_model
(VllmWorkerProcess pid=960) ERROR 06-21 15:09:02 multiproc_worker_utils.py:226]     return func(*args, **kwargs)
output = self.model_runner.execute_model(seq_group_metadata_list,

Why doesn't the VLLM-related process disappear after the program reports an error, the vllm process will always occupy the video memory, but the request interface will always report the same error

Why doesn't the VLLM-related process disappear after the program reports an error, the vllm process will always occupy the video memory, but the request interface will always report the same error

You need to manually kill the VLLM-related process and then restart the asynchronous service to restore the normal process


effected corrections and and inserted image using dev.to

The image is not working and also change all your bullet point to h5 which is this #####
I will accept your PR now.


WIP: Allow Vacancy to belong to either a School or a SchoolGroup

Issues
#1731
Changes in this PR

Allow school to be null for a vacancy

I wonder how we will validate that vacancies have exactly one of the school_id and school_group_id attributes set.
We can do custom validation by class or by method or even by  conditional validation.

I wonder how we will validate that vacancies have exactly one of the school_id and school_group_id attributes set.
We can do custom validation by class or by method or even by conditional validation.

Ignore this, I realise now that this is only going to be a temporary situation.

I wonder how we will validate that vacancies have exactly one of the school_id and school_group_id attributes set.
We can do custom validation by class or by method or even by conditional validation.

Ignore this, I realise now that this is only going to be a temporary situation.

school.present? ^ school_group.present?

@tatyree I can live without the delegated geolocation method completely for now, especially since the corresponding method doesn't exist yet for SchoolGroup. The algolia block is a placeholder to highlight the fact that school_group will likely need to be indexed in a similar way to schools are now - again this can be removed for now.


Files - Load Your Files Button

[ ] Error when the user has not selected any files
[ ] The button is only displayed after the 'Browse Files' button is pressed
[ ] Add to gallery


Update the integration and add support signals

Hi. I updated the integration to use the api provided by preact. In addition, I made an alternative integration option with support for preact signals.
There are no updated tests yet, but there was no time to understand them out.

Wow, super interesting!

Wow, super interesting! What will be the difference?

Thanks for the comments you left, I've made some changes to the PR.
Could you tell me which tests need to be implemented for the new implementation?

Could you tell me which tests need to be implemented for the new implementation?

Do you add any public API for end-user? If yes, we need to test them.
But I suggest that change useStore()

Thanks for the comments you left, I've made some changes to the PR.

I also need a little explanation why we need this change? Performance?
Will signals work for any modern Preact?


[WIP] Implement job authorization

Update endpoint and instance authorization for the job controller.
This continues work on #620.

@sbliven Delete permissions are separate. You need to specifically list the group in DELETE_GROUPS if you want that an admin group has also delete privileges.

@sbliven :
Do you want me to work on this while I work on the instance authorization and jobs authorization in general?

@nitrosx I don't have a good overview of what abilities should be assigned. It's probably better if I revert the casl-ability.factory.ts changes and let you implement those. I was mostly focused on the controller changes with this code.
I expect this PR will be closed and incorporated into @despadam's branch instead.


Feature/simplify sass importing

In order to make a lighter implementation that focuses on multiple themes through Sass variables, we drop the support for per-component CSS.
This contains commits from #17, which should be merged first.

Great!!


checkify: error types

Checkify: upcoming changes/improvements
ref: #12537
Authors: @LenaMartens, @sharadmv, @mattjj
tl;dr
checkify is being updated to support more granular and rich error types. This change will (hopefully) only be an improvement to end-users and will enable future improvements to checkify.
Background
Currently, checkify has two pieces of core functionality:

checkify provides a check function that enables assertions in JIT-ted JAX code.
checkify provides a function called checkify, which is multi-purpose. It first instruments JAX code with error checks (e.g. invalid nan checks, divide-by-zero checks, OOB indexing checks, etc.).

It also (simultaneously) discharges these checks into error values, returning the error value to the user. The user then can call error.throw() to raise a Python error corresponding to the failed check.

Internally, checkify keeps track of a bool (err) and an int (code), respectively corresponding to whether or not an error has happened yet and a unique integer pointing to the metadata about the error (a string with the source file and line number). It currently keeps track of a single err and code, corresponding to the first error which occurred (of any type).
Proposed changes
We propose upgrading checkify’s internal bookkeeping, keeping track of multiple error types simultaneously.
New error types
checkify has the ErrorCategory enum, which allows users to select which checks they want enabled when calling checkify.checkify. All error categories (DIV, NAN, etc.) are tracked together (they all share the same err, code and payload). To enable more granular tracking, we use a new error class that tracks its own payload and static information.
We propose adding JaxError, a subclass of Python exception and Pytree that tracks both static information (such as source provenance and primitive names) and dynamic information (like indices or user-provided arrays).
class ConcreteError(Exception, metaclass=abc.ABCMeta):
  def __init__(self, source_info):
    self.source_info = source_info
    self.with_traceback(self.source_info)

  @abc.abstractmethod
  def tree_flatten(self):
    return [], self.source_info

  @abc.abstractclassmethod
  def tree_unflatten(cls, source_info, _):
    return cls(source_info)

  @abc.abstractmethod
  def get_effect_type(self) -> core.Effect:
    pass

For example, the DivideByZero error only encapsulates static source information, the IndexOutOfBounds error encapsulates static source information, a static primitive name (e.g. ”gather” or ”scatter”), and three dynamic ints (index, axis_size, axis) although only index needs to be dynamic. AssertionErrors track static source info, a static user format string, and a dynamic, variadic payload.
Example: OOB
@register_pytree_node_class
class OOBError(ConcreteError):

  def __init__(self, source_info, primitive_name, operand_shape, payload):
    super().__init__(source_info)
    self.prim = primitive_name
    self.operand_shape = operand_shape
    self.payload = payload

  def tree_flatten(self):
    return self.payload, (self.source_info, self.prim, self.operand_shape)

  @classmethod
  def tree_unflatten(cls, metadata, payload):
    return cls(*metadata, payload)

  def __str__(self):
    return (f'Out-of-bounds indexing in {self.prim} for array of '
            f'shape {self.operand_shape}: '
            f'index {self.payload[0]} is out of bounds for axis {self.payload[1]} '
            f'with size {self.payload[2]}.')

  def get_effect_type(self):
    return (OOB, (jax.ShapeDtypeStruct((3,), np.int32)))

Richer effect types
Currently, checks are tracked in jaxprs via effects but all checks share the same type. We are changing this so that each check will have its own effect type, created by the JaxError object. The effect types need to contain the static information about the payload (i.e. shapes and dtypes of each of the arguments). This is so that HOPs can be aware of what payloads are present in a jaxpr for transformations.
As an example, a jaxpr with a user assertion before would have an effects field that looked like {Check} (where Check is an enum element). This will now be changed to something like {Error<AssertionError[]>} where the [] contain shape and dtype information of any dynamic payloads in the assertion error (see “Assertions with more information” below).
Full tracebacks
checkify currently only tracks the source file and line number in a check. We propose upgrading this to a full traceback. This just involves tracking more information and eventually raising an error that points to the traceback using the cause mechanism.
One complication is BatchedError which could encompass many errors with their own trace-backs. It’s unclear which trace-back to attach to the error. Something like Python’s exception groups would make sense to use here.
Example:
The following code:
import jax
import jax.numpy as jnp
from jax.experimental import checkify

@jax.jit
def f(x):
  return x / x

err, out = checkify.checkify(f, errors=checkify.div_checks)(0.)
err.throw()

will now throw this exception:
Traceback (most recent call last):
  File "/jax/checkify_test.py", line 9, in <module>
    err, out = checkify.checkify(f, errors=checkify.div_checks)(0.)
  File "/jax/checkify_test.py", line 7, in f
    return x / x
  File "/jax/jax/_src/numpy/lax_numpy.py", line 4936, in deferring_binary_op
    return binary_op(*args)
  File "/jax/jax/_src/numpy/ufuncs.py", line 258, in true_divide
    return lax.div(x1, x2)
jax._src.checkify.DivisionByZeroError: division by zero

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/jax/checkify_test.py", line 10, in <module>
    err.throw()
  File "/jax/jax/_src/checkify.py", line 278, in throw
    check_error(self)
  File "/jax/jax/_src/checkify.py", line 697, in check_error
    return check_p.bind(*err_args, err_tree=tree_def)
  File "/jax/jax/core.py", line 329, in bind
    return self.bind_with_trace(find_top_trace(args), args, params)
  File "/jax/jax/core.py", line 332, in bind_with_trace
    out = trace.process_primitive(self, map(trace.full_raise, args), params)
  File "/jax/jax/core.py", line 712, in process_primitive
    return primitive.impl(*tracers, **params)
  File "/jax/jax/_src/checkify.py", line 710, in check_impl
    raise JaxRuntimeError(str(exc)) from exc
jax._src.checkify.JaxRuntimeError: division by zero

Assertions with more information
With the new proposed error types, the AssertionError type can now have a variadic payload, allowing users to do things like:
checkify.check(x != 0, "x is 0: {}", x)
Users can now choose to embed run-time information of any shape/dtype in their error messages.
Changes to end-users
These should be almost entirely internal changes. The checkify API remains the same.The only user-visible change is better tracebacks and a more flexible assertion API with variadic runtime information support.
Future improvements
This change enables a few major improvements to checkify.

Separate instrumentation and discharging - right now, checkify introduces certain checks and immediately discharges them. In the future, we can explore adding in checks and represent them explicitly in jaxprs. The specific checks present in a jaxpr are immediately visible from its effect type.
Partial discharging - when we have many different error effects in a jaxpr, checkify will be able to discharge some into an error value and keep the remaining ones present. This will make checkify more expressive and will allow it to do things akin to try/except in Python where we only catch certain exceptions.

I ran into tracer leaks when running internal tests (under jax_check_tracer_leaks) because of the tracebacks! Seems like they're holding on to values (inside of the frames?). I've reverted the traceback change for now so we can leave it for a future improvement (I'm sure we can filter out the values somehow?), and testing with jax_check_tracer_leaks=True on all CheckifyTests.


Fixed Readme Glossary and add missing links.

Github's <details> require an empty line after the <summary> to pickup markdowns.
Also, adding the package links that were missing for consistency.

Saw this issue as well. Glad to find a PR for it.


MINOR: improvement on top of KAFKA-5793: Tighten up the semantics of the OutOfOrderSequenceException

Simplified the condition in Sender#failBatch()
Added log in TransactionManager#updateLastAckedOffset()

@apurvam @hachikuji
Please take a look.

A bit late, but thanks for the patch. The improvements LGTM!


Updating Apache Geode Version to 1.1.0

Updating Apache Geode Version to 1.1.0
Relates to #935

Assuming this is a backwards compatible change? 1.1.0 can use 1.0.0?

@risdenk No, Geode 1.1.0 client cannot talk with Geode 1.0.0 Server.

Is there anything pending here for merging to master ?

@davinash I just kicked off the CI build again since it timed out for some reason.
What happens if a Geode 1.1.0 client tries to talk to a Geode 1.0.0 server? Does it fail? Any reason the minor versions are not compatible?

@davinash Any update here?

Sorry for delayed response 1.1.0 client cannot talk with 1.0.0 server

Hi @davinash!
Would folks still reasonably expect the ability to benchmark a Geode 1.0.0 server? If so, we'll need a way to do either 1.1.0 clients or 1.0.0 clients.
In other storage bindings, we deal with incompatible client/server changes by maintaining multiple YCSB clients. For example, Apache HBase 0.94 has been end-of-maintenance for some time but we still maintain clients specific to 0.94 and then later incompatible versions.

@davinash Just following up on this one. Since I already potentially screwed up and merged the Geode 1.2.0 update, can you let us know of the status of the project? E.g. is 1.1 the first main-stream release and folks shouldn't be using or benching the 1.0 or pre-1.0 versions? And is 1.2 backwards compatible with 1.1? Thanks.

Since I merged the 1.2.0 I'll go ahead and close this.


Upgrade network fees to support multiple assets

Currently our swappers and ui can only convey the concept of an "inbound network fee", however it's possible to have an "outbound network fee"
https://dev.thorchain.org/thorchain-dev/concepts/fees
We need to upgrade the interfaces, logic and UI to support this in order to accurately represent trades on thorchain (and lifi).
Upgrade the interfaces in lib/swapper/api.ts:
export type Fee = { requiresBalance: boolean } & AmountDisplayMeta

export type QuoteFeeData<T extends ChainId> = {
  networkFees: PartialRecord<AssetId, Fee> // fee(s) paid to the network from the fee asset (undefined if unknown)
  protocolFees: PartialRecord<AssetId, Fee> // fee(s) paid to the protocol(s)
} & ChainSpecificQuoteFeeData<T>

And then upgrade the UI to display multiple network fees, simiilar to how we do for protocol fees.
Dont forget to include this additional network fee in calculations that take fees into account!
Dont forget to upgrade thorchain swapper with the outbound fee as per the link above!

We should do this after #5171 is complete


can't recognize chocolate plus pedal

Thanks for wonderful project.
By the way, I have a chocolate plus pedal but it can't be connected ESP32S3-Zero. I guess there's no code for that pedal and wonder you have a plan for that pedal.
Thanks

Hi. It should be easy enough for me to add support.
At the moment, the code is looking for the name of the device. I am looking for a better way to do this, but no solution for that yet.
If you use a phone and go to the bluetooth settings, when the Chocolate Plus is switched on, you should see the name of the device in the list. The normal Chocolate is called "FOOTCTRL" but I guess the plus is something different.
Let me know the device name, then I can add support.

as you can see, the name of chocolate plus pedal is "FootCtrlPlus".
i'm looking forward next update. thanks.

Code is done and committed. I'll do some new release builds in the next few days

thanks for your support. i'll test when new update released and report.

Today, I tested new released version and confirmed it works well with my chocolate plus pedal.
I have two ESP32-S3 based boards which one is named zero other one is super mini, and these two boards are work fine.
Thanks for your support.

Great, thanks for the feedback.


error when generating deis-dev

Updated to latest chart, using helm 0.4.0:
><> rm -rf ~/.helm/workspace/
><> helm fetch deis-dev
---> Fetched chart into workspace /home/bacongobbler/.helm/workspace/charts/deis-dev
---> Done
><> helm generate deis-dev
[ERROR] Error opening value file: Near line 45 (last key parsed 'gcs.key_json'): Expected value but found '`' instead.
[ERROR] Failed to complete generation: failed to execute helm template -o /home/bacongobbler/.helm/workspace/charts/deis-dev/manifests/deis-registry-rc.yaml -d /home/bacongobbler/.helm/workspace/charts/deis-dev/tpl/objectstorage.toml /home/bacongobbler/.helm/workspace/charts/deis-dev/tpl/deis-registry-rc.yaml (/home/bacongobbler/.helm/workspace/charts/deis-dev/tpl/deis-registry-rc.yaml): exit status 1

changing the following in the chart resolved this for me:
[gcs]
# key_json is expanded into a JSON file on the remote server. It must be
# well-formatted JSON data.
key_json = ""
bucket = "your-bucket-name"

Changing the three backtick syntax for key_json to quoted strings worked for me.

Isn't this fixed by #124

Isn't this fixed by #124

Yes indeed, so @bacongobbler helm up should get things going again for you. Please re-open this issue if I'm wrong.