add ReactDOM require

Make ribcage gen compatible with React 0.14

not mergable :(

also… I think we only need react-dom in the entry.jsx?

Doh!


To start keploy server from typescript sdk for all OS

To start keploy server from typescript sdk for all OS.
feat keploy/keploy#352

@re-Tick Can you please review this PR?

When I try the changes with a sample application, the following error is thrown:
Error checking port: Command failed: lsof -i:6789

I am checking why it is happening

@re-Tick  error is occurring because when there is nothing running on port 6789 , empty output is treated as an error and hence the error is shown, I have added additional check for the error code and will also start the server in that case too

@Hermione2408 changes are working locally. LGTM.


chore: make Acl role limit explicit

Currently, if the enum that represents Acl roles has too many variants, compilation fails with an overflow error due to this type definition:
https://github.com/aurora-is-near/near-plugins/blob/dbec4424c5bbfad5fedbfcbe877ed16bacfa18f3/near-plugins-derive/src/access_control_role.rs#L194-L198
This might be hard to understand for developers using the plugin. The changes in this PR produce a more helpful error in case there are too many enum variants. In addition, an upcoming PR will rely on that limit, so better to have it explicitly defined.

CI failure is due to the PR being based on a external repo. Closing this in favor of #70, which is identical except that it’s based on a branch of this repo.


Autoclicking is broken

Auto-clicking has been broken in the last few commits. I will take a look at the code and see what the problem is.

I just tried reverting to a much older version, and it still wasn't working. Possibly countered by Valve?

This commit https://github.com/wchill/steamSummerMinigame/commit/a6af3ead541503119339945eb7786c279ce78d37 removed 'clickTheThing' and many other functions; improper merge.

Can confirm, reverted back to 2.03 to have it work again.

reverted back to 2.03 as well (using Naosyth's link)
how did you guys even find that version :O

commit https://github.com/wchill/steamSummerMinigame/commit/a6af3ead541503119339945eb7786c279ce78d37 was merged very poorly, and had a bunch of 'fix-it' commits following. I suggest forking, reverting, and trying again, and after it is confirmed working, commit to master. This is why you never make commits like that on the master.

I've had it since this morning. I'm glad i didn't overwrite it.

@Eriner It still "clicks" on line 190
g_Minigame.m_CurrentScene.m_nClicks = currentClickRate;

@Eriner: I use the newer method. I will be reinserting the old method and an option to toggle for those that want it, but there is no real practical difference between the two other than this way is more efficient

regardless, it is not auto-clicking since the merge, as far as I can tell.

+1 to auto-clicking not working post merge,
Using:
Google Chrome Version 44.0.2403.39 beta-m (64-bit)
TamperMonkey Version 3.10.109

The issue isn't with it just missing 'clickTheThing', the problem is it was a dirty merge, and it what (as far as I can tell) what broke auto-clicking. This issue needs to be re-opened, as it has not been fixed.

@Eriner After some additional testing it looks like @wchill is correct, the key here is that the gold update happens server side since the DoClick method is what triggers the gold update on screen. A page refresh should update your gold. I've been seeing reports on the sub-reddit that there's still issues, but if @wchill is adding the toggle between the front end/back end methods then I think it's safe to leave this closed as long as good docs on how the new/old click methods work are generated.

@crimzonrayne Yeah, I actually looked at the code instead of just the visual on the screen, my mistake.

autoclicking called the function doClick() which basically incremented m_nClicks alongside of adding flinching effects and the text

right, it doesn't change anything server-side, only visuals (and efficiency) client-side. Should be documented in the Readme.md.

It is important to note that this effectively removes the purpose of "Remove particle effects" and "Remove flinching effects" which could add to the confusion. Possibly add an enhancement to not show these when using the server-side method?

@crimzonrayne having them enabled still results in an increase in the memory leak. Documentation in the Readme is sufficient.

Ok so visually i think there needs to be a on/off toggle for some indication with the new method that it's working.
Running v2.03 & 3.70 side by side, it feels as if the 3.07 isn't doing the dps.
Also i can see the benefit of this mode as the 2.03 game's visual seems to be lagging behind a bit


Improve f3d-media and add a f3d-data

https://github.com/f3d-app/f3d-media exists to store images and videos for https://f3d.app, but the status is not great.
f3d-data should be created to help the data used for the gallery and then some.

for safe keeping: splat files: https://drive.google.com/file/d/1kn3EvIpaKokwvBJNMuWZjo1wgbMqJI2p/view


Golang Examples

Add a few golang examples

@Chriscbr, can we also have a small example of how a test would look like for Go?
To convert the following in Go.
  const app = Testing.app();
  const chart = new Chart(app, 'test');

  new Deployment(chart, 'test', {

  });

  expect(Testing.synth(chart)).toMatchSnapshot();

@Hunter-Thompson I've created an issue for it 👍  #652


Issues encountered with SequenceNotStr

First of all, thanks for maintaining this repo! It's great to a place that collects such ideas.
I'm opening this issue mainly to avoid going too much off-topic in https://github.com/python/typing/issues/256.
We've experimented with SequenceNotStr a bit more now, and while it helps a little bit, we also encountered some issues with it. Perhaps there are ways to mitigate them? This example demonstrates the issues (I've made it self-contained, so that it can be tested directly on mypy playground):
from __future__ import annotations

from typing import Any, Iterator, Protocol, Sequence, SupportsIndex, TypeVar, overload

_T_co = TypeVar("_T_co", covariant=True)

# Source from https://github.com/python/typing/issues/256#issuecomment-1442633430
# This works because str.__contains__ does not accept object (either in typeshed or at runtime)
class SequenceNotStr(Protocol[_T_co]):
    @overload
    def __getitem__(self, index: SupportsIndex, /) -> _T_co:
        ...

    @overload
    def __getitem__(self, index: slice, /) -> Sequence[_T_co]:
        ...

    def __contains__(self, value: object, /) -> bool:
        ...

    def __len__(self) -> int:
        ...

    def __iter__(self) -> Iterator[_T_co]:
        ...

    def index(self, value: Any, /, start: int = 0, stop: int = ...) -> int:
        ...

    def count(self, value: Any, /) -> int:
        ...

    def __reversed__(self) -> Iterator[_T_co]:
        ...

# Functions for checks

def accept_seq(seq: Sequence[_T_co]) -> None:
    ...

def accept_seq_not_string(seq: SequenceNotStr[_T_co]) -> None:
    ...

# -----------------------------------------------------------------------------
# Issue 1: Slicing does not work.
# -----------------------------------------------------------------------------

"""
It looks like slicing does not work properly. The following usage should probably type check.
"""

def issue_1(seq: SequenceNotStr[_T_co]) -> SequenceNotStr[_T_co]:
    # This errors with: Incompatible return value type (got "Sequence[_T_co]", expected "SequenceNotStr[_T_co]")
    return seq[1:-1]

# -----------------------------------------------------------------------------
# Issue 2: Does not accept range.
# -----------------------------------------------------------------------------

"""
A regular Sequence[T] is expected to accept a `range`, which seems to satisfy the Sequence protocol.
Unfortunately this doesn't seem to be the case for `SequenceNotStr`.
"""

def issue_2() -> None:
    # This works:
    accept_seq(range(4))
    # This errors with: Argument 1 to "accept_seq_not_string" has incompatible type "range"; expected "SequenceNotStr[Never]"
    accept_seq_not_string(range(4))

# -----------------------------------------------------------------------------
# Issue 3: `SequenceNotStr` cannot be used as `Sequence` making it viral.
# -----------------------------------------------------------------------------

"""
Imagine a third-party interface that happens to use `Sequence` (either generically or
specifically with `str`). On our side, we want to work with e.g. a "list of names" and
we want to make sure that `str` does not accidentally get accepted as a list of names.
Therefore, we'd like to use `SequenceNotStr`. However, then we are not able to use any
third party interface that want a `Sequence`.
"""

def issue_3() -> None:
    def third_party_interface(seq: Sequence[_T_co]) -> _T_co:
        raise NotImplementedError()

    # Our type alias for a "sequence of names" avoiding the bug of accepting `str`
    Names = SequenceNotStr[str]

    def do_something_with_names(names: Names) -> None:
        # This errors with: Argument 1 to "third_party_interface" has incompatible type "SequenceNotStr[str]"; expected "Sequence[Never]"
        third_party_interface(names)

A few notes on the issues:

Issue 1: This issues may be easy to fix by changing the return type of __getitem__ to return an instance of
SequenceNotStr. Or do you see any reason not to do so? I can open a tiny PR if desired.
Issue 2: So far I haven't found a work-around for that.
Issue 3: From a practical perspective this issue seems to be the most annoying, because it basically means that SequenceNotStr is "viral", and should practically be used (almost) everywhere. (Only not is places where the "broken" Sequence semantics are desired -- none for us, because we model support of str explicitly...). In fact, this limitation feels strange, because SequenceNotStr should be a stricter type, no? It should behave like a Sequence, but just exclude str. So shouldn't it be usable in places that expect Sequence?

Issue 1 can indeed be fixed by changing this line: https://github.com/hauntsaninja/useful_types/blob/951d36b2aaaee6ab9fa1efcb8c4f1e2733247ff5/useful_types/init.py#L289.
Issue 2: pyright was kind enough to tell me the incompatibility. It's because range.index does not take a start and stop argument. We have to type ignore this in typeshed. As a workaround, we could remove these extra arguments from SequenceNotStr.index, but that may break other users who rely on them.
Issue 3 I don't see a solution for. Sequence is a nominal type in the type system and our SequenceNotStr is a structural type, and a structural type is never a nominal type. Note that issue 1 provides a workaround at some runtime cost: you can use [:] to get a Sequence out of your SequenceNotStr.


missing license

Would you be able to add a license to this package?

@fleck interesting concern 🤔
I've added the license now :)

thanks! just unsure about using an unlicensed package, not sure what the ramifications of that are ¯_(ツ)_/¯. Ran an audit and this was the only package out of thousands in a project I'm working on without one, anyway, thanks for the quick turnaround!

No problem, do you need me to push this to NPM as a new version @fleck ?

If you can cut a new version on NPM that'd be awesome, will help my OCD when running a license check!

@fleck all done! Your terminal will be looking after running a license check from now on I hope!


Add string replace function

This PR adds a string-replace function to both mysql and postgresql.

@evgk, thank you for contribution.
Please, update documentation

Updated it.

Thank you for your pull request.
It looks like this may be your first contribution to an Oro, Inc. open source project, in which case you'll need to sign a Contributor License Agreement (CLA) at http://www.orocrm.com/contributor-license-agreement/
If you've already signed the CLA, it's possible we don't have your GitHub username or you're using a different email address. GitHub uses the email address you set in your local Git configuration to associate commits with your GitHub account. Please sign the CLA again using the correct GitHub username and email address or see this help article on setting the email on your git commits.
Once you've signed the CLA, please allow for some time for the submission to be processed.

@evgk thank you for your contribution. Your changes were merged to new branch 1.1 and master.
New release 1.1.0 was added with your changes included


Scrap the BrainyQuotes site

This file will get you the quote of the day.
This file can get you all quotes of the author given category.
This file can give a random quote given author and category.

You shouldn't change this file. Make a new file.  See this PR for reference.

Ok

This PR had conflicts with the base file.Therefore adding new file.


Rename Clubhouse to Shortcut

This PR renames Clubhouse to Shortcut – their new name – in the docs. This also fixes a 404 when clicking the documentation link from the app.

Thanks @tombruijn, TIL.
Do we need to do anything to update the Algolia search?

@roytomeij I don't know that. I've never updated it.


Write tutorial about scientific microscopy image visualization

Related to #35 , we might want to write a tutorial about image visualization.
Back in the days when I wrote this notebook I noticed that it is quite hard to make good visualization of microscopy images with python. Either this is true (and we don't write a blog post about it) or I was wrong and there are amazing resources for doing this properly.
Content could be:

Visualize multi-channel images, e.g. for colocalization (magenta, green, mix)
Visualize contours on top of images (see example here)
How to add scale-bars

I think @guiwitz' microfilm library could be the right starting point.

First, I really appreciate all your efforts to create these tutorials and teaching materials! Just a comment about microfilm: I wrote microfilm exactly because it seemed odd to me that it was so difficult to create a multi-channel image in Python. I never found and existing library helping for that. And when I released it, people seemed interested and I didn't get any "oh you didn't know that there's already that XYZ awesome package to do that" reaction. If you write a tutorial using microfilm, let me know if you encounter any problem or have suggestions for improvement, it's still very alpha.


Crash when importing text this -t flag on macOS

If you enable the -t flag, then sometimes there will be a crash on macOS:
TextExtraction(710,0x116f10600) malloc: Heap corruption detected, free list is damaged at 0x600002534230
*** Incorrect guard value:<PHONE_NUMBER>
TextExtraction(710,0x116f10600) malloc: *** set a breakpoint in malloc_error_break to debug
Abort trap: 6

do you have a method of recreating this? does it, for instance, occur on particular input files? or just completely random..say on the same file you sometimes run with -t sometimes and it'll work sometimes and fail some other times?

is this related to the PR - https://github.com/galkahana/pdf-text-extraction/pull/26?
The corrections seems valid then, and i'll merge it. thank you!

or just completely random..say on the same file you sometimes run with -t sometimes and it'll work sometimes and fail some other times?

yes, the failure occurred in this way

is this related to the PR - https://github.com/galkahana/pdf-text-extraction/pull/26?

and yes, it is
Was glad to help!


[DON'T MERGE] webhook Cannon

What does this pull request do? Explain your changes. (required)
implements #378
Specific updates (required)

create the queue object
add the methods for emitting and popping an event

-

How did you test each of these updates (required)

Does this pull request close any open issues?

Screenshots (optional):

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

@ya7ya @iameli
BTW, maybe we should tie webhook (message queue in general?) processing to the region?
Firing webhook from API server in Singapore to the receiver in Latin America is not the optimal thing to do...


[Bug] the messages in the delay queue are replayed when I upgraded broker from 4.9.1 to 5.1.1

Before Creating the Bug Report

[X] I found a bug, not just asking a question, which should be created in GitHub Discussions.

[X] I have searched the GitHub Issues and GitHub Discussions  of this repository and believe that this is not a duplicate.

[X] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.

Runtime platform environment
OS: CentOS 6.9
RocketMQ version
branch: (develop|tag 5.1.1) version: 5.1.1
JDK Version
JDK: 1.8.0_202
Describe the Bug
When I upgrade the broker from 4.9.1 to 5.1.1, when the broker starts to load data for more than 10 seconds, then the persist timing task in ScheduleMessageService will be executed, but the load method has not been executed yet, so the existing deleyOffset.json overwrites, eventually causing the schedule message to be replayed.
Steps to Reproduce
As long as you find a broker with a scheduled message, and the commitlog reaches hundreds of G, it can be reproduced after starting with 5.x for more than 10 seconds. You can refer to the case I wrote for details.
What Did You Expect to See?
the messages in the delay queue are not replayed when I upgraded broker.
What Did You See Instead?
the messages in the delay queue are replayed when I upgraded broker.
Additional Context
No response

PR is https://github.com/apache/rocketmq/pull/6882


Segmentation violation when using curseforge detect

`$ ../packwiz/packwiz curseforge detect
Loading modpack...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x8908bb]
goroutine 1 [running]:
github.com/comp500/packwiz/curseforge.glob..func1.1(0x9815bc, 0x4, 0x0, 0x0, 0xa26c00, 0xc0001690e0, 0x6, 0x6)
/home/username/tmp/packwiz/curseforge/detect.go:38 +0x3b
path/filepath.Walk(0x9815bc, 0x4, 0xc0001ef818, 0x2, 0xc00017f408)
/usr/local/go/src/path/filepath/path.go:499 +0x7e
github.com/comp500/packwiz/curseforge.glob..func1(0xcc6c40, 0xcfffa0, 0x0, 0x0)
/home/username/tmp/packwiz/curseforge/detect.go:37 +0x3be
github.com/spf13/cobra.(*Command).execute(0xcc6c40, 0xcfffa0, 0x0, 0x0, 0xcc6c40, 0xcfffa0)
/home/username/go/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:830 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0xcc6240, 0xc000000180, 0x200000003, 0xc000000180)
/home/username/go/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:914 +0x30b
github.com/spf13/cobra.(*Command).Execute(...)
/home/username/go/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:864
github.com/comp500/packwiz/cmd.Execute()
/home/username/tmp/packwiz/cmd/root.go:24 +0x31
main.main()
/home/username/tmp/packwiz/main.go:12 +0x25`
Totally new to packwiz.
go version go1.16.3 linux/amd64
MX Linux

It seems like there was another error during traversal of your mod directory, but my code wasn't passing the error up correctly, so it segfaulted. I've pushed a fix for the segfault, hopefully the error is more descriptive now.

Now I get this error:
../packwiz/packwiz curseforge detect
Loading modpack...
lstat mods: no such file or directory

The detect command assumes you have a mods folder from which to read mods from. What did you want to use it for?

To keep my rather large modpack updated.

What I mean is: the detect command reads .jar files in the mods directory, and tries to find them on CurseForge, to turn them into .toml files you can manage/update/distribute using packwiz. If you already have .toml files (e.g. using packwiz cf install) this isn't necessary. If you don't have any mods, you should use the packwiz cf install commands to get the metadata.
If you do actually want to turn an existing folder of .jar files into .toml files for managing with packwiz, you'll need to put them in a folder called mods, which doesn't seem to exist currently.

The mods being tested are in a directory named mods already. The below attachment shows from clean. The curseforge detect still shows the latest error I posted.

Ah, I see - you need to be in a folder above the mods folder, the idea being that the folder containing pack.toml and index.toml is the entire modpack, so you can also add config files, quests, resource packs, etc.

lol

The pack.toml and index.toml files need to be in ~/tmp/ as well 😛

There we go lol. Well, at least this issue thread might shed some light on possible documentation that should be covered lol.


Completed the python hard task !!

Pull Request Type
What kind of change does this PR introduce?
[x] Solved an issue/task
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:
What is the current behavior?

Issue Number: #1439
What is the new behavior?

Other information

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out our forkcommitmerge.io website repository. The repository contain real issues that you can help to resolve or create some of your own if you see any bugs or want to add new features to the site, etc. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


Update containerd to 1.5 for all Kubernetes versions

What this PR does / why we need it:
As discussed, this PR changes logic introduced with #1272 to only use containerd 1.5 in Kubernetes 1.24+. containerd 1.5 is now used for all Kubernetes versions still supported by machine-controller. Amazon Linux 2 is the exception as it does not have containerd 1.5 available.
Note: containerd installed with docker remains on 1.4 right now due to docker 19.03 only mentioning containerd 1.3 in its release notes. Maybe 1.5 works fine too, but let's investigate that in a separate PR which also bumps docker to 20.10.
Which issue(s) this PR fixes (optional, in fixes #<issue number> format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Optional Release Note:

Update containerd to 1.5 when using it as container runtime (Amazon Linux 2 remains on 1.4 until newer versions are available)

/approve
/lgtm


Updated version string

@thorstendb-ARM  do you see any problems with these changes to the svdconv output messages?


Challenge Closed error with passive key

While reviewing the error logs of the app, I noticed that sometimes users run into the "Challenge Closed" error. From what I understand this error should appear when a user has closed a challenge. But the SiteKey is set to 100% passive, so the user should not encounter the challenge. I was able to reproduce this error few times, but the challenge did not even show up, as the error suggests.
VERSION: 3.9.1
val config = HCaptchaConfig.builder()
    .siteKey(siteKey)
    .size(HCaptchaSize.INVISIBLE)
    .loading(false)
    .build()
HCaptcha.getClient(activity)
    .setup(config)
    .verifyWithHCaptcha()
    .addOnSuccessListener { hCaptchaTokenResponse ->
        onReady(hCaptchaTokenResponse.tokenResult)
        hCaptchaTokenResponse.markUsed()
    }
    .addOnFailureListener { exception ->
        recordException(exception)
        onReady(null)
    }

The error occurs in two variants:
90%
Non-fatal Exception: com.hcaptcha.sdk.f: Challenge Closed
       at com.hcaptcha.sdk.HCaptchaJSInterface.lambda$onError$1(SourceFile:5)
       at android.os.Handler.handleCallback(Handler.java:899)
       at android.os.Handler.dispatchMessage(Handler.java:100)
       at android.os.Looper.loop(Looper.java:238)
       at android.app.ActivityThread.main(ActivityThread.java:7864)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:998)

10%
Non-fatal Exception: com.hcaptcha.sdk.f: Challenge Closed
       at com.hcaptcha.sdk.HCaptchaDialogFragment.onCancel(SourceFile:13)
       at androidx.fragment.app.DialogFragment$2.onCancel(DialogFragment.java:122)
       at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1913)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.app.ActivityThread.main(ActivityThread.java:8757)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

@PBurdelak thanks for the contact
Even if the key is 100% passive, on Android, Users are able to press back button which will lead to hCaptcha close and "Challenge Close" error will be emitted.
This behavior can be changed with .hideDialog(true) in HCaptchaConfig.builder(). And this will mean that sdk will not handle back button anymore, and you will have to handle it in the app code
Please let me know if you have any questions/proposals

@CAMOBAP thanks for your reply
Previously, we had this option enabled, and there were messages that sometimes there was also a problem with it (however, I do not have logs from that time). I think we can try with this and just watch the logs for now.
This option was disabled because our team wants to gradually reduce the passive level of the key (e.g. 99%, 95% passive).
Is there anything else we can do without turning on the hideDialog option?

@PBurdelak thanks for reply
As I noted above, according to my investigation, the reason why this issue is happens is interruption from user side.
Probably we can provide additional option (in HCaptchaConfig.builder) that will prevent this behavior (i.e. user back presses will be ignored) but this will affect UX
Will it works for you?

Is there anything else we can do without turning on the hideDialog option?

To me it looks like for this particular error it can be gracefully handled with asking a user to do verification again

@PBurdelak after in-team discussion we found that there is another solution that is exists, is to use retryPredicate like this:
val config = HCaptchaConfig.builder()
    .siteKey(siteKey)
    .size(HCaptchaSize.INVISIBLE)
    .loading(false)
    .retryPredicate((config, exception) -> exception.getHCaptchaError() == HCaptchaError.CHALLENGE_CLOSED)
    .build()

This will make SDK to ignore Back button presses

@PBurdelak feel free to reopen the ticket if you still have questions


Missing git tag for v1.5.2

Perhaps there were no changes to odk-backend between 1.5.1 and 1.5.2?

Discussed on Slack: there were no changes to Backend for v1.5.2.


schemaValidationMessages":[{"level":"error","message":"Can't read from file /swagger.json"}]

hello,i generate the swagger.json by this plugin

com.github.kongchen
swagger-maven-plugin
3.1.4
.........
and i start the swagger-ui by the command:
docker run -p port:port -e "SWAGGER_JSON=xxx" -v xx:xx swagger-ui,but when i open the browser,that occured: schemaValidationMessages:can not read,my project seprated from swagger.json file,what should i fix this problem?thanks.

@kongchen @who @avlukanin

i have solved


Added a basic Dockerfile and pipenv file

Sorry about that, this was meant for my personal branch and I misclicked


Got feedback for our new open-source Advisory Database repository?

Discussed in https://github.com/github/advisory-database/discussions/11

Originally posted by KateCatlin February 22, 2022
Welcome 🎉
Github just released our new Community Contributions feature, and we can’t wait to hear your feedback!
Along with Community Contributions, GitHub is publishing the entire contents of the Advisory Database to this new public repository. Together these changes make it easier for you to share your knowledge and for the community to benefit from the advisory intel.
How to use this database
There are two ways to provide a community contribution to a security advisory. The first way is to open a pull request against a vulnerability in this repository.
The second way is to navigate from https://github.com/advisories to the advisory to which you wish to contribute to, and submit your research through the “suggest improvements for this vulnerability” workflow. In the following form, you can suggest changes or provide more context on packages, affected versions, impacted ecosystems, and more.

To complete your submission, the form will walk you through opening a pull request that details your suggested changes. Once the pull request is open, security researchers from the GitHub Security Lab, as well as the maintainer of the project who filed the CVE (if known), will be able to review your request. Contributors will get public credit on their GitHub profile once their contribution is merged!
Let's talk!
Do you have questions? Comments? Concerns? Kudos? This is the place to voice them. Let’s chat!

Discussed in https://github.com/github/advisory-database/discussions/11

Originally posted by KateCatlin February 22, 2022
Welcome 🎉
Github just released our new Community Contributions feature, and we can’t wait to hear your feedback!
Along with Community Contributions, GitHub is publishing the entire contents of the Advisory Database to this new public repository. Together these changes make it easier for you to share your knowledge and for the community to benefit from the advisory intel.
How to use this database
There are two ways to provide a community contribution to a security advisory. The first way is to open a pull request against a vulnerability in this repository.
The second way is to navigate from https://github.com/advisories to the advisory to which you wish to contribute to, and submit your research through the “suggest improvements for this vulnerability” workflow. In the following form, you can suggest changes or provide more context on packages, affected versions, impacted ecosystems, and more.

To complete your submission, the form will walk you through opening a pull request that details your suggested changes. Once the pull request is open, security researchers from the GitHub Security Lab, as well as the maintainer of the project who filed the CVE (if known), will be able to review your request. Contributors will get public credit on their GitHub profile once their contribution is merged!
Let's talk!
Do you have questions? Comments? Concerns? Kudos? This is the place to voice them. Let’s chat!


SoloSign Custom Connector Submission

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[✔] I attest that the connector doesn't exist on the Power Platform today. I've verified by checking the pull requests in GitHub and by searching for the connector on the platform or in the documentation.
[✔] I attest that the connector works and I verified by deploying and testing all the operations.
[✔] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[✔] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[✔] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[✔] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[ ] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[ ] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[ ] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[ ] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

@microsoft-github-policy-service agree company="Solort"


Where - convert string to Int.Perfomance problem

Laravel Version: 8.75
PHP Version:  7.4.33
Database Driver & Version:
8.0.30 - MySQL

Description:
Simple query
$order_uniq = "107137949"
$order = OrdersModel::where('uniq_id', $order_uniq)

is generate mysql query "select * from api_orders where uniq_id = 107137949"
uniq_id - is has type varchar in mysql db and has index.
But if we pass uniq_id as INT -

Mysql is skeep use index

I think that this is not quite correct, that I pass the string type, and the builder changes it to an int
Of course I can use Db::raw - but it's not very convenient
Steps To Reproduce:
$order_uniq = "107137949"
$order = OrdersModel::where('uniq_id', $order_uniq)

    protected $casts = [
        'uniq_id'       => 'string',
        'transaction_id' => 'string',
    ];

Set $keyType to string. Look the following example from the official docs for reference.
<?php

class Flight extends Model
{
    /**
     * The data type of the auto-incrementing ID.
     *
     * @var string
     */
    protected $keyType = 'string';
}

reference: https://laravel.com/docs/10.x/eloquent#primary-keys

Hm - result is same)
"laravel/framework": "^10.0",
"select * from orders where uniq_id = 107137949" // app/Http/Controllers/MainController.php:22

Can you generate a public repository that makes it easy to reproduce the problem?

Oh sorry - its realy my mistake

And tnen
All is ok - so query builder - work as need

Here is our bindings

Evrything work as need


Clashing with tree-sitter-haskell when loading both dynamic libs

Caused by using similar names for global vars. At lease state_new needs to change

closed by release v0.2.4


Freeze in code

Hello, i'm trying to blink a led on a microcontroller TI cc2538, but it just freezes. This is my code:
 duk_context *ctx = duk_create_heap_default();

 duk_push_c_function(ctx, js_HalLedSet, DUK_VARARGS);
 duk_put_global_string(ctx, "LedMode");
 duk_peval_string(ctx, "LedMode()");
 duk_call(ctx,1);
 duk_pop(ctx);
 duk_destroy_heap(ctx);

I think the code freezes on second line, but i have no idea how to debug it.

Could add debug prints between the Duktape calls, and any statements in js_HalLedSet() to see where the freeze occurs?

I tried running through the first line only and it didn't freeze, however it froze when i added second line. In js_HalLedSet i did put a function for led blinking (it works normally without duktape).

What do you mean by second line? The second line in your example is empty :)

I meant  duk_push_c_function(ctx, js_HalLedSet, DUK_VARARGS);
My bad :)

One thing you could try is:
$ python tools/configure.py --output-directory /tmp/out -DDUK_USE_ASSERTIONS -DDUK_USE_SELF_TESTS

and then compiling your application with the headers and sources in /tmp/out.
Sometimes microcontroller platforms have broken implementations for some IEEE math like fmod(). The self tests should catch some of the common cases.

I am on windows, is there any way to execute that code on windows? Like Cygwin64 or something?

Any python2 command, with python-yaml package installed, should work.

I'll try it, thank you for your time!

@dejan994 Any updates?

Hey, i forgot i made this thread. It's solved in another one, you can close this one. Thanks!


treewide: add support for owrt 20.x

This PR adds support for using the OpenWrt 20.x release as baseline instead of 19.07. both baseline version co-exist in this tree. The selection is triggered by passing --20x to setup.py
This PR will give us

v5.4 kernel
containers
eBPF
MTK/AX support
Realtek switch support
software and HW based flow block offloading
...

@RickSommerville yup I already have such a change staged locally. I am currently busy testing everything to make sure we dont have any regressions

We should update the automated build procedures to build these images.  It should probably put the images in a separate folder and use a different file naming convention to reflect the different kernel.  I saw that the Splash logo will reflect the kernel version - probably need to report from AWLAN_Node or somewhere else as well (if not already).

superseeded by the new PR based on the ED2 update


Compare new generic GO slim with FB slim

Compare new generic GO slim with FB slim

Presentation in progress for GOC

Folder for FB slims

GOC slims folder

GOC Slims in progress

Use https://go.princeton.edu/cgi-bin/GOTermMapper for comparison


Support ASP.NET Razor

File Types:
*.cshtml
*.razor
Visual Studio Code Filetype: ASP.NET Razor (aspnetcorerazor)
Could these be regarded as HTML ?

As suggested in description, the easy one-line hack to try is to just tell https://github.com/cursorless-dev/vscode-parse-tree/ to treat the aspnetcorerazor language id as if it were html. The one risk here is that the html parser can be a bit temperamental. For example, we've seen weird behaviour (as in hanging / crashing) back when we tried to use it for xml files if there were a tag whose name was more than 10 chars


Test Build

This PR fixes:
Containers

openwisp-freeradius
openwisp-postifix
openwisp-nginx
openwisp-dashboard (mainly autocomplete filter errors)

Others

Docker tests and QA checks

Closing for now


BUG: SITE_QMAKE_COMMAND in CTest Config Script Not Passed Down [0013518]

Mantis Info:

On my system, I have several versions of Qt:
/usr/bin/qmake <- version 4.6.2, from Ubuntu packages
/usr/local/Trolltech/Qt-4.7.4/bin/qmake <-- version 4.7.4, built from source and installed
I specified that second one in the script for downloading, building and testing TubeTK, since 4.7.4 is required. I got the error:
CMake Warning at /usr/local/share/cmake-2.8/Modules/FindQt4.cmake:604 (MESSAGE):
  /usr/bin/qmake reported QT_INSTALL_LIBS as "/usr/lib" but QtCore could not
  be found there. Qt is NOT installed correctly for the target build
  environment.
Call Stack (most recent call first):
  CMakeLists.txt:200 (find_package)
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found.
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Could NOT find Qt4 (missing: QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_UIC_EXECUTABLE QT_INCLUDE_DIR QT_LIBRARY_DIR QT_QTCORE_LIBRARY) (found version "4.6.2")
CMake Error at CMakeLists.txt:209 (message):
  Error: Qt not found.
CMakeCache shows:
QT_QMAKE_EXECUTABLE:FILEPATH=/usr/bin/qmake
so it looks like that qmake setting is being found by CMake, and isn't getting passed down correctly from the script.
I am looking into the fix.
Additional Information:
Platform: Linux
OS: Ubuntu
OS Version: 10.04
Product Version:
Target Version:
Reproducibility: always
Priority: normal
Severity: major
ID: 0013518

Qt is no longer used by ITKTubeTK


add a feature flag for disabling external name service

Please provide a description of this PR:

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

/assign @howardjohn

@hzxuzhonghu any reason for skipping the release note for this one?  I know you had concerns over the side-effects of including external name services (link) - seems like a feature flag that others might be interested in come release time

OK, will add one

PR needs rebase.

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

I donot think we should remove this as long as some users do not need istio to handle external name service

The question though is why disable this? There are 10,000 fields we support
in Istio, but no flag to turn each off.
I'm not necessarily against adding a flag, but we need to understand why
this needs to be skipped.
On Sun, Nov 5, 2023, 7:14 PM Zhonghu Xu @.***> wrote:

I donot think we should remove this as long as some users do not need
istio to handle external name service
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/47655#issuecomment-1793930621, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXLQWEF6FNJMDHPK5NLYDA2VVAVCNFSM6AAAAAA6XRO7IGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTHEZTANRSGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I agree that feature flag is not the right API for this. I also agree that for any behavior that is not identical to k8s we should have a proper config/API to enable ( and probably we should default to transparent k8s behavior - with backward compat in regular istio and correct behavior in ambient ).
Too late for a lot of other things - but for this I would suggest MeshConfig.ProxyConfig.
I would add that the different behaviors are not well documented - besides PR discussions - nor do we have consensus
on what Istio should do.  So not even clear if this setting is a boolean or enum - and if global is the right granularity, but we can start with global.
Why: a user should be able to install istio without any change in behavior.  If an istio feature changes something, it should be possible to turn it on/off or specify the behavior the user desire.

Not fully agree, firstly istio does not support all k8s features, at least some of those are not much required, and some are implemented by CNI like network policy.
Secondly, external name service was badly supported in istio(not consistent with k8s), and recently changed with a lot of tricky transition, and also introduced incompatibility. For such feature, actually not many user requires, while at least we have serviceentry as an alternative.  Why not provide an option to disable it for 99% users while improving control plane performance

On Tue, Nov 7, 2023 at 12:17 AM Zhonghu Xu @.***> wrote:

Not fully agree, firstly istio does not support all k8s features, at least
some of those are not much required, and some are implemented by CNI like
network policy.

Depends on what you mean by "support" - but I hope we can agree that if an
app was previously working and installing Istio sidecar breaks it - it's a
bug
in Istio. We have quite a few - we may choose to call them "unsupported k8s
feature" - but in practice for a user it is a bug that will prevent the
adoption of Istio and break a particular application.
CNI and network policy are not 'supported' by Istio - nor is CSI and
persistent volumes, since Istio does not implement either of them - however
it would
be a bug if installing Istio would break an app using them. Istio sidecars
don't break CNI - ambient does, and while some may say 'ambient doesn't
support
network policy' to make it sound positive - reality is that any user of NP
would have a very bad surprise.

Secondly, external name service was badly supported in istio(not
consistent with k8s), and recently changed with a lot of tricky transition,
and also introduced incompatibility. For such feature, actually not many
user requires, while at least we have serviceentry as an alternative. Why
not provide an option to disable it for 99% users while improving control
plane performance

On this I agree - it was very buggy and broken before, and I think the new
behavior is also buggy ( by the definition above, i.e. an app not using
istio will change
after installing Istio ). ServiceEntry is an opt-in - like all other opt-in
APIs and features a user must explicitly configure things and will get
istio behavior.
I think an enum (in mesh config is possible) to select the behavior is a
good idea - with previously bad behavior as an option, current (perhaps
better) behavior
as another - and maybe we can add a 3rd option 'exactly what K8S does with
no change added by istio'.
For ambient there are expected changes in behavior for workloads opting in
to use ztunnel/waypoints - and it is the perfect place to default
to k8s behavior so users can turn on ambient by default in a cluster
knowing that nothing will break. I think most people agree with this, but
I believe even for Istio-sidecars it is very useful to have a mechanism to
select the behavior to match k8s and ambient - for migrations and
for new users who may want to use ambient for most workloads and sidecar
for select workloads ( but without differences in behavior ).

Message ID: @.***>

I completely agree with your comments above  @costinm


[DOCS FIX] correct object type for childContextTypes on the testing guide

I think it was a typo, just I got stuck for a while figuring it out, so I'm sending this to help future viewers.
By the way, when I use this I'm getting this warning: Warning: Failed Context Types: Invalid context router of type object supplied to Link, expected function. Check the render method of TrainingGroupTile. So I guess the childContextType did changed? Maybe this document needs more updates?

Thanks, it got fixed with some other changes, so should be correct now.


This is a draft to show our remaining reasons for having a fork of RustPython

The wasm-bindgen stuff is being addressed here: https://github.com/RustPython/RustPython/pull/4875
Also in that PR we are talking about time, but the PR doesn't address a solution to that.

Generally, it's better to make a function disappear than to crash the interpreter.
@lastmjs Does your use case involve running in an interactive shell?

No we are not running in an interactive shell


Create 0000-01-02-BXCcmpute.md

Branch, file, commit, request , edits

Seems fluent

Still trying to figure this out


Added new content type multi-part

When working with multi-part, multi-part should be selected from Content type

Thanks for the PR, but isn't it a bit confusing since there can be many different subparts of a multipart? See for example https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/aa493937(v=exchg.140)

Thanks for the PR, but isn't it a bit confusing since there can be many different subparts of a multipart? See for example https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/aa493937(v=exchg.140)

Yes, you're right the multi-part usage has become very common and I will make and post changes


It takes sbt a long time to consume long commands issued by IntelliJ

steps

clone https://github.com/http4s/http4s (I'm using it as an example because it's large and it's open source, but other projects are affected the same way)
Import it in IntelliJ
Enable using sbt shell for builds and imports in IntelliJ.
open sbt shell panel in IntelliJ
Ask IntelliJ to build the project
Watch a "slide show" as sbt slowly (~10 seconds) consumes the command issued by IntelliJ. (The command has a few thousands of characters)
Also notice 100% utlisation of one CPU core

sbt version 1.5.5 (1.4.0-1.5.5 are affected)
OS: MacOS 11.5.2
IntelliJ 2021.2.1 CE (but the issue isn't related to specific IntelliJ version)
problem
It appears that starting with 1.4.0 sbt started taking much more time to read characters from sbt console.
The issue did not appear with 1.3.x, and it seems unrelated to the version of IntelliJ in use.
On closer inspection with a profiler it appear that the sbt.internal.util.Terminal.ConsoleTerminal#isEchoEnabled is being called for each character read and that on each call it spawns and waits for a new process.

expectation
sbt should consume the input in insignificant amount of time like it did in 1.3.x
notes
Handling of echo has been reworked in jline3, so maybe the issue wouldn't appear if jline3 was used in sbt.

Could you try using sbtn (https://github.com/sbt/sbtn-dist/releases)? We built a native thin client that can talk to a running instance of sbt. This is also available as sbt --client compile
sbt's use of JLine is only for our own shell and we don't really test any other use cases, so I don't think it's our responsibility to keep functional parity across the versions.


Run gyb

When I pull the latest main I get this diff

@swift-ci please test

I’m also fixing the build failure in https://github.com/apple/swift-syntax/pull/582.


Automated user cannot affect baby mobs

Minecraft version & Mod Version:
Cyclic-1.12.2-1.10.8.jar
Single player or Server: Both
Describe problem (what you were doing / what happened):
Automated user cannot affect baby mobs
Test was done in attack mode so using a sword, probably other modes as well. Same if it is above or below

https://minecraft.curseforge.com/projects/cyclic/files/2513600


Validate that Table_Character fields match the field length definitions in the label

Is your feature request related to a problem? Please describe.
Currently, validate does not report when the definition of two fields in a Table_Character overlap. This is a relatively common error by data producers, and should be easy to flag.
Describe the solution you'd like
validate should report an error if fields overlap

@msbentley do you have a product we could use for testing?

I've just created a (rather silly, admittedly) example product: validate_test_fields.zip
Two of the numeric fields here overlap. The product validates and indeed opens correctly, but I can't think of a use case where this would be valid, i.e. I'm not sure if this should be a warning or should fail validation...

Added error message when the definition of two fields in a Table_Character overlap.
Begin Content Validation: file:/Users/hyunlee/dev/pds_en/validate/issue_56/validate_test_fields/minimal_test_product.tab       ERROR  [error.table.field_value_overlap]   table 1, record 1, field 3: The field is overlapping with the next field. Current field ends at 45. Next field starts at 43       ERROR  [error.table.field_value_overlap]   table 1, record 2, field 3: The field is overlapping with the next field. Current field ends at 45. Next field starts at 43       ERROR  [error.table.field_value_overlap]   table 1, record 3, field 3: The field is overlapping with the next field. Current field ends at 45. Next field starts at 43       ERROR  [error.table.field_value_overlap]   table 1, record 4, field 3: The field is overlapping with the next field. Current field ends at 45. Next field starts at 43

I assume the same check should be applied to Table_Binary?

@msbentley correct. do you by any chance have an example? if not, we can poke around.

For Table_Binary? No, but I could take my Table_Character example and change it to binary, if you can't find anything else...

thanks @msbentley we will ping you if we need it but we can probably do the conversion as well.


SyntaxError: Unexpected token 'export' after upgrading to 5.1.0

Operating System: Windows 10, but using Git Bash
Node Version: 12.13.0
NPM Version: 6.13.4
webpack Version: 4.42.0
file-loader Version: 5.1.0

Expected Behavior
Build succeeds.
Actual Behavior
A build error occurs. It makes reference to extract-loader, but the error is only triggered after installing file-loader 5.1.0. Downgrading to 4.3.0 removes the error. The error seems to be occurring while processing home.scss but also mentions a .woff font file so I imagine it's occurring when the stylesheet loading fonts is encountered.

$ npm run build:Release

><EMAIL_ADDRESS>build:Release C:\Users\scott\project
> webpack --app=all --env=production && webpack --app=all --env=development

Hash: 271542f7375d971c6a70fbd56a5b1bcfa280fcb88239f7b135fa8523cbfc0c985150ab6f5fcdc43b8b0f0b7b33a1e932bd95
Version: webpack 4.42.0
Child
    Hash: 271542f7375d971c6a70
    Time: 9842ms
    Built at: 03/03/2020 12:13:32
     3 assets
    Entrypoint home = home.js home.js.map
     [98] ./src/styles/home.scss 2.01 KiB {0} [built] [failed] [1 error]
    [148] [successful builds snipped]
          |     + 7 hidden modules
    [149] ./src/styles/fonts/GVS_Icons.woff 64 bytes [built]
        + 147 hidden modules

    ERROR in ./src/styles/home.scss
    Module build failed (from ./node_modules/extract-loader/lib/extractLoader.js):
    C:\Users\scott\project\src\styles\fonts\GVS_Icons.woff:1
    export default __webpack_public_path__ + "fonts/GVS_Icons.woff";
    ^^^^^^

    SyntaxError: Unexpected token 'export'
        at new Script (vm.js:84:7)
        at C:\Users\scott\project\node_modules\extract-loader\lib\extractLoader.js:81:28
        at Generator.next (<anonymous>)
        at step (C:\Users\scott\project\node_modules\babel-runtime\helpers\asyncToGenerator.js:17:30)
        at C:\Users\scott\project\node_modules\babel-runtime\helpers\asyncToGenerator.js:35:14
        at new Promise (<anonymous>)
        at new F (C:\Users\scott\project\node_modules\core-js\library\modules\_export.js:36:28)
        at C:\Users\scott\project\node_modules\babel-runtime\helpers\asyncToGenerator.js:14:12
        at evalModule (C:\Users\scott\project\node_modules\extract-loader\lib\extractLoader.js:150:63)
        at C:\Users\scott\project\node_modules\extract-loader\lib\extractLoader.js:138:28
        at Generator.next (<anonymous>)
        at step (C:\Users\scott\project\node_modules\babel-runtime\helpers\asyncToGenerator.js:17:30)
        at C:\Users\scott\project\node_modules\babel-runtime\helpers\asyncToGenerator.js:28:13
        at runMicrotasks (<anonymous>)
        at processTicksAndRejections (internal/process/task_queues.js:93:5)
     @ ./src/components/home.jsx 23:0-43
     @ ./src/homePage.jsx

Code
Relevant parts of webpack config
    {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        use: {
            loader: "babel-loader"
        }
    },
    {
        test: /\.(s*)css$/,
        use: [
            {
                loader: "file-loader",
                options: {
                    name: "[name].css"
                }
            },
            "extract-loader",
            "css-loader",
            {
                loader: "sass-loader",
                options: {
                    prependData: "$env:" + env + ";"
                }
            }
        ]
    },
    {
        test: /\.(woff|woff2|eot|ttf)$/,
        use: [
            {
                loader: "url-loader",
                options: {
                    // Convert images < 8kb to base64 strings
                    limit: 8000,
                    name: "fonts/[name].[ext]"
                }
            }
        ]
    }

main.scss
@import "fonts";
@import "abstracts/__abstracts-dir";
@import "base/__base-dir";
@import "dev/__dev-dir";
@import "components/__components-dir";

fonts.scss
@font-face {
    font-family: 'GVS_Icons';
    src: url('fonts/GVS_Icons.woff') format('woff')
}

How Do We Reproduce?

It is bug on extract-loader side, please open an issue in their repo, as a workaround you can set esModule: false (please read https://github.com/webpack-contrib/file-loader#esmodule)

@evilebottnawi Will do, thank you.


[hyperclick] stop scanning .js files

I have a package called js-hyperclick and I have to tell users to disable atom-typescript if they want to use js-hyperclick. The hyperclick service asks each registered package in order to scan a file and the first package that returns a result wins.
Your getSuggestionForWord implementation returns a match whether it's really a match or not, and then only does the work necessary in the callback. Because it always returns a value hyperclick will never call js-hyperclick.

yeah, I wish I wouldn't need to uninstall atom-typescript, but I can't live without js-hyperclick


rpc+assets: add support for issuing an asset into an existing key_family

Today we support the EnableEmission field which means we can make assets that have a specified key family. However, there's no way to then reference an existing key family during the minting operation, meaning we don't [EDIT: yet] support issuing multiple tranches of the same asset.
A related gap is that it isn't possible to issue a set of collectibles within the same "asset group". To enable this we want to allow each request to reference some asset group ID (can be just an int), then when minting the assets, we'd use the same key family for them all.

From offline discussion:
Reissuance using an existing key family is orthogonal to issuing multiple assets into the same family at once.
Existing families can be referenced via the corresponding tweaked pubkey, which is already exposed in some RPCs but may merit a new RPC call like 'ListAssetGroups'.

Fixed by https://github.com/lightninglabs/taro/pull/214
the second item there is being tracked in https://github.com/lightninglabs/taro/issues/233


[Add dark mode] request

Add dark mode to this webapp using next-themes

Please assign me this issue

@kaartik2611 @samyukthasudhakar, I would love to work on this issue


Refactor db subnet groups

Description
Part of https://github.com/gruntwork-io/cloud-nuke/issues/494.

TODOs
Read the Gruntwork contribution guidelines.

[x] Update the docs.
[x] Run the relevant tests successfully, including pre-commit checks.
[x] Ensure any 3rd party code adheres with our license policy or delete this line if its not applicable.
[x] Include release notes. If this PR is backward incompatible, include a migration guide.
[x] Attention Grunts - if this PR adds support for a new resource, ensure the nuke_sandbox and nuke_phxdevops jobs in .circleci/config.yml have been updated with appropriate exclusions (either directly in the job or via the .circleci/nuke_config.yml file) to prevent nuking IAM roles, groups, resources, etc that are important for the test accounts.

Release Notes (draft)

Added / Removed / Updated [X].
Updated [Refactor db subnet groups]
Migration Guide

Failed test on TestDBSubnetGroups_GetAll
--- FAIL: TestDBSubnetGroups_GetAll (0.04s)
    --- FAIL: TestDBSubnetGroups_GetAll/emptyFilter (0.04s)


Use NewTokenClient in tests and examples

@Parker77 - do you have time for another?

Thank you, @Parker77!
Merging.

Nice work more grace to your elbow


Document partial build functionality

Adds a description of how to make a partial build of Ramda, closes https://github.com/ramda/ramda/issues/806
I will create a separate PR for the docs repo as it's in a different repo. Note I've also included the /docs fix here.

Hey, in first look it looks like the index file in the docs repo is generated from the README.md file here - is this the case or should I submit a separate PR for the docs repo?

Hey, in first look it looks like the index file in the docs repo is generated from the README.md file here - is this the case or should I submit a separate PR for the docs repo?

no need to pr vs. ramda.github.io

@buzzdecafe thanks. In that case the PR is done - you can merge it if you'd like.
Great work on the library, having something powerful like this in JS is really refreshing, as someone who's never seen the point of underscore given the native methods this has shown me a new light :) Asked that question and started this PR since we're actually deploying an internal app using Ramda. Thanks again for saving me time with the library.

thanks for the kind words. can you please squash to one commit? then looks good to merge

Done

thanks!


add gethostbyname function

Because it looks like a thin wrapper of C socket library gethostbyname, I am not sure this is the correct way to go. @coolreader18 how do you think?


Compiler believes variable can be undefined in map

Given an array foo and a variable bar of type {!Object|undefined}, the following code
doSomething() {
  if (!bar) {
    return;
  }

  return foo.map(element => transform(element, bar));
}

/**
 * @param {!Object}
 */
transform(element, bar) {
  return ...;
}

Fails compilation because closure compiler insists that bar can not be passed to transform because it may be undefined, which is obviously not the case / impossible.

It's unclear to me what you are trying to do here. Can you show how foo is defined?

Oh I get what you mean, more detailed repro: https://closure-compiler-debugger.appspot.com/#input0%3D%252F**%2520%2540type%2520%257B!Object%2520%257C%2520undefined%257D%2520*%252F%250Avar%2520bar%253B%250A%250Avar%2520foo%2520%253D%2520%255B%255D%253B%250A%250Afunction%2520f()%2520%257B%250A%2520%2520if%2520(!bar)%2520%257B%250A%2520%2520%2520%2520return%253B%250A%2520%2520%257D%250A%2520%2520return%2520foo.map(element%2520%253D%253E%2520transform(element%252C%2520bar))%253B%250A%257D%250A%250A%252F**%250A%2520*%2520%2540param%2520%257B%253F%257D%2520element%250A%2520*%2520%2540param%2520%257B!Object%257D%2520bar%250A%2520*%2520%2540return%2520%257B%253F%257D%250A%2520*%252F%250Afunction%2520transform(element%252C%2520bar)%2520%257B%250A%2520%2520return%2520null%253B%250A%257D%26input1%26conformanceConfig%26externs%26refasterjs-template%26includeDefaultExterns%3D1%26CHECK_SYMBOLS%3D1%26CHECK_TYPES%3D1%26CLOSURE_PASS%3D1%26LANG_IN_IS_ES6%3D1%26MISSING_PROPERTIES%3D1%26PRESERVE_TYPE_ANNOTATIONS%3D1%26PRETTY_PRINT%3D1%26TRANSPILE%3D1
I think this is a limitation in the type inferencer.


add some comments to prevent users from using return value incorrectly

Signed-off-by: zhaoshang<EMAIL_ADDRESS>

Codecov Report
Base: 31.14% // Head: 30.58% // Decreases project coverage by -0.56% :warning:

Coverage data is based on head (b3f7a67) compared to base (43ca9b2).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #240      +/-   ##
==========================================
- Coverage   31.14%   30.58%   -0.57%
==========================================
  Files          28       28
  Lines        2318     2318
==========================================
- Hits          722      709      -13
- Misses       1494     1507      +13
  Partials      102      102

Impacted Files
Coverage Δ

pkg/auth/kubesecret.go
23.71% <0.00%> (-10.31%)
:arrow_down:

pkg/blob/blob_manager.go
18.84% <0.00%> (-4.35%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Storage: Add option to inhibit overwrite if previous load failed

If this option is enabled via Kconfig, the stored data is not overwritten if the data found in the EEPROM or flash is invalid. Empty EEPROM or flash is not considered invalid.
The public API thingset_storage_save_queued had to be changed to allow overwriting the EEPROM independent of a load failure, such that the application is able to store a new valid configuration.
The PR also contains some related improvements for the EEPROM storage. See commit message for details.

Tested and confirmed in downstream application.


Ignore duplicated undocumented things

ping

Merged as ee4afacd96f5bfbe7662c8f0ec4464c6eee4c450, closing...

Backported to 1.1.1 via #10094.


Add e series data

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


graphics drawn with moveTo can't be made interactive

Hi if you create a graphic using moveTo rather than drawRect (or another predefined shape) it cannot be made interactive.
The easiest way to see this is to go to your graphics demo
http://pixijs.github.io/examples/?v=v4.1.1#/basics/graphics.js
and add this at line40
graphics.interactive=true;
graphics.buttonMode=true;

You can see that all the shapes are interactive except the red triangle.
If you roll back to the last release v4.0.3 you can see that the triangle is not interactive.
Thanks

this has been resolved in 4.2.1 closing


[BUG]: MSM fails at runtime with sizes beyond unsigned shorts

Description
CUDA Runtime Error 700 Illegal memory access was encountered occurs when trying msm.cu::large_msm for size > 2**16-1.
Reproduce
Instantiate first the MSM function:
// wrappers.cu
#include "../../curves/bls12_381/curve_config.cuh"
#include "msm.cu"

using namespace BLS12_381;

void msm_wrapper(
    scalar_t* scalars_d,
    affine_t* points_d,
    unsigned size,
    projective_t* results_d,
    cudaStream_t stream=0
) {
    large_msm<scalar_t, projective_t, affine_t>(
        scalars_d,
        points_d,
        size,
        results_d,
        true,
        false,
        1.0,
        stream
    );
}

then test it on a dummy problem as follows
// msm_test.cu

#include "../../curves/bls12_381/curve_config.cuh"

using namespace BLS12_381;

// msm function header here, body defined in wrappers.cu
void msm_wrapper(
    scalar_t* scalars_d,
    affine_t* points_d,
    unsigned size,
    projective_t* results_d,
    cudaStream_t stream=0
);

#define CHECK_LAST_CUDA_ERROR() checkLast(__FILE__, __LINE__)
void checkLast(const char* const file, const int line)
{
    cudaError_t err{cudaGetLastError()};
    if (err != cudaSuccess)
    {
        std::cerr << "CUDA Runtime Error at: " << file << ":" << line
                  << std::endl;
        std::cerr << cudaGetErrorString(err) << std::endl;
        // We don't exit when we encounter CUDA errors in this example.
        // std::exit(EXIT_FAILURE);
    }
}

int main()
{
    printf("Starting benchmark...\n");
    unsigned batch_size = 1;
    unsigned msm_size = 65535; // FIXME: this produces CUDA 700 error with value of '65535+1'
    unsigned N = batch_size * msm_size;

    scalar_t* scalars = new scalar_t[N];
    affine_t* points = new affine_t[N];
    projective_t* out = new projective_t[2];
    scalar_t* scalars_d;
    affine_t* points_d;
    projective_t* out_d;

    printf("MSM size = %d...\n", msm_size);

    printf("Host: Generating input scalars and points...\n");

    for (unsigned i = 0; i < N; i++) {
        scalars[i] = scalar_t::rand_host();
        points[i] = (i % N < 20) ? projective_t::to_affine(projective_t::rand_host()) : points[i - 20]; // pseudo-random hack for speedup
    }

    printf("Host: Computing MSM...\n");
    cudaMalloc(&scalars_d, sizeof(scalar_t) * N);
    cudaMalloc(&points_d, sizeof(affine_t) * N);
    cudaMalloc(&out_d, sizeof(projective_t));
    cudaMemcpy(scalars_d, scalars, sizeof(scalar_t) * N, cudaMemcpyHostToDevice);
    cudaMemcpy(points_d, points, sizeof(affine_t) * N, cudaMemcpyHostToDevice);
    cudaDeviceSynchronize();
    CHECK_LAST_CUDA_ERROR();
    msm_wrapper(scalars_d,points_d,N,out_d, 0);
    cudaMemcpy(out, out_d, sizeof(projective_t), cudaMemcpyDeviceToHost);
    CHECK_LAST_CUDA_ERROR();
    std::cout << projective_t::to_affine(out[0]) << std::endl;
}

To compile, I first create the object file with the instantiated MSM and then link to the main part (this is faster to prototype)
nvcc -arch=sm_70 -std=c++17 -c wrappers.cu -o wrappers.o
nvcc -arch=sm_70 -std=c++17 wrappers.o ./msm_test.cu -o msm_test && ./msm_test

alternatively one can include and compile the whole thing in one go.
Then, depending on the value of msm_size (see FIXME) I see
Starting benchmark...
MSM size = 65535...
Host: Generating input scalars and points...
Host: Computing MSM...
x: 0x2e1870b47eed3c38778325fe8f9c5cf4ab225dffb64bc07c404cc944a144771afe3d2e8ff7406bd87502f3bc1884c4a4; y: 0x9a4a81da0d3accd4976e45051a652ffe94a349e19f36f062620645277458b8116f048d1f875ff16e385287f50b1582f8

but
MSM size = 65536...
Host: Generating input scalars and points...
Host: Computing MSM...
CUDA Runtime Error at: ./msm_test.cu:65
an illegal memory access was encountered

Expected Behavior
MSM works with sizes 65535+1
Environment
Please complete the following information:
OS + Version: Ubuntu 20.04
Cargo Version: N/A
GPU type: V100 with 16GB RAM
CUDA version: 12.2
Additional context
Please provide any additional context that may be helpful in confirming and resolving this issue.

@maciejskorski thanks for reporting.
I'm looking into this now.

// msm_test.cu

#include "../curve_config.cuh"
#include "../msm.cu"

using namespace BLS12_381;

extern "C" int msm_wrapper(
  BLS12_381::projective_t* out,
  BLS12_381::affine_t points[],
  BLS12_381::scalar_t scalars[],
  size_t count,
  unsigned large_bucket_factor,
  size_t device_id = 0,
  cudaStream_t stream = 0,
  bool on_device = false
  ) // TODO: unify parameter types size_t/unsigned etc
{
  try {
    cudaError_t setDeviceErr = cudaSetDevice(device_id);
    if (setDeviceErr != cudaSuccess) {
      throw std::runtime_error(cudaGetErrorString(setDeviceErr));
    }

    cudaStreamCreate(&stream);
    large_msm<BLS12_381::scalar_t, BLS12_381::projective_t, BLS12_381::affine_t>(
      scalars, points, count, out, on_device, false, large_bucket_factor, stream);
    cudaStreamSynchronize(stream);
    return CUDA_SUCCESS;
  } catch (const std::runtime_error& ex) {
    printf("error %s", ex.what());
    return -1;
  }
}

#define CHECK_CUDA_ERROR(val) check((val), #val, __FILE__, __LINE__)
template <typename T>
void check(T err, const char* const func, const char* const file,
           const int line)
{
    if (err != cudaSuccess)
    {
        std::cerr << "CUDA Runtime Error at: " << file << ":" << line
                  << std::endl;
        std::cerr << cudaGetErrorString(err) << " " << func << std::endl;
        // We don't exit when we encounter CUDA errors in this example.
        // std::exit(EXIT_FAILURE);
    }
}

#define CHECK_LAST_CUDA_ERROR() checkLast(__FILE__, __LINE__)
void checkLast(const char* const file, const int line)
{
    cudaError_t err{cudaGetLastError()};
    if (err != cudaSuccess)
    {
        std::cerr << "CUDA Runtime Error at: " << file << ":" << line
                  << std::endl;
        std::cerr << cudaGetErrorString(err) << std::endl;
        // We don't exit when we encounter CUDA errors in this example.
        // std::exit(EXIT_FAILURE);
    }
}

int main()
{
    printf("Starting benchmark...\n");
    unsigned batch_size = 1;
    unsigned msm_size = 65536; // FIXME: this produces CUDA 700 error with value of '65535+1'
    unsigned N = batch_size * msm_size;

    scalar_t* scalars = (scalar_t*)malloc(N * sizeof(scalar_t));
    affine_t* points = (affine_t*)malloc(N * sizeof(affine_t));

    projective_t out[batch_size * 2];

    scalar_t* scalars_d;
    affine_t* points_d;
    projective_t* out_d;

    cudaStream_t stream1;

    printf("MSM size = %d...\n", msm_size);

    printf("Host: Generating input scalars and points...\n");

    for (unsigned i = 0; i < N; i++) {
        points[i] = (i % msm_size < 10) ? projective_t::to_affine(projective_t::rand_host()) : points[i - 10];
        scalars[i] = scalar_t::rand_host();
    }

    printf("Host: Computing MSM...\n");
    CHECK_CUDA_ERROR(cudaMalloc(&scalars_d, sizeof(scalar_t) * msm_size));
    CHECK_CUDA_ERROR(cudaMalloc(&points_d, sizeof(affine_t) * msm_size));
    CHECK_CUDA_ERROR(cudaMalloc(&out_d, sizeof(projective_t)));
    CHECK_CUDA_ERROR(cudaMemcpy(scalars_d, scalars, sizeof(scalar_t) * msm_size, cudaMemcpyHostToDevice));
    CHECK_CUDA_ERROR(cudaMemcpy(points_d, points, sizeof(affine_t) * msm_size, cudaMemcpyHostToDevice));
    cudaDeviceSynchronize();
    CHECK_LAST_CUDA_ERROR();
    msm_wrapper(out_d, points_d, scalars_d, msm_size, 10, 0, stream1, true);
    cudaMemcpy(out, out_d, sizeof(projective_t), cudaMemcpyDeviceToHost);
    CHECK_LAST_CUDA_ERROR();
    std::cout << projective_t::to_affine(out[0]) << std::endl;
}

Hey @maciejskorski, im not sure exactly why you had the memory issue (also not sure why it occurs at 65536)  but i know its related to one of the following:

incorrectly allocating memory
incorrectly using the on device option
incorrectly using streams

I wrote a version that works, abit later when i have some free time ill try to give u an exact reason to why it failed.

@maciejskorski I wanted to also say when you use lower level methods such as large_msm have alook at the C++ wrappers. They usually provide good examples of how they should be used.
Feel free to ask more questions in this thread.
Thanks for opening this issue, and I hope you enjoy using ICICLE.

Hi @ImmanuelSegol if you use the code

@maciejskorski I wanted to also say when you use lower level methods such as large_msm have alook at the C++ wrappers. They usually provide good examples of how they should be used.

Indeed, I instantiated as in the templates.

Hey @maciejskorski, im not sure exactly why you had the memory issue (also not sure why it occurs at 65536) but i know its related to one of the following:

incorrectly allocating memory
incorrectly using the on device option
incorrectly using streams

I wrote a version that works, abit later when i have some free time ill try to give u an exact reason to why it failed.

I reported the error line which indicates that this comes from large_msm kernel, not allocation or stream usage (they are fine).
I see that you changed some parameters, such as large_bucket_factor, thanks - will check if this make a difference :-)

@ImmanuelSegol I had a chance to narrow it down further. It seems that your fix works by changing the undocumented parameter large_bucket_factor. Here is the proof:
Instantiate msm as
#include "../../curves/bls12_381/curve_config.cuh"
#include "msm.cu"

using namespace BLS12_381;

void msm_wrapper(
    scalar_t* scalars_d,
    affine_t* points_d,
    projective_t* results_d,
    unsigned size,
    unsigned large_bucket_factor=1,
    cudaStream_t stream=0
) {
    large_msm<scalar_t, projective_t, affine_t>(
        scalars_d,
        points_d,
        size,
        results_d,
        true,
        false,
        large_bucket_factor,
        stream
    );
}

then call with different values of large_bucket_factor (remember large_bucket_factor=1 in the test case)
#include "../../curves/bls12_381/curve_config.cuh"

using namespace BLS12_381;

// msm function header here, body defined in wrappers.cu
void msm_wrapper(
    scalar_t* scalars_d,
    affine_t* points_d,
    projective_t* results_d,
    unsigned size,
    unsigned large_bucket_factor=1,
    cudaStream_t stream=0
);

#define CHECK_LAST_CUDA_ERROR() checkLast(__FILE__, __LINE__)
void checkLast(const char* const file, const int line)
{
    cudaError_t err{cudaGetLastError()};
    if (err != cudaSuccess)
    {
        std::cerr << "CUDA Runtime Error at: " << file << ":" << line
                  << std::endl;
        std::cerr << cudaGetErrorString(err) << std::endl;
    }
}

int main()
{
    printf("Starting benchmark...\n");
    unsigned batch_size = 1;
    unsigned large_bucket_factor = 10;
    unsigned msm_size = 65535+1; // FIXME: this produces CUDA 700 error with value of '65535+1' when large_bucket_factor=1
    unsigned N = batch_size * msm_size;

    scalar_t* scalars = new scalar_t[N];
    affine_t* points = new affine_t[N];
    projective_t* out = new projective_t[1];
    scalar_t* scalars_d;
    affine_t* points_d;
    projective_t* out_d;

    printf("MSM size = %d...\n", msm_size);

    printf("Host: Generating input scalars and points...\n");

    for (unsigned i = 0; i < N; i++) {
        scalars[i] = scalar_t::rand_host();
        points[i] = (i % N < 20) ? projective_t::to_affine(projective_t::rand_host()) : points[i - 20]; // pseudo-random hack for speedup
    }

    printf("Host: Computing MSM...\n");
    cudaMalloc(&scalars_d, sizeof(scalar_t) * N);
    cudaMalloc(&points_d, sizeof(affine_t) * N);
    cudaMalloc(&out_d, sizeof(projective_t));
    cudaMemcpy(scalars_d, scalars, sizeof(scalar_t) * N, cudaMemcpyHostToDevice);
    cudaMemcpy(points_d, points, sizeof(affine_t) * N, cudaMemcpyHostToDevice);
    cudaDeviceSynchronize();
    CHECK_LAST_CUDA_ERROR();
    msm_wrapper(scalars_d,points_d,out_d, N, large_bucket_factor, 0);
    CHECK_LAST_CUDA_ERROR();
    //cudaMemcpy(out, out_d, sizeof(projective_t), cudaMemcpyDeviceToHost);
    //std::cout << projective_t::to_affine(out[0]) << std::endl;
}

What I see is that the code works with large_bucket_factor=10 but fails when large_bucket_factor=1. Since this parameter is undocumented, but clearly has something to do with scheduling reducing ops, I believe we would benefit from some explanation what is its correct range of this hyperparameter?

@maciejskorski Hey, ok I understand the issue now, I will document this parameter and open a PR to fix this.

@maciejskorski #235 should fix your issue.


runtime: frame pointer unwinding can fail on system goroutines

What version of Go are you using (go version)?

$ go version
go version devel go1.22-30d02e4925

Does this issue reproduce with the latest release?
Not exactly since we don't use frame pointer unwinding in this situation in any release.
However I believe the underlying issue is there in the latest release
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/ec2-user/.cache/go-build'
GOENV='/home/ec2-user/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/ec2-user/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/ec2-user/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/home/ec2-user/repo/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/home/ec2-user/repo/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='devel go1.22-30d02e4925 Fri Oct 6 13:02:40 2023 -0400'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/home/ec2-user/repo/go/src/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1576787342=/tmp/go-build -gno-record-gcc-switches'

What did you do?
Attempted to use frame pointer unwinding to collect call stacks for the memory profiler. The motivation was in part to bring the efficiency gains we got for execution tracing to other places, but also to make frame pointers more widely used and thus more well-tested and reliable for the situations where we really want it to work. I observed this with patchset 1 of this CL and could reproduce it locally with env GODEBUG=memprofilerate=1 go test ./runtime.
What did you expect to see?
Frame pointer unwinding to not fail.
What did you see instead?
Frame pointer unwinding fails (crashing) when collecting memory profile samples:
SIGSEGV: segmentation violation
PC=0x4346d2 m=3 sigcode=2 addr=0x7fe60a5be288

goroutine 0 [idle]:
runtime.fpTracebackPCs(...)
        /home/ec2-user/repo/go/src/runtime/trace.go:1018
runtime.mProf_Malloc(0xc000080000, 0x580)
        /home/ec2-user/repo/go/src/runtime/mprof.go:432 +0x212 fp=0x7fe60afbdc20 sp=0x7fe60afbda98 pc=0x4346d2
runtime.profilealloc(0xc000080000?, 0x580?, 0x578?)
        /home/ec2-user/repo/go/src/runtime/malloc.go:1358 +0x79 fp=0x7fe60afbdc58 sp=0x7fe60afbdc20 pc=0x411bd9
runtime.mallocgc(0x578, 0x8610c0, 0x1)
        /home/ec2-user/repo/go/src/runtime/malloc.go:1206 +0x685 fp=0x7fe60afbdcc0 sp=0x7fe60afbdc58 pc=0x411785
runtime.newobject(0x0?)
        /home/ec2-user/repo/go/src/runtime/malloc.go:1322 +0x25 fp=0x7fe60afbdce8 sp=0x7fe60afbdcc0 pc=0x411aa5
runtime.allocm(0xc000036a00, 0x891888, 0x0?)
        /home/ec2-user/repo/go/src/runtime/proc.go:1934 +0x91 fp=0x7fe60afbdd40 sp=0x7fe60afbdce8 pc=0x443f71
runtime.newm(0x161604c4b3d4da?, 0xc000036a00, 0x0?)
        /home/ec2-user/repo/go/src/runtime/proc.go:2384 +0x35 fp=0x7fe60afbdd70 sp=0x7fe60afbdd40 pc=0x444895
runtime.startm(0xc000036a00?, 0x1, 0x0)
        /home/ec2-user/repo/go/src/runtime/proc.go:2610 +0x158 fp=0x7fe60afbddc0 sp=0x7fe60afbdd70 pc=0x444f78
runtime.wakep()
        /home/ec2-user/repo/go/src/runtime/proc.go:2746 +0xec fp=0x7fe60afbddf0 sp=0x7fe60afbddc0 pc=0x44550c
runtime.resetspinning()
        /home/ec2-user/repo/go/src/runtime/proc.go:3473 +0x3e fp=0x7fe60afbde10 sp=0x7fe60afbddf0 pc=0x4471fe
runtime.schedule()
        /home/ec2-user/repo/go/src/runtime/proc.go:3607 +0x10f fp=0x7fe60afbde48 sp=0x7fe60afbde10 pc=0x44762f
runtime.mstart1()
        /home/ec2-user/repo/go/src/runtime/proc.go:1608 +0xcd fp=0x7fe60afbde70 sp=0x7fe60afbde48 pc=0x4437ed
runtime.mstart0()
        /home/ec2-user/repo/go/src/runtime/proc.go:1558 +0x76 fp=0x7fe60afbdea0 sp=0x7fe60afbde70 pc=0x4436f6
runtime.mstart()
        /home/ec2-user/repo/go/src/runtime/asm_amd64.s:395 +0x5 fp=0x7fe60afbdea8 sp=0x7fe60afbdea0 pc=0x479b65

The unwinding fails after visiting the mstart frame. This is the entry point of the M. This function has a TOPFRAME annotation, which helps unwinders using DWARF know not to proceed, but doesn't help for frame pointer unwinding. Should we could modify the mstart implementations to explicitly set the frame pointer register to 0 on architectures with frame pointers? That resolves this failure, at least. We could also teach the assembler to do that when it sees TOPFRAME annotations.

We could also teach the assembler to do that when it sees TOPFRAME annotations.

I looked into this a bit. It wouldn't be straightforward because, for example, the sigtramp implementations are marked TOPFRAME, but it's important for those functions to save registers following the platform ABI. So telling the assembler/linker to insert MOV FP, $0 or something similar for TOPFRAME functions wouldn't be right.
Other things I can think of:

Just manually fix up mstart implementations to clear the frame pointer on platforms where we want to do unwinding? Assuming it's worth trying to introduce frame-pointer unwinding for the heap profiler, for example, this is the situation where it wouldn't work today. Could do the same for other TOPFRAME functions
Build a table of address ranges for TOPFRAME functions, have frame-pointer unwinders check for them to know when to stop. This might be more robust but would also hurt performance.
Don't try frame-pointer unwinding in this situation

There should be only a small number of TOPFRAME functions. Fixing them up manually sounds reasonable. If there are ones that are tricky or not possible to fix (like sigtramp mentioned above), we can think about what to do with them.

Build a table of address ranges for TOPFRAME functions, have frame-pointer unwinders check for them to know when to stop. This might be more robust but would also hurt performance.

I assume we need to keep a table of stack addresses (not PCs)? Maybe doable but it is probably hard to maintain that table, and as you mentioned, also hurt performance. Maybe we can check for whether the new FP falls out of the stack boundary and stop if so? But we also want to handle stack transitions in FP unwinding? Then maybe we'd need to check both g0 and curg's stack bounds.

Maybe we can check for whether the new FP falls out of the stack boundary and stop if so? But we also want to handle stack transitions in FP unwinding? Then maybe we'd need to check both g0 and curg's stack bounds.

Yeah, that might be more trouble than it's worth. IMO, if there's only Go code in the call chain, frame pointer unwinding should ideally work with no extra guardrails. Since we fully control the compiler and runtime, we can properly fix cases where it doesn't work.

There should be only a small number of TOPFRAME functions. Fixing them up manually sounds reasonable. If there are ones that are tricky or not possible to fix (like sigtramp mentioned above), we can think about what to do with them.

Agreed, seems reasonable to me 👍

But we also want to handle stack transitions in FP unwinding?

I have some experience now trying to do this for heap profiling. In the case of mcall I don't think this will be possible all of the time. Specifically, when a goroutine uses mcall to call back into the scheduler (e.g. for blocking), the M will eventually drop the goroutine and wait for more runnable work. Once that happens, the goroutine which initiated the mcall can later be rescheduled on another M. That will invalidate the frame pointer saved by mcall.
I saw this problem trying to do FP unwinding for heap profiling. For example, we might allocate a new M during resetspinning, and FP unwinding from that point to sample that allocation can reach an mcall frame, with a frame pointer that's now invalid. This results in a crash.
I think we should probably have mcall also clear the frame pointer to indicate that unwinding shouldn't cross that stack boundary, since in general it's not safe. Does that make sense?

I agree in general it may not always be safe or sensible to unwind through stack transition. I think it may be reasonable to unwind through a user-to-system stack transition (like calling systemstack or asmcgocall) but not the other way around (like the scheduler executing some user goroutine).
I don't know the specifics about resetspinning. Is this mcall special? Could it have a valid frame pointer?
Is there a case we do want to traceback through an mcall? If not, we probably clear the frame pointer in mcall.

I don't know the specifics about resetspinning. Is this mcall special? Could it have a valid frame pointer?

Sorry, I left out some detail. resetspinning is something called during schedule (here) that can lead to a memory allocation, and recording that allocation for the heap profile using FP unwinding can crash. Mainly I meant it as an example where we might want to record a call stack during an mcall-ed function, where FP unwinding might not be safe any more.
The general pattern is that a goroutine calls mcall(somefunc), which will run somefunc on the g0 stack. somefunc arranges somehow for the goroutine to run later, then calls into the scheduler. gosched_m, for example, is called through mcall when a goroutine voluntarily yields to the scheduler, and it arranges for the goroutine to run by putting it on the global run queue. Once somefunc gives up the goroutine, the goroutine can be rescheduled later and invalidate the frame pointer saved by mcall.

Is there a case we do want to traceback through an mcall? If not, we probably clear the frame pointer in mcall.

No, I don't think so. We have some execution tracing events recorded during mcall-ed functions. In the gosched_m example we record the call stack of the goroutine at the point where it yielded for the traceGoSched event. But, we don't need to go through mcall, since we'll also have the goroutine's frame pointer saved in the gp.sched.bp field and we can start unwinding from there. In any such case, the event is always recorded before making the goroutine runnable again, so we know the unwinding will still work.


Add install guide for kube-apiserver

This page really needs a install guide, like where to get it and how to install it. Because that information doesn't seem to exists.

/retitle Add install guide for kube-apiserver
In your view @peterlai-roboops, when you look at https://kubernetes.io/docs/setup/, what is missing?

/sig cluster-lifecycle
/language en

the kube-apiserver seem to be a different set of tool, part of the components tool set. There's no installation instruction for these, but there are reference to using these commands. E. g. when setting up pod security admission.
Thanks - Peter

From: Tim Bannister @.>
Sent: Monday, July 31, 2023 5:42:17 PM
To: kubernetes/website @.>
Cc: Peter Lai @.>; Mention @.>
Subject: Re: [kubernetes/website] Add install guide for kube-apiserver (Issue #42303)
/sig cluster-lifecycle
/language en
—
Reply to this email directly, view it on GitHubhttps://github.com/kubernetes/website/issues/42303#issuecomment-1658401619, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACYBYRD3QHD64U44ZVHZULLXS6Y3TANCNFSM6AAAAAA26FRZFY.
You are receiving this because you were mentioned.Message ID: @.***>

Perhaps the gap is that you can see how to install a cluster, but you're not seeing how to find the kube-apiserver component once you've done that?
If so, I think that's a good thing to highlight - we don't make this particularly clear. We also don't explain what you'll get as a result of following the setup guide, which is perhaps the same shortcoming framed another way.

Well, we're using EKS, which installs it for us.
I understand that Kube is not responsible for these, and because we don't see the installation part, we're not seeing the kube-apiserver installation part.
And if you were to search for information on how to use it or install it, there's not much there. So I kinda feel, given its part of the Kube systems, that documentation should live in kube.
Thanks - Peter

From: Tim Bannister @.>
Sent: Monday, July 31, 2023 5:47:17 PM
To: kubernetes/website @.>
Cc: Peter Lai @.>; Mention @.>
Subject: Re: [kubernetes/website] Add install guide for kube-apiserver (Issue #42303)
Perhaps the gap is that you can see how to install a cluster, but you're not seeing how to find the kube-apiserver component once you've done that?
If so, I think that's a good thing to highlight - we don't make this particularly clear. We also don't explain what you'll get as a result of following the setup guide, which is perhaps the same shortcoming framed another way.

Reply to this email directly, view it on GitHubhttps://github.com/kubernetes/website/issues/42303#issuecomment-1658409638, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACYBYRHIYAY233QUZJXLJATXS6ZOLANCNFSM6AAAAAA26FRZFY.
You are receiving this because you were mentioned.Message ID: @.***>

Our view in Kubernetes is largely that if vendors are customising Kubernetes and locking part of that away from you, those vendors should document the special case.
We're willing to take pull requests that improve the general Kubernetes documentation, but we're prioritizing work on open source Kubernetes well ahead of vendor solutions (even solutions that are certified Kubernetes).

Well, we're using EKS, which installs it for us. I understand that Kube is not responsible for these, and because we don't see the installation part, we're not seeing the kube-apiserver installation part. And if you were to search for information on how to use it or install it, there's not much there. So I kinda feel, given its part of the Kube systems, that documentation should live in kube. Thanks - Peter
…
________________________________ From: Tim Bannister @.> Sent: Monday, July 31, 2023 5:47:17 PM To: kubernetes/website @.> Cc: Peter Lai @.>; Mention @.> Subject: Re: [kubernetes/website] Add install guide for kube-apiserver (Issue #42303) Perhaps the gap is that you can see how to install a cluster, but you're not seeing how to find the kube-apiserver component once you've done that? If so, I think that's a good thing to highlight - we don't make this particularly clear. We also don't explain what you'll get as a result of following the setup guide, which is perhaps the same shortcoming framed another way. - Reply to this email directly, view it on GitHub<#42303 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACYBYRHIYAY233QUZJXLJATXS6ZOLANCNFSM6AAAAAA26FRZFY. You are receiving this because you were mentioned.Message ID: @.***>

yes, that is a docs request for eks, not the opensource k8s. to install a kube-apiserver you could just download a binary and run it in a systemd unit...or download a container image and use that.
even different open source k8s projects run it differently.
kubeadm is one of them and how it runs the server is documented here https://kubernetes.io/docs/reference/setup-tools/kubeadm/implementation-details
/close


[Bug]: gradle check failing with java heap OutOfMemoryError

Signed-off-by: Andriy Redko<EMAIL_ADDRESS>Description
gradle check failing with java heap OutOfMemoryError
Issues Resolved
Closes https://github.com/opensearch-project/OpenSearch/issues/3973
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

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

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

Codecov Report

Merging #4150 (21df1fa) into main (203f44e) will increase coverage by 0.57%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main    #4150      +/-   ##
============================================
+ Coverage     70.48%   71.06%   +0.57%
- Complexity    57004    57438     +434
============================================
  Files          4603     4603
  Lines        274500   274500
  Branches      40206    40206
============================================
+ Hits         193477   195063    +1586
+ Misses        64768    63387    -1381
+ Partials      16255    16050     -205

Impacted Files
Coverage Δ

.../index/shard/IndexShardNotRecoveringException.java
0.00% <0.00%> (-50.00%)
:arrow_down:

.../org/opensearch/client/indices/AnalyzeRequest.java
27.00% <0.00%> (-48.00%)
:arrow_down:

...adcast/BroadcastShardOperationFailedException.java
55.55% <0.00%> (-44.45%)
:arrow_down:

.../search/aggregations/pipeline/HoltLinearModel.java
20.33% <0.00%> (-32.21%)
:arrow_down:

...va/org/opensearch/monitor/process/ProcessInfo.java
68.00% <0.00%> (-24.00%)
:arrow_down:

...a/org/opensearch/transport/netty4/Netty4Utils.java
42.42% <0.00%> (-21.22%)
:arrow_down:

...main/java/org/opensearch/ingest/ProcessorInfo.java
47.36% <0.00%> (-21.06%)
:arrow_down:

...rc/main/java/org/opensearch/monitor/os/OsInfo.java
68.75% <0.00%> (-20.84%)
:arrow_down:

...ch/persistent/decider/EnableAssignmentDecider.java
59.09% <0.00%> (-18.19%)
:arrow_down:

...o/src/main/java/org/opensearch/nio/NioChannel.java
83.33% <0.00%> (-16.67%)
:arrow_down:

... and 486 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Aaaah!   That's awesome, @reta !!!!!  Nice catch!!!!!!

Aaaah! That's awesome, @reta !!!!! Nice catch!!!!!!

Thanks @CEHENKLE , I will keep it as draft for some time, will rerun builds to see if issue is gone

@reta lets merge this fix in soon as I don't see any risk here.

@reta lets merge this fix in soon as I don't see any risk here.

@bbarani no objections, have not seen JVM heap issues so far on this pull request

@reta @saratvemulapalli this seems like a change that can backport to 2.0/2.1/2.2/2.x/1.3/1.x branches.
Thoughts?

@peterzhuamazon yeah I agree. This fix probably helps all builds.

@reta seems like 1.x/1.3 failed could you manually backport to those branches?
Thanks.