Error: cannot import name 'intersect_dicts' from 'yolov5.utils.torch_utils when using icevision==0.12.0 with yolov5==6.2.3

🐛 Bug
Describe the bug
When trying to use yolov5==6.2.3 with icevision==0.12.0 I get the following error:
8 from yolov5.models.yolo import Model
      9 from yolov5.utils.downloads import attempt_download
---> 10 from yolov5.utils.torch_utils import intersect_dicts
     11 from yolov5.utils.general import check_img_size
     12 from icevision.models.ultralytics.yolov5.utils import *

ImportError: cannot import name 'intersect_dicts' from 'yolov5.utils.torch_utils' (/databricks/python/lib/python3.8/site-packages/yolov5/utils/torch_utils.py)

To Reproduce
Steps to reproduce the behavior:

Install icevision==0.12.0 and yolov5==6.2.3
Try to instantiate icevision.parsers.COCOBBoxParser

Expected behavior
COCOBBoxParser is instantiated correctly
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

ubuntu 18.04

Additional context
I'm trying to replicate the exact same architecture available from ultralytics.yolov5 for inference (mainly because I want to run inference on raw images, without having to declare a Dataset or DataLoader. The reason for this is to deploy an object detection as a REST API endpoint.

It's in utils.general in the latest versions: https://github.com/ultralytics/yolov5/blob/fde77584687041aa62795bb2c27e895cf73686bf/utils/general.py#L242


[TS migration] AvatarCropModal

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/25145
PROPOSAL: https://github.com/Expensify/App/issues/25145#issuecomment-1883147855
Tests

Click on 'Settings' -> 'Profile'.
Click on Avatar and choose upload image
Upload any image
Make sure we are able to crop and freely pan the image
Click on 'save' and make sure it is saved correctly.

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Click on 'Settings' -> 'Profile'.
Click on Avatar and choose upload image
Upload any image
Make sure we are able to crop and freely pan the image
Click on 'save' and make sure it is saved correctly.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/77237602/e56900b1-7d4a-4109-b7ad-0b67dffce88b

Android: mWeb Chrome

https://github.com/Expensify/App/assets/77237602/dcd5cf12-f369-4e4e-8278-357678fce550

iOS: Native

https://github.com/Expensify/App/assets/77237602/7e16833a-1215-4062-bb89-0e91cff40ff0

iOS: mWeb Safari

https://github.com/Expensify/App/assets/77237602/1f53bc04-9a77-4986-98c5-4e9c87af3834

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/77237602/b1697d9b-2b84-42b9-b36a-2a5fcc06ec72

MacOS: Desktop

https://github.com/Expensify/App/assets/77237602/e269b20d-1c15-44bc-b396-9279c25d97b8

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Sorry for the delay @esh-g 🙏
Could you solve the conflict? I'll do the full test right after the conflict is resolved. Thanks!

@mollfpr Fixed the conflict... It was very tedious with the whole js and ts file difference. Hope we can get this merged ASAP before any other conflict arises, thanks!

restarted the failing test

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.32-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.4.32-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Integrating Polkadot.js with Blackprint

Project Abstract
Blackprint is a visual programming tool that can help developers interact with libraries by simply connecting nodes in realtime without the need to code. Developers themselves will need to use Blackprint Engine and load required modules to execute exported JSON of node, cable connections, and embedded data.
For which grant level are you applying?

[x] Level 1:  Up to $10,000, 2 approvals
[ ] Level 2:  Up to $50,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for > $100k Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied, renamed ( project_name.md) and updated.
[x] A BTC or Ethereum (DAI/USDT) address for the payment of the milestones is provided inside the application.
[x] I have read and acknowledged the terms and conditions.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted.

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

Hi! Thanks for the feedback.
I have updated the specification and mention "parachain" instead, where parachain is referring to Polkadot/Kusama or Westend testnet. By the way, thanks for remind me about the deliverables. I got realized I incorrectly wrote WebSocket into WebRTC, I was a bit sleepy that night 😅.
About additional technical details, I'm still unsure what to add because it may get changed in the future (especially when I want to improve it). I think I will put video instead and add some explanation to make it easier to understand about this proposal.
This proposal is supposed to be a Development Tools (IDE / IDE plugin) specific for the client side (Browser/Node.js), and the programming language that I will use is JavaScript like I mentioned in the "Technology stack" section.

Hi, Thanks for the clarification.
I mean all of parachain on these relay chain including the relay chain itself if Polkadot.js library could connect into it via RPC, but does the scope was too large for this proposal? 🤔 -- maybe I was missing something
If Polkadot.js library does work for them, then my Blackprint module will also work.
I also have tried to transfer WND balance between account on Westend network, and it's does work.
It's also can connect for this network via RPC with help of Polkadot.js library:

Aleph Zero: wss://ws.test.azero.dev/
Shibuya: wss://rpc.shibuya.astar.network/
Polkadot: wss://rpc.polkadot.io/
Westend: wss://westend-rpc.polkadot.io/

But because Aleph Zero also claim itself as a public blockchain, actually I think it's more suitable if I refer them as test/mainnet. Now I become confused what I should write on the proposal 😅.

Hi @mmagician! Thanks for your comment.
Maybe you have tried something like EtherScripter or other tools that using UI like jigsaw puzzle. I have tried EtherScripter but it feels like visual scripting (writing code but by drag and drop the code), and yes.. I feel like writing text code seems more straight forward and comfortable for me. I think you're not wrong. But it's also just my opinion, maybe someone out there actually finds it useful.
If I compare with them I think Blackprint design is more different, each input/output port has its own data type and it will reject any cable connection that doesn't meet some criteria (like input port being connected to input port, or port with Number data type being connected to port for String).
To bring the UX to the next level, I also added a feature to suggest nodes that can be connected by using CTRL + Right click on the input or the output port. So without reading the documentation the user can find out which nodes he can connect to that port.

Click here to see the picture

Without that feature, user may think:
For the input port: how or where I can get value for this port?
For the output port: what is this value/output for and to which node can I connect this?
The same issue may happen for traditional programming with script:
let audio = new Audio();
// What I should do next with this object, how can I play my .mp3 files?

But usually having documentation, example, and intellisense does solved this issue.

Because Blackprint is designed to use nodes that was imported from a module (just like a plugin/addons), Blackprint can be a general purpose visual programming tool that can be used for both frontend and backend. If you have seen the picture above, you may noticed that I already have nodes for Arweave. Because Arweave also has libraries for PHP and Golang, the exported JSON from Blackprint may also work for the target environment if the modules have been developed for the target language. Blackprint Engine currently supports JS/PHP/Golang, and the most updated engine is currently for JavaScript.
But yes.. because Blackprint is depends on its modules, the current consequences is Blackprint can't generate code by itself. I want to support code generation for Blackprint, but thinking the best design/technique for it is not easy -- especially if the target language is not just JavaScript or Golang.
But apart from the drawbacks, we can attach an event listener into Blackprint nodes to listen if the value was changed and we can programmatically change the port value with code after we add an ID to the target nodes. Blackprint can also be integrated with some frontend frameworks like Vue and React, and I have created some examples of it today for proof of working concept. But when I created that, I was thinking to change some API from Blackprint Engine to make it more perfect 😅

Well, it is just for additional information. I was pretty happy to read your comment @mmagician :)
I think I will also discuss about UX with my friend while waiting for other committee, he seems to have great interest for Blackprint and want to offer help about the documentation even though I haven't asked him.
Btw sorry if my comment was too long 🤣.

If you're going to try current Blackprint Editor
Blackprint Editor doesn't automatically load all available modules from NPM repository, and you will need to select which module you want to use. But if you're importing JSON or using the example, it may load the modules for you. The loaded modules can be found on either from the menu or with button on the right top.

Hi @StefansArya, thank you for your application. I'm afraid I agree with Marcin here and also won't support your application. Besides, I feel like this is a very niche use case - it's a cool project, but I'm not sure it would benefit other teams in the ecosystem. Best of luck.

Well, it's okay.
Thanks for taking time for reading my application @alxs.
Maybe I will look for grants on metaverse project as some developer may want to develop a game without coding. And also, I think I will still publish the module to the NPM registry because I may need it for interacting with blockchain's RPC from the metaverse that using Blackprint, maybe like for creating MVP/prototype/experiment.
By the way, is it okay if I reopen this application after Blackprint has been adopted by many developers/projects? Maybe on end of the year if I still actively working on open source and not delay/ended up because working somewhere 🤔
Actually I will be happy if you guys want to negotiate the milestone/costs so I can still have hope on here 😅

@StefansArya Thanks for the quick reply. I will share the application again with the rest of the team and let you know in case someone else would be interested in it. The fact that two people didn’t approve it, doesn’t mean it’s rejected.

Ahh sorry.
Thank you for keeping this application alive @Noc2

I actually think this could be very useful for quick scripting, and hopefully guide more people into interacting with the chain at the Polkadot API level.
I share Marcin's and Alex's concern about keeping it up to date, but I think a properly modularized software architecture would make this feasible (although not easy!) to maintain.


warning and notes appear to render incorrectly

I just published a test page
!!! info "optional explicit title within double quotes"
    Any number of other indented markdown elements.

    This is the second paragraph.

!!! warning
    You should note that the title will be automatically capitalized.

!!! tip
    You should note that the title will be automatically capitalized.

!!! note
    "Don't try this at home"
    ...

Appears to render in confluence as

I'd expect the note to render as

warning to be

And error to be

Unfortunately, I am no expert in Confluence. The utility md2conf translates Markdown admonitions info, tip, note and warning into Confluencestructured-macro instances of the same name attribute. Specifically, the note macro gets the exclamation mark in a triangle, and the warning macro gets the X in a circle. This is how these get rendered by our managed Confluence:

This is the Markdown source for the above image:
!!! info
    This is an information panel.

!!! info "Optional explicit title"
    This is an information panel with an explicit title.

    This is the second paragraph.

!!! tip "Tip of the day"
    This is a structured macro panel showing a tip.

!!! note "A note"
    This is a structured macro panel showing a note.

!!! warning "A warning message"
    This is a structured macro panel showing a warning.

The strange rendering for "optional explicit title within double quotes" in your case might be attributable to a less recent version of Python-Markdown. Does it help if you update dependencies?
python3 -m pip install --upgrade markdown types-markdown pymdown-extensions

Thanks for the reply
Tried updating the dependencies - seems like a similar result.
Will close this issue. thanks


chore: updated pub_updater dependency to latest

Description
Updates the pub_updater package to latest i.e. ^0.4.0.
Follow up for PR https://github.com/invertase/flutterfire_cli/pull/273
Type of Change

[ ] ✨ feat -- New feature (non-breaking change which adds functionality)
[ ] 🛠 fix -- Bug fix (non-breaking change which fixes an issue)
[ ] ❌ ! -- Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🧹 refactor -- Code refactor
[ ] ✅ ci -- Build configuration change
[ ] 📝 docs -- Documentation
[x] 🗑 chore -- Chore

@russellwheatley, looks like melos version for flutterfire_cli_monorepo should be updated to use the latest pub_updater package.
What should we do? Update melos along with pub_updater or add range value to pub_updater dependency.

Closing out as dependencies have been updated here: https://github.com/invertase/flutterfire_cli/pull/287
Thanks for poking me into action to update dependencies 🙏


Bitcoin Bech32 support

Support for Bitcoin Bech32 format address is needed. Especially now when is available in Ledger Live desktop app as an experimental function.
Currently it is not possible to move coins on Bech32 from the mobile app.
Also is there eta when Bech32 goes out of experimental?

No ETA yet but we're only waiting one remaining fix to be delivered in lib-ledger-core and we should be good to deliver it as non experimental, so hopefully soon!

thank you for information

i'm closing the issue because technically fixed from dev perspective


Add BrowserConnectionGateway typedef

Purpose
The interface TestCafe doesn't include a typedef for its browserConnectionGateway property.
Approach
Added new interface BrowserConnectionGateway. I didn't bother adding the methods/properties that start with underscores since I assume these aren't meant to be part of the public API.

Thank you for you contribution. However, the TestCafe.browserConnectionGateway property is not described in the docs and TS definitions since it is a part of the internal API. Could you please add details about how do you use this property?

@AndreyBelym It was provided in this code snippet -- I'm using it precisely in the manner outlines there to get QR code output via the JS api.

Thank you for the details. Currently, we do not plan to make this API public. You can use the following ways to generate QR code without adding BrowserConnectionGateway to TestCafe's TypeScript definitions:

Use BrowserConnection.connectUrl. Unlike BrowserConnectionGateway.connectUrl, this property is unique for each browser. So if you want to connect multiple browsers, you have to generate multiple QR codes for each connectUrl, or modify connectUrl of some browser with one of the following expressions:

browserConnection.connectUrl.split('/').splice(-1).join('/')
browserConnection.connectUrl.replace(/\/.*?$/, '')

Use declaration merging and extend the TestCafe interface in your files:

import createTestCafe from 'testcafe';

interface BrowserConnectionGateway {
    connectUrl: string;
}

declare global {
    interface TestCafe {
         browserConnectionGateway: BrowserConnectionGateway;
    }
}

//...

const testCafe = await createTestCafe();

console.log(testCafe.browserConnectionGateway.connectUrl)


Update docs setup page

Modified installation section to direct to master branch for both discord.js and discord-akairo packages.

Closed due to version 8.0.0 bump (https://github.com/discord-akairo/discord-akairo/commit/ccd021cb8075db3c71aedb09672ec9c575a76e61)


grep -o not available in git bash for Windows

The grep in git bash for Windows does not support the -o option. grep -o plays a pretty big part in the (staged|conflicted|unstaged|untracked)_status, which means that, on Windows, using git-radar results in the following message repeated about 20 times.
grep: invalid option -- o
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.

looks like these guys had a similar problem here. That link will take you to a comment that says that possibly upgrading grep to a newer version may solve the problem...
Alternatively, it is possible that maybe we can use sed instead, assuming that git bash has support for sed.

Alternatively (again) I have also found this gist which appears to be a bash script that will upgrade your grep on git bash for you.
It looks like it assumes you have 7-zip though, so if you don't have that you will probably have to install it in order to use this.


QG2101B firmware <IP_ADDRESS>_202012051744 use b091qp cannot connect to wifi and rtsp

Hi,
I've the same problem of https://github.com/roleoroleo/yi-hack-Allwinner-v2/issues/335
This is my factory firmware and boot log and ps
https://drive.google.com/drive/folders/1jq1g4fgt_o1LJiX3p9VSO1J2fdGhqCWY?usp=share_link

It should be already supported.
The model suffix is q321br_lsx:
https://github.com/roleoroleo/yi-hack-Allwinner-v2/releases/download/0.2.6/q321br_lsx_0.2.6.tgz

What's the name of the cam?

Model camera is: IHOUMI D350

EN: before writing here I had installed the version b091qp, is it possible to flash again by installing the version you indicated?
Thanks so much.
IT: prima di scrivere qua avevo installato la versione b091qp, è possibile rieseguire il flash installando la versione che mi hai indicato?

You can simply edit the file:
/tmp/sd/yi-hack/model_suffix
and change b091qp with q321br_lsx

Undue /tmp has present only topfile
root@(none):/# cd /tmp
root@(none):/tmp# ls
topfile

i performed the following steps:
1 - followed successfully the unbricking guide https://github.com/roleoroleo/yi-hack-Allwinner-v2/wiki/Unbrick-the-cam
2 - Re-run the first configuration with YI IOT app
3 - applied the FW q321br_lsx
But I have the same problem

After many attempts I realized that the problem was not enough disk space on /backup mount.
I have modify config.sh and add this command:
rm -f  /backup/tools/rsa_pub_dec
Now Works

Low res snapshot OK
High res stream OK (verified on VLC)
Only audio stream OK (verified on VLC)
High res snapshot go in Out of memory and cam reboot:
[  211.203679] Out of memory: Kill process 1187 (rmm) score 530 or sacrifice child
[  211.219811] Killed process 1187 (rmm) total-vm:49832kB, anon-rss:4888kB, file-rss:27776kB, shmem-rss:536kB

After many attempts I realized that the problem was not enough disk space on /backup mount.

This problem can be fixed (afaik) creating the restore partition using "hacked" parameter.

High res snapshot go in Out of memory and cam reboot:

Enable swap file.


Developing AutoMerge Actions

We need to develop an action that automatically merges when approved and all checks pass.

INVALID
See Automatically merging a pull request.
Also, https://github.com/duckie-team/duckie-quack-quack/commit/744339cec3bfe1b6d68f16ed57bb4b85f2d3722b.

Reopen
Why?
배포 자동화 과정에서 새로운 버전을 push 하는 과정이 있는데, branch protection 이 설정돼 있으면
Reference

auto-merge: merge-pull-requests-automerge-action
auto-approve: auto-approve

Close as https://github.com/duckie-team/quack-quack-android/issues/344


Issue options is displaced when label is added

Gitea version (or commit ref): 1.3.0
Git version: 2.7.4
Operating system: Ubuntu 16.04 LTS
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[ ] Not relevant

Log gist:

Description

When an issue is opened, the Labels/Milestone/Assignee options appear on the right side of the description box. (See attachment 1)
After issue title and description have been written and the issue has been created, the options still appear on the right side. (See attachments 2)
If a newly created issue is opened for editing, the options section still appears on the right. (See attachment 3) But, then, if any label is selected, the section comes down below the comment box and stays there. (See attachment 4)

This makes it very hard to check the labels, the milestones and―most importantly―the person assigned because there are always a lot of comments in between. Scrolling down for long periods is uncomfortable.
Screenshots

Can you reproduce that also on https://try.gitea.io/? For me on latest 1.4.2 version it seems to be working correctly

Please feel free to reopen it.


crc: init at 2.4.1 with aarch64-darwin support

Description of changes
Adds crc, a tool for local openshift cluster development.
@shikanime I used your 2.3.0 pr as a starting point and updated it to 2.4.1 which brings aarch64-darwin support. I created this new pr because I was not able to open a pull request to your repo and the changes were too many for a single review. I mainly tested it on aarch64-darwin, so it would be helpful if you could test/review it.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

It's true that I forgot to run the pre/post hooks in the build phase 👀
I also discovered that the crc build phase uses a SHELL variable which is assumed by default to be /bin/bash but as this assumption is not true in NixOS, the build failed on my side without passing explicitly the nix store shell :
make SHELL=$SHELL

But works on your side because you are using macOS which kinda uses FHS.
I had also passed COMMIT_SHA as it appeared in the crc version but for little reason other than the feeling of completeness ✿◕‿◕)

I also had a problem when I tried to run the test, I got something like this:
ok github.com/code-ready/crc/cmd/crc/cmd (cached)
? github.com/code-ready/crc/cmd/crc/cmd/bundle (no test files)
? github.com/code-ready/crc/cmd/crc/cmd/config [no test files] ?
? github.com/code-ready/crc/cmd/crc-embedder [no test files] ?
? github.com/code-ready/crc/cmd/crc-embedder/cmd [no test files] ?
FAIL
make: *** [Makefile:122: test] Error 1

Does this remind you of anything?

In the end I also fixed some test issues related to the fact that I'm using NixOS which is kind of "pure" and the weird guy github:shikanime/nixpkgs/crc

In the end I also found and fixed some test issues related to the fact that I'm using NixOS which is kind of the weird guy in the unix-like community (∩｀-´)⊃━☆ﾟ.*･｡ﾟ github:shikanime/nixpkgs/crc

I also ran into them. Great catch:+1:.

Closing in favor of https://github.com/NixOS/nixpkgs/pull/173681 and continuing there.


agent: get current cpuset from /sys/devices/system/cpu/online

Fixes: #693
Signed-off-by: choury<EMAIL_ADDRESS>

/test


Increase the number of Ansible forks

/azp run

/azp run

Tested deployments on AWS Ubuntu (20 vms):
1h 11min (ansible forks 5) vs 1h 23 min (ansible forks 20)


add reduction transforming SOCPs to QPs

Consider the following SOCP (per @wkschwartz)
import cvxpy as cv
u = cv.Variable(2)
constr = [u[1] - u[0] <= 100, u[1] - u[0] >= 0]
prob1 = cv.Problem(cv.Minimize(cv.norm(u)), constr)

Clearly, we could equivalently formulate the problem as a QP
import numpy as np
prob2 = cv.Problem(cv.Minimize(cv.quad_form(u, np.eye(2))), constr)

Right now if a user tries to call prob1.solve(solver='OSQP'), they will get a solver error.
This is okay from a correctness standpoint, since an SOCP and a QP are different mathematical objects from a duality perspective. Also users have the recourse to manually reformulate as in prob2 if they really want the QP-only solver.
However it would be very nice if cvxpy automatically performed the reduction from SOCP to QP when a user specifies a QP-only solver.

this is a long standing issue, and quite likely the reason why cvxpy has a sum_squares atom. i believe it is correct as it stands. if the user writes the problem in SOCP form, then they should get as SOCP. if they don't understand the difference, then inferring something in their stance is a bad idea.
i vote for closing this.

this is stupid. you are arguing to introduce a small bug (which is not an issue per se), but it is one, because cvxpy has gotten too complicated (cc. @SteveDiamond). development effort should be spent where it matters.
for example, the cvxpy to solver interface has become a mess. (where the fuck have the dims dictionaries gone?) i fear i know the reason why, and i'm partially responsible for it (i wrote the first interface to mosec). at a minimum, you should spun out all the commercial software interfaces and let their salesmen maintain them. you should focus on keep things simple and modular!..

cvxpy has gotten complicated, it's true. It's more modular than it appears, but probably less accessible than before. The solver interfaces are more ad hoc now. Having one way of representing solver information wasn't working. I don't work personally on the commercial solver interfaces. Those are contributed by others, which is working fine for now. It would be well worth cleaning out all the legacy solver interfaces so the approach is clearer.
In terms of this issue, if we were to add SOCP to QP conversion I would not do it in an ad hoc way such as by catching norm2, converting it to sum_squares, but catching all possible cases. People in Boyd's group have looked at this and it's somewhat involved. I guess we can keep this issue open, but it's not something I see getting into cvxpy any time soon.

thanks @SteveDiamond . i fear we can not succumb to complexity though. cvxpy 1.0 was meant as a notation cleanup (all the little .size and .shape), with the major addition of a branch in the conic canonicalizer that could catch quadratic forms, to support our shiny new QP open source solver, osqp. all the commercal crap should never have entered design choices.
to compile to QP form, me (and @moehle , and Reza) had identified the changes necessary to Jaehyun's LS compiler. it was a couple of hundred of lines of changes. (i never understood that weird cs-theoretical thing you put in the paper, although i believe the thing uses my code stub).
so, why don't we just branch cvxpy 0.4 and make a cvxpy 2.0? without all that giant crapload of c++ (shouldn't that have gone to code garbage a few years ago), without support for imagenary numbers (i thought we had got over those), and without caring a gram of shit about the stupid commerical solvers!!!!
(btw, @rileyjmurray comment in another thread is right. we should use cython to speed up canonicalization, not c++!)

@enzobusseti the C++ code present in cvxpy 1.0 was already present in cvxpy 0.4, just under a different name (cvxcanon instead of cvxcore). The long-term plan is to remove the dependence on cvxcore and make a different high-speed backend designed only with cvxpy in mind. However for now, it is simply not possible to "branch cvxpy 0.4 and make cvxpy 2.0 without C++".
On a second note- It's not clear to me how or where commercial solvers entered the design process for cvxpy 1.0. Certainly cvxpy 1.0 was not written in a way that made it easy for me to write the 1.0 MOSEK interface, and the CPLEX interface is currently a 1.0 wrapper around an old 0.4-style interface. It is true that cvxpy 1.0 is written with a less-specific canonical form in mind (relative to 0.4), but that generality has nothing to do with any one solver. YALMIP similarly has flexible problem representations and supports a huge range of commercial and open-source solvers.

All the above said, I have done more thinking about SOCP to QP conversion and I realize now where the problem lies.
Here's one way to look at it: It can be shown that supporting the second-order cone is equivalent to supporting constraints of the form  y.T * Q * y <= 0 where Q is a fixed matrix with at most one negative eigenvalue. QP solvers support constraints like  x.T * A * x + 2 * b.T * x + c <= 0, for PSD A. This can be written in block-form as [[x], [1]].T * [ [A, b], [b.T, c] ] * [ [x], [1] ] <= 0. The block matrix [[A, b], [b.T, c]]indeed has at most one negative eigenvalue, but the block vector[[x], [1]]necessarily has the final entry fixed to 1. There isn't a way for a QP-only solver to allow that1`` in the block vector to take on the range of values needed for an SOCP.
Here is another way to look at it: start with the scalar function x ** 2. The sub-level sets of the perspective of this function are { (x,y,z) : x ** 2 <= y * z, y >= 0 }. This set is precisely the "rotated second order cone" in R^3. We cannot expect a QP solver to accommodate perspective functions of x ** 2, any more than we can expect a solver supporting log(x) to accommodate the relative entropy function (which is essentially the perspective of the negative logarithm).
This is all to say: an SOCP with nontrivial linear term (a-la || A * x || + b.T * x + c <= 0 with b != 0) cannot be modeled solely in terms of linear (in)equalities, and sublevel sets of PSD quadratic forms. And as a result, SOCPs with nontrivial linear terms cannot be parsed into equivalent problems for QP-only solvers.
In view of these fundamental obstacles, I am now open to closing this issue.

It would make sense to re-open the issue if there was a "QP" solver that supported constraints of the form y.T * Q * y <= 0 when Q has at most one negative eigenvalue, but until someone writes such a solver, there is nothing to be done on cvxpy's end.
For now, it simply might make sense to update the documentation for OSQP with cvxpy, to make sure that people use the sum_squares atom instead of norm when working with OSQP. (I think this is worth doing, since users might otherwise fall back on quad_form, which is far less efficient than sum_squares).

@rileyjmurray I agree with the last point. Also, an easy solution could be to write a more descriptive error when the user tries to solve with OSQP a problem with norm(u) in the objective mentioning that it could be rewritten with sum_squares.

@rileyjmurray you're right, it's more complicated than it first looks. we had figured out that the QP-representable problems have inequality constraints involving quadratic-of-piecewise-affine functions. (let me know if you want to write a paper about it.)
and @SteveDiamond, i'm sorry, didn't mean to say  anything bad about cvxpy or its leadership. i know you guys are doing the best job (given the limited resources). cvxpy is amazing software. (also i have nothing against the people that develop proprietary solvers.) I wasn't being serious.

I'm reworking the documentation a bit. Rather than saying "use quad_form when working with OSQP" (which is very specific and didn't really have a natural place to mention), I added a column on the Atomic Functions table indicating the solver capabilities needed for the constraint. See here for the updated page.
For example, log_det_exp clearly states that the domain is PSD matrices, but it omits the fact that the solver also needs the exponential cone. In other cases, the Frobenius norm of a matrix is SOCP-representable, while the nuclear norm requires an SDP.  The issue discussed in this thread is resolved by marking the vector-norm as an SOCP representable atom, and sum_squares as an SOCP or QP representable atom.
I did use the facts that (1) all LPs are compatible with SOCP, QP, and EXP solvers, and (2) all SOCPs are compatible with SDP solvers.

The new column in the documentation helps a lot I think. Might also be good for newcomers to see at the top of the table your facts (1) and (2), possibly in the form of containment: LP <= QP <= SOCP etc

@rileyjmurray I missed your update to the atoms table. This makes a lot of sense, and is similar to the Convex.jl documentation. I guess I left it out before because we only had cone programs, and I didn't think users would understand.
@enzobusseti thanks for clarifying. cvxpy can always be improved, substantially in some ways, but I don't have the time and energy that I used to have for such large alterations.


Update Nuget dependencies

Some of these dependencies are out of date. We should update them.

Summary of the Pull Request

PR Checklist

[ ] Closes: #xxx
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

@microsoft-github-policy-service agree

fyi, this would have been too large of a change for us to validate.  I would suggest "like style" here.  so like, doing all the test frameworks in one should is ok but typically one at a time


RMRK2 minting error

What happened?
An artist using Nova wallet is unable to add more NFTs to her collection. She was able to add one. Now she is getting an error.
Collection: https://kodadot.xyz/ksm/collection/A20986FF921B82A06C-WHC one NFT was added; next one is not possible. Wallet: Nova wallet.
Error message:

Please reproduce in steps
Nova Wallet: minting NFT (adding NFT to existing collection)
Expected Behavior
mint without issues
What browsers are you seeing the problem on?
No response
At which address did you encounter bug?
kodadot.xyz
Are you logged in?
Yes
Which wallet you are using?
No response
Screenshots
added
Relevant log output
No response
Payment link for reward
https://kodadot.xyz/ksm/transfer/?target=<My_Kusama_Address_check_https://github.com/kodadot/nft-gallery/blob/main/CONTRIBUTING.md#creating-your-ksm-address>
Code of Conduct

[X] I agree to follow this project's Code of Conduct

her address: GEn74YSY6scZRozMi1prDyMP6toAz6stgiFK1LWzGSZB4TC it was yesterday around 3 pm CET. She tried to mint later - it worked. But still, getting wrrors like this is discouraging

Hey @JustLuuuu looks like Nova Wallet has some problems with provided RPC nodes. I will try to reach them, can he/she try to mint it via Desktop?

Hey @JustLuuuu looks like Nova Wallet has some problems with provided RPC nodes. I will try to reach them, can he/she try to mint it via Desktop?

Sadly no, I asked her about that. I also told her to try it again, restart and turn off everything. One other artist was able to mint properly. So lets see


[FLINK-26015] Fixes object store bug

What is the purpose of the change
FileSystem implementations based on object stores like S3 do not support directories. FileSystem.getFileStatus fails with a FileNotFoundException in such a case. This also happens despite the fact that FileSystem.mkdirs doesn't fail.
Additionally, I created FLINK-26061 as a follow-up to cover the inconsistency of the FileSystem contract.
Brief change log

Removes directory check from FileSystemJobResultStore since it's actually obsolete
Adds MinioTestContainer to test the change

Verifying this change

A ITCase was added that runs a job with HA enabled and backed by S3 using the newly added Minio TestContainer
MinioTestContainerTest was added to test rudimentary functionality of the MinioTestContainer

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: yes
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

The license checker failed because of the curator-test dependency being added. That introduces a new transitive dependency for guava. I excluded that dependency from flink-s3-fs-presto's dependency tree and force-pushed the changes triggering a new build.

Sadly, the JRS still doesn't work on K8s, using a minio s3 implementation:
2022-02-10 12:20:23,679 INFO  org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] - Starting the resource manager.
2022-02-10 12:20:23,765 INFO  org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess [] - Start SessionDispatcherLeaderProcess.
2022-02-10 12:20:25,060 INFO  org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess [] - Stopping SessionDispatcherLeaderProcess.
2022-02-10 12:20:25,164 INFO  org.apache.flink.runtime.jobmanager.DefaultJobGraphStore     [] - Stopping DefaultJobGraphStore.
2022-02-10 12:20:25,255 ERROR org.apache.flink.runtime.entrypoint.ClusterEntrypoint        [] - Fatal error occurred in the cluster entrypoint.
java.util.concurrent.CompletionException: org.apache.flink.util.FlinkRuntimeException: Could not retrieve JobResults of globally-terminated jobs from JobResultStore
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) ~[?:1.8.0_322]
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) [?:1.8.0_322]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1606) [?:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_322]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_322]
Caused by: org.apache.flink.util.FlinkRuntimeException: Could not retrieve JobResults of globally-terminated jobs from JobResultStore
	at org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess.getDirtyJobResults(SessionDispatcherLeaderProcess.java:186) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.dispatcher.runner.AbstractDispatcherLeaderProcess.supplyUnsynchronizedIfRunning(AbstractDispatcherLeaderProcess.java:198) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess.getDirtyJobResultsIfRunning(SessionDispatcherLeaderProcess.java:178) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[?:1.8.0_322]
	... 3 more
Caused by: java.io.FileNotFoundException: No such file or directory: s3://vvc-eu-west-1-dev-store/myorg/myscope/3d78a6e7-4c88-4e6f-8e59-4fb4b6dd6319-test-job-name-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ha/job-result-store/default
	at org.apache.hadoop.fs.s3a.S3AFileSystem.s3GetFileStatus(S3AFileSystem.java:2344) ~[?:?]
	at org.apache.hadoop.fs.s3a.S3AFileSystem.innerGetFileStatus(S3AFileSystem.java:2226) ~[?:?]
	at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:2160) ~[?:?]
	at org.apache.hadoop.fs.s3a.S3AFileSystem.innerListStatus(S3AFileSystem.java:1961) ~[?:?]
	at org.apache.hadoop.fs.s3a.S3AFileSystem.lambda$listStatus$9(S3AFileSystem.java:1940) ~[?:?]
	at org.apache.hadoop.fs.s3a.Invoker.once(Invoker.java:109) ~[?:?]
	at org.apache.hadoop.fs.s3a.S3AFileSystem.listStatus(S3AFileSystem.java:1940) ~[?:?]
	at org.apache.flink.fs.s3hadoop.common.HadoopFileSystem.listStatus(HadoopFileSystem.java:170) ~[?:?]
	at org.apache.flink.core.fs.PluginFileSystemFactory$ClassLoaderFixingFileSystem.listStatus(PluginFileSystemFactory.java:141) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.highavailability.FileSystemJobResultStore.getDirtyResultsInternal(FileSystemJobResultStore.java:158) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.highavailability.AbstractThreadsafeJobResultStore.withReadLock(AbstractThreadsafeJobResultStore.java:118) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.highavailability.AbstractThreadsafeJobResultStore.getDirtyResults(AbstractThreadsafeJobResultStore.java:100) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess.getDirtyJobResults(SessionDispatcherLeaderProcess.java:184) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.dispatcher.runner.AbstractDispatcherLeaderProcess.supplyUnsynchronizedIfRunning(AbstractDispatcherLeaderProcess.java:198) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess.getDirtyJobResultsIfRunning(SessionDispatcherLeaderProcess.java:178) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[?:1.8.0_322]
	... 3 more
2022-02-10 12:20:25,384 INFO  org.apache.flink.runtime.entrypoint.ClusterEntrypoint        [] - Shutting StandaloneApplicationClusterEntryPoint down with application status UNKNOWN. Diagnostics Cluster entrypoint has been closed externally..

Sadly, the JRS still doesn't work on K8s, using a minio s3 implementation:
2022-02-10 12:20:23,679 INFO  org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] - Starting the resource manager.
2022-02-10 12:20:23,765 INFO  org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess [] - Start SessionDispatcherLeaderProcess.
2022-02-10 12:20:25,060 INFO  org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess [] - Stopping SessionDispatcherLeaderProcess.
2022-02-10 12:20:25,164 INFO  org.apache.flink.runtime.jobmanager.DefaultJobGraphStore     [] - Stopping DefaultJobGraphStore.
2022-02-10 12:20:25,255 ERROR org.apache.flink.runtime.entrypoint.ClusterEntrypoint        [] - Fatal error occurred in the cluster entrypoint.
java.util.concurrent.CompletionException: org.apache.flink.util.FlinkRuntimeException: Could not retrieve JobResults of globally-terminated jobs from JobResultStore
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) ~[?:1.8.0_322]
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) [?:1.8.0_322]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1606) [?:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_322]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_322]
Caused by: org.apache.flink.util.FlinkRuntimeException: Could not retrieve JobResults of globally-terminated jobs from JobResultStore
	at org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess.getDirtyJobResults(SessionDispatcherLeaderProcess.java:186) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.dispatcher.runner.AbstractDispatcherLeaderProcess.supplyUnsynchronizedIfRunning(AbstractDispatcherLeaderProcess.java:198) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess.getDirtyJobResultsIfRunning(SessionDispatcherLeaderProcess.java:178) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[?:1.8.0_322]
	... 3 more
Caused by: java.io.FileNotFoundException: No such file or directory: s3://path
	at org.apache.hadoop.fs.s3a.S3AFileSystem.s3GetFileStatus(S3AFileSystem.java:2344) ~[?:?]
	at org.apache.hadoop.fs.s3a.S3AFileSystem.innerGetFileStatus(S3AFileSystem.java:2226) ~[?:?]
	at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:2160) ~[?:?]
	at org.apache.hadoop.fs.s3a.S3AFileSystem.innerListStatus(S3AFileSystem.java:1961) ~[?:?]
	at org.apache.hadoop.fs.s3a.S3AFileSystem.lambda$listStatus$9(S3AFileSystem.java:1940) ~[?:?]
	at org.apache.hadoop.fs.s3a.Invoker.once(Invoker.java:109) ~[?:?]
	at org.apache.hadoop.fs.s3a.S3AFileSystem.listStatus(S3AFileSystem.java:1940) ~[?:?]
	at org.apache.flink.fs.s3hadoop.common.HadoopFileSystem.listStatus(HadoopFileSystem.java:170) ~[?:?]
	at org.apache.flink.core.fs.PluginFileSystemFactory$ClassLoaderFixingFileSystem.listStatus(PluginFileSystemFactory.java:141) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.highavailability.FileSystemJobResultStore.getDirtyResultsInternal(FileSystemJobResultStore.java:158) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.highavailability.AbstractThreadsafeJobResultStore.withReadLock(AbstractThreadsafeJobResultStore.java:118) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.highavailability.AbstractThreadsafeJobResultStore.getDirtyResults(AbstractThreadsafeJobResultStore.java:100) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess.getDirtyJobResults(SessionDispatcherLeaderProcess.java:184) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.dispatcher.runner.AbstractDispatcherLeaderProcess.supplyUnsynchronizedIfRunning(AbstractDispatcherLeaderProcess.java:198) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess.getDirtyJobResultsIfRunning(SessionDispatcherLeaderProcess.java:178) ~[flink-dist-1.15-jrs-fix.jar:1.15-jrs-fix]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[?:1.8.0_322]
	... 3 more
2022-02-10 12:20:25,384 INFO  org.apache.flink.runtime.entrypoint.ClusterEntrypoint        [] - Shutting StandaloneApplicationClusterEntryPoint down with application status UNKNOWN. Diagnostics Cluster entrypoint has been closed externally..

The directory exists:
AWS_ACCESS_KEY_ID=admin AWS_SECRET_ACCESS_KEY=password aws --endpoint-url http://localhost:9000 s3 ls s3://path

s3://path is manually shortened by me.

https://github.com/apache/flink/pull/18692#discussion_r803684292 would be the most pressing comment.

Sadly, the JRS still doesn't work on K8s, using a minio s3 implementation:

Apparently, the failure was caused by an old Docker image being used for the test which I also used in my initial testing efforts. I addressed this in this comment above. In the mean time @rmetzger ran his test with a new Minio version without problems. Additionally, he ran the test on AWS S3 without running into the issue. All tests were performed with Hadoop S3 filesystem loaded.

Thanks @zentol for your thorough. I addressed/responded to all your comments. I squashed the commits and rebased the branch.

@flinkbot azure run

I created FLINK-26087 to have the issue covered that AzureCI is not properly setup to run the S3-related tests (it looks like the environment variables are missing in AzureCI).

@zentol I addressed your comments. Shall we proceed with squashing the PR or did I miss something?

Well we no longer need the changes in the filestore#getDirtyResultsInternal then, correct?

Well we no longer need the changes in the filestore#getDirtyResultsInternal then, correct?

We do. The Presto S3 Filesystem requires it. That's what FLINK-26061 is about.

Thanks for the second review @zentol. I addressed/responded to your comments. I reorganized the commits and squashed the individual commits together after addressing changes. Additionally, the branch got rebased

We do. The Presto S3 Filesystem requires it. That's what FLINK-26061 is about.

I'm wondering if that isn't yet again a minio issue. From everything I have read presto assumes that everything is an empty directory by default (hence why mkdirs doesn't do anything). So unless you check that a directory does not exist things should be fine. https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/directory_markers.html
Did you step through PrestoS3FileSystem to see which call fails? How does the test actually fail? Is the assertion failing, or is the FS throwing a FileNotFoundException.
I'm asking because FileSystem#exists only checks whether getFileStatus returns null, but I don't see a codepath in the presto filesystem where that can be the case.

Did you step through PrestoS3FileSystem to see which call fails? How does the test (FileSystemBehaviorTestSuite.testMkdirsCreatesParentDirectories) actually fail? Is the assertion failing, or is the FS throwing a FileNotFoundException.
I'm asking because FileSystem#exists only checks whether getFileStatus returns null, but I don't see a codepath in the presto filesystem where that can be the case.

I guess, I see where the confusion is coming: I missed the fact that the FileNotFoundException is handled in the hadoop-common FileSystem implementation (see FileSystem:1401). Hence, exists() doesn't cause problems but the getFileStatus implementation which is used in the pre-PR implementation of FileSystemJobResultStore (see my comment above for the code path).
Hence, change in question (removing the directory check) is still necessary for PrestoS3FileSystem. Otherwise, we would run into FileNotFoundExceptions when the base directory is empty.


[feature request]service topology feature supports multiple topology configuration.

What would you like to be added:
According to the tutorial: https://openyurt.io/docs/user-manuals/network/service-topology, service topology feature can only used for node or nodePool. in an other word, user can only select only one topology type.
But in the cases, users want to configure multiple topology types for service, for example: openyurt.io/topologyKeys: kubernetes.io/hostname, kubernetes.io/zone, so traffic will be forwarded to the pods on the same node, and traffic will be forwarded to the pods on the same nodePool when pods on the same nodes are not ready.
Why is this needed:
If service topology can be configured with multiple topology types, system stability can be improved because traffic will be handled in more bigger scope.
others
/kind feature

In order to implement this feature, yurt-controller-manager and yurthub components should be improved. @LinFCai Would you be able to take responsible of yurt-controller-manager component?
btw: i will take charge of yurthub component to adapt this feature.

@rambohe-ch OK，I can take responsible of yurt-controller-manager component

@LinFCai As discussed in #1026 , yurthub can not support multiple service topology setting at the same time, so i will close this issue and the connected pull request.


The Buying Screen Data Is Not "Live"

Hi again jason, this app keeps getting better and better!
However I noticed that the Buying screen does not show the actual value and i think this is causing problems in the re-bidding process.
For instance, if I change the screen from Current to Logs and then go back, the "Expires" number on the buying screen always go back to a certain value, which shows this is not "live" data. I don´t know if I made myself clear..
I'm getting a lot of 461 errors such as:
"futApiStatusCode": 461,
"reason": "You are not allowed to bid on this trade"
{
"futApiStatusCode": 461,
"reason": "Permission Denied"
}
I'm guessing this is related to the problem above as I have enough credits and no number of card limitations, and the current bid (and supposedly the final bid) are below my Max Price

The Overview screen starts the countdown from the time EA provides, and only updates when we check the auctions again.  It's always updating, but not every second, because that would get you banned.  It gets updated as the Autobuyer makes it's way though the bidding cycle, but I have definitely prioritized actually bidding on cards and winning auctions over updating the Overview display.
461 usually means that somebody beat you to the bid on that player.  Not really related.  If the final bid is below your max price, it means the AB tried to search the player, but there is a delay between the search and the bid (varies based on your RPM).  It is completely possible for someone to place a bid in between that time and for the auction to expire before we get back to it in the next cycle.

OK got it. I'm with a low RPM so that could be the cause of it.
How long does it take between automatic update prices, 1 hour? Can we make it shorter?
I think it should be lower as if I update the price manually I see that the price went down and that I'm willing to buy the player at a higher price.

I can probably add the update interval as a global setting.

Sure! thanks!


Evaluate ingest of raw keyspace into hdfs as parquet file.

parquet output is implemented in r23.06 including output to hdfs.

usage
graphsense-cli -v ingest from-node -e dev -c eth --previous_day --batch-size 100 --sinks parquet
the configuration file (~/.graphsense.yaml) contains the path to write to eg.
environments:
  dev:
    cassandra_nodes:
    - localhost
    keyspaces:
      eth:
        raw_keyspace_name: eth_raw
        transformed_keyspace_name: eth_transformed
        schema_type: account
        ingest_config:
          node_reference: http://localhost:8545
          raw_keyspace_file_sinks:
            parquet:
                directory: /tmp/eth_raw_parquet/
                # directory: hdfs://localhost:7022/raw_parquet/eth/
            csv:
                directory: /tmp/eth_raw_csv


connect() should verify the method name being connected to

Passing a bad signal name to connect() gives "ERROR: Attempt to connect to unexisting signal: signal_name".
However a bad function name as the third argument goes undetected.  More than once I've had to chase down a subtle typo like forgetting a leading _ in the function name to connect().
Would be nice if connect would verify both the signal and function are valid.

+1


Update ubuntu version

The book is currently deployed on an Ubuntu 18.04 machine (glibc 2.27) which raises the following error since the latest version of mdbook requires glibc 2.29:
mdbook: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.29' not found (required by mdbook)

and the book doesn't compile accordingly. This PR uses Ubuntu 20.04 (glibc 2.31) for deployment instead.

Seems like CI is only configured to run when a commit is pushed to master.
It will be best if it runs for any push and also for pull requests to make sure no breaking changes get merged.
Could you change the yaml to
on: [push, pull_request]

Done!


[capture] Batch mode for Ibex SCA

This commit adds the command handler for:

ibex_sca_tl_write_batch_fvsr
ibex_sca_tl_write_batch_fvsr_fix_address
ibex_sca_tl_write_batch_random
ibex_sca_tl_write_batch_random_fix_address
ibex_sca_tl_write_fvsr
ibex_sca_tl_write_random
ibex_sca_tl_read_batch_fvsr
ibex_sca_tl_read_batch_fvsr_fix_address
ibex_sca_tl_read_batch_random
ibex_sca_tl_read_batch_random_fix_address
ibex_sca_tl_read_fvsr
ibex_sca_tl_read_random
ibex_sca_register_file_write_batch_fvsr
ibex_sca_register_file_write_batch_random
ibex_sca_register_file_write_fvsr
ibex_sca_register_file_write_random
ibex_sca_register_file_read_batch_fvsr
ibex_sca_register_file_read_batch_random
ibex_sca_register_file_read_fvsr

The device code is located in lowRISC/opentitan#22272

LGTM, but there seems to be some changes in this PR which are not related to SCA but rather FI. This is probably accidental.
General question: Since the SRAM is scrambled with an ephemeral key, the leakage observed from the SRAM itself will change after every reset / scrambling key change. I guess people are aware and since we want to measure the leakage on the bus and inside Ibex this is probably fine. However, if more deterministic leakage would be desired, some unscrambled memory / device addresses should be used.

Thanks for the review! Yes, the intention behind these tests is to analyze the bus and not the SRAM.
I'll merge this PR after the device PR is merged.


Error: RuntimeError: 'reviews.apps' declares more than one default AppConfig: 'AdminConfig', 'ReviewsAdminConfig'.

Hi,
from chapter 4 further, I am not able to start a server on the final/bookr projects (and also my own that I am creating following the book). It throws this runtime error:
RuntimeError: 'reviews.apps' declares more than one default AppConfig: 'AdminConfig', 'ReviewsAdminConfig'.
Can you help?
Thank you.

The solution for me was to use a little different way of registering, with decorators, like this (in reviews/admin.py):
@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
    # pass
    list_display = ["title", "isbn"]

for textual parts:
in urls.py adding:
admin.site.site_header = "Boork Admin HEADER"
admin.site.site_title = "Bookr Admin SITE TITLE"
admin.site.index_title = "Bookr Admin INDEX"

problem probably is in apps.py having two classes like this: (but not sure):
from django.apps import AppConfig
from django.contrib.admin.apps import AdminConfig

class ReviewsConfig(AppConfig):
    name = 'reviews'

class ReviewsAdminConfig(AdminConfig):
    default_site = 'admin.BookrAdminSite'

so I just kept it like it was, like this:
from django.apps import AppConfig

class ReviewsConfig(AppConfig):
    name = "reviews"

i have the same issue.

Hey, I put my testing boork project here on github so you can compare the parts that I changed and examine. It is somewhere after chapter 5.
https://github.com/michaelmiscanuk/django_bookr_reviews_apps_fix_after_chapter_5/tree/master

I tried a few different things, but even after changing a lot of my code to the way michaelmiscanuk had his repo that he provided, ultimately my code stated working again just by changing two things.
First, change the apps.py file in the reviews directory (reviews.apps) to simply
from django.apps import AppConfig

class ReviewsConfig(AppConfig):
    name = "reviews"

Then secondly, removing reviews.apps.ReviewsAdminConfig from the settings file and replacing it with django.contrib.admin
Hopefully it's that easy for anyone else seeing this in the future.

I have the same issue. However, the solution described by petrenkonikita112263 of simply renaming the apps.py file along with the settings.py reference to that file does indeed solve the issue. It would be interesting to know why that fix works.

The problem is Django version, in the book it probably should work fine for Django 3.1, but I'm using Django 3.2.5, so the official documentation suggested this
RuntimeError: 'myproject.apps' declares more than one default AppConfig: 'AdminConfig', 'MyAdminConfig'

Here are the Screenshots with all the changes I made to make the server run again.

This guy is pretty much talking about the same thing.
https://github.com/PacktPublishing/Web-Development-with-Django/issues/11
Here is the documentation for this
https://docs.djangoproject.com/en/3.2/ref/contrib/admin/#overriding-the-default-admin-site

Hey, I put my testing boork project here on github so you can compare the parts that I changed and examine. It is somewhere after chapter 5. https://github.com/michaelmiscanuk/django_bookr_reviews_apps_fix_after_chapter_5/tree/master

This one worked for me...

I found solution on internet, I've renamed apps.py in reviews package to admin_apps.py and in root settings.py INSTALLED_APPS = ['reviews.admin_apps.ReviewsAdminConfig']. And customise admin page is loading fine.

Best solution to the problem. Worked for me too. Thanks

I found solution on internet, I've renamed apps.py in reviews package to admin_apps.py and in root settings.py INSTALLED_APPS = ['reviews.admin_apps.ReviewsAdminConfig'].
ModuleNotFoundError: No module named 'admin'

I found solution on internet, I've renamed apps.py in reviews package to admin_apps.py and in root settings.py INSTALLED_APPS = ['reviews.admin_apps.ReviewsAdminConfig']. And customise admin page is loading fine.

I've tested that this solution works even for Django v4.

I found solution on internet, I've renamed apps.py in reviews package to admin_apps.py and in root settings.py INSTALLED_APPS = ['reviews.admin_apps.ReviewsAdminConfig'].
ModuleNotFoundError: No module named 'admin'

Were you finally able to solve this issue? im getting the same errot

I found solution on internet, I've renamed apps.py in reviews package to admin_apps.py and in root settings.py INSTALLED_APPS = ['reviews.admin_apps.ReviewsAdminConfig'].
ModuleNotFoundError: No module named 'admin'

same here ... did you already find a workaround?

I found solution on internet, I've renamed apps.py in reviews package to admin_apps.py and in root settings.py INSTALLED_APPS = ['reviews.admin_apps.ReviewsAdminConfig'].
ModuleNotFoundError: No module named 'admin'

Were you finally able to solve this issue? I'm getting the same error

This is my file structure:
bookr/bookr/reviews
I finally managed to fix this. In my case, I had 2 bookr folders. First you need to make a file called admin.py in the bookr folder containing the manage.py.
Then go to bookr/reviews/apps.py
In my case instead of admin.BookrAdminSite I changed it to **bookr.**admin.BookrAdminSite
Be sure that the default_site variable is pointing to the right folder.

I solved this by importing django.contrib.auth.get_user_model and django.contrib.auth.models.Group

I tried a few different things, but even after changing a lot of my code to the way michaelmiscanuk had his repo that he provided, ultimately my code stated working again just by changing two things. First, change the apps.py file in the reviews directory (reviews.apps) to simply
from django.apps import AppConfig

class ReviewsConfig(AppConfig):
    name = "reviews"

Then secondly, removing reviews.apps.ReviewsAdminConfig from the settings file and replacing it with django.contrib.admin
Hopefully it's that easy for anyone else seeing this in the future.

This approach ended up working for me. I just upgraded my django to 4.2.7.
Here are the changes that I made:
From the reviews app, I updated apps.py to this:
from django.apps import AppConfig

class ReviewsConfig(AppConfig):
    name = "reviews"

From bookr/bookr/settings.py, I updated my INSTALLED_APPS as follows:

INSTALLED_APPS = [
    # 'reviews.apps.ReviewsAdminConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'reviews'
]

Then I was able to run my project locally.


[bugfix]Add modelscope package to avoid docker image without modelscope

Motivation
When deploy sglang with docker or docker-compose and config env SGLANG_USE_MODELSCOPE=true, it will report No module modelscope found.
Here is the related compose file, you can reproduce it.
services:
  sglang:
    image: lmsysorg/sglang:latest
    container_name: sglang
    volumes:
      - ~/.cache/modelscope:/root/.cache/modelscope
      - ~/.cache/huggingface:/root/.cache/huggingface
    restart: always
    network_mode: host
    # Or you can only publish port 30000
    # ports:
    #   - 30000:30000
    environment:
      - 'SGLANG_USE_MODELSCOPE=true'
    entrypoint: python3 -m sglang.launch_server
    command:
      --model-path qwen/Qwen2.5-72B-Instruct-GPTQ-Int8
      --tp 4
      --mem-fraction-static 0.7
      --chunked-prefill-size 2048
      --host <IP_ADDRESS>
      --port 30000
    ulimits:
      memlock: -1
      stack: 67108864
    ipc: host
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:30000/health || exit 1"]
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              capabilities: [gpu]

Modifications
Add modelscope to the default sgl pyproject.tom config.
Checklist

[x] Format your code according to the Contributor Guide.
[ ] Add unit tests as outlined in the Contributor Guide.
[x] Update documentation as needed, including docstrings or example tutorials.

I have tested this PR with my build docker image: kylinmountain/sglang:latest. It can use model-scope without reporting the modelscope package not found.
But the sglang in docker will report the following error:
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/sgl-workspace/sglang/python/sglang/launch_server.py", line 16, in <module>
    raise e
  File "/sgl-workspace/sglang/python/sglang/launch_server.py", line 14, in <module>
    launch_server(server_args)
  File "/sgl-workspace/sglang/python/sglang/srt/server.py", line 373, in launch_server
    raise RuntimeError(
RuntimeError: Initialization failed. controller_init_state: Traceback (most recent call last):
  File "/sgl-workspace/sglang/python/sglang/srt/managers/controller_single.py", line 145, in start_controller_process
    controller = ControllerSingle(
  File "/sgl-workspace/sglang/python/sglang/srt/managers/controller_single.py", line 81, in __init__
    self.tp_server = ModelTpServer(
  File "/sgl-workspace/sglang/python/sglang/srt/managers/tp_worker.py", line 100, in __init__
    self.model_runner = ModelRunner(
  File "/sgl-workspace/sglang/python/sglang/srt/model_executor/model_runner.py", line 116, in __init__
    min_per_gpu_memory = self.init_torch_distributed()
  File "/sgl-workspace/sglang/python/sglang/srt/model_executor/model_runner.py", line 132, in init_torch_distributed
    torch.cuda.set_device(self.gpu_id)
  File "/usr/local/lib/python3.10/dist-packages/torch/cuda/__init__.py", line 420, in set_device
    torch._C._cuda_setDevice(device)
  File "/usr/local/lib/python3.10/dist-packages/torch/cuda/__init__.py", line 300, in _lazy_init
    raise RuntimeError(
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method
, detoken_init_state: init ok

@zhyncs do you know this issue?

Is there any difference between your image build and our image build?
Which docker file do you use?
BTW, let me merge this PR first. We can discuss here and send follow-up PRs.

Actually, the only difference is that I update docker repository to my repo which let me build docker image to test in [PR]😅(https://github.com/KylinMountain/sglang/pull/2/files).

The weird thing is that I can start sglang in the host ubuntu 20.04 with Nvidia A100x4， but start it in docker reporting the CUDA re-initialize.

Both problems should be fixed now on the main

We used spawn instead of fork, so the fork issue should be resolved.
https://github.com/sgl-project/sglang/pull/1520 modelscope has been added into the docker image.


Traffic Ops 1.1.5 - Can't update origin server

Trying to update Origin Base URL, the following occurs in 1.1.5.
Traffic Ops fatal error occurred while processing your request.

Error at line 695 (	$update->update( \%hash );)

DBIx::Class::Row::get_column(): No such column '' on Schema::Result::Deliveryservice at /opt/traffic_ops/app/lib/UI/DeliveryService.pm line 695

Actually, any updates will fail.

I just tried to update a deliveryservice Origin Base URL in our environment and did not get an error.  Did all of the migrations run when you updated to 1.1.5?  If you do a select * from goose_db_version; the latest version should be<PHONE_NUMBER>5644

Couldn't reproduce in our environment.

Had modified app/templates/delivery_service/_form.html.ep from 1.1.3 to add DSCP value. I'll need a new patch against 1.1.5.


DESC missing for each colom in CDCMerge

Hi,
To determine the last DLM_Action for each record, we're using the following query in ADF. This is in Pipeline Incremental Export -> Copy Data (CDC Copy)
SELECT *, ROW_NUMBER() OVER (PARTITION BY RECID ORDER BY Start_LSN , Seq_val , DatalakeModified_DateTime DESC) AS ROWNO FROM @{pipeline().parameters.SOURCE_TABLE_NAME}
DESC is only used for the last column. This results unfortunately in wrong output. DESC should be used for every column in the ORDER BY.
The query should be like this:
SELECT *, ROW_NUMBER() OVER (PARTITION BY RECID ORDER BY Start_LSN DESC, Seq_val DESC, DatalakeModified_DateTime DESC) AS ROWNO FROM @{pipeline().parameters.SOURCE_TABLE_NAME}
Small change with a big impact.
Hopefully this can be implemented in the templates.

Thanks you for the reporting this we will fix the template


Emote picker not spawning as floating window

When opening the emote picker, on some tiling window manager it's not shown as a floating (popup) window, rather it spawns a new tile.
Affected systems

Linux
Tiling Window manager (dwm, i3, awesomewm...)

Steps to reproduce bug

Open a channel
Click on the emote picker next to the input field
Emote picker pops up as new window, instead of floating window

I believe this will fix it https://github.com/Chatterino/chatterino2/pull/1843


I never recieved the money, please HELP!

This is the tx
https://finder.terra.money/columbus-5/tx/B95AF569E85CD5084505C871033B33B63B94B7F52AE1A20583AC688853A17BCA
I never got the money in my wallet, please help!

Seems your fund is here https://etherscan.io/tx/0x1639565435e154919320bbcccf2c27f7d2169beb95ac322768e8815a5847abd9
The recipient address is Ethereum shuttle address.


Add support for MessagePack, or other compact/binary format

JSON is great for interoperability, but not so much for efficient network communication.
I would love to see a future version of CouchDB that supports a more compact data streaming format, such as MessagePack.  (Ideally in both CouchDB and PouchDB, as PouchDB is really where it would be the most useful--but it needs CouchDB support, first).
I haven't looked deeply into it, but I expect MessagePack would be a good choice, as can fairly cleanly be converted 1:1 to/from JSON.
Desired Behaviour
This should not, in any way, replace JSON as the primary content type used by CouchDB.  I would see it becoming an optional Accept: and Content-Type: header. The conversion should be trivially handled in a middleware, so it shouldn't need to affect any core logic, and would make for an easy prototype implementation entirely outside of CouchDB.
So for incoming requests (POSTs/PUTs, etc):
If the Content-Type header matches MessagePack, simply convert to JSON, then pass along to normal processing.
If the Accept: header matches MessagePack, perform the normal operation, then before streaming the response, convert from JSON to MessagePack.
Additional context

There may be some corner cases around data conversion that need addressing to ensure 100% compatibility, particularly around large numbers.

There's some confusion about which MIME type to use for MessagePack. If this proposal and format are ultimately selected, a small amount of bike-shedding will need to be done.

There may be other data formats to consider, as well. I'd love to hear other suggestions. (Although, IMO, it should be an existing, open standard, rather than inventing our own.)

BSON might be a candidate, but is not as attractive, at first blush, as it's both larger than MessagePack, and it's not as easily converted 1:1 to/from JSON.

As a first step, writing a stand-alone CouchDB proxy and a PouchDB plugin would probably be worth-while, to allow testing the functionality for compatibility and performance.  If there is broader interest, I may try to work on this in time.

Previously rejected by the CouchDB team - we explicitly said "no BSON" only. Worth reconsideration, but probably not until after the 4.0 given team bandwidth.

Years ago someone on my team hacked up a MessagePack serialization as an experiment. The one place where it ran into problems was our chunked responses, where we start streaming without knowing the full size of the response body ahead of time. MessagePack (and BSON, and many other binary serializations) like to know the size ahead of time so they can pre-allocate appropriately-sized data structures.

That said, I'm quite happy to see discussion on this front (and the chunked thing is not an insurmountable issue). JSON is nice and easy but definitely has its weaknesses ...

The one place where it ran into problems was our chunked responses, where we start streaming without knowing the full size of the response body ahead of time.

Interesting. My understanding was that streaming was supposed to be one of MP's core features/strengths.

@flimzy I think the distinction is between streaming a set of individual objects (like our continuous _changes feed) versus streaming serialization of one really large object (_all_docs or _view or normal _changes feeds). When MessagePack talks about streaming it's referring to the former.

I recently learned about CBOR, which aims for pure JSON compatibility (unlike MessagePack), so may be a better candidate for this sort of feature.

I am interested in developing couchdb/nosql databases for storing hierarchical scientific data - for example, imaging data of different binary types, dimensions, with/without compression - I've developed specifications to enable JSON to encode common scientific data structures (http://openjdata.org/, https://github.com/fangq/jdata/blob/master/JData_specification.md#data-annotation-keywords), but to support binary strongly-typed data, I need to use base64 with JSON, which increases the data file size by ~33%.
To mitigate this, I extended the UBJSON spec (https://ubjson.org/) to support binary data types, see Binary JData (BJData) spec
https://github.com/fangq/bjdata/blob/master/Binary_JData_Specification.md#type_summary
BJData is similar MessagePack/CBOR, but much simpler to encode/decode, and is also quasi-human-readable, despite being a binary format. I will be very happy to contribute if there is an interest to support BJData/UBJSON in CouchDB. I currently have a MATLAB and a Python parser/writer (https://github.com/fangq/pybj, based on py-ubjson, includes both native python code and c-code).

@flimzy I happened upon the CBOR spec for an entirely different reason last week and sat down to read it through. I think there's a lot to like. It handles everything I could think of from my experience working with CouchDB. I like that the authors paid special attention to round-tripping through JSON, and while it's a larger topic I particularly like the approach to extensibility that allows CBOR to handle things like timestamps and arbitrary-precision decimals. I could see a future where CouchDB allowed any JSON, but also supported a particular spec based on CBOR that would enable us to introduce a richer set of datatypes in the database.
@fangq as it turns out, when @rkalla was first working on UBJSON he had several discussions with @davisp and @kxepal from the CouchDB community and floated the idea of having CouchDB adopt UBJSON, first as an encoding on the wire but possibly also as an on-disk representation if the wire format took off. That was almost ten years ago, but I can imagine that a UBJSON encoding would be achievable given that history.

@flimzy I happened upon the CBOR spec for an entirely different reason last week and sat down to read it through. I think there's a lot to like. It handles everything I could think of from my experience working with CouchDB. I like that the authors paid special attention to round-tripping through JSON, and while it's a larger topic I particularly like the approach to extensibility that allows CBOR to handle things like timestamps and arbitrary-precision decimals. I could see a future where CouchDB allowed any JSON, but also supported a particular spec based on CBOR that would enable us to introduce a richer set of datatypes in the database.
@fangq as it turns out, when @rkalla was first working on UBJSON he had several discussions with @davisp and @kxepal from the CouchDB community and floated the idea of having CouchDB adopt UBJSON, first as an encoding on the wire but possibly also as an on-disk representation if the wire format took off. That was almost ten years ago, but I can imagine that a UBJSON encoding would be achievable given that history.

just a quick update - I just received a 5-year (U24) grant from the NIH (National Institute of Heath) to help migrate a vast field of neuroimaging software and data to a unified JSON/UBJSON formats so that these valuable neuroimaging datasets (results from millions of dollars of investments from the NIH) can be readable, resuable, and easily migrated to NoSQL databases for scaling and integration. More details will be available at http://neurojson.org
In our first step, we will first convert major neuroimaging data files to JSON, which should be readily usable for a CouchDB query interface. I imagine that with the gradual availability of parsers/libraries, more people may choose to adopt our Binary JData (BJData, largely derived from UBJSON) format for efficiency purposes; so if importing BJData/UBJSON can be discussed in the roadmaps of CouchDB, that would be fantastic for making Couch an attractive tool towards scientific data and research community.
In the meantime, I am coordinating with UBJSON developers on backporting BJData new data markers https://github.com/ubjson/universal-binary-json/issues/109, although, unfortunately the UBJSON development seems to have been stalled over the past few years.

The main limiting factor is the general deprecation of attachments in CouchDB, and the reduction of max document size in CouchDB 4.x to around 10MB. We're not opposed to a richer solution, but it's orthogonal to choosing something like UBJSON/etc, and would have to be solved first.
See prior mailing list discussion:
https://lists.apache.org/thread.html/dd951bda2a8a98f204fa9dd3afbb99b2b12946bb529288829e6fe72c%40<dev.couchdb.apache.org>
https://lists.apache.org/thread.html/4a7f29d2356349fa684fca199a6d0817d06e741fba483fd83f6ee59b%40<dev.couchdb.apache.org>
https://lists.apache.org/thread.html/4a7f29d2356349fa684fca199a6d0817d06e741fba483fd83f6ee59b%40<dev.couchdb.apache.org>
https://lists.apache.org/thread.html/r815b25fe34996ab3c54e2fb9759de2026ddccffc8bb59966b1168063%40<dev.couchdb.apache.org> (stopgap change for 3.x to set a finite upper bound for attachments)

thanks @wohali for the heads up - not necessarily related to supporting UBJSON/msgpack, just for the kind of data I work with, attachment feature will be necessary- so I hope it won't be entirely retired.
you can see samples of public neuroimaging datasets, organized via the BIDS standard (https://github.com/bids-standard/) in the below link
https://openneuro.org/public/datasets
so, these public datasets routinely exceed GB in size, although they contains many individual data files/scans, and each file could be much smaller.
My plan is to extract as much as possible the metadata from these data files, and place big binary data chunks into attachments. As long as the max attachment size is adjustable, I can always dial it up when needed. But sounds like the max document size will be a hard limit? 10MB could be pushing considering the scalability of the datasets we will be dealing with.