lint: wrap js strings (in src/)

UPDATE: See https://github.com/iterative/dvc.org/issues/548#issuecomment-544209275.

OUTDATED:
String values in JavaScript files are currently not automatically wrapped to 80 chars by the pre-commit hook that runs pretty-quick, like all other lines of code. If possible, have the linter do this. E.g.
const strVar  = "Really long string going over 80 characters. Blah blah blah blah blah blah blah"
let templateLit = `
Another long text
Including lines that go over 80 chars. Blah blah blah blah blah blah blah blah blah blah blah blah
`

This would be pretty useful to make sure the glossary.js strings are properly wrapped, for example.

@algomaster99 would be great if you can take a look.

I'm unable to do this in the Prettier playground.

@jorgeorpinel @shcheklein they haven't addressed this issue yet. https://github.com/prettier/prettier/issues/4123 I think we need to manually wrap strings. :confused:

Thanks for your input @algomaster99 we'll keep this issue open linked to that one you mentioned.
If you have time, please let us know whether you can look into the first checkbox in #461

Fix mobile view first

and/or #510

@jorgeorpinel My exams are on. I will look into it after it :smile:

If you have time now to research this one @algomaster99 it would be nice, that way we can confirm or remove the issue. Keep in mind we're also using ESlint. This rule can probably address this concern: https://eslint.org/docs/rules/max-len

@jorgeorpinel ESLint cannot fix this but it can do detect when the line goes above 80 characters. We just need to put "max-len": [ "error", { "ignoreStrings": false } ], in configuration.

Yeah, boo. I tried that rule with eslink --fix but it doesn't fix this type of problem, it seems. Well, let's make the issue to fix all the problems it currently reports, at least, and add the rule anyway for the future. Problems:
$ eslint src
yarn run v1.19.1
$ /Users/drbidibombom/dvc.org/node_modules/.bin/eslint src

/Users/drbidibombom/dvc.org/src/Diagram/index.js
  209:1  error  This line has a length of 83. Maximum allowed is 80  max-len

/Users/drbidibombom/dvc.org/src/Documentation/HeadInjector.js
  10:1  error  This line has a length of 101. Maximum allowed is 80  max-len
  14:1  error  This line has a length of 87. Maximum allowed is 80   max-len
  18:1  error  This line has a length of 95. Maximum allowed is 80   max-len
  22:1  error  This line has a length of 85. Maximum allowed is 80   max-len

/Users/drbidibombom/dvc.org/src/Documentation/Markdown/Markdown.js
  58:1  error  This line has a length of 349. Maximum allowed is 80  max-len

/Users/drbidibombom/dvc.org/src/Documentation/SidebarMenu/helper.test.js
  260:1  error  This line has a length of 82. Maximum allowed is 80  max-len

/Users/drbidibombom/dvc.org/src/Documentation/glossary.js
  37:1  error  This line has a length of 83. Maximum allowed is 80  max-len
  46:1  error  This line has a length of 81. Maximum allowed is 80  max-len
  71:1  error  This line has a length of 81. Maximum allowed is 80  max-len

/Users/drbidibombom/dvc.org/src/DownloadButton/index.js
  19:1  error  This line has a length of 91. Maximum allowed is 80   max-len
  23:1  error  This line has a length of 91. Maximum allowed is 80   max-len
  27:1  error  This line has a length of 97. Maximum allowed is 80   max-len
  31:1  error  This line has a length of 100. Maximum allowed is 80  max-len

/Users/drbidibombom/dvc.org/src/LandingHero/index.js
  145:1  error  This line has a length of 83. Maximum allowed is 80  max-len
  159:1  error  This line has a length of 83. Maximum allowed is 80  max-len
  270:1  error  This line has a length of 83. Maximum allowed is 80  max-len
  294:1  error  This line has a length of 83. Maximum allowed is 80  max-len

/Users/drbidibombom/dvc.org/src/Subscribe/index.js
  32:1  error  This line has a length of 83. Maximum allowed is 80  max-len
  48:1  error  This line has a length of 83. Maximum allowed is 80  max-len

/Users/drbidibombom/dvc.org/src/SubscribeForm/index.js
   8:1  error  This line has a length of 112. Maximum allowed is 80  max-len
  25:1  error  This line has a length of 116. Maximum allowed is 80  max-len

/Users/drbidibombom/dvc.org/src/Video/index.js
  78:1  error  This line has a length of 102. Maximum allowed is 80  max-len

/Users/drbidibombom/dvc.org/src/styles.js
  78:1  error  This line has a length of 83. Maximum allowed is 80  max-len

✖ 24 problems (24 errors, 0 warnings)

@jorgeorpinel yeah, we have to do it manually first. Once it is fixed, eslint would make sure this error is not there.

@algomaster99 I think the PR that was merge broke the style of the dvc.org for a few hours:

we don't have a QA team and we trust that engineers do some basic testing. Please, review it again and run it locally every time before we merge or specify [WIP].
I've reverted the changes. Please create a new PR to handle this.
@jorgeorpinel thanks for noticing this!

@shcheklein
Sorry, this happened. But I assure it is a very quick fix.
This happened because of writing URLs in src/Documentation/HeadInjector.js.
I broke:
<script
  type="text/javascript"
<EMAIL_ADDRESS>/>

into this:
<script
  type="text/javascript"
  src={`
    https://cdn.jsdelivr.net/npm/
<EMAIL_ADDRESS>  `}
/>

The solution could be to:

Make use of template literals since we already added to ignore it in .eslintrc.

<script
    type="text/javascript"
<EMAIL_ADDRESS>/>

Or make use of // eslint-disable-next-line exactly what we did for that long svg tag.

<script
  type="text/javascript"
  // eslint-disable-next-line max-len
<EMAIL_ADDRESS>/>

https://github.com/iterative/dvc.org/pull/715/files#diff-b1d807de8934c24309015d3c1ea18882R58-R59

@algomaster99 using some special syntax for every URL looks unacceptable to me. Could you please google some discussion how do people deal with this? The most interesting thing here is that prettier broke the code. This looks like a bug to me to be honest.

@shcheklein Okay, I got it. We could again edit "max-len": ["error", { "ignoreTemplateLiterals": true, "ignoreUrls": true }], to ignore URLs too.
Something like this:
"max-len": ["error", { "ignoreTemplateLiterals": true, "ignoreUrls": true, "ignoreUrls": true }],

k, looks reasonable

@shcheklein
Would you recommend to enclose URLs here too in string rather than template literals just to make the codebase uniform?

@algomaster99 but they are templates, right?

@shcheklein Sorry, my bad! Didn't notice. :man_facepalming:

Did we ever find a full reference of what exactly plugin:prettier/recommended does in the ESLint config? Just curious (from https://github.com/iterative/dvc.org/pull/715#issuecomment-547105692).

@jorgeorpinel https://prettier.io/docs/en/integrating-with-linters.html#recommended-configuration

@algomaster99 I think it does not answer the question :) Not very helpful link - no information whatsoever.

@jorgeorpinel @shcheklein
So there are two packages installed in our project called - eslint-config-prettier and eslint-plugin-prettier.

eslint-config-prettier - Its purpose is to switch off all rules which may conflict with prettier configuration. https://github.com/prettier/eslint-config-prettier#special-rules
eslint-plugin-prettier - Whenever you run eslint, this plugin makes sure it will run prettier too. For example, let's say we leave out a semi-colon in our code. Running eslint will return the following log.

Now to include these two configurations silmuntaneously, we simply need to add one line in .eslintrc.json
{
  "extends": [
    "plugin:prettier/recommended"
  ]
}

@algomaster99 I would clarify though that special rules set is not the full set of rules that are being applied. Probably, this is the full list https://github.com/prettier/eslint-config-prettier/blob/master/index.js . May be there is some other logic around that changes the effective list.

@shcheklein yes, eslint-config-prettier turns off all the rules they have listen in the README . We just switched on max-len  for our purpose.


Store Strava data in a DB instead of flat JSON files

I think it would be handy to store data in a sqlite3 db to make it faster and simplier to query ?
What do you think about ?

Yes, this would be great.

I will check this


Add string escape character \

\ should escape the next character.  This won't interfere with lambda because you can't define a lambda in a string.

Don't have time to test it at work, but this might help:
{initial->string} string_start = single_quote;
{string->escape} string_escape = backslash;
{escape->string} escape_alarm = ‘a';
{escape->string} escape_backspace = ‘b';
{escape->string} escape_formfeed = ‘f';
{escape->string} escape_carriage_return = ‘r';
{escape->string} escape_newline = ’n';
{escape->string} escape_tab = ’t';
{escape->string} escape_vertical_tab = ‘v';
{escape->string} escape_backslash = backslash;
{escape->string} escape_single_quote = single_quote;
{escape->string} escape_double_quote = double_quote;
{escape->string} escape_question_mark = question_mark;
{escape->string} escape_octal_char = digit digit digit;
{escape->string} escape_hex_char = ‘x' digit digit;
{escape->string} escape_unicode_char = ‘u’ digit digit digit digit
{escape->string} escape_default = [0..0xffff];
{string} string_body = [[0..0xffff] - single_quote]*;
{string->initial} string_end = single_quote;


simplify phishing reporting

Removed unnecessarily complicated steps (was 7 steps, now three).

@alanna-casey can you review (and approve ;) this update?

@openprivacy if you could move this to a CivicActions/handbook branch (rather than your fork) that would allow the tests to complete. Currently Gitlab CI doesn't run on Github forks.

@grugnog (I had thought forks were preferred) I believe I created the branch properly: https://github.com/CivicActions/handbook/pull/669

Since #669 is created, closing this PR...


Update gradle release plugin to latest version

fixes #1270

will validate release before merging

confirmed - release works properly


how can i compile safe_network?

I tried, but I cannot compile!

@leejw51 What exactly did you try to compile?


Master -> Live (#314)

Live -> master (#313)

Fix broken table (#269)

Fix code indentation (#267)

corrected the output (#276)

Update collections.array - fsharp .md (#271)

fixed signature for copy function

fix and consolidate list.xyz2/xyz3 doc for input lists with different lengths (#282)

Fix escape sequence. (#285)

Add missing space (#284)

Fix order of arguments in foldBack lambda (#286)

Running the following in F# Interactive will help explain why I believe this change is necessary:

List.foldBack (fun elem acc -> printf "elem: %A " elem; elem + acc) [1;2;3;4] 0;;
elem: 4 elem: 3 elem: 2 elem: 1 val it : int = 10
List.foldBack (fun acc elem -> printf "elem: %A " elem; elem + acc) [1;2;3;4] 0;;
elem: 0 elem: 4 elem: 7 elem: 9 val it : int = 10

The accumulator is the second argument in foldBack (contrary to fold where it is the first).
Positioning the arguments in reverse in an example is a great way to confuse a reader.
This also helps promote the fact that the state and list arguments to the folding function
are in the same order as their lambda counterparts.
Feel free to disagree :-).

Fix Operators.atan2 description (#287)

atan2(y, x) is related to atan(y/x), not atan(x/y)

Fixed code formatting (#288)

Corrected prefix minus to prefix plus (#289)

Added missing line break

Added missing line break to class definition of Microsoft.FSharp.Reflection.UnionCaseInfo

Removed Missing CustomOperationAttribute Issue #266

JoinConditionWord was Accidentally removed despite not being duplicated. Fixing this.

Fix typo in Array2D.init docs

Document that Map.pick can throw KeynotFoundException

Update async.startchild['t]-method-[fsharp].md

Specify timeout behaviour

Fix List.compareWith case

Update walkthrough-using-visual-fsharp-to-create,-debug,-and-deploy-an-application.md

Added treatment of null-values, and fixed incomplete text on IFormattable (#301)

The string function casts to IFormattable internally. The original text only mentioned integer and floating point values, but in fact, there are many more values in the BCL that implement IFormattable. I improved the text to be more precise.
Furthermore, special treatment of null was not mentioned, I've added that. Expanded supported platforms, and fixed a typo.

Update quotations.patterns-module-[fsharp].md (#302)

Thanks @Columpio

Clarified how ties are resolved (#304)

Add except to list modules (#305)

The except function added in https://github.com/fsharp/fslang-design/issues/41 doesn't have a doc here.

Correcting the Return Value in list.partition['t]-function-[fsharp].md  (#309)

Fix broken table (#269)

Fix code indentation (#267)

corrected the output (#276)

Update collections.array - fsharp .md (#271)

fixed signature for copy function

fix and consolidate list.xyz2/xyz3 doc for input lists with different lengths (#282)

Fix escape sequence. (#285)

Add missing space (#284)

Fix order of arguments in foldBack lambda (#286)

Running the following in F# Interactive will help explain why I believe this change is necessary:

List.foldBack (fun elem acc -> printf "elem: %A " elem; elem + acc) [1;2;3;4] 0;;
elem: 4 elem: 3 elem: 2 elem: 1 val it : int = 10
List.foldBack (fun acc elem -> printf "elem: %A " elem; elem + acc) [1;2;3;4] 0;;
elem: 0 elem: 4 elem: 7 elem: 9 val it : int = 10

The accumulator is the second argument in foldBack (contrary to fold where it is the first).
Positioning the arguments in reverse in an example is a great way to confuse a reader.
This also helps promote the fact that the state and list arguments to the folding function
are in the same order as their lambda counterparts.
Feel free to disagree :-).

Fix Operators.atan2 description (#287)

atan2(y, x) is related to atan(y/x), not atan(x/y)

Fixed code formatting (#288)

Corrected prefix minus to prefix plus (#289)

Added missing line break

Added missing line break to class definition of Microsoft.FSharp.Reflection.UnionCaseInfo

Removed Missing CustomOperationAttribute Issue #266

JoinConditionWord was Accidentally removed despite not being duplicated. Fixing this.

Fix typo in Array2D.init docs

Document that Map.pick can throw KeynotFoundException

Update async.startchild['t]-method-[fsharp].md

Specify timeout behaviour

Update walkthrough-using-visual-fsharp-to-create,-debug,-and-deploy-an-application.md

Added treatment of null-values, and fixed incomplete text on IFormattable (#301)

The string function casts to IFormattable internally. The original text only mentioned integer and floating point values, but in fact, there are many more values in the BCL that implement IFormattable. I improved the text to be more precise.
Furthermore, special treatment of null was not mentioned, I've added that. Expanded supported platforms, and fixed a typo.

Update list.partition['t]-function-[fsharp].md

Fixed formatting of README (#291)

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

docs/conceptual/list.partition['t]-function-[fsharp].md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


fmt: Filter fields and values

This adds the ability to filter fields and values by matching exactly their output as seen in the log line produced from fmt.

@hawkw I addressed all your comments this should be gtg!

@LucioFranco great, shipped it!


Need  Checkboxes

Can we put checkboxes inside the tree ?

@Miteshdv Yep, you certainly can. You need to create your own decorators. Please see the readme.

I will try thanks

@Miteshdv  Have you tried it, I can see your code

@Miteshdv hey did you get it working with check box by any chance ?

Yeah .. I used some other component ..

Can anyone please provide me an example? Do i have to completely rewrite decorator object or can i extend the existing one to 'add' checkbox to default implementation?


fix pusher concurrent close channel

goroutine1:https://github.com/containerd/containerd/blob/8abee9c8bb98237fb3936331abdd8f0a48bec05b/remotes/docker/pusher.go#L290
goroutine2: https://github.com/containerd/containerd/blob/8abee9c8bb98237fb3936331abdd8f0a48bec05b/remotes/docker/pusher_test.go#L152
Use sync.Once to ensure that close(pw.pipeC) is executed only once.
issue: https://github.com/containerd/containerd/issues/7471

@akhilerm please take a look.

@dcantah  Hi，can you help review this PR? thanks！

/ok-to-test

/ok-to-test

@samuelkarp k8s jobs are ✅

I think this should be cherry-picked to 1.6 and 1.5

@akhilerm 1.6: https://github.com/containerd/containerd/pull/7562
1.5 has some merge conflicts, but I can possibly look later today/this week. Feel free to cp it if you have time

@dcantah The merge conflicts are because of the changes in this PR. Once this gets merged, the cherry-pick should be not have any conflicts. I will take care of the cherry-pick once the other PR is merged.

Perfect! I'm not going to have time tomorrow so thanks a bunch

cherry-picked this PR to #7479


Disable Cloudformation Stack  termination protection

Cloudformation Stack with termination protection will prevent stack from being deleted.
Add action to disable termination protection. user can choose to use this before delete stack or just as is for other reason
Added tests

Thanks for the pull request, would you mind signing our contributor license agreement, referenced from the bottom of the project readme, direct link https://docs.google.com/forms/d/19LpBBjykHPox18vrZvBbZUcK6gQTj7qv1O5hCduAZFU/viewform

@kapilt Done

i'm starting to see at least one of the testing issues here is due to the api, the aws api is a bit broken wrt to its own documentation, per the docs, stack protection status should be reported by describe stacks, but i've created a protected stack, and it doesn't report the status unless one describes a single stack in isolation.
ie.
$ aws cloudformation describe-stacks
{
    "Stacks": [
        {
            "StackId": "arn:aws:cloudformation:us-east-2:11112222:stack/mytopic/7efb2d40-3a5d-11e8-8c44-500cef930ce6",
            "StackName": "mytopic",
            "CreationTime": "2018-04-07T12:16:27.160Z",
            "RollbackConfiguration": {},
            "StackStatus": "CREATE_COMPLETE",
            "DisableRollback": false,
            "NotificationARNs": [],
            "Tags": []
        }
    ]
}
$ aws cloudformation describe-stacks --stack-name mytopic
{
    "Stacks": [
        {
            "StackId": "arn:aws:cloudformation:us-east-2:11112222:stack/mytopic/7efb2d40-3a5d-11e8-8c44-500cef930ce6",
            "StackName": "mytopic",
            "CreationTime": "2018-04-07T12:16:27.160Z",
            "RollbackConfiguration": {},
            "StackStatus": "CREATE_COMPLETE",
            "DisableRollback": false,
            "NotificationARNs": [],
            "Tags": [],
            "EnableTerminationProtection": true
        }
    ]
}

i've pushed updates per review comments.

https://github.com/aws/aws-cli/issues/3247
From: Kapil Thangavelu<EMAIL_ADDRESS>Reply-To: capitalone/cloud-custodian<EMAIL_ADDRESS>Date: Saturday, April 7, 2018 at 5:28 AM
To: capitalone/cloud-custodian<EMAIL_ADDRESS>Cc: Edward Tsang<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [capitalone/cloud-custodian] Disable Cloudformation Stack termination protection (#2156)
i'm starting to see at least one of the testing issues here is due to the api, the aws api is a bit broken wrt to its own documentation, per the docs, stack protection status should be reported by describe stacks, but i've created a protected stack, and it doesn't report the status unless one describes a single stack in isolation.
ie.
$ aws cloudformation describe-stacks
{
"Stacks": [

    {

        "StackId": "arn:aws:cloudformation:us-east-2:11112222:stack/mytopic/7efb2d40-3a5d-11e8-8c44-500cef930ce6",

        "StackName": "mytopic",

        "CreationTime": "2018-04-07T12:16:27.160Z",

        "RollbackConfiguration": {},

        "StackStatus": "CREATE_COMPLETE",

        "DisableRollback": false,

        "NotificationARNs": [],

        "Tags": []

    }

]

}
$ aws cloudformation describe-stacks --stack-name mytopic
{
"Stacks": [

    {

        "StackId": "arn:aws:cloudformation:us-east-2:11112222:stack/mytopic/7efb2d40-3a5d-11e8-8c44-500cef930ce6",

        "StackName": "mytopic",

        "CreationTime": "2018-04-07T12:16:27.160Z",

        "RollbackConfiguration": {},

        "StackStatus": "CREATE_COMPLETE",

        "DisableRollback": false,

        "NotificationARNs": [],

        "Tags": [],

        "EnableTerminationProtection": true

    }

]

}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/capitalone/cloud-custodian/pull/2156#issuecomment-379465821, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXRAoT28mgE5nzxAjCY0dqgPQbTJniWuks5tmLDLgaJpZM4S56s7.


Error: Failed to execute 'insertBefore' on 'Node':

We are using preact 6.4.0
Error: Failed to execute 'insertBefore' on 'Node': The new child element contains the parent.
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 180
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 93
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 36
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 149
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 133
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 45
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 123
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 45
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 211

The child element is trying to replace the parent with a new element. Any thoughts on what could trigger such a case ?
Example Scenario:
<Container>
   <ContainerItem>
      <svg></svg>

name

   </ContainerItem>
</Container>

This is what is happening in renderComponent class....
<ContainerItem>.replaceChild(<Container>, <svg>);
Any pointers to debug / fix this is much appreciated.

Similarly we are also seeing
Error: The operation would yield an incorrect node tree.
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 156
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 133
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 45
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 231
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 184
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 100
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 184
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 100
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 38
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 149
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 45
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 123
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 45
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 123
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 45
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 123
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 45
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 123
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 45
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 123
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 45
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 216
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 184
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 100
./node_modules/preact/src/vdom/diff.js in null.<anonymous> at line 38
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 149
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 45
./node_modules/preact/src/vdom/component.js in null.<anonymous> at line 123
./node_modules/preact/src/render-queue.js in null.<anonymous> at line 21

Happens around
if (baseParent && base!==baseParent) {
				baseParent.replaceChild(base, initialBase);

Hmm - this is very odd. That's a common pattern that's fairly widely used. One question though: you're passing two children to ContainerItem - is it trying to return an Array? Might be way off track, just it seemed odd.

Container and ContainerItem are actually div's, its just the component names that renders, wanted to give an idea on the structure it returns like.

    items.map(i => (

           {i.icon}

{i.name}

   ));

That makes sense.
Any chance it still happens without the keys?

Hoping this is fixed in 7.1.0 (out very shortly)

Hello @rajeshsegu can you confirm whether preact v7.x fixes this problem for you?

Fixed in 8!


network: AddInterface only supports VirtualEndpoints

If we look at the way AddInterface() has been implemented, it will always create a virtualEndpoint, no matter the type of device backing the interface that we're trying to add. Unfortunately, this means neither vhost-user nor vfio can be leveraged in this case.
This needs to be fixed either by adding a new field devType to the grpc.Interface structure passed as an argument of AddInterface(), or by adding a new argument devType directly to the function itself.
@bergwolf @caoruidong @WeiZhang555 @amshinde WDYT?

This is a necessary enhancement, +1 to this.
Maybe it's better to modify parameter from grpc.Interface to some wrapper structure, because grpc.Interface is structure between runtime and agent, I think it's not very good to expose directly to client users

+1 for this feature. We defly need it.
OTOH, the grpc interface is for communication between runtime and agent, in which case no matter what kind of interface is added, they would appear the same just as a local network card to a guest. So I'd prefer to add it outside of grpc.Interface.
And I agree with @WeiZhang555 that it's better not to expose internal data structures (between runtime and agent) to kata API consumers.

Well the thing about this structure is that it should be defined outside of the agent so that it can be imported from the agent and from the runtime. This way, it's not only an internal structure shared between runtime and agent only.
But I don't know which package/repo would be the most appropriate for that. Maybe kata-containers/runtime/pkg/types

Yes. Sorry this is actually a defect in my implementation. Code originally comes from https://github.com/kata-containers/runtime/blob/611158ac54812ace1c20f5266626d47462fc870d/virtcontainers/network.go#L1334-L1357. Should we follow these old code or the way @sboeuf said?

@sboeuf Oh, please do not split it from agent. We already suffer a lot by having to maintain govmm in a separate repo and every time we need something from qemu we have to do it in two PRs :( I would appreciate it if we keep protocol definition inside the agent repo where the grpc server is implemented.
Besides, the grpc types between runtime and agent should be kept minimal -- we only add fields we need there. So I tend to agree with @WeiZhang555 that we do not export the grpc types in runtime API, and let runtime do its conversion when necessary. So yes, we can have a runtime/virtcontainers/pkg/types package and let kata APIs use it. But virtcontainers needs to internally convert the new types to grpc types when talking to the agent. This would allow us to add more fields in the runtime API that are not needed between runtime and agent.

Oh, please do not split it from agent. We already suffer a lot by having to maintain govmm in a separate repo and every time we need something from qemu we have to do it in two PRs :( I would appreciate it if we keep protocol definition inside the agent repo where the grpc server is implemented.

I understand but what about the case where we want to import those structure definitions without pulling the entire grpc with it. I'm mentioning this as I had the bad experience with kata-netmon, and I had to duplicate the structure definition because I didn't want the size of the binary to bump from 4Mib to 11Mib....
Can you think of any way of solving this without extracting those (Interface and Route) structure definition out of the agent grpc?

@sboeuf If the components want to talk to kata-agent, they will always need to import grpc structure in my understanding, I can't think of a way to bypass this.
But take netmon as an example, if it uses kata-runtime cli or virtcontainers/ API, I think we can always choose a wrapper structure in virtcontainers/pkg/types and let virtcontainers do the translation to grpc.Interface

In other words, https://github.com/kata-containers/runtime/blob/master/netmon/netmon.go#L27-L60 This piece of code in netmon can be put in virtcontainers/pkg/type and can be shared between netmon and kata-runtime cli and virtcontainers API

We already suffer a lot by having to maintain govmm in a separate repo and every time we need something from qemu we have to do it in two PRs :(

And I have to agree with @bergwolf on this, this is often painful and it happens a lot. Just want to complain a bit :-(
If Intel can move it into virtcontainers/ directly I will be so happy, but this is not a strong request because it's Intel's project and your choice :-)   @sboeuf

@sboeuf I think @WeiZhang555 has made good enough points and I don't have any more to add :)


"Connection lost" between nginx and HyperFastCGI

We encountered this issue already twice:

Request sent to nginx
Nginx should forward this request to HFC.
The request is not reaching Mono (no log output on the mono side), and nginx writes it's infamous HTTP ERROR 499 entry into it's log file: "POST /api/0.0.1/list.json? HTTP/1.1" 499 0 "-" "BestHTTP". This 499 entry is nginx-specific and only kept in the logs, not sent out to the client. The clients request times out.
The HFC log file doesn't have any output on that. We're calling it this way: usr/bin/mono /usr/lib/hyperfastcgi/4.0/HyperFastCgi.exe /config=/hyperfastcgi.conf /applications=/:/usr/aspnet/ /verbose /loglevels=All /logfile=/var/log/nginx/fastcgi.log.

We're using the most current revision of HFC and Mono 4.2.1.
This is our HFC config:
<configuration>
        <server type="HyperFastCgi.ApplicationServers.SimpleApplicationServer">
                <host-factory>HyperFastCgi.HostFactories.SystemWebHostFactory</host-factory>
                <threads min-worker="40" max-worker="0" min-io="4" max-io="0" />
        </server>

        <listener type="HyperFastCgi.Listeners.NativeListener">
                <apphost-transport type="HyperFastCgi.Transports.NativeTransport">
                        <multithreading>ThreadPool</multithreading>
                </apphost-transport>
            <protocol>InterNetwork</protocol>
            <address><IP_ADDRESS></address>
            <port>9000</port>
        </listener>

    <apphost type="HyperFastCgi.AppHosts.AspNet.AspNetApplicationHost">
                <log level="Debug" write-to-console="true" />
                <add-trailing-slash>false</add-trailing-slash>
    </apphost>

</configuration>

That's all we got from the HFC log:
[2016-01-20 16:29:34Z] Debug   HyperFastCgi
[2016-01-20 16:29:35Z] Debug   Threadpool minw=40,minio=4,maxw=100,maxio=100
[2016-01-20 16:29:35Z] Debug   Root directory: /
[2016-01-20 16:29:36Z] Debug   Listening on port: 9000
[2016-01-20 16:29:36Z] Debug   Listening on address: <IP_ADDRESS>
[2016-01-21 10:24:51Z] Debug   HyperFastCgi
[2016-01-21 10:24:51Z] Debug   Threadpool minw=40,minio=4,maxw=100,maxio=100
[2016-01-21 10:24:51Z] Debug   Root directory: /
[2016-01-21 10:24:52Z] Debug   Listening on port: 9000
[2016-01-21 10:24:52Z] Debug   Listening on address: <IP_ADDRESS>

After restarting HFC every request got served correctly and fast again.

The question is - What can we do to investigate this issue further, other than debugging the code in an UI? (because we don't know what the root cause of this behaviour is to reproduce it). Are there any system information or logs which can help telling why HFC obviously stops responding?

It looks like the client closes connection before start to receive data. I'll look on this scenario at weekend, can this produce unexpected behaviour of HFC.

Should be fixed via https://github.com/xplicit/HyperFastCgi/commit/aeadc0e130c43a979c2e986817c90c1a9bfb73b8


Show the content of a post when notifying Slack

Description
Show the content of a post in the Slack message when notifying a Slack channel.

Example
Here is an example post on Beam:

Current behaviour of the Slack notification
Shows the link, title, and author

Proposed behaviour of the Slack notification
Shows the link, title, author, and content

Possible solution
Using the https://github.com/instantish/mack package to convert markdown to Slack blocks.
Trade-offs: it adds another dependency, Slack messages will take up more vertical space in the channel.
Alternatives: just show the first few lines of text with an ellipsis, or just preview the images.

Showing the same snippet that is shown on the index page could be reasonable but I'm not in favor of rendering the whole post in Slack. This feature is really meant to just be a notification to let you know that a new post has been published.


Add index to WebsiteContent.title

Pre-Flight checklist

[x] Migrations

[x] Migration is backwards-compatible with current production code

What are the relevant tickets?
Fixes #411
What's this PR do?
Adds an index to WebsiteContent.title. In #407 we are adding a REST API to do searches on this field, so it makes sense to index the column to speed up text queries on it. This is broken out of #407 to avoid blocking other migration-related changes in other PRs
How should this be manually tested?
I don't think there's a way to test this before #407 merges, but it's a simple enough change that I don't think it's necessary

Codecov Report

Merging #421 (3dd3358) into master (8eb1611) will decrease coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #421      +/-   ##
==========================================
- Coverage   90.25%   90.23%   -0.03%
==========================================
  Files         138      138
  Lines        4588     4588
  Branches      708      708
==========================================
- Hits         4141     4140       -1
  Misses        401      401
- Partials       46       47       +1

Impacted Files
Coverage Δ

websites/models.py
91.37% <100.00%> (ø)

static/js/util/factories/websites.ts
98.27% <0.00%> (-1.73%)
:arrow_down:

Continue to review full report at Codecov.

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


Misleading error message

Go version
go version go1.18.1 linux/amd64
Output of go env in your module/workspace:
I think go env doesn't matter

What did you do?
Made a typo in a variable definition.
What did you see happen?
Misleading error message
./main.go:232:38: syntax error: unexpected status, expecting comma or )

At first I thought it was unexpected status within the compiler or somewhere else.
What did you expect to see?
A message similar to what, for example, gcc produces:
x.c:3:5: error: ‘status’ undeclared (first use in this function)

something like:
./main.go:232:38: syntax error: unexpected ‘status‘, expecting comma or )

we no longer support 1.18

What happened? Why are you so fast in closing the tickets?! go version in the description is there because the field is mandatory.
This issue exists in ALL versions of go.

in that case please show a reproducer for the issue on one of our supported versions of go.

Example which produces this in master branch:
package main

import (
        "fmt"
)

func main() {
        int status
        fmt.Println(status)
}

right, i've filed it as #65790


Use puppetdb in swift example

PuppetDB is required to run swift, so make sure it's installed in the
example.

Not sure how this escaped before.


urdf2graspit fails to generate wsg_50 contacts/fingers

Hi,
I'm trying to use the Schunk WSG 50 gripper in GraspIt. nalt/wsg50-ros-pkg contains a URDF of the hand that I'm trying to convert. I'm running Ubuntu 16.04 with ROS Kinetic and using the latest convenience-pkgs, graspit-pkgs. and urdf-tools-pkgs.
This conversion command seems to generate the GraspIt configuration correctly:
rosrun urdf2graspit urdf2graspit_node src/wsg50-ros-pkg/wsg_50_simulation/urdf/wsg_50.urdf schunk_wsg_50 base_link base_joint_gripper_left base_joint_gripper_right
The joints that the traverser finds are:

base_joint_gripper_left
base_joint_gripper_right
guide_joint_finger_left
guide_joint_finger_right

My generated configuration contains: eigen  iv  wsg_50.xml
When I try to load the model into GraspIt, the base of the hand appears, but the fingers don't. Here's the output from GraspIt:

Creating base...
Setting up 2 degrees of freedom...
Creating 2 kinematic chains (fingers)...
Chain 0:   Creating joints
Joint 0
Creating links
Link 0
Creating dynamic joints
Chain 1:   Creating joints
Joint 0
Creating links
Link 0
Creating dynamic joints
DOF default value too large; setting to max
DOF default value too small; setting to min
No normalization data found; using factors of 1.0
Read 1 eigengrasps from EG file
Using eigengrasps from file: eigen/eigen.xml
Could not open /home/matt/Software/graspit/models/robots/wsg_50/virtual/contacts.xml
Failed to load virtual contacts from file virtual/contacts.xml

I also tried to generate a new URDF from wsg_50.urdf.xacro:
rosrun xacro xacro --inorder src/wsg50-ros-pkg/wsg_50_simulation/urdf/wsg_50.urdf.xacro > src/wsg50-ros-pkg/wsg_50_simulation/urdf/new_wsg_50.urdf
However, when I try to generate a GraspIt config using rosrun urdf2graspit urdf2graspit_node src/wsg50-ros-pkg/wsg_50_simulation/urdf/new_wsg_50.urdf schunk_wsg_50 base_link base_joint_gripper_left base_joint_gripper_right, I get this error:

[ INFO] [1557961713.465940586]: URDF file: src/wsg50-ros-pkg/wsg_50_simulation/urdf/new_wsg_50.urdf
[ INFO] [1557961713.466011676]: Output dir: schunk_wsg_50
[ INFO] [1557961713.466043198]: Hand root: base_link
[ INFO] [1557961713.466055359]: Joint: base_joint_gripper_left
[ INFO] [1557961713.466069899]: Joint: base_joint_gripper_right
[ INFO] [1557961713.466476938]: output_material:
[ INFO] [1557961713.467035813]: scale_factor: <1000.000000>
[ INFO] [1557961713.467518663]: negate_joint_movement: <0>
[ INFO] [1557961713.469093656]: Starting model conversion...
[ INFO] [1557961713.469228798]: ### Loading from URDF file src/wsg50-ros-pkg/wsg_50_simulation/urdf/new_wsg_50.urdf...
[ INFO] [1557961713.469360746]: Setting base model directory to /home/matt/ros/urdf/src/wsg50-ros-pkg/wsg_50_simulation/urdf
[ERROR] [1557961713.469495546]: No link elements found in urdf file
[ERROR] [1557961713.469534689]: Could not load model from XML string
[ERROR] [1557961713.469543813]: Could not load file
[ERROR] [1557961713.469553800]: Could not load file
[ERROR] [1557961713.469569179]: Failed to process.

Please let me know if you need more info from me to reproduce this issue.
Thanks,
Matt

Hi, thanks for reporting this.
First, to your second problem (generate new URDF and then use it for urdf2graspit): wsg_50_simulation/urdf/wsg_50.urdf.xacro only defines a macro to generate the robot. You have to call this macro from a different .xacro file, e.g. like this:
<?xml version="1.0"?>
<robot  xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor"
  xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller"
  xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"
        xmlns:xacro="http://ros.org/wiki/xacro"
  name="wsg_50">

  <link name="robot_root">
  </link>

  <xacro:include filename="$(find wsg_50_simulation)/urdf/wsg_50.urdf.xacro"/>

  <xacro:wsg_50_xacro name="wsg" parent="robot_root" finger_length="0.023" finger_tip="0">
     <origin xyz="0 0 0" rpy="0 0 0" />
  </xacro:wsg_50_xacro>
</robot>

The file wsg_50.urdf.xacro is also a little old, you have to replace insert_block in line 14 with xacro:insert_block in order to make it work. Also, the joint and base link names have changed.
However I can confirm that I get the same behaviour with both files, though I would tend to use the freshly generated URDF because the existing one is quite old.
I get a lot of "Collision found when looking for contacts" messages after loading into graspit, which could be related to that the fingers aren't showing (maybe they're collapsed inside the base). Can you confirm that it's the same for you?

I found out why they can't be seen, the .STL mesh files must contain a transparency value which is set to fully transparent (or is read wrong by the mesh convertion to inventor files).
As a quick fix, you can replace all transparency 1 values by transparency 0 in the following files:
<your-directory>/models/robots/wsg_50/iv/wsg_gripper_right.iv and
<your-directory>/models/robots/wsg_50/iv/wsg_gripper_left.iv
When you do these changes, the IV files display correct in urdf_viewer:
rosrun urdf_viewer urdf_viewer_node  <your-directory>/models/robots/wsg_50/iv/wsg_gripper_right.iv --iv
However they still don't show in graspit, I'm not quite sure why, I will look into it.
I will see if the problem with the transparency resides in the .STL files themselves, or if the mesh converter is doing something wrong. Will report back here once I get around to that.

Got it, the transforms of the fingers are wrong, they are very far away (you see them when you zoom out far). The scale factor of the meshes is also wrong. In the same files I mentioned above, replace all entries of scaleFactor 1000 1000 1000 by scaleFactor 1 1 1 and it will work.
Here is how it looks (I edited the colors for testing), does this look correct?

The Eigengrasp file has to be edited, which is probably the reason why you get all these initial collisions. If you open the EigenGrasp tool (like in screenshot) then you can separate them with the slider. The values are not optimal yet. The generated EigenGrasp file is just a template, you have to find good values for yours. See also this wiki.
I will report back here when I find the problem with the mesh conversion (transparency and scale).

Awesome, thanks so much for your help! The model looks correct in your screenshot and when I load it in GraspIt.
However, when I try to open the hand with graspit_commander, I get this error:
Robot joint interpolation error
Interpolation failed!

Have you fine tuned your EigenGrasp file? It would probably be necessary for this hand.
If you are experiencing issues with graspit_commander, I suggest you ask the guys on the original graspit repository, they'll be able to help you better with that. I'm sure they will be happy if you share your model files with them too, they can help you get it up and running then :)

I tried tuning the EigenGrasp file, but I'm not sure what the expected behavior is. I read through the wiki you posted as well as this one, so I think I understand what the values in the eigen.xml do. It makes sense that there's only one EigenGrasp and two dimensions in the template file that was generated since it's a parallel jaw gripper.
When I open the EigenGrasp Interface menu when the gripper is fully closed, the initial slider value is -36.98. After adjusting the slider, I can't move it beyond the -8.00 to 8.00 range. Is this to be expected? 0 looks to be close to the middle as you say in the wiki, but -8.00 is not fully closed and 8.00 is not fully open. I've tried changing the DimVals for the EG and ORIGIN, but I can't fully open the gripper. The slider starting at -36.98 but getting stuck in the +-8 range seems like a bug in GraspIt. What do you think?
Adjusting one of the EG's DimVals so d0 != -1*d1 makes one gripper close more than the other, which isn't desired. Adjusting them both by the same amount doesn't seem to have any effect on how much they open or close, and I don't think that has anything to do with the slider getting stuck between +-8. Changing the DimVals of the origin does change the behavior. I can get 0 to be the closed position, but I can't seem to change how much the grippers open. I've also tried changing the EigenValue field, but as mentioned in the doc I linked, it doesn't seem to be used in the code.
Sounds good, I'll create an issue on the main GraspIt package. I got the same error with the openclose plugin example, so the issue isn't caused by graspit_commander. A fork with my wsg_50 model is here.
Thank you!

One of the problems with using GraspIt's openclose plugin with this model was that the fingers were initially in collision with each other. I increased the minimum joint values in my model, and that's fine.
The problem now is that the right finger's closing direction is wrong. When opening, GraspIt sends the fingers to the minimum joint values. This is fine for the left finger because the minimum value is -55 (open), but the minimum value for the right finger is 6 (closed). Is there a way to reverse the closing direction in the model? I've tried swapping the max and min values (didn't work because GraspIt swaps them back if min > max) in the right gripper's chain, as well as changing the transform and d.
If you have any advice, I'd greatly appreciate it! Thanks.

Great you've made some progress on this! :)
Have you tried to invert the signs in the EigenGrasp configuration?
Sorry I have very limited time this week as I'm moving house, hopefully I'll get a moment next week to look at this more closely.

I had tried inverting the signs in the EigenGrasp configuration, but that didn't do anything. I fixed it by inverting the sign on one of the defaultVelocities. Thanks for your help :)

Ok, good to know, thanks for the update! I'm glad you could fix it.


plexamp: update hash due to silent release

Motivation for this change
Plex silently released a new build under the same version number with a new hash.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.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

[ ] Fits CONTRIBUTING.md.

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

1 package built:

plexamp


Consider removing Display Adapter, Network Adapter, and Boot Order configurables

I think we should consider removing the Display Adapter, Network Adapter, and Boot Order configurables. Not sure if they have relevance for the WHMCS managed server use cases.

At the very least, if not removing the configurable option altogether, the incorrect "SCSI" and "ide" options for Network Adapter are to be removed.

SCSI and IDE network adapter models removed in https://github.com/UpCloudLtd/upcloud-whmcs-module/pull/56
Lets remove Display Adapter, Network Adapter and Boot Order altogether. Lets use the defaults defined by the API, as in remove the parameters.


Updates to Bare Metal FAQ for Windows DC

added two questions and updated an existing.

how do these updates look?

looks good.  i could be picky as most people when they show a command use this model
slmgr /skms <IP_ADDRESS>:1688

good?

theeeeeeere we go


[Vue warn]: injection "usehead" not found.

Environment

Operating System: Linux
Node Version:     v16.20.0
Nuxt Version:     2.17.1
Nitro Version:    2.5.2
Package Manager<EMAIL_ADDRESS>Builder:          webpack
User Config:      bridge, serverHandlers, devServerHandlers, devServer, typescript, nitro, buildModules
Runtime Modules:  -
Build Modules<EMAIL_ADDRESS>

Reproduction
https://stackblitz.com/edit/github-fxzyzm-zx2bis
Describe the bug
Using a head tag in a component with bridge.meta: true will result in an error [Vue warn]: injection "usehead" not found..
Additional context
Occurs in both ssr: true or ssr: false.
Logs
No response

Hmm<EMAIL_ADDRESS>


Reorder image card elements

What
https://trello.com/c/mprRX2H8/376-confusing-order-of-content-for-featured-items-on-organisation-pages
Previously the source content for the image card was in a confusing order. Although it was clear from the design which elements belonged together, this was not reflected in the underlying page, with the heading coming after the image and contextual text. This switches the elements around and then uses CSS to realign them as before.
Order before:

image
context
heading
description and links

Order afterwards:

heading
context
description and links
image

Why
This improves the semantics of the page source and means that users who linearise the page will see the content and headings more clearly associated.
Visual Changes
There are no intended visual changes. These screenshots are the updated code plugged into a collections page (http://collections.dev.gov.uk/government/organisations/department-for-business-energy-and-industrial-strategy) :

@andysellick I've addressed your comments. To fix the no-image variant at mobile I've had to introduce an extra class, so I've added a test for its presence too. Would appreciate another look when you have time.

@andysellick Could you take another look, please?


Explicitly cast void * pointers - allows code to build cleanly as C++

This allows LuaFileSystem to build cleanly as C++ without needing -fpermissive or similar.  This is useful when Lua itself is built as C++ to support unwinding locals when raising errors from Lua CFunctions implemented in C++.

@cuavas Thank you! merged!


[camera] Support focus, zoom, exposure and flash controls on windows platform

Use case
#4641 adds support for camera on Windows platform but is missing implementation for

Focus: changing focus mode between auto and manual
Zoom: fetching zoom range and setting zoom value
Exposure: changing exposure mode, fetching exposure range and setting exposure value
Flash: changing flash mode

Proposal
On Windows platform, some constraints and settings are controlled with IAMCameraControl interfaces including:

Zoom,
Exposure
Focus

IMFExtendedCameraControl can be used to control following settings:

Flash mode
Extended focus settings

I need the ability to control roll, pan, tilt, and zoom in the uvc camera. Do you have any plans to develop a corresponding interface?


Inline customEditor#selector?

Comparing the customEditors extension point with languages. They are similar but different in respect to filenamePattern. For languages it's a top-level properly, for custom editors it's nested inside an otherwise empty selector-element

The intention is that a single custom editor may match multiple different file types that you can't always write a single glob pattern for. Rather than requiring extension authors duplicate the entire custom editor entry for such cases, we take an array of selectors

The intention is that a single custom editor may match multiple different file types that you can't always write a single glob pattern for.

That's why for languages this is filenamePatterns, e.g an array of patterns and also an array of filenames.

I've intentionally modeled this after our document selector type. This capability may not be needed today but if we let custom editors define they only work on specific schemes for example—which seems reasonable—selector can become:
"selector": [
    { scheme: "untitled", "filenamePattern": "*.png" },
    { scheme: "file", "filenamePattern": "*.png" }
]

So yes, you can inline the today but it's designed for future extension. There is not much downside IMO to using the slightly more verbose version today

🤷♂ I give up


Uncaught Error: TypeError: �  Chromafi: Converting circular structure to JSON

If an object has any circular references, or objects that refer to themselves this is what Chromafi throws.
const chroma = require('chromafi');
let huga = { foo: 'bar' }; // define an object
huga.huga = huga; // create a circular ref

chroma(huga); // throws the above error

Cant the code simple put '[circular]' in place of the code that is circular?

I think I have got the solution to this, let me code it and make a pull request.

https://www.npmjs.com/package/is-circular ?

Just made a pr of the first solution. Please check it out i think this the way to go

It looks like you need to update the "circular json throws" test. I'm assuming the code will never throw with your update?


March 27th, 2023 Community Meeting

Please add a topic in this thread and add a link to the GitHub issue associated with the topic.
Please make sure you give folks enough time to review/discuss the topic offline on GitHub before coming into the meeting
(optional) Paste the image of an animal 😸

non-attendance.


Support for sACN (E1.31)

Hey, thanks so much for this project, it's super helpful to be able to bridge big lighting control systems with Hue.
Is there any chance you would consider adding support for sACN (E1.31) as an input instead of ArtNet? It seems that most lighting consoles are going towards that as the default protocol, and being multicast it is also easier on the network, especially when you have many universes.
There is already an API module for it (https://github.com/hhromic/e131-node). It's a long time since I wrote any Node, so if you would be happy to do it that would be fantastic, otherwise I can see what I can cobble together.

That would be an awesome addition, but unfortunately I don't have any time to implement this. To be honest this project was a side project I made for fun years ago, but I'll gladly accept any PRs if you're willing to contribute.


Allow to use custom field provider not by property name but by property type

I would like to centralize making all columns of a given type to be handled in a specific way. Currently it's allowed to set values for specific properties, only.
in AbstractAutoGeneratedCrudFormFactory:
    protected HasValueAndElement buildField(CrudFormConfiguration configuration, String property, Class<?> propertyType, T domainObject) throws InstantiationException, IllegalAccessException {
        HasValueAndElement<?, ?> field;
        FieldProvider<?, T> provider = (FieldProvider<?, T>) configuration.getFieldProviders().get(property);

        if (provider != null) {
            field = provider.buildField(domainObject);
        } else {
            Class<? extends HasValueAndElement<?, ?>> fieldType = configuration.getFieldTypes().get(property);
            if (fieldType != null) {
                field = fieldType.newInstance();
            } else {
                field = new DefaultFieldProvider(propertyType).buildField(domainObject);
            }
        }

it would be great if it was possible to override
                field = new DefaultFieldProvider(propertyType).buildField(domainObject);

by changing
new DefaultFieldProvider(propertyType) to a new method getFieldProvider(propertyType) and make it overridable.
Or, is there any other better way to achieve this?

Hi @flozano! I think this is related to crud-ui-add-on by @alejandro-du
https://github.com/alejandro-du/crudui and should in that repo?

🤦 I blindly clicked on the directory "report issues" here:
https://vaadin.com/directory/component/crud-ui-add-on
I'm sorry for the mistake!

No problem. You just pointed out that it is misleading. I created an enhancement issue #48 for that.


Create a pull request on README file created

XkOps
Issue

Description

Checklist

[ ] Added tests that cover your change (if possible)
[x] Added/modified documentation as required (such as the README.md, or the docs directory)
[ ] Manually tested
[ ] Made sure the title of the PR is a good description that can go into the release notes (if applicable)
[ ] Every function, interface, class has a comment describing what it does and input/output parameters

Hello,
I have created/modified the README file as required, kindly review the contribution.


chore(main): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2024-04-09)
🚀 Features

add debian-releases action (9db02fd)

🧰 Testing

enable dependabot (18d944f)
enable release-please (7cadb2b)
initial CI support with prettier (71545fc)
release-please: set type to simple (7e7f299)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/vicamo/actions-library/releases/tag/v1.0.0 :sunflower:


[Bug]: RuntimeError: CUDA error: an illegal memory access was encountered

Your current environment
The output of `python collect_env.py`

vllm 0.4.3
rtx4090
driver 555.99
🐛 Describe the bug
2024-06-10 13:26:25 Exception in callback functools.partial(<function _raise_exception_on_finish at 0x7f1e8f46caf0>, error_callback=<bound method AsyncLLMEngine._error_callback of <vllm.engine.async_llm_engine.AsyncLLMEngine object at 0x7f1e847108e0>>) 2024-06-10 13:26:25 handle: <Handle functools.partial(<function _raise_exception_on_finish at 0x7f1e8f46caf0>, error_callback=<bound method AsyncLLMEngine._error_callback of <vllm.engine.async_llm_engine.AsyncLLMEngine object at 0x7f1e847108e0>>)> 2024-06-10 13:26:25 Traceback (most recent call last): 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 40, in _raise_exception_on_finish 2024-06-10 13:26:25     task.result() 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 521, in run_engine_loop 2024-06-10 13:26:25     has_requests_in_progress = await asyncio.wait_for( 2024-06-10 13:26:25   File "/usr/lib/python3.10/asyncio/tasks.py", line 445, in wait_for 2024-06-10 13:26:25     return fut.result() 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 495, in engine_step 2024-06-10 13:26:25     request_outputs = await self.engine.step_async() 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 226, in step_async 2024-06-10 13:26:25     output = await self.model_executor.execute_model_async( 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/executor/gpu_executor.py", line 117, in execute_model_async 2024-06-10 13:26:25     output = await make_async(self.driver_worker.execute_model 2024-06-10 13:26:25   File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run 2024-06-10 13:26:25     result = self.fn(*self.args, **self.kwargs) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context 2024-06-10 13:26:25     return func(*args, **kwargs) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker.py", line 272, in execute_model 2024-06-10 13:26:25     output = self.model_runner.execute_model(seq_group_metadata_list, 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context 2024-06-10 13:26:25     return func(*args, **kwargs) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/model_runner.py", line 738, in execute_model 2024-06-10 13:26:25     output = self.model.sample( 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/models/qwen2.py", line 345, in sample 2024-06-10 13:26:25     next_tokens = self.sampler(logits, sampling_metadata) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl 2024-06-10 13:26:25     return self._call_impl(*args, **kwargs) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1541, in _call_impl 2024-06-10 13:26:25     return forward_call(*args, **kwargs) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 96, in forward 2024-06-10 13:26:25     sample_results, maybe_sampled_tokens_tensor = _sample( 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 655, in _sample 2024-06-10 13:26:25     return _sample_with_torch( 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 544, in _sample_with_torch 2024-06-10 13:26:25     sample_results = _random_sample(seq_groups, 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 324, in _random_sample 2024-06-10 13:26:25     random_samples = random_samples.cpu() 2024-06-10 13:26:25 RuntimeError: CUDA error: an illegal memory access was encountered 2024-06-10 13:26:25 CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. 2024-06-10 13:26:25 For debugging consider passing CUDA_LAUNCH_BLOCKING=1. 2024-06-10 13:26:25 Compile with TORCH_USE_CUDA_DSAto enable device-side assertions. 2024-06-10 13:26:25  2024-06-10 13:26:25  2024-06-10 13:26:25 The above exception was the direct cause of the following exception: 2024-06-10 13:26:25  2024-06-10 13:26:25 Traceback (most recent call last): 2024-06-10 13:26:25   File "uvloop/cbhandles.pyx", line 63, in uvloop.loop.Handle._run 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 47, in _raise_exception_on_finish 2024-06-10 13:26:25     raise AsyncEngineDeadError( 2024-06-10 13:26:25 vllm.engine.async_llm_engine.AsyncEngineDeadError: Task finished unexpectedly. This should never happen! Please open an issue on Github. See stack trace above for the actual cause. 2024-06-10 13:26:25 ERROR:    Exception in ASGI application 2024-06-10 13:26:25 Traceback (most recent call last): 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 265, in __call__ 2024-06-10 13:26:25     await wrap(partial(self.listen_for_disconnect, receive)) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 261, in wrap 2024-06-10 13:26:25     await func() 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 238, in listen_for_disconnect 2024-06-10 13:26:25     message = await receive() 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 54, in wrapped_receive 2024-06-10 13:26:25     msg = await self.receive() 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/httptools_impl.py", line 553, in receive 2024-06-10 13:26:25     await self.message_event.wait() 2024-06-10 13:26:25   File "/usr/lib/python3.10/asyncio/locks.py", line 214, in wait 2024-06-10 13:26:25     await fut 2024-06-10 13:26:25 asyncio.exceptions.CancelledError: Cancelled by cancel scope 7f1e7f94bd60 2024-06-10 13:26:25  2024-06-10 13:26:25 During handling of the above exception, another exception occurred: 2024-06-10 13:26:25  2024-06-10 13:26:25 Traceback (most recent call last): 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 192, in __call__ 2024-06-10 13:26:25     await response(scope, wrapped_receive, send) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 258, in __call__ 2024-06-10 13:26:25     async with anyio.create_task_group() as task_group: 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 680, in __aexit__ 2024-06-10 13:26:25     raise BaseExceptionGroup( 2024-06-10 13:26:25 exceptiongroup.ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) 2024-06-10 13:26:25  2024-06-10 13:26:25 During handling of the above exception, another exception occurred: 2024-06-10 13:26:25  2024-06-10 13:26:25 Traceback (most recent call last): 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/_utils.py", line 87, in collapse_excgroups 2024-06-10 13:26:25     yield 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 190, in __call__ 2024-06-10 13:26:25     async with anyio.create_task_group() as task_group: 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 680, in __aexit__ 2024-06-10 13:26:25     raise BaseExceptionGroup( 2024-06-10 13:26:25 exceptiongroup.ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) 2024-06-10 13:26:25  2024-06-10 13:26:25 During handling of the above exception, another exception occurred: 2024-06-10 13:26:25  2024-06-10 13:26:25 Traceback (most recent call last): 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi 2024-06-10 13:26:25     result = await app(  # type: ignore[func-returns-value] 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__ 2024-06-10 13:26:25     return await self.app(scope, receive, send) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 1054, in __call__ 2024-06-10 13:26:25     await super().__call__(scope, receive, send) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 123, in __call__ 2024-06-10 13:26:25     await self.middleware_stack(scope, receive, send) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 186, in __call__ 2024-06-10 13:26:25     raise exc 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 164, in __call__ 2024-06-10 13:26:25     await self.app(scope, receive, _send) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/base.py", line 189, in __call__ 2024-06-10 13:26:25     with collapse_excgroups(): 2024-06-10 13:26:25   File "/usr/lib/python3.10/contextlib.py", line 153, in __exit__ 2024-06-10 13:26:25     self.gen.throw(typ, value, traceback) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/_utils.py", line 93, in collapse_excgroups 2024-06-10 13:26:25     raise exc 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 261, in wrap 2024-06-10 13:26:25     await func() 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 250, in stream_response 2024-06-10 13:26:25     async for chunk in self.body_iterator: 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/entrypoints/openai/serving_chat.py", line 227, in chat_completion_stream_generator 2024-06-10 13:26:25     async for res in result_generator: 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 662, in generate 2024-06-10 13:26:25     async for output in self._process_request( 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 769, in _process_request 2024-06-10 13:26:25     raise e 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 765, in _process_request 2024-06-10 13:26:25     async for request_output in stream: 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 80, in __anext__ 2024-06-10 13:26:25     raise result 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 40, in _raise_exception_on_finish 2024-06-10 13:26:25     task.result() 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 521, in run_engine_loop 2024-06-10 13:26:25     has_requests_in_progress = await asyncio.wait_for( 2024-06-10 13:26:25   File "/usr/lib/python3.10/asyncio/tasks.py", line 445, in wait_for 2024-06-10 13:26:25     return fut.result() 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 495, in engine_step 2024-06-10 13:26:25     request_outputs = await self.engine.step_async() 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 226, in step_async 2024-06-10 13:26:25     output = await self.model_executor.execute_model_async( 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/executor/gpu_executor.py", line 117, in execute_model_async 2024-06-10 13:26:25     output = await make_async(self.driver_worker.execute_model 2024-06-10 13:26:25   File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run 2024-06-10 13:26:25     result = self.fn(*self.args, **self.kwargs) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context 2024-06-10 13:26:25     return func(*args, **kwargs) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker.py", line 272, in execute_model 2024-06-10 13:26:25     output = self.model_runner.execute_model(seq_group_metadata_list, 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context 2024-06-10 13:26:25     return func(*args, **kwargs) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/model_runner.py", line 738, in execute_model 2024-06-10 13:26:25     output = self.model.sample( 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/models/qwen2.py", line 345, in sample 2024-06-10 13:26:25     next_tokens = self.sampler(logits, sampling_metadata) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl 2024-06-10 13:26:25     return self._call_impl(*args, **kwargs) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1541, in _call_impl 2024-06-10 13:26:25     return forward_call(*args, **kwargs) 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 96, in forward 2024-06-10 13:26:25     sample_results, maybe_sampled_tokens_tensor = _sample( 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 655, in _sample 2024-06-10 13:26:25     return _sample_with_torch( 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 544, in _sample_with_torch 2024-06-10 13:26:25     sample_results = _random_sample(seq_groups, 2024-06-10 13:26:25   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 324, in _random_sample 2024-06-10 13:26:25     random_samples = random_samples.cpu() 2024-06-10 13:26:25 RuntimeError: CUDA error: an illegal memory access was encountered 2024-06-10 13:26:25 CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. 2024-06-10 13:26:25 For debugging consider passing CUDA_LAUNCH_BLOCKING=1. 2024-06-10 13:26:25 Compile withTORCH_USE_CUDA_DSA to enable device-side assertions. 2024-06-10 13:26:25  2024-06-10 13:32:41 INFO 06-10 05:32:41 metrics.py:341] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 11.4%, CPU KV cache usage: 0.0%. 2024-06-10 13:32:51 INFO 06-10 05:32:51 metrics.py:341] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 11.4%, CPU KV cache usage: 0.0%. 2024-06-10 13:33:01 INFO 06-10 05:33:01 metrics.py:341] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 11.4%, CPU KV cache usage: 0.0%.

Seeing similar segfault with 0.5.0.post1  from time to time:
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 776, in _process_request
model_server-1  |     |     async for request_output in stream:
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 89, in __anext__
model_server-1  |     |     raise result
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 261, in wrap
model_server-1  |     |     await func()
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 250, in stream_response
model_server-1  |     |     async for chunk in self.body_iterator:
model_server-1  |     |   File "/vllm-workspace/src/api_v2.py", line 267, in stream_results
model_server-1  |     |     raise e
model_server-1  |     |   File "/vllm-workspace/src/api_v2.py", line 223, in stream_results
model_server-1  |     |     async for request_output in results_generator:
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 673, in generate
model_server-1  |     |     async for output in self._process_request(
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 780, in _process_request
model_server-1  |     |     raise e
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 776, in _process_request
model_server-1  |     |     async for request_output in stream:
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 89, in __anext__
model_server-1  |     |     raise result
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 261, in wrap
model_server-1  |     |     await func()
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 250, in stream_response
model_server-1  |     |     async for chunk in self.body_iterator:
model_server-1  |     |   File "/vllm-workspace/src/api_v2.py", line 267, in stream_results
model_server-1  |     |     raise e
model_server-1  |     |   File "/vllm-workspace/src/api_v2.py", line 223, in stream_results
model_server-1  |     |     async for request_output in results_generator:
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 673, in generate
model_server-1  |     |     async for output in self._process_request(
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 780, in _process_request
model_server-1  |     |     raise e
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 776, in _process_request
model_server-1  |     |     async for request_output in stream:
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 89, in __anext__
model_server-1  |     |     raise result
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 42, in _log_task_completion
model_server-1  |     |     return_value = task.result()
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 532, in run_engine_loop
model_server-1  |     |     has_requests_in_progress = await asyncio.wait_for(
model_server-1  |     |   File "/usr/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
model_server-1  |     |     return fut.result()
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 506, in engine_step
model_server-1  |     |     request_outputs = await self.engine.step_async()
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 235, in step_async
model_server-1  |     |     output = await self.model_executor.execute_model_async(
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/executor/distributed_gpu_executor.py", line 166, in execute_model_async
model_server-1  |     |     return await self._driver_execute_model_async(execute_model_req)
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/executor/multiproc_gpu_executor.py", line 149, in _driver_execute_model_async
model_server-1  |     |     return await self.driver_exec_model(execute_model_req)
model_server-1  |     |   File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
model_server-1  |     |     result = self.fn(*self.args, **self.kwargs)
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
model_server-1  |     |     return func(*args, **kwargs)
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker.py", line 280, in execute_model
model_server-1  |     |     output = self.model_runner.execute_model(seq_group_metadata_list,
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
model_server-1  |     |     return func(*args, **kwargs)
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/model_runner.py", line 765, in execute_model
model_server-1  |     |     output = self.model.sample(
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/models/llama.py", line 386, in sample
model_server-1  |     |     next_tokens = self.sampler(logits, sampling_metadata)
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
model_server-1  |     |     return self._call_impl(*args, **kwargs)
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1541, in _call_impl
model_server-1  |     |     return forward_call(*args, **kwargs)
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 96, in forward
model_server-1  |     |     sample_results, maybe_sampled_tokens_tensor = _sample(
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 655, in _sample
model_server-1  |     |     return _sample_with_torch(
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 544, in _sample_with_torch
model_server-1  |     |     sample_results = _random_sample(seq_groups,
model_server-1  |     |   File "/usr/local/lib/python3.10/dist-packages/vllm/model_executor/layers/sampler.py", line 324, in _random_sample
model_server-1  |     |     random_samples = random_samples.cpu()
model_server-1  |     | RuntimeError: CUDA error: device-side assert triggered
model_server-1  |     | CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
model_server-1  |     | For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
model_server-1  |     | Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
model_server-1  |     |
model_server-1  |     +------------------------------------
model_server-1  | [rank0]:[E ProcessGroupNCCL.cpp:1414] [PG 2 Rank 0] Process group watchdog thread terminated with exception: CUDA error: device-side assert triggered
model_server-1  | CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
model_server-1  | For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
model_server-1  | Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

model_server-1  | Exception raised from c10_cuda_check_implementation at ../c10/cuda/CUDAException.cpp:43 (most recent call first):
model_server-1  | frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x57 (0x7f34c72cf897 in /usr/local/lib/python3.10/dist-packages/torch/lib/libc10.so)
model_server-1  | frame #1: c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::string const&) + 0x64 (0x7f34c727fb25 in /usr/local/lib/python3.10/dist-packages/torch/lib/libc10.so)
model_server-1  | frame #2: c10::cuda::c10_cuda_check_implementation(int, char const*, char const*, int, bool) + 0x118 (0x7f34c73a7718 in /usr/local/lib/python3.10/dist-packages/torch/lib/libc10_cuda.so)
model_server-1  | frame #3: c10d::ProcessGroupNCCL::WorkNCCL::finishedGPUExecutionInternal() const + 0x56 (0x7f347b276e36 in /usr/local/lib/python3.10/dist-packages/torch/lib/libtorch_cuda.so)
model_server-1  | frame #4: c10d::ProcessGroupNCCL::WorkNCCL::isCompleted() + 0x58 (0x7f347b27af38 in /usr/local/lib/python3.10/dist-packages/torch/lib/libtorch_cuda.so)
model_server-1  | frame #5: c10d::ProcessGroupNCCL::watchdogHandler() + 0x77c (0x7f347b2805ac in /usr/local/lib/python3.10/dist-packages/torch/lib/libtorch_cuda.so)
model_server-1  | frame #6: c10d::ProcessGroupNCCL::ncclCommWatchdog() + 0x10c (0x7f347b28131c in /usr/local/lib/python3.10/dist-packages/torch/lib/libtorch_cuda.so)
model_server-1  | frame #7: <unknown function> + 0xdc253 (0x7f34c7b8b253 in /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
model_server-1  | frame #8: <unknown function> + 0x94ac3 (0x7f34c9af4ac3 in /usr/lib/x86_64-linux-gnu/libc.so.6)
model_server-1  | frame #9: clone + 0x44 (0x7f34c9b85a04 in /usr/lib/x86_64-linux-gnu/libc.so.6)
model_server-1  |
model_server-1  | [2024-07-25 18:12:35,893 E 1 7228] logging.cc:108: Unhandled exception: N3c1016DistBackendErrorE. what(): [PG 2 Rank 0] Process group watchdog thread terminated with exception: CUDA error: device-side assert triggered
model_server-1  | CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
model_server-1  | For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
model_server-1  | Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
model_server-1  |
model_server-1  | Exception raised from c10_cuda_check_implementation at ../c10/cuda/CUDAException.cpp:43 (most recent call first):
model_server-1  | frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x57 (0x7f34c72cf897 in /usr/local/lib/python3.10/dist-packages/torch/lib/libc10.so)
model_server-1  | frame #1: c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::string const&) + 0x64 (0x7f34c727fb25 in /usr/local/lib/python3.10/dist-packages/torch/lib/libc10.so)
model_server-1  | frame #2: c10::cuda::c10_cuda_check_implementation(int, char const*, char const*, int, bool) + 0x118 (0x7f34c73a7718 in /usr/local/lib/python3.10/dist-packages/torch/lib/libc10_cuda.so)
model_server-1  | frame #3: c10d::ProcessGroupNCCL::WorkNCCL::finishedGPUExecutionInternal() const + 0x56 (0x7f347b276e36 in /usr/local/lib/python3.10/dist-packages/torch/lib/libtorch_cuda.so)
model_server-1  | frame #4: c10d::ProcessGroupNCCL::WorkNCCL::isCompleted() + 0x58 (0x7f347b27af38 in /usr/local/lib/python3.10/dist-packages/torch/lib/libtorch_cuda.so)
model_server-1  | frame #5: c10d::ProcessGroupNCCL::watchdogHandler() + 0x77c (0x7f347b2805ac in /usr/local/lib/python3.10/dist-packages/torch/lib/libtorch_cuda.so)
model_server-1  | frame #6: c10d::ProcessGroupNCCL::ncclCommWatchdog() + 0x10c (0x7f347b28131c in /usr/local/lib/python3.10/dist-packages/torch/lib/libtorch_cuda.so)
model_server-1  | frame #7: <unknown function> + 0xdc253 (0x7f34c7b8b253 in /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
model_server-1  | frame #8: <unknown function> + 0x94ac3 (0x7f34c9af4ac3 in /usr/lib/x86_64-linux-gnu/libc.so.6)
model_server-1  | frame #9: clone + 0x44 (0x7f34c9b85a04 in /usr/lib/x86_64-linux-gnu/libc.so.6)
model_server-1  |
model_server-1  | Exception raised from ncclCommWatchdog at ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:1418 (most recent call first):
model_server-1  | frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x57 (0x7f34c72cf897 in /usr/local/lib/python3.10/dist-packages/torch/lib/libc10.so)
model_server-1  | frame #1: <unknown function> + 0xe32e33 (0x7f347af03e33 in /usr/local/lib/python3.10/dist-packages/torch/lib/libtorch_cuda.so)
model_server-1  | frame #2: <unknown function> + 0xdc253 (0x7f34c7b8b253 in /usr/lib/x86_64-linux-gnu/libstdc++.so.6)
model_server-1  | frame #3: <unknown function> + 0x94ac3 (0x7f34c9af4ac3 in /usr/lib/x86_64-linux-gnu/libc.so.6)
model_server-1  | frame #4: clone + 0x44 (0x7f34c9b85a04 in /usr/lib/x86_64-linux-gnu/libc.so.6)
model_server-1  |
model_server-1  | [2024-07-25 18:12:35,899 E 1 7228] logging.cc:115: Stack trace:
model_server-1  |  /usr/local/lib/python3.10/dist-packages/ray/_raylet.so(+0x1033f2a) [0x7f3286731f2a] ray::operator<<()
model_server-1  | /usr/local/lib/python3.10/dist-packages/ray/_raylet.so(+0x1036f72) [0x7f3286734f72] ray::TerminateHandler()
model_server-1  | /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xae20c) [0x7f34c7b5d20c]
model_server-1  | /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xae277) [0x7f34c7b5d277]
model_server-1  | /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xae1fe) [0x7f34c7b5d1fe]
model_server-1  | /usr/local/lib/python3.10/dist-packages/torch/lib/libtorch_cuda.so(+0xe32ee4) [0x7f347af03ee4] c10d::ProcessGroupNCCL::ncclCommWatchdog()
model_server-1  | /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xdc253) [0x7f34c7b8b253]
model_server-1  | /usr/lib/x86_64-linux-gnu/libc.so.6(+0x94ac3) [0x7f34c9af4ac3]
model_server-1  | /usr/lib/x86_64-linux-gnu/libc.so.6(clone+0x44) [0x7f34c9b85a04] __clone
model_server-1  |
model_server-1  | *** SIGABRT received at time=1721931155 on cpu 107 ***
model_server-1  | PC: @     0x7f34c9af69fc  (unknown)  pthread_kill
model_server-1  |     @     0x7f34c9aa2520  (unknown)  (unknown)
model_server-1  | [2024-07-25 18:12:35,900 E 1 7228] logging.cc:343: *** SIGABRT received at time=1721931155 on cpu 107 ***
model_server-1  | [2024-07-25 18:12:35,900 E 1 7228] logging.cc:343: PC: @     0x7f34c9af69fc  (unknown)  pthread_kill
model_server-1  | [2024-07-25 18:12:35,900 E 1 7228] logging.cc:343:     @     0x7f34c9aa2520  (unknown)  (unknown)
model_server-1  | Fatal Python error: Aborted
model_server-1  |
model_server-1  |
model_server-1  | Extension modules: ujson, numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._
sfc64, numpy.random._generator, torch._C, torch._C._fft, torch._C._linalg, torch._C._nested, torch._C._nn, torch._C._sparse, torch._C._special, charset_normalizer.md, simplejson._speedups, requests.packages.charset_normalizer.md, requests.packages.chardet.md, yaml._yaml, psutil._psutil_linux, psutil._psutil_posix, msgpack._cmsgpack, google._upb
._message, setproctitle, uvloop.loop, ray._raylet, sentencepiece._sentencepiece, PIL._imaging, httptools.parser.parser, httptools.parser.url_parser, websockets.speedups (total: 38)
model_server-1  | [failure_signal_handler.cc : 332] RAW: Signal 11 raised at PC=0x7f34c9a88898 while already in AbslFailureSignalHandler()
model_server-1  | *** SIGSEGV received at time=1721931155 on cpu 107 ***
model_server-1  | PC: @     0x7f34c9a88898  (unknown)  abort
model_server-1  |     @     0x7f34c9aa2520  633865568  (unknown)
model_server-1  |     @     0x7f0ba3ffd640  (unknown)  (unknown)
model_server-1  | [2024-07-25 18:12:35,901 E 1 7228] logging.cc:343: *** SIGSEGV received at time=1721931155 on cpu 107 ***
model_server-1  | [2024-07-25 18:12:35,901 E 1 7228] logging.cc:343: PC: @     0x7f34c9a88898  (unknown)  abort
model_server-1  | [2024-07-25 18:12:35,902 E 1 7228] logging.cc:343:     @     0x7f34c9aa2520  633865568  (unknown)
model_server-1  | [2024-07-25 18:12:35,903 E 1 7228] logging.cc:343:     @     0x7f0ba3ffd640  (unknown)  (unknown)
model_server-1  | Fatal Python error: Segmentation fault


feat(container-insights): replace with (official) eks charts

Issue: https://github.com/Young-ook/terraform-aws-eks/issues/64
Replace current helm chart with chart from eks-charts repository.

hi @Young-ook I will pull that branch to my repository to test it internally.
Thanks you very much.

The helm charts are applied correctly.....
the pods are shown correctly on my eks workload page.
I will leave this a couple of hours to check the result.

I can confirm performance monitor is working.
I can confirm a new log group appeared called:
/aws/eks/fluentbit-cloudwatch/logs
I will leave this a couple more hours but LGTM at the first glance.

I can confirm performance monitor is working.
I can confirm a new log group appeared called:
/aws/eks/fluentbit-cloudwatch/logs
I will leave this a couple more hours but LGTM at the first glance.

Thank you for code review 😃

@Young-ook thank you very much.
Do you know when are you going to upload the release to terraform registry?
I would like to start using it.
thank you.

@Young-ook thank you very much.
Do you know when are you going to upload the release to terraform registry?
I would like to start using it.
thank you.

Hi @mercuriete , this feature was published in 1.4.14 version. thank you!


Sleep when no logs

tl;dr

Addresses PR feedback and has the indexer sleep for 1 second when no logs are received.

Potential improvements

Start with a smaller sleep time and use exponential backoff

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#110  👈
#107
#106
#105
#103
#102
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @neekolas and the rest of your teammates on  Graphite

Merge activity

Aug 13, 1:59 PM PDT: @neekolas started a stack merge that includes this pull request via Graphite.


batchsize

How much performance will decrease if batchsize=1 is used in the first stage? thanks.

Hi @cchenghao
It will make the result unstable. The performance will be around ~44% from my experience.

Hi @cchenghao
It will make the result unstable. The performance will be around 44~45% from my experience.

Is this difference too big? But I optimized your code a bit. There are many operations that can be distributed to reduce memory. Now I can train the model with batchsize=2.


as a fallback check if dependendencies are available in the environment

Fixes #76.
While the actual functionality can already be reviewed I will work on unit tests for the new functions...

Codecov Report

Merging #80 into master will decrease coverage by 1.09%.
The diff coverage is 37.09%.

@@            Coverage Diff            @@
##           master      #80     +/-   ##
=========================================
- Coverage   77.91%   76.81%   -1.1%
=========================================
  Files          50       50
  Lines        2721     2765     +44
  Branches      447      461     +14
=========================================
+ Hits         2120     2124      +4
- Misses        579      614     +35
- Partials       22       27      +5

Impacted Files
Coverage Δ

colcon_core/shell/sh.py
100% <100%> (ø)
:arrow_up:

colcon_core/shell/bat.py
100% <100%> (ø)
:arrow_up:

colcon_core/shell/__init__.py
75.15% <32.75%> (-23.9%)
:arrow_down:

colcon_core/shell/template/__init__.py
97.56% <0%> (-2.44%)
:arrow_down:

Continue to review full report at Codecov.

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


Make amount of users in patch configurable.

This PR changes the following:

Create an API config section for API configurables.
Add a setting UserPatchLimit that controls how many users can be changed in a PATCH request.
Use this setting in the API to limit the amount of users that can be changed.

:boom: Acceptance test Core-API-Tests-ocis-storage-2 failed. Further test are cancelled...


Search Features

#1 Able to preview the searched results in a small window
#2 The keyword searched for, should be higlighted in all places when we open the search results windows and it's subsequent pages
#3 Type-ahead search with the number of matches found if possible for the entered keyword with auto-suggestios
#4 Previous, Next and exact match count should be accessible easily

Due to the GitHub issue referencing feature, all your points link to unrelated tickets. You could use 1. 2. 3. instead.

Thanks for your suggestions @javadevelopment4 but I'm going to close this off due to the combined effects of the following:

Issues that contain a list of requests are hard to manage on here.
Some of your requested features have already been requested.
This does not follow the feature request template where the measurable benefits for existing BookStack users would be specified.

is the above search features are available in the latest release?


Build doesn't work when target-triples does not contain host triple

On x86_64 linux, configure --target-triples=i686-unknown-linux-gnu, results in a build that quickly fails. Most of our build rules are generated from the target triples. Configuring like this will be useful for 32-bit debugging. Maybe we can a) add a --host-triple flag, and b) add the host triple to the target-triples if it isn't (or produce an error).

Ah, right.  This is a good point.  Yes, I will fix this today.

Is it desirable to be able to produce a compiler for host A that can only produce binaries for host B?  This seems doable.

Maybe eventually, not now.

Is this fixed, nikomatsakis?

Yes, fixed in @9acc2bfcad8d80ec32a065446512fd5df1e250bf.  Forgot to update in bug.


add mechanism to prevent older version of godot from reseting AppData/editor_settings.xml

Hi,
When I find a bug, it happens that I also test older versions of Godot to compare and to try to tell you when this bug appeared for the first time.
The problem is that when I try with a 1.0RC1, it resets the AppData/editor_settings.xml, and when I come back to 1.1beta, the file is reset again.
Maybe each major new version could use its own AppData/editor_settings.xml file ?
And newer version could import the editor setting file of the previous version ?

should this one be closed ?

Well, given that it became editor_settings.tres and that 3.0 is now saving its settings elsewhere (with completely different names), I guess yes.


Point size and Line width

Hi,
in
mesh.primitives.mode = MESH_POINTS;
mesh.primitives.mode = MESH_LINES;
can we configure the size of the points and the lines ? Sometimes the model may be too big and if the points have a constant small size, they will be invisible from distance. Can the size adapt to the bounding box of the model ?
Best,
Dimitrios

This probably should go in the glTF repo and not here, but since I know this off the top of my head.
https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#point-and-line-materials

Points and Lines SHOULD have widths of 1px in viewport space.


Horizontal scroll on navigator for wide item in list - close #1891

I'd also been annoyed by the lack of scrolling when opening files. @rundis @kenny-evitt I'll merge tomorrow night unless there are any concerns

makes sense

Merge away!


use multiple GPU

Hi, @elliottd,
Currently, my system has two GPUs, if I want to train the GroundedTranslation system using both of two GPUs, what further commands or setting should I perform?
THX~

@amiltonwong that would depend on Keras implementing multi-GPU support and Keras depends on Theano. From what I can tell, multi-GPU support is still experimental in Theano.