Example not working

Hello!
I'm trying to use goreplay & middleware while processing pcap. I just simple want to log requests/responses to stderr. I slightly modified your example in readme.
run command:
gor --input-raw my.pcap:80 -output-http "http://server:8080"  --output-http-track-response --middleware "middleware_gor.py" --input-raw-track-response --input-raw-engine "pcap_file"
Middleware file is bellow:
# coding: utf-8
import sys
from gor.middleware import AsyncioGor

def log(msg):
    """
    Logging to STDERR as STDOUT and STDIN used for data transfer
    @type msg: str or byte string
    @param msg: Message to log to STDERR
    """
    try:
        msg = str(msg) + '\n'
    except:
        pass
    sys.stderr.write(msg)
    sys.stderr.flush()

def on_request(proxy, msg, **kwargs):
    log("fromtype:1 id: {}".format(msg.id))
    proxy.on('response', on_response, idx=msg.id, req=msg)

def on_response(proxy, msg, **kwargs):
    log("fromtype:2 id: {}".format(msg.id))
    proxy.on('replay', on_replay, idx=kwargs['req'].id, req=kwargs['req'], resp=msg)

def on_replay(proxy, msg, **kwargs):
    log("fromtype:3 id: {}".format(msg.id))

if __name__ == '__main__':
    proxy = AsyncioGor()
    proxy.on('request', on_request)
    proxy.run()

What am I doing wrong?

Are you using the latest version 0.2.2, 0.2.1 has a blocking bug.

Yes, latest, got it from source. Python is 3.5.2 as required

Strange, I see both --input-raw my.pcap:80 and --input-raw-engine "pcap_file" are provided in gor parameter, have you confirmed whether there is traffic relayed?

Yes, I'm getting requests (looking at server access.log)
When I do not use  --input-raw-engine "pcap_file" option I do not have any traffic.
By the way using example from goreplay repo works fine with both gor options.

I have no idea, maybe some bugs, could you provide a sample pcap_file to help diagnose?
Btw it works well in my local environment.

Very strange. Using this pcap file i get following output from provided run command:
fromtype:1 id: 3dac2ee72baa0e5f3c213d8841f7a6f7fc7d7528
fromtype:1 id: c9c61f29b6266e5d19704773ae139324d7ad62dc```

I expect to be printed more info. Smth like this:
fromtype:3 id: blablablabla
fromtype:3 id: blablablabla
fromtype:2 id: blablablabla
fromtype:2 id: blablablabla

I fugured out this problem. That error was with my http server. Middleware & goreplay works fine.
Thanks for fast replies

@nlyf What was the issue in the http server? I am facing the same issue as described here


Merge pull request #1 from TeamUlysses/master

Merge new commits from master

That was a mistake :3


fixed issue #1378

fixed issue:  Toggle button  not fully visible on Firefox #1378
sorry for not taking permission to work on this issue. I :eyes:   at the issues and the replies were not fast(at least these days). thanks for your time. happy coding :game_die:

This issue has been fixed by @andypants888 thank you


Other mods accessing TradeOffers causes your mod to crash

https://github.com/HyperPigeon/Better-Wandering-Trader/blob/cd41702e13e4f6d865bc4669a3a27626ff321bbc/src/main/java/net/hyper_pigeon/better_wandering_trader/mixin/TraderOffersMixin.java#L124
You add a static reference to your autoconfig which may be initialized before your mod does (so your config isnt loaded yet).
ideally, dont access your config statically in a mixin as you cant guarantee your mod will load first.
you may want to get access to the list and then add to it in your mod rather than the mixin. you could add an accessor for this

Thank you for bringing to my attention. I have taken your advice and there should not be anymore issues with mods that also access TradeOffers.


Add jina-clip notebook

CVS-145251

@sbalandi can we focus on separated representation of text encoder and image encoder in this notebook instead of one common model?
The main advantage of jina-clip that its suitable not only for text  to image matching, but also support comparing text embeddings in comparision with clip models itself, so having them as separated models may be more universal

updated

View entire conversation on ReviewNB

View / edit / reply to this conversation on ReviewNB
eaidova commented on 2024-07-02T06:12:12Z ----------------------------------------------------------------
text-to-image usually means generation of images by text description, probably in this description you mean text-to-image-retrieval. From other part of description I read several times, but can not understand how it differ from previous example?
Probably you need to make accent on passing text and image simultaneously and preprocessing them outside model

removed here, leaved it only in description, where it was from original source

It is used in gradio example

View entire conversation on ReviewNB

fixed by calling directly text_model/vision_model , please, check again

View entire conversation on ReviewNB

added %%skip not $to_quantize.value and int8_text/vision_model_path are moved to separate cells

View entire conversation on ReviewNB

added

View entire conversation on ReviewNB

fp16  by default, added checkbox to manage it

View entire conversation on ReviewNB

moved

View entire conversation on ReviewNB

clarifications removed

View entire conversation on ReviewNB


Unread items in LHN and recipient name not displayed

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?: Needs reproduction
Reproducible in production?: Needs reproduction
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @twisterdotcom
Slack conversation: https://expensify.slack.com/archives/C05LX9D6E07/p1725028457379559
Action Performed:

Create a new account via NewDot and set the display name. Sign out.
Sign into NewDot as an account manager.
Sign into OldDot with an account on the managed domain. Create a new workspace.
Invite the account from [1] to the workspace as an admin. This should trigger the automated message.

Expected Result:
The account manager should see the complete LHN item for the automated message we send on their behalf to the new invitee.
Actual Result:
The account manager sees the incomplete LHN item for the automated message we send on their behalf to the new invitee.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Onyx data for messages not clicked:
{
    "lastReadTime": "2024-08-30 14:08:35.518",
    "chatType": "",
    "lastActorAccountID": 5356024,
    "lastMessageText": "Hey there!  Dropping by to say hello as I see that you're a new Expensify admin …",
    "lastVisibleActionCreated": "2024-08-30 14:08:24.341",
    "ownerAccountID": 0,
    "participants": {
        "5356024": {
            "hidden": false,
            "notificationPreference": "always"
        },
        "9074303": {
            "hidden": false,
            "notificationPreference": "always"
        }
    },
    "policyID": "_FAKE_",
    "reportID": "5568459257246026",
    "reportName": "Chat Report",
    "stateNum": 0,
    "statusNum": 0,
    "type": "chat",
    "currency": "USD",
    "description": "",
    "errorFields": {},
    "hasOutstandingChildRequest": false,
    "hasOutstandingChildTask": false,
    "isCancelledIOU": false,
    "isOwnPolicyExpenseChat": false,
    "isPinned": false,
    "isWaitingOnBankAccount": false,
    "lastActionType": "ADDCOMMENT",
    "lastMessageHtml": "Hey there! Dropping by to say hello as I see that you're a new Expensify admin at your company 👋 Click this link to book a call with me so that I can help you get up to speed with Expensify. I'll walk you through everything you need to know, address any concerns you have, and ensure you are getting the most out of Expensify. I'm also available via chat to answer any questions you have.",
    "lastReadSequenceNumber": 0,
    "lastVisibleActionLastModified": "2024-08-30 14:08:24.341",
    "managerID": 0,
    "nonReimbursableTotal": 0,
    "notificationPreference": "always",
    "oldPolicyName": "",
    "permissions": [
        "read",
        "write"
    ],
    "private_isArchived": "",
    "total": 0,
    "unheldTotal": 0,
    "welcomeMessage": "",
    "writeCapability": "all"
}

Add any screenshot/video evidence

View all open jobs on GitHub
Issue OwnerCurrent Issue Owner: @jasperhuangg

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

So to summarize the linked Slack convo it seems like the unread items that aren't displaying correctly are for automated messages we send (namely this one).
It seems we're not sending the personal details of the account manager along with these messages which is preventing them from displaying correctly in the LHN.
This is a back-end issue.

Based on the code it seems the reproduction steps for this are:

Sign into NewDot via accountA.
Sign into OldDot with accountB. Create or use a workspace with an existing account manager.
Invite accountA to the workspace as an admin. This should trigger the automated message.
accountA should see the incomplete LHN item for the automated message from the AM.

Updating the OP

Hmm I can't seem to reproduce this locally after following those reproduction steps. It appears the personal details of the account manager are always sent with the other Pusher updates.
If anyone else wants to try here are some detailed steps I followed to set up a domain with an account manager locally:

Generate a domain ../script/clitools.sh generator:domain
Go to https://www.expensify.com.dev/inbox#/tools/UserAssignment and assign an AM to that domain.

Hmm I'm unable to reproduce the issue locally based on the reproduction steps I provided above. It appears the personal details for the new invitee are always sent to the account manager, and the LHN item always appears as expected.
@twisterdotcom Do you mind looking over my reproduction steps to see if they make sense? There's a chance that this was just a transient Pusher issue. I'm going to try to reproduce this on staging now.

Took a look again, here are the logs from when the automated message should have been sent. They don't really say much in terms of Onyx updates.
We should send the personalDetails from Auth here, gonna add a log to see if that's being hit locally. There's a chance something was wrong when I tried to reproduce it yesterday.

Hmm this time I wasn't able to reproduce exactly the same result as in the OP but the chat does show up as Hidden which probably isn't what we want.
It seems like the new admins aren't passing the isKnownUser check which is preventing their logins from being returned as their display names if they don't have a display name set. I'm testing with an account manager on the expensify.com domain.

Strange we're not passing shouldPushOnyxUpdates here which means we don't push the personal details of the participants when someone creates a chat report via this flow.
Passing true to that parameter causes the personal details to be pushed out correctly.
I'm guessing we don't call CreateChatReport normally when creating DMs for NewDot (we use OpenReport which handles pushing those updates separately) which explains why this happens. Since this is all automated in the back-end we don't call OpenReport.
I think a safer bet to just call OpenReport instead of CreateChatReport since that's what we call when we create a DM in the front-end anyways.

Happy to test on staging. One Q here though is that I wonder whether this also solves the underlying extra problem that this message shouldn't ever be unread for the AM anyway - it's a message from them, so it should always be read by them. It should only become unread once the other participant(s) send a message right?

@twisterdotcom True, that's definitely also an issue. The solution I provided doesn't address that issue, but I can handle that in this issue too.

This isn't a new assignment, it's just a new admin for an existing assignment. We have enough triggers and reports for them to be aware of new assignments, so I don't think this is intended at all. They should not distract from the workload they already have on, so they really should be marked as read by the AM when this message is sent.

But it should be unread for the recipient, not unread for both the sender and recipient

I see Rachel Chang in the blame of the notification in the web repo. But the original issue is here:
https://github.com/Expensify/Expensify/issues/120062

@jasperhuangg what do you need to get started on this?

Ah I missed this in my K2 because of the reviewing label, sorry for the delay. It seems I have everything I need to get started, I just wanted to confirm that I wasn't overriding something done on purpose to make these LHN rows unread.

Got caught up addressing another daily issue today, I should be able to tackle this tomorrow.

Thanks!

A lot has happened in this issue so I just wanted to provide an update on what I'll be working on next.
The original reason this issue was created has been addressed in https://github.com/Expensify/Web-Expensify/pull/43404 (steps 1-6 below). However, there were concerns that the admin invite notification should not show as unread for the AMs since they are the ones sending the message (step 7 below)
So we basically want the following expected behavior:

Create an account (accountA) and generate a domain via ./script/clitools.sh generator:domain for that account.
Sign into your Expensify account (accountB) locally and navigate to https://www.expensify.com.dev/concierge/#/tools/UserAssignment and assign your Expensify account to the newly generated domain as an account manager.
Sign into accountA on OldDot. Create a workspace.
In a separate window, sign into accountB on NewDot.
Invite a non-existent user (accountC) as an admin to the workspace in OldDot with accountA.
Verify in accountB's LHN you see a well-formed LHN row that correctly displays accountC's email with Hey there! Dropping by to .....
Verify that this LHN row does not have the unread styles applied.

https://github.com/Expensify/Web-Expensify/pull/43659 is on prod, I think it should be safe to close this out!


build: spellchecker

Description

fix spelling mistakes
add spellchecker

Motivation and Context
Prevent spelling mistakes
How has this been tested?

yarn spellchecker
CI

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.

Coverage remained the same at 98.86% when pulling c0a51cdd865d19531f15cf46d589a7b113d3546a on spellchecker into 6ca729e05e293bcb888d06495a2ab1ca39ecdba6 on master.


Update CardHeaderFirst API

[] Card Vertical:

Q1: Does the button can be used with all emphasis ?
-> always low emphasis

Q2: Is it possible to have the button in disable state (example, still response of a request to a backend is not available) ?
Not now

[ ] bug reported with #499


May 2019 - Modern authentication setting

"Modern authentication. Yes, there is a new setting to turn on Modern authentication! To check it out, go to Settings > Services & add-ins > Modern authentication."
I am unable to find this setting while logged in with a global admin account.

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

ID: 6c772841-0d77-98e6-3e0e-af6f5c9d06a1
Version Independent ID: 9e61ed55-3037-c7f2-4149-ca72ba789c9d
Content: What's new in the Microsoft 365 admin center?
Content Source: Office365-Admin/whats-new-in-preview.md
Service: o365-administration
GitHub Login: @anfowler
Microsoft Alias: anfowler

@officedocsbot assign @mypil

@0acff4be45 - Thank you for submitting feedback.
I will get this issue over to the O365ITPro writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@0acff4be45 Thank you for your feedback. We have made changes to the doc via PR https://github.com/MicrosoftDocs/OfficeDocs-O365ITPro/pull/553

Some new features are rolled out slowly. If you're not seeing the change yet, just be patient, it will show up!

@0acff4be45 - From our understanding, the issue you raised has been answered by adefowler. If you feel it hasn't been answered, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


Focused view missing for text editor

Huge fan of focusedView for the window.title setting as an accessibility user. The problem is that I really need to know when the text editor is focused or not. Currently I can't tell if I'm in the editor or the search widget for example. Could we add Text Editor as a view name in focusedView?
edit:
As a clarification this would be only when the focus is actually on the text editor document itself. No search or rename widgets. Preferably those would have their own names as well, but are not as important.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_smiling_face: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

If you use focusedView and activeEditor in the window title, does that work for you?

Unfortunately no. When in the search widget focusedView is missing and activeEditorShort shows the filename. This is the same as if the text document was actually focused. I need to know if focus is actually on the text document and not search/rename widgets/popups. Something similar to the keybinding "when": "editorTextFocus", but in the window title instead.

Do you mean when you focus the search widget in the editor? Or the search input in the search view?

Yes the search widget in the editor. I need to be able to detect this. editorTextFocus works, but is not accesible through the title.

The editor is not a view and thus, I am not sure we should do this. @sandy081 what do you think?

We could consider adding another variable, ${editorTextFocused} or something though

${editorTextFocused} would work great for me!

@bpasero what do you think of this? Would we go with Editor Focused when true or True... 🤔

I would not have another one but use focusedView. Can we rename it so that it covers views and parts? It is a bit weird though to not have it announce the editor when focus is in the search field. Should we then do the same in the views as well?

The request is for it to specifically not say the focusedView is editor when it's in the editor's find widget.
When the terminal is the focused view, it remains that even when using the find widget. That makes sense to me as it's still the focused view.
Thus, I feel it's best to have a separate one, so we aren't doing different things / the definition of focused view doesn't become quite confusing.

Then go ahead and add a new variable as you see fit for this use case, I think there is no limits to what we can have there in terms of variables in that setting.

This is a bit more involved than I had imagined. We currently don't have an event which tracks when a find widget is shown /hidden. We'd need that in order to schedule an update of the window title.

I think the monaco code editor exposes 2 events: onDidFocusEditorText and onDidFocusEditorWidget that would need to be brought up to the title control I guess.

I agree with you now that I've looked into this more closely. I think it should be included in the focusedView variable and we should call that something different.

interestingly, onDidFocusEditorWidget was not fired when I expected it to be. onDidFocusEditorText and onDidBlurEditorText work well though 👍🏼 thanks.

I don't want to break peoples' existing setups, so maybe we should stick with focusedView

To verify:

add ${focusedView} to window.title
Focus different views (for example, the output channel, terminal, SCM)
Focus a text editor. You should see Text Editor in the window title.
Use the find widget in a text editor. You should not see Text Editor in the window title.


Fix panel test not respecting base path setting

Description
The test fails if a base path is set, which doesn't show up as a problem in GH CI but does in other CI pipelines. Will need backport to 2.x for 2.17.
Issues Resolved
N/A
Check List

[X] Commits are signed per the DCO using --signoff

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.

 │ ✖  plugins/observability-dashboards/1_      04:48        4        -        4        -        - │
  │    trace_analytics_dashboard.spec.js                                                           │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  plugins/observability-dashboards/2_      01:24        2        1        1        -        - │
  │    trace_analytics_services.spec.js                                                            │

failed cases are not related to the change, safe to merge.


feature(lazygit): Open current file git directory

Did you check the docs?

[X] I have read all the snacks.nvim docs

Is your feature request related to a problem? Please describe.
When I open a folder, and need to edit a file from another folder I use the command :e file_name and want to run lazygit in the folder where the file is located.
Describe the solution you'd like
Currenly i use fterm and using this function to get the current local git dir

        local function get_root(cwd)
            local status, job = pcall(require, "plenary.job")
            if not status then
                return fn.system("git rev-parse --show-toplevel")
            end

            local gitroot_job = job:new({
                "git",
                "rev-parse",
                "--show-toplevel",
                cwd = cwd,
            })

            local path, code = gitroot_job:sync()
            if code ~= 0 then
                return nil
            end

            return table.concat(path, "")
        end

        local function currentFileRootPath()
            local current_dir = vim.fn.expand("%:p:h")
            local git_root = get_root(current_dir)
            return git_root
        end

        local currentFileRootPath = currentFileRootPath()

        function _G.lazygit()
            local lazygit = fterm:new({
                cmd = "lazygit -p " .. currentFileRootPath(),
                -- blend = 20,
                border = "double",
                dimensions = {
                    height = 1,
                    width = 1,
                },
            })
            lazygit:toggle()
        end

Describe alternatives you've considered

Additional context
No response

Snacks.lazygit({cwd = Snacks.git.get_root()}).
Please use discussions next time.


Lost Funds on 01/07/2018

Hello ,
I lost money between USDT (Tether ) and BTC (Bitcoin) , here s the transactions Ref below :
Completed
2018-01-07 02:09:44
USDT<PHONE_NUMBER>8
Address: 15hXVABkA2Jv5mWqAWDieBs4QW3bDqmwVe
Txid: d7e2ed7996cd51cbdb59a53c1ab730136c82488d18cfc013c559fb21c1661e5d Check , this transaction
is lost , it s not showing on Bitcoin .
Completed
2018-01-07 03:59:52
BTC 0.00000546
Address: 15hXVABkA2Jv5mWqAWDieBs4QW3bDqmwVe
Txid: d7e2ed7996cd51cbdb59a53c1ab730136c82488d18cfc013c559fb21c1661e5d Check ,
When i calculate USDT (TetherUS) $999.73803638 into BTC (Bitcoin) 0.00000546 , Not even a Dollar .
I hope you can help me get back my money  .
Thank you .

Can somebody please help. I sent btc from gdax to my Binance USDT address and is showing completed on my Coinbase account but is no where to be found on Binance and is not showing in history. I logged on to Omni explorer and it shows an available balance but have no idea where it is and why it didn’t get to Binance

Hey @DRMFR, please reach out to the Binance support. Given that this was just a BTC send, it should be possible for them to account it properly for you.

Binance can account for it, but coins.ph says that their wallet cannot recognize BTC. When it was sent to coins.ph it was lost in the wilderness of their wallet! What to do??? Marty
On Tuesday, May 15, 2018 06:05:05 AM CDT, dexX7<EMAIL_ADDRESS>wrote:

Hey @DRMFR, please reach out to the Binance support. Given that this was just a BTC send, it should be possible for them to account it properly for you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@martyer1949: unfortunately it's really up to them and whether they can help you. :(

@martyer narefund na po ba pera nyu? Parehas kc tau problema nag send din aq ng usdt sa coinsph


policies: fix lookup unexisting value

This pr fixes a bug in the policies variable resolver that would return None on a lookup for an unexisting value in a header.
This is not a very robust fix though. A more robust fix would differentiate between static properties and computed properties. We should aim a better compat with js.

@MarinPostma A small test case to at least trigger the failure?

Another way to handle missing data (or anything unexpected) is to immediately deny the operation.  This would help prevent security surprises.
I believe I had also noticed that, for onRead operations, it's possible to put a null value inside an entity field (an invalid value) that came from a missing header lookup.  This sounds like bad behavior - I would have preferred that the operation simply fail with a meaningful error message in the output.

@CodingDoug that's not a good idea: it's not expected behavior, and would bite you back. Here's an example:
(entity, context) => {
    if (context.headers["somefield"]) { // <- this would blow up!
        if (context.headers["someField"] == 42) {
            return Action.Allow;
        }
    }
}

As

@CodingDoug that's not a good idea: it's not expected behavior, and would bite you back. Here's an example:
(entity, context) => {
    if (context.headers["somefield"]) { // <- this would blow up!
        if (context.headers["someField"] == 42) {
            return Action.Allow;
        }
    }
}

As it stands now with Record<string, string>, yes, that would be a problem.  But if we had a data structure contain the headers that exposes a check for existence (that doesn't ever fail), that would be fine. That way, they are specifically opting into optionality of the header with clear code.


Summary
I would like to add Bahamut chain.
Chain ID
5165
Chain detail URL
https://chainlist.org/chain/5165
RPC URL
https://rpc1.bahamut.io
Blockscout Client URL
https://api.ftnscan.com/api/v1/graphql
Etherscan Client URL
No response
Etherscan Client API URL
No response
Version
1.3.0
Address (Master copy)
0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552
Deployment Tx hash (Master copy)
0x8faaafda03b6aa1e53182993f0f8599cda760b8560d511a408bed3240b59e86a
Block explorer URL (Master copy)
https://www.ftnscan.com/address/0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552
Address (Master copy L2)
0x3E5c63644E683549055b9Be8653de26E0B4CD36E
Deployment Tx hash (Master copy L2)
0x8085b22f570fbcb0fa2399bf2af7ea802bb5dbb0a6b375ef30587c187d87c852
Block explorer URL (Master copy L2)
https://www.ftnscan.com/address/0x3E5c63644E683549055b9Be8653de26E0B4CD36E
Address (Proxy factory)
0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2
Deployment Tx hash (Proxy factory)
0x7d992e01cb5911b0f7d817364a911625e03ff70166d9a152452ec46dc7c732e8
Block explorer URL (Proxy factory)
https://www.ftnscan.com/address/0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2

Hey @fastexlabs
First, it would be necessary to add the deployment here.
Thanks

Hi @falvaradorodriguez
Here is the link of the deployment that you asked for: https://github.com/safe-global/safe-deployments/issues/790
Can you please check and get back to me?
Thanks!

Hi @fastexlabs ,
I have seen that an issue has been created in the safe-deployments repository. The changes should be made in that repository before. You can take an existing PR in safe-deployments as an example and add it yourself.
Once that step is done, we can add the addresses here.
Thanks.

Hi @falvaradorodriguez
Here is the link of the Merged PR https://github.com/safe-global/safe-deployments/pull/818
Can you please check and get back to me?
Thanks!

/execute


Publish to ConanCenter

Hey, neat library! I might have a use for this in a demo crypto application.
What do you think about publishing your header to ConanCenter? This provides a standardized way for developers to version your dependency and integrate it with other libraries.
https://conan.io/center/

Thanks for the suggestion! I might get around to doing it at some point.


python311Packages.pytraccar: 2.0.0 -> 2.1.0

Diff: https://github.com/ludeeus/pytraccar/compare/refs/tags/2.0.0...2.1.0
Changelog: https://github.com/ludeeus/pytraccar/releases/tag/2.1.0
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 288155 run on x86_64-linux 1

6 packages built:

home-assistant-component-tests.traccar
home-assistant-component-tests.traccar_server
python311Packages.pytraccar
python311Packages.pytraccar.dist
python312Packages.pytraccar
python312Packages.pytraccar.dist


First proto debug log statement in the wrong timezone

What version?
0.23.0
Which command?
No response
What happened?
The first log statement emitted by proto is in a different format from the other logging statements. In particular, "Running proto" uses my local time zone for the timestamp but all other logging statements use UTC.
$ proto use --log debug
[DEBUG 2023-12-24 17:23:23] proto  Running proto v0.26.0  bin="proto" args=["use", "--log", "debug"] pid=97537
[DEBUG 23:23.161] proto_core::proto:detect_proto_env  Creating proto environment, detecting store  store="/Users/dan/.proto"
[DEBUG 23:23.161] proto_core::proto_config:load_proto_configs  Loading .prototools  file="/Users/dan/Source/proto/.prototools"
[DEBUG 23:23.162] proto_core::proto_config:load_proto_configs  Loading .prototools  file="/Users/dan/.proto/.prototools"

Trace logs?
No response
Operating system?
MacOS
Architecture?
arm64

This is actually in starbase, but it's also weird since they're both the same local time variable: https://github.com/moonrepo/starbase/blob/master/crates/framework/src/tracing.rs#L71

Oh I think you're confused because the short format is just minutes, seconds, and nanoseconds. It's not hour/minute.

Oh I think you're confused because the short format is just minutes, seconds, and nanoseconds. It's not hour/minute.

You are right - the format confused me. Even after definitely noticing the format, it still confused me. maybe:

the hours should be kept in the timestamp
messages should stamped with the duration the process has been running instead of the partial time
use the ISO 8601 format for truncated time with a leading - e.g. -23:23.161 (though I think this format is deprecated)

if you think it’s okay as-is, you can close this issue

Added the hours to it.


td-agent log error "broken pipe"

hi
When I run this process normally for about an hour or two, td-agent hangs up. Prometheus shows that this instance has been down. When I check the td-agent log, it shows the following picture, please help me Take a look, thanks

This looks like a network issue.
Can you provide more context into this issue?
How is this environment setup? bare metal/VM or K8s?
Are you shipping the logs across the network?

Describe the bug
When I run this process normally for about an hour or two, td-agent hangs up. Prometheus shows that this instance has been down
Expected behavior
Find the reason for disconnection
Your Environment
CentOS Linux release 7.3.1611
td-agent 3.8.0
fluent-plugin-prometheus 1.7.3
Your Configuration
`

  @type prometheus

@type monitor_agent
port 24220

@type forward
port 24224
keepalive true

input plugin that collects metrics from MonitorAgent

@type prometheus_monitor

  host ${hostname}

input plugin that collects metrics for output plugin

@type prometheus_output_monitor

  host ${hostname}

input plugin that collects metrics for in_tail plugin

@type prometheus_tail_monitor

  host ${hostname}

  @type tail
  @id artifactory_service_tail
  path "/home/work/artifactory-pro-6.17.0/logs/artifactory.log"
  pos_file "/home/work/artifactory-pro-6.17.0/logs/artifactory.log.pos"
  tag jfrog.rt.artifactory.service

      @type multiline
      format_firstline /\d{4}-\d{1,2}-\d{1,2}/
      format1 /^(?[^.*]*) \[(?[^\]]*)\] \[(?[^\]]*)\] (?.*) - (?.+)$/
      time_key timestamp
      time_format %Y-%m-%d %H:%M:%S,%L

  @type tail
  @id artifactory_request_tail
  path "/home/work/artifactory-pro-6.17.0/logs/request.log"
  pos_file "/home/work/artifactory-pro-6.17.0/logs/request.log.pos"
  tag jfrog.rt.artifactory.request

    @type regexp
    expression ^(?[^ ]*)\|(?[^\|]*)\|(?[^\|]*)\|(?[^\|]*)\|(?[^\|]*)\|(?[^\|]*)\|(?[^\|]*)\|(?[^\|]*)\|(?[^\|]*)\|(?.+)$
    time_key timestamp
    time_format %Y%m%d%H%M%S
    types request_duration:integer, content_length:integer,return_status:integer

  @type record_transformer
  enable_ruby true

    user ${!record["username"].strip().start_with?("token") ? (record["username"].strip()) : ("")}
    repo ${!record["request_url"].strip().start_with?("/ui") && !record["request_url"].strip().start_with?("/webapp") && record["request_url"].strip().start_with?("/api/npm") || record["request_url"].strip().start_with?("/api/go") || record["request_url"].strip().start_with?("/api/pypi") ? (record["request_url"].strip().split('/')[3]) : (!record["request_url"].strip().start_with?("/api") && !record["request_url"].strip().start_with?("/webapp") ? (record["request_url"].strip().split('/')[1]) : (""))}
    artifact ${!record["request_url"].strip().start_with?("/ui") && !record["request_url"].strip().start_with?("/webapp") && !record["request_url"].strip().start_with?("/api") || record["request_url"].strip().start_with?("/api/npm") || record["request_url"].strip().start_with?("/api/pypi") || record["request_url"].strip().start_with?("/api/go") ? (val = record["request_url"].strip().split('/'); val[val.length()-1]) : ("")}
    dockerRepo ${record["request_url"].strip().include?("/api/docker") && !record["request_url"].include?("/api/docker/null") && !record["request_url"].include?("/api/docker/v2") ? (record["request_url"].strip().split('/')[3]) : ("")}
    dockerImage ${record["request_url"].strip().include?("/api/docker") && !record["request_url"].include?("/api/docker/null") && !record["request_url"].include?("/api/docker/v2")  ? (record["request_url"].strip().split('/')[5]) : ("")}
    data_download ${record["request_method"] == "GET" ? record["content_length"] : 0}
    data_upload ${record["request_method"] == "PUT" ? record["content_length"] : 0}
    content_length ${record["content_length"] == -1? 0: record["content_length"]}

  @type tail
  @id artifactory_access_tail
  path "/home/work/artifactory-pro-6.17.0/logs/access.log"
  pos_file "/home/work/artifactory-pro-6.17.0/logs/access.log.pos"
  tag jfrog.rt.artifactory.access

    @type regexp
    expression ^(?[^.*]*) \[(?[^\]]*)\] (?.*) for client : (?.+) / (?.*).$
    time_key timestamp
    time_format %Y-%m-%d %H:%M:%S,%L

  @type record_transformer
  enable_ruby true

    user ${!record["username"].strip().start_with?("token") ? (record["username"].strip()) : ("")}

<filter jfrog.**>
@type record_transformer

hostname "#{Socket.gethostname}"
log_source ${tag}

#JFROG CALL HOME

  @type exec
  tag jfrog.callhome
  command "/home/work/artifactory-pro-6.17.0/fluentd-1.11.0-linux-x86_64/lib/ruby/bin/gem list --local | grep fluent | sed 's/ (/:/g' | sed 's/)//g'  | sed ':a;N;$!ba;s/\n/\t/g'"
  run_interval 1d

    @type ltsv

  @type exec
  tag jfrog.callhome
  command /opt/td-agent/embedded/bin/gem list --local | grep fluent | sed 's/ (/:/g' | sed 's/)//g'  | sed ':a;N;$!ba;s/\n/\t/g'
  run_interval 1d

    @type ltsv

  @type record_transformer
  renew_record true
  keep_keys 'productId,features'
  enable_ruby true

    productId 'jfrogLogAnalytics/v0.1.0'
    features ${return(record.map { |k,v| { "featureId" => (k + ':' + v).to_sym} })}

  @type http
  endpoint http://localhost:8081/artifactory/api/system/usage
  open_timeout 5
  content_type application/json

    @type json

    flush_interval 5s

#END CALL HOME

  @type prometheus

    name jfrog_rt_req
    type counter
    desc artifactory requests

      host ${hostname}
      user ${username}
      request_url ${request_url}
      return_status ${return_status}
      repo ${repo}
      artifact ${artifact}
      dockerImage ${dockerImage}
      dockerRepo ${dockerRepo}
      remote_address ${remote_address}
      request_duration ${request_duration}
      method ${request_method}
      content_length ${content_length}

    name jfrog_rt_data_download
    type counter
    desc artifactory data download
    key data_download

      host ${hostname}
      remote_address ${remote_address}
      artifact ${artifact}
      repo ${repo}
      dockerImage ${dockerImage}
      dockerRepo ${dockerRepo}
      data_download ${data_download}
      method ${request_method}
      content_length ${content_length}

    name jfrog_rt_data_upload
    type counter
    desc artifactory data upload
    key data_upload

      host ${hostname}
      remote_address ${remote_address}
      artifact ${artifact}
      repo ${repo}
      dockerImage ${dockerImage}
      dockerRepo ${dockerRepo}
      data_upload ${data_upload}
      method ${request_method}
      content_length ${content_length}

@type prometheus

    name jfrog_rt_log_level
    type counter
    desc artifactory log_levels

      host ${hostname}
      log_level ${log_level}

@type prometheus

  name jfrog_rt_access
  type counter
  desc artifactory access

    host ${hostname}
    user ${username}
    action_response ${action_response}
    ip ${ip}

Your Error Log
[error]: #0 #<Async::Task:0x3f8d2026932c incoming connection #<Addrinfo: ip:port TCP> [fd=22] (failed)>Broken pipe

The log is sent over the network

Thanks I'll try to reproduce this on my side as well.

OK, can you please reply me with a message, thank you very much

OK, can you please reply me with a message, thank you very much

Hi @zio-pzl I've left an instance up for over a week now and I've been unable to reproduce this issue.
To narrow down and eliminate the chance of it being a network issue I deploy Artifactory + Prometheus + Grafana all into the same K8s cluster.
To help out in your case can you verify a few things like:
a) Can you login to your k8s cluster hosting prometheus + grafana and spin up a ubuntu pod. Inside of ubuntu are you able to scrape the metrics interface from Artifactory?
i.e. curl ${ARTIFACTORY_URL}:24231/metrics
Assuming you have the correct URL you should be able to get metrics data if not this means a firewall or other issue is happening.
b) If you are able to scrape can you login to your prometheus instance (not grafana) and validate that the service monitors appear for the artifactory metrics. It may be the case that you have manually deploy these since Artifactory service monitor is not available in this k8s cluster.
Let me know if this help your issue. If they do not fix the issue please reach out to JFrog support and we can set up an internal support session to assist you further.

Hi @zio-pzl I've left an instance up for over a week now and I've been unable to reproduce this issue.
To narrow down and eliminate the chance of it being a network issue I deploy Artifactory + Prometheus + Grafana all into the same K8s cluster.
To help out in your case can you verify a few things like:
a) Can you login to your k8s cluster hosting prometheus + grafana and spin up a ubuntu pod. Inside of ubuntu are you able to scrape the metrics interface from Artifactory?
i.e. curl ${ARTIFACTORY_URL}:24231/metrics
Assuming you have the correct URL you should be able to get metrics data if not this means a firewall or other issue is happening.
b) If you are able to scrape can you login to your prometheus instance (not grafana) and validate that the service monitors appear for the artifactory metrics. It may be the case that you have manually deploy these since Artifactory service monitor is not available in this k8s cluster.
Let me know if this help your issue. If they do not fix the issue please reach out to JFrog support and we can set up an internal support session to assist you further.

Thank you very  @peters95 . But i previously stated that my machine environment is CentOS Linux release 7.3.1611, so maybe changing to k8s environment will not do much for me.
In addition, artifactory has a lot of logs. I wonder if td-agent or prometheus cannot support high concurrency. Or can you help tell me how to modify the concurrency of td-agent or prometheus?

Thank you very  @peters95 . But i previously stated that my machine environment is CentOS Linux release 7.3.1611, so maybe changing to k8s environment will not do much for me.
In addition, artifactory has a lot of logs. I wonder if td-agent or prometheus cannot support high concurrency. Or can you help tell me how to modify the concurrency of td-agent or prometheus?

@zio-pzl td-agent is based upon fluentd and we use the same process for JFrog SaaS to ship logs for thousands of SaaS instances so td-agent can support very high concurrency in this regard.
I believe the issue is actually a network problem. Have you tried to follow the steps above to test your network connectivity to the metrics endpoint?

@zio-pzl td-agent is based upon fluentd and we use the same process for JFrog SaaS to ship logs for thousands of SaaS instances so td-agent can support very high concurrency in this regard.
I believe the issue is actually a network problem. Have you tried to follow the steps above to test your network connectivity to the metrics endpoint?

Closing due to inactivity.


Refactor lib/models/llm/openai-llm-list.ts

Reduce code duplication as much as possible in lib/models/llm/openai-llm-list.ts.
Use 1 variable for modelId and hostedId type OpenAILLMID.

Tenten turned this issue into this commit: https://github.com/kurama3322/ai-chatbot/commit/d7a0d8321d15ad5e7f3a2d31240060c50de6970a


[feat] DeepSeek Platform support

Describe the problem
I'd like to have a support of DeepSeek platform
Describe the solution you'd like
I'd like to have a support of DeepSeek platform
Alternatives considered
No response
Additional context
No response

The following seems to have a bit of an advertising purpose, but I haven't received any payment from them!
Is this referring to: https://www.deepseek.com? This is a very good model, especially with good coding abilities, and it's very cost-effective, about $0.14/M. In a comparative evaluation, the coding ability of o1-preview (planning) + deepseek (coding) is comparable to that of o1-preview (planning) + o1-mini (coding).
My understanding is that this is a large language model or API, and I don't see any purposefulness in the issues mentioned above. In my understanding, large language models supporting Tauri means they are trained on Tauri documentation or code from projects developed using Tauri during the training process, which is not within Tauri's control.

Closing as there seems to be no action for us to take. If we misunderstood you, please expand your feature request with more details.


Move strategy-specific dataloader logic to the stategies

Proposed refactor

Motivation
Strategies today interact with dataloading, especially in distributed training. It makes sense for the strategy to directly handle this logic.
This would reduce and simplify interactions elsewhere in the trainer, in particular strategy state -> trainer properties -> data connector logic
And would remove the hacky patching that IPUs do right now 😧  https://github.com/PyTorchLightning/pytorch-lightning/blob/cc43d07db1ab77385feff04c01f040c5cad805a9/pytorch_lightning/strategies/ipu.py#L125-L130

Pitch
The Strategy interface already offers a process_dataloader method:
https://github.com/PyTorchLightning/pytorch-lightning/blob/cc43d07db1ab77385feff04c01f040c5cad805a9/pytorch_lightning/strategies/strategy.py#L369-L375
However, there's a ton of strategy-specific logic written in the trainer's data connector:
For example, warnings with DDP spawn:
https://github.com/PyTorchLightning/pytorch-lightning/blob/cc43d07db1ab77385feff04c01f040c5cad805a9/pytorch_lightning/trainer/connectors/data_connector.py#L278-L312
generic multi-processing warning:
https://github.com/PyTorchLightning/pytorch-lightning/blob/cc43d07db1ab77385feff04c01f040c5cad805a9/pytorch_lightning/trainer/connectors/data_connector.py#L314-L322
the is_distributed flag is primarily used here within the trainer: https://github.com/PyTorchLightning/pytorch-lightning/blob/cc43d07db1ab77385feff04c01f040c5cad805a9/pytorch_lightning/trainer/connectors/data_connector.py#L324-L330
Distributed sampler kwargs is strategy specific:
https://github.com/PyTorchLightning/pytorch-lightning/blob/cc43d07db1ab77385feff04c01f040c5cad805a9/pytorch_lightning/trainer/trainer.py#L2126-L2129
IPU check: https://github.com/PyTorchLightning/pytorch-lightning/blob/cc43d07db1ab77385feff04c01f040c5cad805a9/pytorch_lightning/trainer/connectors/data_connector.py#L364
In my opinion we could simplify this by moving relevant logic into strategy.process_dataloader instead. Common logic can still be abstracted out into utility functions to share across different strategy classes.
We could either:

augment process_dataloader to acept more metadata, such as the trainer's running stage and if this is a dataloader being used for training/validation/test/predict

def process_dataloader(self, dataloader, use: str) -> Union[dataloader, iterable]:

or offer multiple APIs that map to the DataLoader hooks: https://github.com/PyTorchLightning/pytorch-lightning/blob/cc43d07db1ab77385feff04c01f040c5cad805a9/pytorch_lightning/core/hooks.py#L406
def process_train_dataloader(self, dataloader):
def process_val_dataloader(self, dataloader):
def process_test_dataloader(self, dataloader):
def process_predict_dataloader(self, dataloader):

Over time, the Trainer flag replace_sampler_ddp makes much more sense on the specific distributed strategy constructors instead of on the trainer.

Additional context

If you enjoy Lightning, check out our other projects! ⚡

Metrics: Machine learning metrics for distributed, scalable PyTorch applications.

Lite: enables pure PyTorch users to scale their existing code on any kind of device while retaining full control over their own loops and optimization logic.

Flash: The fastest way to get a Lightning baseline! A collection of tasks for fast prototyping, baselining, fine-tuning, and solving problems with deep learning.

Bolts: Pretrained SOTA Deep Learning models, callbacks, and more for research and production with PyTorch Lightning and PyTorch.

Lightning Transformers: Flexible interface for high-performance research using SOTA Transformers leveraging Pytorch Lightning, Transformers, and Hydra.

cc @justusschock @awaelchli @akihironitta @rohitgr7 @ninginthecloud @tchaton @borda

This is a great concept and I feel we should definitely explore it. However, I see some challenges to put everything in this single method, because the logic is spread out and interleaved with other non-strategy related functions. To get to a proof-of-concept, one attempt a intermediate refactor to sequence out the strategy-related code and merge them into a single method inside the connector, to find what the blockers are.
It would also be great if we could make it trainer-reference-free to enable using the hook also in Lite. In this sense, I would first explore the generic def process_dataloader(self, dataloader, use: str) -> Union[dataloader, iterable]: instead of the prefixed versions.


stack auto enters operational mode after init

I've noticed that when using the stack on slave nodes, the stack goes automatically into operational mode after boot. This happens when we setup the OD 1F80 record (which will contain the CANOpen state during boot) with value 0x00 (= CO_NMT_INITIALIZING).
The code that makes it automatically go into operational mode is in CO_NMT_Heartbeat.c; function CO_NMT_Process().
Currently we can adjust that behavior by setting the default value for the OD 1F80 record to 0x04 (= CO_NMT_STOPPED).
However, that is not what CANOpen standard defines. From initialization mode the nodes are only allowed to enter pre-op mode. Only the master is allowed to set a node in operational mode:
image CANOpen state machine
I'd think the code would need to be as suggested:

Hi  Geoffery,
According to the DSP-302 i have (v3.2.1) there are possible boot flowcharts
that show autostart of slave notes, section 4. (page 3) shows the use of
object 0x1f80, bit 2 to auto start a slave node that is not the NMT master.
So checking bit 2 of 0x1f80 and autostarting a slave is the correct thing
to do. I'm not sure if i've mis-understood the patch or the boot flow chart
;-)
Regards
Robin
On Mon, 7 Oct 2019 at 09:43, Geoffrey Van Landeghem <
<EMAIL_ADDRESS>wrote:

I've noticed that when using the stack on slave nodes, the stack goes
automatically into operational mode after boot. This happens when we setup
the OD 1F80 record (which will contain the CANOpen state during boot)
with value 0x00 (= CO_NMT_INITIALIZING).
The code that makes it automatically go into operational mode is in
CO_NMT_Heartbeat.c; function CO_NMT_Process().
Currently we can adjust that behavior by setting the default value for the
OD 1F80 record to 0x04 (= CO_NMT_STOPPED).
However, that is not what CANOpen standard defines. From initialization
mode the nodes are only allowed to enter pre-op mode. Only the master is
allowed to set a node in operational mode:
image CANOpen state machine
https://www.can-cia.org/fileadmin/resources/images/nmt-slave.gif
I'd think the code would need to be as suggested:
You can view, comment on, or merge this pull request online at:
https://github.com/CANopenNode/CANopenNode/pull/107
Commit Summary

stack auto enters operational mode after init

File Changes

M stack/CO_NMT_Heartbeat.c
https://github.com/CANopenNode/CANopenNode/pull/107/files#diff-0 (3)

Patch Links:

https://github.com/CANopenNode/CANopenNode/pull/107.patch
https://github.com/CANopenNode/CANopenNode/pull/107.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CANopenNode/CANopenNode/pull/107?email_source=notifications&email_token=AABG2GDGSOSMXDJAW7VT5H3QNLZE7A5CNFSM4I6BOOBKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HP75FUQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABG2GF3BEWBPDIKUDO54YLQNLZE7ANCNFSM4I6BOOBA
.

Hi Robin,
thanks for referring to the docs, I hadn't checked that but was basing my knowledge from a course I was enrolled into, and google :)
Section 4 in that document states:

When the CANopen Manager starts after Power-On, it will perform the state machine according to
DS-301. Before switching the state from Pre-Operational to Operational it has the task of booting all
assigned slaves. The overall process is shown in the following two flow charts.

The flowchart that is shown in sector 4 shows the path for CANopen manager. From what I understand, first thing the flowchart does, when booting / comms reset, is checking object 1F80h so to know that the node is configured as MNT master: if not node should enter slave mode and does not run any other parts of the flowchart.
Note that the NMT boot flowchart continues with Figure 2 on page 5. In that flowchart you'll notice that the NMT will only enter operational mode after all slaves have booted. If bit 2 is set, the NMT manager may enter operational state automatically after all slaves have booted. Otherwise it is up to the application to decide that. So I guess that's what the code reflects, but it is only applicable for master node, not slaves.
On sector 5.1, index 1F80h has following interpretation:

Bit 0
= 0 Device is NOT the NMT Master. All other bits have to be ignored.
The objects of the Network List have to be ignored.
= 1 Device is the NMT Master.

So I guess my patch Is not correct either and needs to check that bit. I'll rework it.

I have current DSP 302-2, you need to be CiA Member to get it.
Self Start is described in 6.2 Object 1F80h, Table 16 — Exceptions for NMT start-up capable devices
00000000 00000000 00000000 00001000b - self start
So current behaviour is OK. If any, you could read this as NMT master should ignore that bit. But NMT master can set its own state anyway...

So it seems the behavior has changed over time. Its a pitty that the DSP is being kept for Cia members only. I can't verify so I'll close the PR and use 0x04L as value for object 1F80h as that will give the same effect.


Get one account "actions" -DAWN-4.0

"cleos get actions account -j"

I'm sure to have already added http_plugin in config.ini. Could you help to fix?

Did you add the eosio::history_plugin?

Hi BM, I added history_plugin. The great news is I can use cleos get account XXX -j  for the account created by system contract. But still doesn't work for cleos get actions xxx -j with the same error. Thanks

Hi BM,

I added the history_plugin. But still not work for the cleos get actions xxx -j.
There is another issue for command cleos get account xxx -j with the error shown below. Actually, It did work for a simple account but failed for the account created by the system account.

The last issue is when I try to add account_history_plugin and account_history_api_plugin. I can not start the node in port 8888.

Thanks for your patient!

I addition, the plugins I used.
plugin = eosio::chain_api_plugin
plugin = eosio::net_api_plugin
plugin = eosio::net_plugin
plugin = eosio::http_plugin
plugin = eosio::producer_plugin
plugin = eosio::history_plugin
Any plugin I left?

Another issue I find, the wallet will lock if expired, I wish to set the config in config.ini. But doesn't work.
Timeout for unlocked wallet in seconds (default 900 (15 minutes)). Wallets will automatically lock after specified number of seconds of inactivity. Activity is defined as any wallet command e.g. list-wallets. (eosio::wallet_plugin)
unlock-timeout = 900

To configure the unlocked wallet configuration for keosd, you need to modify the config.ini inside ~/eosio-wallet instead. @eosio-sg do you still have similar problem with cleos get actions on v1.1.0?

We haven't received any feedback from you for some time. I assume the above suggestions works for you.
If you still have the problem and wish to discuss further, please post it in https://eosio.stackexchange.com. To keep things organized, Github issues are intended for bugs reporting and features tracking, and Stack Exchange is the right place for any technical support discussions. Thanks!


Changing the axis of global orientation

Thanks for your work and releasing the code, I think in your work y-axis is the upward axis. I was wondering how can I change the axis of the pelvis just from smpl-72 pose output? I tried rotating the pelvis with scipy.spatial.transform.Rotation but the global rotation is changing for each frame any idea what is the problem?

https://user-images.githubusercontent.com/64847793/197361395-5cee1f4f-a474-440c-aaee-536dc54e2fa8.mp4

This is result of the animation after rotating
https://user-images.githubusercontent.com/64847793/197361568-603ace09-e2ad-4474-9e08-7b4f29f86b5d.mp4

I fixed it by rotating over both the x and z axis.


Disable tray icon

Feature
Config option to disable tray icon.
Why
The tray button performs a "garbage" function if the user uses taskbar buttons.

Thanks for the feature request. This ability will be a part of upcoming of Tray Enhancements module of the mod client

Great!


build: Gate only on GHA: remove travis and appveyor ci config

It's been over a week since #1571 merged.
The GHA evaluation is successful.
This PR removes CI config of travis and appveyor.
Now MIRI gates on github actions CI only.
Will need https://github.com/rust-lang/homu/pull/109 to merge first,
otherwise bors will stuck.
Also, one may need to remove continuous-integration/appveyor/pr CI checks
in repo settings or appeveyor website.

Also, one may need to remove continuous-integration/appveyor/pr CI checks
in repo settings or appeveyor website.

Right, both Travis and AppVeyor integration should be removed.
@pietroalbini can you do that?

This should be able to land now.

All right, let's try. :)
@bors r+

:pushpin: Commit 8462558b6c819e4dc9c82981f101fcb3e2853811 has been approved by RalfJung

:hourglass: Testing commit 8462558b6c819e4dc9c82981f101fcb3e2853811 with merge cc21740684cfa524e347ead06700b6906af202ce...

Hm, AppVeyor still seems to trigger a build?
https://ci.appveyor.com/project/rust-lang-libs/miri/builds/35849135

By default AppVeyor uses its default settings when no appveyor.yml is present. I changed the configuration to skip branches without that file.

Okay, thanks.
We could also just entirely disable AppVeyor for this repository, if that's a possibility.

Ok, deleted the miri project on AppVeyor.

@bors retry

@lzutao: :key: Insufficient privileges: not in try users

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing cc21740684cfa524e347ead06700b6906af202ce to master...

bors retry

Why did you want to retry?

My apology! I forgot bors isn't gated on appveyor now :p


fix beamsearch crash and incorrect output in decode-only model and en…

…code-decode model
found with "do_sample=False, num_beams=4" in generation. test model include
decode only:"gpt2" "tiiuae/falcon-7b-instruct" "distilgpt2"
encode decoder: "facebook/bart-large-cnn" "sshleifer/distilbart-cnn-12-6" "philschmid/bart-large-cnn-samsum"

@regisss

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

because the static shape in self.generation.config is not set (see https://github.com/huggingface/optimum-habana/pull/627/files#diff-284d6c109e6788a4405e302113203f6b7e98be68afc7dd3d85b89c6329b9275eL540-R541), the issue is hidden in optimum-habana text generation example.

provide a simple test
from transformers import pipeline
import habana_frameworks.torch
import torch
from optimum.habana.transformers.modeling_utils import adapt_transformers_to_gaudi
adapt_transformers_to_gaudi()
generation_kwargs = dict(do_sample=False, num_beams=4, use_cache=True, max_new_tokens=32)

generator = pipeline(
        "text-generation",
        model="gpt2",
        torch_dtype=torch.bfloat16,
        device="hpu",
        **generation_kwargs,
)

print(generator("DeepSpeed is a machine learning framework"))

before the fix, the output is
[{'generated_text': 'DeepSpeed is a machine learning framework'}]
after the fix, the output is
[{'generated_text': "DeepSpeed is a machine learning framework that can be used to build machine learning models.\n\nIn this tutorial, we'll learn how to build a machine learning model that can be used to build"}

@libinta @mandy-li

provide a simple test for summerization using encoder-decoder model.
from transformers import pipeline
import habana_frameworks.torch
import torch
from optimum.habana.transformers.modeling_utils import adapt_transformers_to_gaudi
adapt_transformers_to_gaudi()
generation_kwargs = dict(do_sample=False, num_beams=4, use_cache=True, max_new_tokens=32)

generator = pipeline(
        "summarization",
        model="facebook/bart-large-cnn",
        torch_dtype=torch.bfloat16,
        device="hpu",
        **generation_kwargs,
)

print(generator(["(CNN)The Palestinian Authority officially became", "DeepSpeed is a machine learning"], batch_size=2))

without the fix. it will coredump

@sywangyi It seems the PR "breaks" regular generation. Running
python run_generation.py --model_name_or_path gpt2 --use_hpu_graphs --use_kv_cache --max_new_tokens 100 --prompt "Hello world"

on main returns
01/15/2024 21:55:18 - INFO - __main__ - Running generate...

Input/outputs:
input 1: ('Hello world',)
output 1: ('Hello world, I\'m not sure what to say.\n\n"I\'m sorry, but I\'m not sure what to say.\n\n"I\'m sorry, but I\'m not sure what to
say.\n\n"I\'m sorry, but I\'m not sure what to say.\n\n"I\'m sorry, but I\'m not sure what to say.\n\n"I\'m sorry, but I\'m not sure what to
say.\n\n"I\'m sorry, but I\'m not',)

Stats:
--------------------------------------------------------------------------------------------------------------
Throughput (including tokenization) =<PHONE_NUMBER>752864 tokens/second
Number of HPU graphs                = 12
Memory allocated                    = 0.51 GB
Max memory allocated                = 0.62 GB
Total memory available              = 94.62 GB
Graph compilation duration          = 1.3922957889735699 seconds
--------------------------------------------------------------------------------------------------------------

but on your branch I get
01/15/2024 21:55:53 - INFO - __main__ - Running generate...

Input/outputs:
input 1: ('Hello world',)
output 1: ('Hello world,',)

Stats:
-------------------------------------------------------------------------------------------------------------
Throughput (including tokenization) = 34314.56502749868 tokens/second
Number of HPU graphs                = 6
Memory allocated                    = 0.51 GB
Max memory allocated                = 0.62 GB
Total memory available              = 94.62 GB
Graph compilation duration          = 0.5902187939500436 seconds
-------------------------------------------------------------------------------------------------------------

@sywangyi It seems the PR "breaks" regular generation. Running
python run_generation.py --model_name_or_path gpt2 --use_hpu_graphs --use_kv_cache --max_new_tokens 100 --prompt "Hello world"

on main returns
01/15/2024 21:55:18 - INFO - __main__ - Running generate...

Input/outputs:
input 1: ('Hello world',)
output 1: ('Hello world, I\'m not sure what to say.\n\n"I\'m sorry, but I\'m not sure what to say.\n\n"I\'m sorry, but I\'m not sure what to
say.\n\n"I\'m sorry, but I\'m not sure what to say.\n\n"I\'m sorry, but I\'m not sure what to say.\n\n"I\'m sorry, but I\'m not sure what to
say.\n\n"I\'m sorry, but I\'m not',)

Stats:
--------------------------------------------------------------------------------------------------------------
Throughput (including tokenization) =<PHONE_NUMBER>752864 tokens/second
Number of HPU graphs                = 12
Memory allocated                    = 0.51 GB
Max memory allocated                = 0.62 GB
Total memory available              = 94.62 GB
Graph compilation duration          = 1.3922957889735699 seconds
--------------------------------------------------------------------------------------------------------------

but on your branch I get
01/15/2024 21:55:53 - INFO - __main__ - Running generate...

Input/outputs:
input 1: ('Hello world',)
output 1: ('Hello world,',)

Stats:
-------------------------------------------------------------------------------------------------------------
Throughput (including tokenization) = 34314.56502749868 tokens/second
Number of HPU graphs                = 6
Memory allocated                    = 0.51 GB
Max memory allocated                = 0.62 GB
Total memory available              = 94.62 GB
Graph compilation duration          = 0.5902187939500436 seconds
-------------------------------------------------------------------------------------------------------------

upload a commit to fix it.

I see perf drop 1.082(main) vs 0.972 (on your branch)
@sywangyi  Do you see the same?
python3 /root/optimum-habana/examples/summarization/run_summarization.py --model_name_or_path t5-3b --do_predict --predict_with_generate --dataset_name cnn_dailymail --dataset_config 3.0.0 --use_habana --per_device_eval_batch_size 2 --gaudi_config_name Habana/t5 --generation_num_beams 4 --ignore_pad_token_for_loss False --pad_to_max_length --use_hpu_graphs_for_inference --use_lazy_mode --max_predict_samples 200 --bf16 --bf16_full_eval --output_dir /tmp/tmpccx5bpdn

I see perf drop 1.082(main) vs 0.972 (on your branch) @sywangyi Do you see the same?
python3 /root/optimum-habana/examples/summarization/run_summarization.py --model_name_or_path t5-3b --do_predict --predict_with_generate --dataset_name cnn_dailymail --dataset_config 3.0.0 --use_habana --per_device_eval_batch_size 2 --gaudi_config_name Habana/t5 --generation_num_beams 4 --ignore_pad_token_for_loss False --pad_to_max_length --use_hpu_graphs_for_inference --use_lazy_mode --max_predict_samples 200 --bf16 --bf16_full_eval --output_dir /tmp/tmpccx5bpdn

Hi, the difference is caused by the change in

the question is I think the logic of "cur_len == self.generation_config.max_length" as stop criteria is incorrect

self.generation_config.max_length is not equal to max_new_length + prompt len in generation_config. lead to output text with incorrected length. (you could use the text generation script I show in the comment to try.
there's a lot of stop criteria. even user could define their own stop criteria. and this logic break the rule.

cur_len == self.generation_config.max_length+2

Understood.
cur_len == self.generation_config.max_length+2 is also a static check whereas slicing will cause shape change across runs and that's impacting the perf. We need to use someway of using pad_token_id with input_ids (or) some other workaround to avoid the shape change which is impacting the perf

cur_len == self.generation_config.max_length+2

Understood. cur_len == self.generation_config.max_length+2 is also a static check whereas slicing will cause shape change across runs and that's impacting the perf. We need to use someway of using pad_token_id with input_ids (or) some other workaround to avoid the shape change which is impacting the perf

Also, when ever user defines their own stop criteria, perf degradation is expected based on whether they support static_shapes (or) not. However, in default case, we should make it static_shapes for better perf. I will also brainstorm on ways to avoid slicing.

@bhargaveede and @regisss the is max length criteria that we use to determine if the generation has ended, you could see it use  input_ids.shape[-1] and compare with max_length. if you want to use static shape. we need to pass token idx in. override the max length criteria in transformer. user defined criteria also need the token idx, becuase input_ids.shape contain pad length which is not reliable. what's your point?
class MaxLengthCriteria(StoppingCriteria):
    """
    This class can be used to stop generation whenever the full generated number of tokens exceeds `max_length`. Keep
    in mind for decoder-only type of transformers, this will include the initial prompted tokens.

    Args:
        max_length (`int`):
            The maximum length that the output sequence can have in number of tokens.
        max_position_embeddings (`int`, `optional`):
            The maximum model length, as defined by the model's `config.max_position_embeddings` attribute.
    """

    def __init__(self, max_length: int, max_position_embeddings: Optional[int] = None):
        self.max_length = max_length
        self.max_position_embeddings = max_position_embeddings

    @add_start_docstrings(STOPPING_CRITERIA_INPUTS_DOCSTRING)
    def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool:
        cur_len = input_ids.shape[-1]
        is_done = cur_len >= self.max_length
        if self.max_position_embeddings is not None and not is_done and cur_len >= self.max_position_embeddings:
            logger.warning_once(
                "This is a friendly reminder - the current text generation call will exceed the model's predefined "
                f"maximum length ({self.max_position_embeddings}). Depending on the model, you may observe "
                "exceptions, performance degradation, or nothing at all."
            )
        return is_done

@bhargaveede and @regisss the is max length criteria that we use to determine if the generation has ended, you could see it use input_ids.shape[-1] and compare with max_length. if you want to use static shape. we need to pass token idx in. override the max length criteria in transformer. user defined criteria also need the token idx, because input_ids.shape contain pad length which is not reliable. what's your point?
class MaxLengthCriteria(StoppingCriteria):
    """
    This class can be used to stop generation whenever the full generated number of tokens exceeds `max_length`. Keep
    in mind for decoder-only type of transformers, this will include the initial prompted tokens.

    Args:
        max_length (`int`):
            The maximum length that the output sequence can have in number of tokens.
        max_position_embeddings (`int`, `optional`):
            The maximum model length, as defined by the model's `config.max_position_embeddings` attribute.
    """

    def __init__(self, max_length: int, max_position_embeddings: Optional[int] = None):
        self.max_length = max_length
        self.max_position_embeddings = max_position_embeddings

    @add_start_docstrings(STOPPING_CRITERIA_INPUTS_DOCSTRING)
    def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool:
        cur_len = input_ids.shape[-1]
        is_done = cur_len >= self.max_length
        if self.max_position_embeddings is not None and not is_done and cur_len >= self.max_position_embeddings:
            logger.warning_once(
                "This is a friendly reminder - the current text generation call will exceed the model's predefined "
                f"maximum length ({self.max_position_embeddings}). Depending on the model, you may observe "
                "exceptions, performance degradation, or nothing at all."
            )
        return is_done

Cant we using StaticMaxLengthCriteria?

now the the StoppingCriteria contained more than one criterias. for example. for text generation. it contains [<transformers.generation.stopping_criteria.MaxLengthCriteria object at 0x7fc31fc862f0>, <optimum.habana.transformers.generation.utils.StaticMaxLengthCriteria object at 0x7fc31fc86320>]. once one of the criteria meet exit requirment. the generaion will end. and if user defined criter like end in some specific "ids", correct logic is to get the latest generation ids and comparing. see if meet the ending requirement.

now the the StoppingCriteria contained more than one criterias. for example. for text generation. it contains [<transformers.generation.stopping_criteria.MaxLengthCriteria object at 0x7fc31fc862f0>, <optimum.habana.transformers.generation.utils.StaticMaxLengthCriteria object at 0x7fc31fc86320>]. once one of the criteria meet exit requirment. the generaion will end. and if user defined criteria like end in some specific "ids", correct logic is to get the latest generation ids and comparing. see if meet the ending requirement.

Got it. I think both StaticMaxLengthCriteria and MaxLengthCritieria shouldn't be together. If it's there then we should avoid it.
AS per your earlier comment can we modify coden "cur_len == self.generation_config.max_length+2" to something like "cur_len == adjusted_max_length"?
self.generation_config.max_length is not equal to max_new_length + prompt len in generation_config. lead to output text with incorrected length. (you could use the text generation script I show in the comment to try. also，using current logic will generate 2 less tokenizer than using stop criteria， if you use cur_len == self.generation_config.max_length+2，the perf is apple to apple.
@regisss
In case of user defined criteria, It's fine if we miss static shape there as it depends on the user.
But for all other default criterias, We should maintain static shape validity in the checks. What do you suggest? @regisss

@sywangyi @bhargaveede MaxLengthCriteria and StaticMaxLengthCriteria should be mutually exclusive if I understand correctly.
Ideally, we could remove the StaticMaxLengthCriteria class from the codebase and override the MaxLengthCriteria from Transformers:

it should get token_idx=None as an optional argument
if token_idx is None, fall back to Transformers implementation
if token_idx is not None, compare it with max length

Would that solve this issue and work for you?

agree, we should overide MaxLengthCriteria, pass token_idx in and remove StaticMaxLengthCriteria, which makes things simple.

Changes look fine to me. I will check locally if t5 and bart are fine with the patch.

Hmm still seeing some throughput regressions, for example with BLOOMZ-7b:
python3 /root/workspace/optimum-habana/examples/text-generation/run_generation.py --model_name_or_path bigscience/bloomz-7b1 --batch_size 1 --use_kv_cache --max_new_tokens 100 --use_hpu_graphs --bf16

I get 37.98 tokens/s instead of 41.52 on Gaudi1, and 106.42 instead of 130.1 on Gaudi2. Do you get the same @sywangyi ?

yes, I reproduce it and find it's related with token_idx, because it's a hpu tensor? upload a PR to fix it.

could you try by your side, and see if it's working now @regisss ?

could you try by your side, and see if it's working now @regisss ?

All regression tests passed, except the torch.compile one that seems to be broken:
Traceback (most recent call last):
  File "/root/workspace/optimum-habana/examples/text-generation/run_generation.py", line 562, in <module>
    main()
  File "/root/workspace/optimum-habana/examples/text-generation/run_generation.py", line 335, in main
    generate(None, args.reduce_recompile)
  File "/root/workspace/optimum-habana/examples/text-generation/run_generation.py", line 312, in generate
    outputs = model.generate(
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/optimum/habana/transformers/generation/utils.py", line 655, in generate
    self._validate_generated_length(
  File "/usr/local/lib/python3.10/dist-packages/transformers/generation/utils.py", line 1139, in _validate_generated_length
    if input_ids_length >= generation_config.max_length:
RuntimeError: [Rank:0] FATAL ERROR :: MODULE:PT_BRIDGE Exception in Lowering thread...
Graph compile failed. synStatus=synStatus 26 [Generice failure].
[Rank:0] Habana exception raised from compile at graph.cpp:503

Here is the command to reproduce it (torch.compile is available on Gaudi2 only):
PT_ENABLE_INT64_SUPPORT=1 PT_HPU_LAZY_MODE=0 python3 run_generation.py --model_name_or_path meta-llama/Llama-2-7b-hf --batch_size 1 --use_kv_cache --max_new_tokens 100 --attn_softmax_bf16 --reuse_cache --trim_logits --torch_compile --bf16

It comes from this line in Transformers: https://github.com/huggingface/transformers/blob/345b9b1a6a308a1fa6559251eb33ead2211240ac/src/transformers/generation/utils.py#L1139
Maybe we should override the _validate_generated_length method so that it takes the current length as an input argument for comparison with max length?

Hi, @regisss , I use you command, and see different error in gaudi 2
error is
Traceback (most recent call last):
File "run_generation.py", line 562, in
main()
File "run_generation.py", line 335, in main
generate(None, args.reduce_recompile)
File "run_generation.py", line 312, in generate
outputs = model.generate(
File "/usr/local/lib/python3.8/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/home/user/wangyi/optimum-habana/optimum/habana/transformers/generation/utils.py", line 789, in generate
return self.greedy_search(
File "/home/user/wangyi/optimum-habana/optimum/habana/transformers/generation/utils.py", line 1370, in greedy_search
outputs = self(
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1521, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1530, in _call_impl
return forward_call(*args, **kwargs)
File "/home/user/wangyi/optimum-habana/optimum/habana/transformers/models/llama/modeling_llama.py", line 763, in forward
outputs = self.model(
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1521, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1530, in _call_impl
return forward_call(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/_dynamo/eval_frame.py", line 328, in _fn
return fn(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1521, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1530, in _call_impl
return forward_call(*args, **kwargs)
File "/home/user/wangyi/optimum-habana/optimum/habana/transformers/models/llama/modeling_llama.py", line 672, in forward
layer_outputs = decoder_layer(
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1521, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1530, in _call_impl
return forward_call(*args, **kwargs)
File "/home/user/wangyi/optimum-habana/optimum/habana/transformers/models/llama/modeling_llama.py", line 465, in forward
output_pre_attn, self_attn_weights, present_key_value = self.pre_attn(
File "/home/user/wangyi/optimum-habana/optimum/habana/transformers/models/llama/modeling_llama.py", line 507, in pre_attn
hidden_states = self.input_layernorm(hidden_states)
File "/home/user/wangyi/optimum-habana/optimum/habana/transformers/models/llama/modeling_llama.py", line 507, in
hidden_states = self.input_layernorm(hidden_states)
File "/usr/local/lib/python3.8/dist-packages/torch/_dynamo/eval_frame.py", line 328, in _fn
return fn(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/_dynamo/external_utils.py", line 17, in inner
return fn(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/_functorch/aot_autograd.py", line 3917, in forward
return compiled_fn(full_args)
File "/usr/local/lib/python3.8/dist-packages/torch/_functorch/aot_autograd.py", line 1482, in g
return f(*args)
File "/usr/local/lib/python3.8/dist-packages/torch/_functorch/aot_autograd.py", line 2533, in runtime_wrapper
all_outs = call_func_with_args(
File "/usr/local/lib/python3.8/dist-packages/torch/_functorch/aot_autograd.py", line 1506, in call_func_with_args
out = normalize_as_list(f(args))
File "/usr/local/lib/python3.8/dist-packages/torch/_functorch/aot_autograd.py", line 1594, in rng_functionalization_wrapper
return compiled_fw(args)
File "/usr/local/lib/python3.8/dist-packages/torch/_functorch/aot_autograd.py", line 1482, in g
return f(*args)
File "<eval_with_key>.1220", line 17, in forward
File "/usr/local/lib/python3.8/dist-packages/torch/_ops.py", line 448, in call
return self._op(*args, **kwargs or {})
RuntimeError: shape mismatch: value tensor of shape [1, 32, 1, 128] cannot be broadcast to indexing result of shape [1, 32, 128]
Also there's code like in this PR

so I wander why this error occur


Add system run

Enable running the system integration environment like we do for system test in CI but keep the containers running and do not shutdown network when a node fails.

I would prefer if we didn't have to duplicate the script, or install debug dependencies in production to achieve this. The later is trivial to do (just make another docker file), but the former is a bit more tricky. Doesn't Docker provide a way to set the required CAP / seccomp on the container itself, perhaps via a label ?

This branch is currently being used for debugging and sharing tips for debugging, but is not ready to be merged so I'll close this request.


Sarif file uploading results fail v2 for @microsoft/eslint-formatter-sarif

CodeQl upload action is always failing with the following
Error: Path does not exist: results.sarif
Error: Path does not exist: results.sarif
    at getSarifFilePaths (/home/runner/work/_actions/github/codeql-action/v2/lib/upload-lib.js:152:15)
    at Object.uploadFromActions (/home/runner/work/_actions/github/codeql-action/v2/lib/upload-lib.js:140:30)
    at run (/home/runner/work/_actions/github/codeql-action/v2/lib/upload-sarif-action.js:51:47)
    at async runWrapper (/home/runner/work/_actions/github/codeql-action/v2/lib/upload-sarif-action.js:6[9](https://github.com/*****/*****/runs/6366980777?check_suite_focus=true#step:5:9):9)

Action
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# ESLint is a tool for identifying and reporting on patterns
# found in ECMAScript/JavaScript code.
# More details at https://github.com/eslint/eslint
# and https://eslint.org

name: ESLint

on:
  push:
    branches: [ main ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ main ]
  schedule:
    - cron: '24 7 * * 1'

jobs:
  eslint:
    name: Run eslint scanning
    runs-on: ubuntu-latest
    permissions: write-all
    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Install ESLint
        run: |
          npm install<EMAIL_ADDRESS>          npm install<EMAIL_ADDRESS>
      - name: Run ESLint
        run: npx eslint .
          --config .eslintrc.js
          --ext .js,.jsx,.ts,.tsx
          --format @microsoft/eslint-formatter-sarif
          --output-file eslint-results.sarif
        continue-on-error: true

      - name: Upload analysis results to GitHub
        uses: github/codeql-action/upload-sarif@v2
        with:
          # Path to SARIF file relative to the root of the repository
          sarif_file: results.sarif

It looks like your ESLint command creates a sarif file called eslint-results.sarif but the upload is looking for results.sarif. Perhaps the upload part should be:
      - name: Upload analysis results to GitHub
        uses: github/codeql-action/upload-sarif@v2
        with:
          # Path to SARIF file relative to the root of the repository
          sarif_file: eslint-results.sarif

@alexet changed it, but got
Error: codeql/upload-sarif action failed: HttpError: Resource not accessible by integration
RequestError [HttpError]: Resource not accessible by integration
    at /home/runner/work/_actions/github/codeql-action/v1/node_modules/@octokit/request/dist-node/index.js:66:23
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async Job.doExecute (/home/runner/work/_actions/github/codeql-action/v1/node_modules/bottleneck/light.js:405:18) {
  status: 403,
  headers: {
    'access-control-allow-origin': '*',
    'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset',
    connection: 'close',
    'content-encoding': 'gzip',
    'content-security-policy': "default-src 'none'",
    'content-type': 'application/json; charset=utf-8',
    date: 'Tue, 17 May 2022 09:48:21 GMT',
    'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin',
    server: 'GitHub.com',
    'strict-transport-security': 'max-age=3[15](https://github.com/yaradigitallabs/platform-core-sql-proxy/runs/6468240677?check_suite_focus=true#step:5:15)36000; includeSubdomains; preload',
    'transfer-encoding': 'chunked',
    vary: 'Accept-Encoding, Accept, X-Requested-With',
    'x-content-type-options': 'nosniff',
    'x-frame-options': 'deny',
    'x-github-media-type': 'github.v3; format=json',
    'x-github-request-id': '0500:7059:2C7BF3:864B12:62836F65',
    'x-ratelimit-limit': '15000',
    'x-ratelimit-remaining': '14975',
    'x-ratelimit-reset': '[16](https://github.com/yaradigitallabs/platform-core-sql-proxy/runs/6468240677?check_suite_focus=true#step:5:16)52782854',
    'x-ratelimit-resource': 'core',
    'x-ratelimit-used': '25',
    'x-xss-protection': '0'
  },
  request: {
    method: 'GET',
    url: 'https://api.github.com/repos/yaradigitallabs/platform-core-sql-proxy/actions/runs/2337759378?exclude_pull_requests=true',
    headers: {
      accept: 'application/vnd.github.v3+json',
      'user-agent': 'CodeQL-Action/1.1.10 octokit-core.js/3.1.2 Node.js/12.[22](https://github.com/yaradigitallabs/platform-core-sql-proxy/runs/6468240677?check_suite_focus=true#step:5:22).7 (linux; x64)',
      authorization: 'token [REDACTED]'
    },
    request: { agent: [Agent], hook: [Function: bound bound register] }
  },
  documentation_url: 'https://docs.github.com/rest/reference/actions#get-a-workflow-run'
}

When you get that error message, it's usually because your permissions block is incorrect.
I see you have permissions: write-all, which should work. However, this is actually a little overly broad. Here is our suggestion (from the [README.md] in this repo):
    permissions:
      # required for all workflows
      security-events: write

      # only required for workflows in private repositories
      actions: read
      contents: read

What am I missing guys? status 422
Uploading results
  Processing sarif files: ["results.sarif"]
  Uploading results
  Error: Invalid request.

  1 item required; only 0 were supplied.
  RequestError [HttpError]: Invalid request.

  1 item required; only 0 were supplied.
      at /home/runner/work/_actions/github/codeql-action/v2/node_modules/@octokit/request/dist-node/index.js:66:23
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Job.doExecute (/home/runner/work/_actions/github/codeql-action/v2/node_modules/bottleneck/light.js:405:[18](https://github.com/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing/actions/runs/3178322226/jobs/5179712521#step:5:19)) {
    status: 422,
    headers: {
      'access-control-allow-origin': '*',
      'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset',
      connection: 'close',
      'content-length': '123',
      'content-security-policy': "default-src 'none'",
      'content-type': 'application/json; charset=utf-8',
      date: 'Mon, 03 Oct [20](https://github.com/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing/actions/runs/3178322226/jobs/5179712521#step:5:21)[22](https://github.com/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing/actions/runs/3178322226/jobs/5179712521#step:5:23) [23](https://github.com/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing/actions/runs/3178322226/jobs/5179712521#step:5:24):55:08 GMT',
      'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin',
      server: 'GitHub.com',
      'strict-transport-security': 'max-age=31536000; includeSubdomains; preload',
      vary: 'Accept-Encoding, Accept, X-Requested-With',
      'x-content-type-options': 'nosniff',
      'x-frame-options': 'deny',
      'x-github-media-type': 'github.v3; format=json',
      'x-github-request-id': '05C7:0DC0:958E6A:9A3278:633B765C',
      'x-ratelimit-limit': '1000',
      'x-ratelimit-remaining': '997',
      'x-ratelimit-reset': '1664844158',
      'x-ratelimit-resource': 'code_scanning_upload',
      'x-ratelimit-used': '3',
      'x-xss-protection': '0'
    },
    request: {
      method: 'PUT',
      url: 'https://api.github.com/repos/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing/code-scanning/analysis',
      headers: {
        accept: 'application/vnd.github.v3+json',
        'user-agent': 'CodeQL-Action/2.1.26 octokit-core.js/3.1.2 Node.js/16.13.0 (linux; x64)',
        authorization: 'token [REDACTED]',
        'content-type': 'application/json; charset=utf-8'
      },
      body: '{"commit_oid":"eb7aa[25](https://github.com/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing/actions/runs/3178322226/jobs/5179712521#step:5:26)927e73cef181b5cc85ce699f4604d49cf","ref":"refs/heads/improvment/responsibilities-split","analysis_key":".github/workflows/account.yaml:analyze","analysis_name":"Account","sarif":"H4sIAAAAAAAAA6tWKkstKs7Mz1OyUjLSM9QzUNJRKirNK1ayio6tBQBSlZKzHQAAAA==","workflow_run_id":31783222[26](https://github.com/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing/actions/runs/3178322226/jobs/5179712521#step:5:27),"checkout_uri":"file:///home/runner/work/EDA.CleanArch.DDD.CQRS.EventSourcing/EDA.CleanArch.DDD.CQRS.EventSourcing","environment":"null","started_at":"2022-10-03T23:[55](https://github.com/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing/actions/runs/3178322226/jobs/5179712521#step:5:56):06.980Z","tool_names":[]}',
      request: { agent: [Agent], hook: [Function: bound bound register] }
    },
    documentation_url: 'https://docs.github.com/rest'
  }

The 422 error typically means that the sarif file you are uploading is syntactically correct, but semantically malformed. I would recommend that you add a new step to your workflow that simply runs cat on the results file. Take a look at the contents and feel free to paste them here as a comment. My guess is that codacy is creating a sarif file that is missing some crucial information.

I've got the same issue, I just use the default action created by the template:
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# ESLint is a tool for identifying and reporting on patterns
# found in ECMAScript/JavaScript code.
# More details at https://github.com/eslint/eslint
# and https://eslint.org

name: ESLint

on:
  push:
    branches: [ "main" ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ "main" ]
  schedule:
    - cron: '26 23 * * 0'

jobs:
  eslint:
    name: Run eslint scanning
    runs-on: ubuntu-latest
    permissions:
      contents: read
      security-events: write
      actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Install ESLint
        run: |
          npm install<EMAIL_ADDRESS>          npm install<EMAIL_ADDRESS>
      - name: Run ESLint
        run: npx eslint .
          --config .eslintrc.js
          --ext .js,.jsx,.ts,.tsx
          --format @microsoft/eslint-formatter-sarif
          --output-file eslint-results.sarif
        continue-on-error: true

      - name: Upload analysis results to GitHub
        uses: github/codeql-action/upload-sarif@v2
        with:
          sarif_file: eslint-results.sarif
          wait-for-processing: true
```

It's hard to tell what is going on here without more information. Can you insert a step like this, between the run and upload steps:
- run: | cat eslint-results.sarif

And paste or attach the contents of the file? Also, include the complete error message produced by your workflow run.

Same issue after yarn upgrade!
{
    "property": "instance.runs[0].results[4].suppressions",
    "message": "contains duplicate item",
    "schema": {
      "description": "A set of suppressions relevant to this result.",
      "type": "array",
      "minItems": 0,
      "uniqueItems": true,
      "items": {
        "$ref": "#/definitions/suppression"
      }
    },
    "instance": [
      {
        "kind": "inSource",
        "justification": ""
      },
      {
        "kind": "inSource",
        "justification": ""
      }
    ],
    "name": "uniqueItems",
    "stack": "instance.runs[0].results[4].suppressions contains duplicate item"
  }
Error: Unable to upload "eslint-results.sarif" as it is not valid SARIF:

hmmm...not sure why the sarif is not able to be found. Can you try running the npx eslint command from your workflow locally and attaching the sarif that gets produced? There is something in that file that code scanning is not able to process.

@Letgamer, please make sure that the sarif file is actually being generated. See my comment above on how you can do that. https://github.com/github/codeql-action/issues/1061#issuecomment-1268507384. If the file is not being generated, then that is probably something with @microsoft/eslint-formatter-sarif.

Same as @Letgamer. This below error log happened for a NodeJS project. Sad, but intriguing:
> Run cat eslint-results.sarif
cat: eslint-results.sarif: No such file or directory

I ended up running the required command on Linus terminal. I discovered the following facts:

File .eslintrc MUST be CommonJS i.e. .cjs. It means, its content is the classical module.exports = {key: "value"};
For a javascript project, the package @microsoft/eslint-formatter-sarif is required. It means, run the command npm i --save-dev @microsoft/eslint-formatter-sarif.

hi,
I want to add my error message, as I am not sure to open an extra issue for it.
Processing sarif files: ["results.sarif"]
  Error: Unexpected token g in JSON at position 0
  SyntaxError: Unexpected token g in JSON at position 0
      at JSON.parse (<anonymous>)
      at validateSarifFileSchema (/home/runner/work/_actions/github/codeql-action/959cbb7472c4d4ad70cdfe6f4976053fe48ab394/lib/upload-lib.js:176:24)
      at uploadFiles (/home/runner/work/_actions/github/codeql-action/959cbb7472c4d4ad70cdfe6f4976053fe48ab394/lib/upload-lib.js:238:9)
      at Object.uploadFromActions (/home/runner/work/_actions/github/codeql-action/959cbb7472c4d4ad70cdfe6f4976053fe48ab394/lib/upload-lib.js:[13](https://github.com/SchwarzIT/node-red-chart/actions/runs/3742007683/jobs/6352371438#step:6:14)2:18)
      at async run (/home/runner/work/_actions/github/codeql-action/959cbb7472c4d4ad70cdfe6f4976053fe48ab394/lib/upload-sarif-action.js:46:30)
      at async runWrapper (/home/runner/work/_actions/github/codeql-action/959cbb7472c4d4ad70cdfe6f4976053fe48ab394/lib/upload-sarif-action.js:68:9)

The string Unexpected token g in JSON at position 0 appears twice on the error log. It means, there is some weird token at file results.sarif. I suggest you to generate it locally and see the file content.

A wild error log appears:
Error: Unable to upload "eslint-results.sarif" as it is not valid SARIF:
- instance.runs[0].tool.driver.rules[10].helpUri does not conform to the "uri" format

You can see that the sarif file is invalid.
    "helpUri": "Please see details in message",

There is not much we can do about this since it is a problem with @microsoft/eslint-formatter-sarif.

@brunolnetto, thanks for exploring the issue and posting a workaround.

I gave up of this action and opt to use pre-commit actions. They are great!
Andrew Eisenberg @.***> schrieb am Mi., 4. Jan. 2023,
16:37:

You can see that the sarif file is invalid
https://github.com/quivero/prego/actions/runs/3772750507/jobs/6413851058#step:5:107
.
"helpUri": "Please see details in message",

There is not much we can do about this since it is a problem with
@microsoft/eslint-formatter-sarif.
—
Reply to this email directly, view it on GitHub
https://github.com/github/codeql-action/issues/1061#issuecomment-1371339070,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKQTVL4JVOA5XQOFDBVOWDWQXGN7ANCNFSM5VQ6HJMQ
.
You are receiving this because you commented.Message ID:
@.***>

I am going to close this issue since there are a number of different root causes and none seem to be directly with codeql-action.
If you are seeing something similar in the future, please open a new issue.

🖖 I managed to use pre-commit hooks and their ci bot. They are much better than this action...

@brunolnetto care to share a link to some code?

Sure. I can offer you my pre-commit setup on repository in:

Javascript: /trouchet/sappio;
Python /trouchet/appy and /quivero/eule

Take a look on respective yaml files. After pushing this file to (main|master) branch, do not forget to register the repository on CI engine: https://pre-commit.ci/


Ghost process exited with code: 0

Hi,
When I tried running Ghost by ghost start -D, it got the error Ghost process exited with code: 0. I checked my log file but it only showed the following, which is close to useless.
Debug Information:
    Node Version: v6.11.2
    Ghost-CLI Version: 1.1.1
    Environment: development
    Command: 'ghost start -D'
Message: Ghost process exited with code: 0
Stack: Error: Ghost process exited with code: 0
    at ChildProcess.cp.on (/usr/local/lib/node_modules/ghost-cli/lib/utils/local-process.js:47:24)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)

What is happening here?

@YOnoda can you re-open this issue in the ghost-cli repo? https://github.com/TryGhost/Ghost-CLI


Fix bug for resolveFromVersion with case sensitivity in certain OS's

Same issue as previous bug but in different location

Of course.  Happy to help.


Module 1.1 Assignment

Given what you have learned about Git, why would you want to use Git in your classroom?

yes