Invalid response for interactionModel status from get-skill-status request

i keep on having this response whenever i try to deploy the skill, after 'Deploying skill slot data and intents."
what could it depend on? i read somewhere that it could be a misspelled slot but i can't find any, and i tried to deploy for a different language (putting en, de, es or fr in kodi.config) but the error persists, so it's not tied to the language i'm using. i tried to see if somewhere there was a line with 5 "s in (say, a movie with a " in the title) but couldn't find any, the only thing i can see is that the models json's for every language looks like
      {           "name": "AddonGlobalSearch",           "samples": [             "cerca {Album}",             "cerca {Artist}",             "cerca {Movie}",             "cerca {Show}",             "trova {Album}",             "trova {Artist}",             "trova {Movie}",             "trova {Show}"           ],           "slots": [             {               "name": "Artist",               "type": "MUSICARTISTS"             },             {               "name": "Album",               "type": "MUSICALBUMS"             },             {               "name": "Song",               "type": "MUSICSONGS"             },             {               "name": "Movie",               "type": "MOVIES"             },             {               "name": "Show",               "type": "SHOWS"             }           ]         }
so there is an unused slot "Song", could it be that? or what else?

I have the same problem, it seems that all languages can be built except german (which i need).
But if i test the skill with an another language it only says: "There was a problem with the requested skill's response"
I tried it with AWS Lambda and a self hosted docker server, got in both ways the same issue.


Kwkwk

Sss

Apa kontol
Pada tanggal Sab, 28 Mei 2022 21.16, Zeakinz @.***>
menulis:

Sss
—
Reply to this email directly, view it on GitHub
https://github.com/NotViper/Aoi-Vapidz-Bot/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWCSTH2BYJRRXEHO6TXJFBLVMIMEHANCNFSM5XGUM5TA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

apasi wkwkwk

Iyh
Pada tanggal Rab, 22 Jun 2022 17.31, Nevin @.***>
menulis:

apasi wkwkwk
—
Reply to this email directly, view it on GitHub
https://github.com/NotViper/Aoi-Vapidz-Bot/issues/1#issuecomment-1162870695,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWCSTH2WZ2L4KBAIEJTGGOLVQLMO3ANCNFSM5XGUM5TA
.
You are receiving this because you commented.Message ID:
@.***>


StructuralTestProvider: provide better feedback for classes expected in the default package

Is your feature request related to a problem? Please describe.
If a class is expected in the default package, e.g., with the following test.json snippet:
[
  {
    "class": {
      "name": "SomeClass",
      "package": ""
    }
  }
]

and cannot be found (or is misplaced), the error message will read: "The exercise expects a class with the name SomeClass in the package . You did not implement the class in the exercise."
Describe the solution you'd like
I think the error message should look like:
- The exercise expects a class with the name SomeClass in the package . You did not implement the class in the exercise.
+ The exercise expects a class with the name SomeClass in the default package. You did not implement the class in the exercise.

And, maybe, to mitigate that beginners then try to add package default; at the beginning of their Java files, one could even go further:
- The exercise expects a class with the name SomeClass in the package . You did not implement the class in the exercise.
+ The exercise expects a class with the name SomeClass in the default package (i.e., no package). You did not implement the class in the exercise.

Describe alternatives you've considered

Adding a special hint in the problem statement.
Providing class templates in the template repository.
Changing the exercise to not use the default package. However, for beginner exercises it's actually nice to skip as many distractions as possible.

Additional context
This is only affects very basic Java programming exercises w/o packages.
Ares-Version you are using
1.11.3

Would The exercise expects a class with the name SomeClass in the package <default> (i.e., no package). You did not implement the class in the exercise. be OK? I would choose that implementation, as it does not require reordering in the messages or grammatical adjustments:

default package
package net.example.test

It should address the problem for now, that the package name is just an empty string.
If this solution does not meet your needs, feel free to reopen the ticket and preferably open a pull request with your suggestion.

Will be fixed in version 1.12.0.
Thanks for reposting and creating the bug report!

This solution is sufficient. Thank you very much!


Feature/issue 320 screen per question questionnaire

In this PR I have not changed any of the existing store structure although we can likely improve it to better reflect this new questionnaire format. I've also intentionally simplified the "back" and "next" button spacing as implementing the designs exactly as shown was overly complex to keep accurate on varying screen sizes.

Closing this for now and moving back into in progress - there's something I want to tweak.


Fields configuration question

Simple question after reading the docs here and at sumo:
I see that you can configure the sourceCategory value -- can you also configure the name-value fields?

do you mean source name?

Hi @himanshu219 , I'm referring to the metadata type fields that are supplied with the http source as headers. I'm wondering if we are able to do that here (it's actually really nice for CI/CD setups), or if we'd have to use a Field Extraction Rule.

Support of metadata fields (X-SUMO-Fields) in http headers  is currently not supported.


Centralized Wasm caching

FR to move Wasm fetching over to Istiod. This ensures a uniform reliability expectation for all configuration - regular xDS and Wasm. A separate distribution channel for Wasm (e.g. OCI) adds risks due to the distributed failure (e.g. every pod can fail independently), and complicates the coordination of xDS (e.g. when listener can start using Wasm).
To reduce the load on Istiod, we can limit the binary sizes to O(10MB) to capture the common Lua usage pattern. For very large modules, we can rely on binary files shipped separately (FUSE to GCS or built into container).
As a side benefit this will further reduce pilot agent dependencies by removing OCI clients and the ECDS proxy.

@igsong @howardjohn

IMO the gold standard here is to use the nodes container runtime. It was built for this task, and also has fancy things like custom snapshotters, p2p fetching, ... And you get a per node cache.
I wonder what https://developer.fermyon.com/spin/v2/kubernetes is using -- worth exploring.
If we did that, depending on details we may or may not actually get rid of OCI, though, depending on how we did things

I don't think it makes sense to use the node for what are essentially Lua scripts. There's a place for very large Wasm binaries, but that's not the target for this feature request since we'll bound the size by 5-10MB.

10mb and Lua scripts are very different IMO. 10mb is well not even super uncomon of a docker image size,  I think we have a few that small

5MB is relatively minor with respect to the overall xDS configuration size. Regular xDS configuration can be pushed from OCI, too, but we don't recommend that because we can't promise any reliability for alternative channels, including the node registry. If Wasm proves to be common on k8s, the platform will deliver an ability to dynamically mount Wasm modules on live pods, but the promise seems to always in the future, while there's a clear use case for Lua replacement with small modules.

I donot think istiod has the capability to fecth  all the wasm modeules.  Not to mention distribution, it should not be working as a image registry

I donot think istiod has the capability to fecth all the wasm modeules. Not to mention distribution, it should not be working as a image registry

It certainly can since this ability is present and used in each sidecar independently of k8s. We don't need istiod as a registry, it will convert Wasm into xDS and treat it as xDS config going forward.

I'm not sure if it worth to do this in istiod. users can set up a mutatingwebhook mutate the url to a proxy/centralize backend.

@zirain I agree that for large binaries, xDS is a poor fit for content distribution. However, many things go wrong when modules are large, and there're a lot of use cases that can be covered with small modules.

We've done a lot of things in the past to reduce the size of XDS, and distributing content in XDS sounds like store binary(e.g. photo, raw json) in database, it works but we don't usually do that(S3/GCS is better choice).


Clarification on AD App Registration Best Practices

The documentation here states that Azure AD App Registrations can serve as both client apps and resource servers simultaneously.  This comment in a previous issues affirms that.
However, many walkthroughs and examples suggest that client/API apps should be separate registrations (e.g. here and here.)
It seems logical that the apps would be registered separately, but maybe in some cases that is not necessary? When, if ever, should various components of an application (SPA, daemon, native client, API) be registered as separate apps in Azure AD? Some clarification (and perhaps updated documentation) on this, would be appreciated.
Thanks

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

ID: 6c12e139-8cb6-dd6d-2e08-89d4f22c7eef
Version Independent ID: 675b5ee9-bfe6-344f-7b39-ca0e2bc18b9b
Content: Application and service principal objects in Azure Active Directory
Content Source: articles/active-directory/develop/app-objects-and-service-principals.md
Service: active-directory
Sub-service: develop
GitHub Login: @CelesteDG
Microsoft Alias: celested

@SamNutkins, Thanks for the feedback! We are currently investigating and will update you shortly.

@CelesteDG Could you please look into this request and engage someone from engineering to get a clarification on this doc enhancement request ?

#reassign:@rwike77
We have an ADO work item tracking this doc enhancement work item (#795916). We'll update this thread when the work is completed.
For now, #please-close


MB-11074: Updates to ShipmentCard subcomponent in billable weight review flow

Jira ticket for this change: MB-11074
Summary
This pull request implements logic and display changes to the ShipmentCard subcomponent inside the billable weights review flow, specifically when the user is viewing an NTS-release shipment. Specifically:

It refactors the weight and reweigh remarks table that's present for HHG shipments in this subcomponent, and hides that content for NTS-release shipments, displaying a single line of shipment weight instead
It replaces the text of "Departed" with "Delivered" for NTS-release shipments

Other parts of the acceptance criteria for this ticket (changing header text, hiding estimated weight) already work as-is.
Setup to Run Your Code

💻 You will need to use three separate terminals to test this locally.
Terminal 1
Start the Storybook locally.
make storybook

Terminal 2
Start the UI locally.
make office_client_run

Terminal 3
Start the Go server locally.
make server_run

Additional steps

In Storybook, view the new "NTS-release" story for the BillableWeightShipmentCard component, and verify that it looks correct.
Log in to the Office application locally as a TIO user and open the HGNTSR move from the devseed data. Click the "Review weights" button on the next screen, and proceed through the flow until you get to the NTS-release shipment.
Verify that the shipment card looks correct; that estimated weight and reweigh information don't display, including after clicking the "Edit" button for this shipment.

Verification Steps for Author
These are to be checked by the author.

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

Frontend

[ ] User facing changes have been reviewed by design.
[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] There are no new console errors in the browser devtools
[ ] There are no new console errors in the test output
[ ] If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.

Messages

:book:
:link: MB-11074

  Generated by :no_entry_sign: dangerJS against 403f964cec4540fa607753a46beabd1169a0e536


Fix drop/paste video in Safari

We can either set preload="auto" or video.autoplay = true (both should have the same effect, but it's Safari so not 100% sure), otherwise canplay event is never fired/Promise resolved - stoping the whole process.
Summary

Relevant Technical Choices

To-do

User-facing changes

Testing Instructions

Fixes #

Can you link the relevant issue?

Closing in favor of #2925


asish

Type: Feature Request
hii everyone
VS Code version: Code 1.95.3 (f1a4fb101478ce6ec82fe9627c43efbf9e98c813, 2024-11-13T14:50:04.152Z)
OS version: Windows_NT x64 10.0.26100
Modes:

Hi


Label/Taint nodes during cluster-installation

Currently, I manually label and taint nodes after cluster-installation, and before flux-installation. If I could put that into ansible, that would eliminate some work.

Since I no longer segregate workloads, and swapped to Talos, this isn't as required.


Codeunit ApplicationManagement is missing

Hi All,
I`m pull bcinsider.azurecr.io/bcsandbox-master  last version (13.0.23231.0-W1).
Cannot found codeunit ApplicationManagement. Please support me
Thanks

Hi,
Codeunit 1 ApplicationManagement has been removed. Did you get the error because you were trying to subscribe to an event in or call a function on codeunit 1 or something else?
I am working on documentation which will include a mapping of where to find the functions/events now that codeunit 1 is not there anymore.
br/Gert

Hi,
I'm closing the issue as there has been reply for a few days. Please let me know if you encounter more issues.
br/Gert


av_test__unannotated.json and its video release

Hi, I couldn't find the av_test_unannotated.json and its related video. I can find about the test dataset is the frames that only contain single face cropped images. I think it is hard to judge the TTM labels according to the single face frames. Besides, it will also limits the methods during training. We thus cannot use the tricks that interact with the environments. That is, could you publicly release the av_test__unannotated.json and its video ? Or, what is the approximate time of the release of these information?
Thank you!

Hello,
The reason for not releasing the full dataset is that some labels for this task are the ground truth for other challenges. We don't want to jeopardize other challenges and may release the labels in the future. But we cannot provide a precise timeline at current stage.


Interact link doesn't redirect properly

When I click on an interact link to a notebook, this should take me directly to the notebook after syncing.  Instead, I often find that it takes me to the root of my directory tree.
Here's the pattern: if it's the first time that I've clicked on the interact link in a while, it syncs and then redirects me to the top directory tree.  If I then click on the interact link a second time, it properly redirects me to the notebook the second time.  Thus, this sounds like it might be some kind of authentication-related issue.  I've observed this on Firefox and can reproduce this reliably.
I reproduced it with the Firefox Web Console open and took a look at the headers, and here's what I see.

I click on the link http://datahub.berkeley.edu/hub/user-redirect/git-sync?repo=https://github.com/data-8/materials-fa17&subPath=materials/fa17/hw/hw03/hw03.ipynb.

It does a sync.

After the sync, it redirects my browser to the notebook URL (http://datahub.berkeley.edu/user/daw/notebooks/materials-fa17/materials/fa17/hw/hw03/hw03.ipynb, in my example).

My browser fetches that link and gets back a 302 response, which redirects to http://datahub.berkeley.edu/hub/api/oauth2/authorize?client_id=user-daw&redirect_uri=%2Fuser%2Fdaw%2Foauth_callback&response_type=code, presumably for authentication.  Crucially, note that the redirect_uri part of the URL is incorrect and failed to include the full URL.

After OAuth authentication completes, my browser gets redirected to http://datahub.berkeley.edu/user/daw/, i.e., the top of the directory tree.  Thus, the redirection chain failed to preserve the full URL through the OAuth authentication phase.

Attached screenshots show what I saw in the Web Console.

This might be the same as #16 / #18.

Yup, this looks like a duplicate of #16


Project map accessibility

Describe your changes
https://pins-ds.atlassian.net/browse/ASB-1857?atlOrigin=eyJpIjoiYTQxNDRiNTZmMjFlNDk3NTkxODgyYjU0ZWRhZWZiYTkiLCJwIjoiaiJ9
https://pins-ds.atlassian.net/browse/ASB-1862?atlOrigin=eyJpIjoiZWNjZmIwZjk2M2UyNDY3MmJhYTEwYzRhZDZmYTU1ZTAiLCJwIjoiaiJ9
Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please explain in the description section above)

Checklist before requesting a review

[x] I have performed a self-review of my own code
[x] I have double checked this work does not include any hardcoded secrets or passwords
[x] I have made corresponding changes to the documentation
[x] I have provided details on how I have tested my code
[x] I have referenced the ticket number above
[x] I have provided a description of the ticket
[x] I have included unit tests to cover any testable code changes

:tada: This PR is included in version 2.17.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.14.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Filter value does not allow value to be zero (0)

Check is now if (empty($value)) throw exception. Should be strlen === 0 or something like that.

Could you be a bit more specific and tell me in which file this should be changed. Thanks!

https://github.com/nordsoftware/lumen-search/blob/master/src/Filter.php#L131
But this issue has already been addressed.


Add GH Actions to automatically push releases to PyPI

This should only trigger for commits pushed to master that are tagged.
This PR builds on top of #33

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.515%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
316

Relevant Lines:
357

💛  - Coveralls


Resolve performance bottleneck for sum image with large frames and many workers

On moellenstedt with 18 workers, the performance of a sum image from a K2IS data set with (1860,2048) detector resolution is limited by libertem-server, not the workers. This will be even more severe on a cluster. For EMPAD data with (128,128) frames, the issue doesn't occur on moellenstedt.
Discussions with @sk1p: Perhaps the pickling and unpickling of 15 MB intermediate sums from the workers is the culprit.
Items to work on:

[x] Verify if pickling is responsible by profiling.

Edit: Pickling is not the issue, see below.

The issue is still current, for stddev and sum on a K2 dataset the libertem-server process is between 100 % and 300 % CPU when used with the GUI.

Discussion with @sk1p: Bumping to 0.11 since working on this in combination with #380 and aspects of #134 will significantly improve user experience.


bs3-button

Hello bs3-button doesn't work. Also not available in live templates.

I agree with you for a long time...


Instance JSON builder for PC Engine CD Core doesn't work recursively

Instance JSON builder for PC Engine CD Core doesn't work recursively, for instance I have my fullset built as this:
D:\Assets\pcecd\common\TGCD<game name>
D:\Assets\pcecd\common\PCECD-Translations<game name>
D:\Assets\pcecd\common\PCECD<game name>
and so on.
The JSON builder only seems to only detect if a game is located in a folder inside the common folder, it can't go further recursively.

correct. it doesn't support this currently. I'll be working on it soon though probably

This should be fixed in v<IP_ADDRESS>
If there are any issues going forward just let me know.


dependent: :destroy option on association destroys models related to source after cloning

Associations that contain dependent: :destroy option will be destroyed on source object after the cloning process. It's easy to reproduce in your tests - just add
dependent: :destroy to has_one :image, class_name: 'AR::Image' and tests will fail.

I had debugged the issue a little bit and here is what I found:
This line is destroying association on source model:
  # Clowne::Adapters::ActiveRecord::Associations::HasOne
  record.__send__(:"#{association_name}=", child_clone)

Problem is that record.__send__(:"#{association_name}") is not nil, actually it's association of source object, so when we set new association to child_clone active record destroys source association because of 'dependent: :destroy' option.
To fix it, I think, we need to change the way how gem does initial copy of the object:
# Clowne::Adapters::Base
init_record = init_record(self.class.dup_record(source))

This line calls ActiveRecord's dup method, which duplicates a model + parent associations.

After a fresh look, I've realized what's going on:
I have a model with primary key :id and additional column uuid, my association looks like this:
has_one :image, dependent: :destroy, inverse_of: :post, foreign_key: :post_uuid, primary_key: :uuid

So when the cloning process starts, :id is set to nil, but uuid is not(I have used nullify :uuid), so newly created clone already has a relation of a source object and when clowne sets a cloned version of this association rails destroys original one due to dependent: :destroy option. I've fixed this problem by using init_as:
  init_as do |source|
    clone = source.dup
    clone.uuid = nil
    clone
  end

It would be great to check if an association has dependent option and if an association is already present before clone associations step then raise an error for such idiots like me :)
Thanks a lot for such nice gem!

Hi @dolhishev! Your case is interesting and unusual but make sense, yeh.
First of all, if this approach with two different columns (id and uuid) is used for all your models, you can define your adapter:

class UUIDActiveRecordAdapter < Clowne::Adapters::ActiveRecord
  class << self
    def dup_record(record)
       super.tap do |clone|
         clone.uuid = nil
       end
    end
  end
end

# and
class BaseCloner < Clowne::Cloner
  adapter UUIDActiveRecordAdapter
end

class SomeModelCloner < BaseCloner
  # declarations
end

See here and here.

It would be great to check if an association has dependent option and if an association is already present before clone associations step then raise an error for such idiots like me :)

Hm, maybe is too rude to raise an exception but we can handle this case and put a warning message. I'll think about it.
And thanks for the report 👍


HPA parser bug (in data_pipeline)

The URL for control tissue in the HPA parser (i.e. normal_tissue_url) is being loaded as an uncompressed URLSource in HPA.py#L374 despite being defined as a zipped file in the data configs -- i.e. mrtarget.data.19.09.yml has the line:
hpa-normal-tissue: https://storage.googleapis.com/open-targets-data-releases/19.09/input/annotation-files/normal_tissue-2019-08-22.tsv.zip.
This then results in an error like utf-8 codec can't decode byte ... when running mrtarget because the compressed stream is not decodable as text.

Hi Eric, thanks for contacting us. The issue you described is intentional for python 3 compatibility in upcoming 19.11 release. For using 19.09 data please use 19.09 tagged code release, not master. Alternatively, make a uncompressed copy available and use an updated data configuration that references it.
In the longer term, it would be useful to rewrite the hpa step as it is the only one that uses a separate ETL library, and at that point we should make sure it accepts both compressed and uncompressed input (like the other inputs already do).

Makes sense, thanks for the info.


Autoload settings don't tell why an autoload can't be added when name is invalid

Godot version
4.0-dev (c7455d9d4284958d3ffed716ae4c7e192fb1a573)
System information
Any
Issue description
The Autoload tab in the Project Settings disables the "Add" button when the autoload name is invalid (e.g. when it has invalid characters), but it does not tell why it is disabled.

It should have a tooltip or maybe an error message in the dialog itself telling the reason the name is incorrect. The messages already exist in the code but they are ignored in this case. While it might be obvious in some cases, like when invalid characters are added, it might be quite confusing when the name is invalid because it conflicts with an engine class.
Steps to reproduce

Create an empty scene or script to use as autoload.
Open Project Settings dialog.
Select the Autoload tab.
In the "Path" field, select the scene or script create earlier.
In the "Node Name" field, type an invalid name (e.g. "Test+", invalid since "+" isn't allowed in identifier).
Note the "Add" button is disabled as soon as "+" is typed but there's no information why it's invalid.

Minimal reproduction project
N/A

As there is no space left for such a message, would this solution be acceptable. (Hide/show a label under the inputs)

(Do not take care of icons number, I was testing anout another issue with this tree)


EnvelopeGate: Address performance by avoiding (so much) copying

resolves #22
Checked in SC and Max. SC tests pass.
In the interests of simplicity in already complex code, the current implementation updates its input and output buffers by block copying the old buffer content to its new positions. This introduces a great deal of overhead, which grows markedly as minLengthAbove / minLengthBelow get bigger, and pegs out at 100% CPU for reasonable-seeming values.
Rather than copying the data around, here I instead do the conventional ring buffer thing of moving read / write heads through the buffers. The downside, obviously, is that operations that were previously on contiguous ranges now sometimes have to be split into two operations, where the range crosses the edges of the buffer. This adds complexity / decreases clarity. On the upside, it means that performance no longer degrades steeply when using these attributes.
I've done everything inline here in the name of applying the minimal changes needed to fix the problem and pass tests. However, happy to go off and consider if there's a way of hiding some of this complexity away so that the intention of the algorithm code can remain clear(er). The three main horrible bits are refineStart (where the search for the next minimum may have to be spread over two separate reads of the input buffer), and the two blocks in processSample that set ranges of the outputBuffer.

Example code below goes from 65% to 0.6% in SC, nice one!
b = Buffer.read(s,File.realpath(FluidAmpGate.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav");
(
{var env, source = PlayBuf.ar(1,b,loop: 1);
env = FluidAmpGate.ar(source, rampUp:441, rampDown:2205, onThreshold:-27, offThreshold: -31, minSilenceLength:4410, lookBack:441, highPassFreq:20, lookAhead: 22050);
DelayN.ar(source,delaytime:22050/44100)*env;
}.play;
)

I would merge now, but I have sent a compiled version to the bug reporter to see if it works for him.

As I was playing with it, I have found a crash:

Process:               Max [13832]
Path:                  /Applications/Max.app/Contents/MacOS/Max
Identifier:            com.cycling74.Max
Version:               8.1.11 [17de540] (8.1.11)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Max [13832]
User ID:               504

Date/Time:             2021-08-24 10:05:37.843 -0400
OS Version:            Mac OS X 10.15.7 (19H1323)
Report Version:        12
Bridge OS Version:     5.5 (18P4759a)
Anonymous UUID:        5D2CB51D-2D55-1359-9253-752F9C7BCF74
Sleep/Wake UUID:       16B6A978-4D87-4036-A1F9-CE12632FD321
Time Awake Since Boot: 32000 seconds
Time Since Wake:       3700 seconds
System Integrity Protection: enabled
Crashed Thread:        0  CrBrowserMain  Dispatch queue: com.apple.main-thread
Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY
Application Specific Information:
abort() called
Max(13832,0x108fbadc0) malloc: *** error for object 0xc02a000000000000: pointer being freed was not allocated
Thread 0 Crashed:: CrBrowserMain  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff6deaa33a __pthread_kill + 10
1   libsystem_pthread.dylib       	0x00007fff6df66e60 pthread_kill + 430
2   libsystem_c.dylib             	0x00007fff6de31808 abort + 120
3   libsystem_malloc.dylib        	0x00007fff6df2750b malloc_vreport + 548
4   libsystem_malloc.dylib        	0x00007fff6df2a40f malloc_report + 151
5   org.flucoma.fluid.ampgate-    	0x0000000141233594 fluid::client::FluidMaxWrapper<fluid::client::ClientWrapperfluid::client::ampgate::AmpGateClient >::~FluidMaxWrapper() + 52
6   com.cycling74.Max             	0x000000010472faa9 freeobject + 108
7   com.cycling74.Max             	0x00000001048cceac jnewobj_free + 26
8   com.cycling74.Max             	0x000000010472faa9 freeobject + 108
9   com.cycling74.Max             	0x00000001047fe674 object_free + 27
10  com.cycling74.Max             	0x00000001048de8b2 jpatcher_free + 326
11  com.cycling74.Max             	0x000000010472faa9 freeobject + 108
12  com.cycling74.Max             	0x00000001048cceac jnewobj_free + 26
13  com.cycling74.Max             	0x000000010472faa9 freeobject + 108
14  com.cycling74.Max             	0x00000001047fe674 object_free + 27
15  com.cycling74.Max             	0x00000001048de8b2 jpatcher_free + 326
16  com.cycling74.Max             	0x000000010472faa9 freeobject + 108
17  com.cycling74.Max             	0x00000001047fe674 object_free + 27
18  com.cycling74.Max             	0x00000001047fddcb object_method_imp + 340
19  com.cycling74.Max             	0x00000001049120f4 jwind_close + 1122
20  com.cycling74.Max             	0x0000000104800b6d object_method_typedfun + 75
21  com.cycling74.Max             	0x00000001048c78df jmenuitem_process + 553
22  com.cycling74.Max             	0x00000001048c76a8 jmenu_command_process + 71
23  com.cycling74.Max             	0x00000001048c764a jmenu_process + 99
24  com.cycling74.Max             	0x000000010482ce24 interface_process + 11
25  com.cycling74.Max             	0x0000000104f58ea0 juce::MessageManager::AsyncCallInvoker<juce::JuceMainMenuHandler::invoke(juce::PopupMenu::Item const&, int) const::'lambda'()>::messageCallback() + 96
26  com.cycling74.Max             	0x0000000104e49312 juce::MessageQueue::runLoopSourceCallback(void*) + 242
27  com.apple.CoreFoundation      	0x00007fff33ca27e2 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17
28  com.apple.CoreFoundation      	0x00007fff33ca2781 __CFRunLoopDoSource0 + 103
29  com.apple.CoreFoundation      	0x00007fff33ca259b __CFRunLoopDoSources0 + 209
30  com.apple.CoreFoundation      	0x00007fff33ca12ca __CFRunLoopRun + 927
31  com.apple.CoreFoundation      	0x00007fff33ca08ce CFRunLoopRunSpecific + 462
32  com.apple.HIToolbox           	0x00007fff328ccabd RunCurrentEventLoopInMode + 292
33  com.apple.HIToolbox           	0x00007fff328cc6f4 ReceiveNextEventCommon + 359
34  com.apple.HIToolbox           	0x00007fff328cc579 _BlockUntilNextEventMatchingListInModeWithFilter + 64
35  com.apple.AppKit              	0x00007fff30f13739 _DPSNextEvent + 883
36  com.apple.AppKit              	0x00007fff30f11f80 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
37  com.apple.AppKit              	0x00007fff30f03c8e -[NSApplication run] + 658
38  org.chromium.ContentShell.framework	0x000000010c0faa0c cef_time_delta + 2877996
39  org.chromium.ContentShell.framework	0x000000010c0f97d3 cef_time_delta + 2873331
40  org.chromium.ContentShell.framework	0x000000010c0b6f7a cef_time_delta + 2600858
41  org.chromium.ContentShell.framework	0x000000010c088f1e cef_time_delta + 2412350
42  org.chromium.ContentShell.framework	0x000000010bdb5d33 ChromeAppModeStart_v6 + 6537459
43  com.cycling74.Max             	0x0000000104a71b0e MaxCefEventLoopHandler::runMessageLoop() + 18
44  com.cycling74.Max             	0x0000000104e4a3b5 juce::JUCEApplicationBase::main(int, char const**) + 245
45  libdyld.dylib                 	0x00007fff6dd62cc9 start + 1

I just took a quick look at this with PA and I'm wondering if you should be assuming (as it appears you might) that mDumpDictionary is nullptr in FluidMaxWrapper without explicitly initialising it.
~FluidMaxWrapper (which is crashing above) calls object_free on mDumpDictionary. The code of FluidMaxWrapper test mDumpDictionary to see if it is nullptr in a couple of places, but it's not initialised in the constructor - is that a safe assumption?

The code of FluidMaxWrapper test mDumpDictionary to see if it is nullptr in a couple of places, but it's not initialised in the constructor - is that a safe assumption?

It isn't a safe assumption, no 😬  I'll fix it, but on its own topic, unless it seems intimately related to this in some way.

he was looking at me trying to compile - reparing the cmake changes - and he looked inspired so maybe it is linked

No, I think these are three separate things

The cmake is disconnected. My reason for putting it here is the crash
report above both in terms of trace and what it is telling you (you are
freeing a pointer you didn't allocate....)
On Tue, 14 Sep 2021, 17:56 tremblap, @.***> wrote:

he was looking at me trying to compile - reparing the cmake changes - and
he looked inspired so maybe it is linked
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/flucoma/flucoma-core/pull/23#issuecomment-919337405,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABETUYWWGMRNBFYC6MV7XNLUB55FTANCNFSM5CDQQUZQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

as I cannot compile anymore, I cannot tell you. I will see how far back I have to undo the cmake changes to be able to compile, then I'll try to reproduce this bug, and maybe you'll have a fix by then on that other dict issue.

ok I am now back in compile land - I'll try to reproduce the crash by deleting the object as it happened the first time round. If either of you think that fixing the pointer issue is trivial I can try with this too.

Fixing the pointer issue (if that is the culprit) is trivial - it just needs setting to nullptr inline or in the constructor.

I already have the change locally. Was holding off until JB had finished fixing main 😆

I really cannot reproduce - creating deleting objects with huge memory, running, not running, no luck

No worries. The change @AlexHarker pointed to needs making anyway and it's trivial, as he says.

I can suggest a non-trivial test for that change to see if it is likely to have an effect in the wild, should that be of interest.

By all means. Let's take it off this PR though 😁

send along in an email so I can test and accept this PR after the fact

please, if you can, and it is not too time consumming.

This is working perfectly, merging pre-release


Undefine 'create_world'

Hello,
I seem to be getting this error when I try to use builder.py
Traceback (most recent call last):
File "server.py", line 200, in run
self.dequeue()
File "server.py", line 208, in dequeue
func(*args, **kwargs)
File "server.py", line 301, in on_data
func(client, *args)
File "server.py", line 377, in on_block
previous = self.get_block(x, y, z)
File "server.py", line 274, in get_block
return self.get_default_block(x, y, z)
File "server.py", line 263, in get_default_block
chunk = self.world.get_chunk(p, q)
File "/home/ameoba/Craft/world.py", line 44, in get_chunk
chunk = self.create_chunk(p, q)
File "/home/ameoba/Craft/world.py", line 39, in create_chunk
return dll_create_world(p, q)
File "/home/ameoba/Craft/world.py", line 18, in dll_create_world
dll.create_world(p, q, WORLD_FUNC(world_func), None)
File "/usr/lib/python2.7/ctypes/init.py", line 378, in getattr
func = self.getitem(name)
File "/usr/lib/python2.7/ctypes/init.py", line 383, in getitem
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: ./world: undefined symbol: create_world
Am not sure what I am missing. Noone else seemed to have encountered the error before....

You have to compile the world dll as shown here:
https://github.com/fogleman/Craft/blob/master/world.py#L1-L2

The problem is there is a .data segment so I have to compile with -fPIC - which results in the initial error.
Error(both with gcc and clang)
Craft$ clang -std=c99 -O3 -shared -o world -I src -I deps/noise deps/noise/noise.c src/world.c
/usr/bin/ld: /tmp/noise-459bb6.o: relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompile with -fPIC
/tmp/noise-459bb6.o: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)

What error do you get when you add -fPIC?

I get the very first error - actually I compiled with -fPIC before I opened this issue

Not sure what's wrong then.


CI: Test video explicitly

@drammock looking at Azure logs like this I don't see any skips because of missing ffmpeg, which suggests that things work there:
https://dev.azure.com/LABSN/expyfun/_build/results?buildId=328&view=logs&jobId=db093384-e8eb-5bcc-f0a9-2a8f5e4220af&j=db093384-e8eb-5bcc-f0a9-2a8f5e4220af&t=b83569e5-86aa-5f40-c5f2-cb2c66a2c238
This PR explicitly adds a test that the video example runs. On my Linux machine, it pops up, the video plays, and then it exits. The same should in principle happen on Windows. Let's see...
If it does, @drammock feel free to play with your local setup / deps until it works, too, and push to this PR to update any instructions.
Closes #436

Looks like the videos run:
2022-01-03 20:38:10,678 - INFO    - Expyfun: Initialization complete
2022-01-03 20:38:10,678 - EXP     - Expyfun: Participant: foo
2022-01-03 20:38:10,678 - EXP     - Expyfun: Session: foo
2022-01-03 20:38:18,907 - INFO    - Expyfun: Exiting
2022-01-03 20:38:18,965 - EXP     - Expyfun: Audio stopped and reset.

No idea why 3.9 fails (after the video test, during pytest), maybe it's spurious. I'll restart it...

I also have no problems playing the video on Linux. I opened #436 after an emailed support request, which I was able to reproduce in a windows VM.  I'd wait for the interested party to chime in before spending any more time on this.

You can also try python -c "import expyfun; expyfun._utils._has_video(raise_error=True)", it's what our CIs currently also do to check video support. It might tell you/them/us more information. The Pyglet traceback is not so useful IIRC because it just traverses a list of possible decoders, the last of which is WAV/RIFF, burying the useful FFMPEG error traceback.

Hey all, I messaged Dan about this a couple weeks ago. Struggling to track down what's going on because 1) recent pyglet commits over the past few months keep changing the behavior, and 2) I can no longer replicate my own RIFF ID error, possibly due to changing versions of pyglet and/or FFMPEG.
I ran Eric's suggested test with _has_utils() using three different pyglet versions since Novemeber, and they all produced the same output:
C:\Users\jtjus\AppData\Roaming\Python\Python37\site-packages\pyglet\media\codecs\wmf.py:838:
  UserWarning: [WinError -2147417850] Cannot change thread mode after it is set
  warnings.warn(str(err))
Found FFmpegSource for new Pyglet

However, the behavior or simple_movie_demo.py is different depending on which of these pyglet versions I used. Note that I've altered the script to call an .mp4 file that I know has audio, but the behavior is similar with the example_video.mp4 included with expyfun.

In an older version (1fb5803, Nov 12 2021), I get AttributeError: module 'pyglet.gl' has no attribute 'glMatrixMode' at the start of the experiment loop [with ExperimentController(**ec_args) as ec:]
In an intermediate release (69735d0, Dec 13 2021), the previous error is gone: I get into the experiment loop and the video window pops up. No video plays, but "video is over" is displayed at apparently the correct time. The audio plays, though it is choppy, which might be a result of unrelated audio settings. The "cannot change thread mode" error also appears (this is probably present in other pyglet releases as well, I just don't make it that far).
In the most recent release (d1876a9, Dec 27, 2021), the AttributeError: module 'pyglet.gl' has no attribute 'glMatrixMode' has returned, and the script fails at the start of the experiment loop.

While installing different versions of pyglet with pip install --user --upgrade, it's also possible that the version of FFMPEG I had installed was overwritten with whatever version is packaged with pyglet.
Apologies for the long comment. Happy to try any additional tests or potential fixes that may be helpful.

recent pyglet commits over the past few months keep changing the behavior... 1fb5803 ... d1876a9

These are both commits to master. If you want to try newer Pyglet stuff between point releases, you need to use the 1.5-maintenance branch. master uses newer OpenGL than 1.5-maintenance, and is incompatible with how expyfun works (currently at least!).
I'm surprised that 69735d0 worked at all since it's also to master...
I would first try using 1.5.21 or earlier releases from pip (e.g., pip uninstall pyglet && pip install --no-cache pyglet==1.5.21), and only after that start looking into trying 1.5-maintenance commits (and never master commits).

Okay so in my Windows VM, simple_video.py works properly on Pyglet 1.3.3. Maybe for now, use that?
We should keep this issue open, though, and figure out how to fix things on Windows. They work okay on Linux for me at least, so this might tell us about what we need to do to fix things on Windows...

Happy to work with an older version for now. After downgrading to pyglet 1.3.3, I am now getting a FFMPEG/AVbin not installed error. I downloaded and extracted a shared FFMPEG build, then copied and merged contents of the "bin", "lib", and "include" folders into the directory where python.exe lives (as per earlier directions from Dan) -- still get the error.
There is a note about possibly needing to copy DLL files from the System32 folder to the SysWOW64 folder. Some .dll files were included in the ffmpeg download (e.g. avcodec-58.dll, avformat-58.dll, etc.), but these don't show up in either the System32 or SysWOW64 folders. Any advice?

I downloaded and extracted a shared FFMPEG build, then copied and merged contents of the "bin", "lib", and "include" folders into the directory where python.exe lives (as per earlier directions from Dan)

I feel compelled to quote my own email at this point:

note that I'm calling the environment "test".  We're about to do some dangerous things, be sure to do this in a new environment so that you don't mess up an environment that is already mostly working / being used for other experiments.

copying over the bin, lib, and include directories from the "full shared" build of ffmpeg was not meant to be a long-term solution. Quoting myself again:

What all this does is replace the version of ffmpeg that was installed automatically with pyglet, with a different version of ffmpeg that hopefully can properly open MP4 files.  If it works, it will be a fragile fix, because if anyone runs "pip install --upgrade pyglet" in that environment, there's a chance that our special version of FFMPEG will get overwritten by pyglet's non-working version. So, please do open an issue on GitHub so that other devs who have real windows machines can help out in finding a more permanent solution.

As @larsoner pointed out here https://github.com/LABSN/expyfun/issues/436#issuecomment-1004334016 there is a package pyglet-ffmpeg that I wasn't aware of, which is meant to take care of this for you.
My advice would be to start over with a new conda environment (I can't stress that enough):
conda create -n test mne
conda activate test
pip install pyglet=1.3.3 pyglet-ffmpeg pyparallel rtmixer
pip install git+https://github.com/labsn/expyfun

and then try to run an unedited version of the expyfun video example.  I know you want/need video-with-audio working, but debugging happens one step at a time. If we can get the example working with the default video file, then we can move on from there to address any issues you're still having with mp4 audio streams.

Ok, I deleted my previous conda environment and started again with a new one, as well as reverted to the original mp4 file in simple_movie_demo.py. pyglet-ffmpeg cannot be installed with pyglet 1.3.3, as it depends on pyglet>=1.4.0a1. I tried the above with pyglet 1.4.0a1, which failed again at the start of the playback loop (I can post the traceback if it's relevant). It seems like I need a way to get FFMPEG working with pyglet 1.3.3.

pyglet-ffmpeg cannot be installed with pyglet 1.3.3, as it depends on pyglet>=1.4.0a1

I was afraid of that. I'll try again tomorrow; i vaguely recall the system32 / SysWoW64 stuff from several years ago, probably if I step through it myself in my VM I'll remember how to get it to work

I pushed some changes so that our code uses OpenGL directly rather than texture.blit from Pyglet. On Linux 1.5 at least it works for me. I then removed the enable_video keyword argument and related conditionals, as they are no longer necessary as they were workarounds just to work with blit I think.

It seems like I need a way to get FFMPEG working with pyglet 1.3.3.

pyglet < 1.4 uses avbin, so you'll need to get those binaries:
https://avbin.github.io/AVbin/Download.html
First I would try putting the 64-bit .dll in the examples/stimuli directory, cd to that directory, then python simple_video.py it and hope it works. If it does, then moving the avbin DLL in the System32 directory should also work. (The naming is confusing, but that's where 64-bit DLLs go.) This assumes you're running 64-bit Python on 64-bit Windows.

First I would try putting the 64-bit .dll in the examples/stimuli directory

the avbin installer is an EXE, so it doesn't give you a choice about where to unpack it; it goes straight to C:\Windows\System32\avbin64.dll.  But putting it there worked (it no longer crashes with FileNotFoundError: Could not find module 'avbin64' (or one of its dependencies). Try using the full path with constructor syntax.  However, it still crashes with pyglet.gl.lib.MissingFunctionException: glBindBuffer is not exported by the available OpenGL driver.  VERSION_1_5 is required for this functionality. So I switched to the larsoner/video branch (this PR, at c9c216f) and tried again, now I get pyglet.gl.lib.MissingFunctionException: glCreateProgram is not exported by the available OpenGL driver.  VERSION_2_0 is required for this functionality.

pyglet.gl.lib.MissingFunctionException: glCreateProgram is not exported by the available OpenGL driver. VERSION_2_0 is required for this functionality.

This may be a deal-breaker: according to the virtualbox forums:

The only way to get OpenGL 2.1 in a Windows guest is to install basic 3D (not WDDM), in safe mode, in an XP, Vista or Win7 guest. There is no other way to get accelerated OpenGL of any description.

@larsoner you said simple_video.py works in your windows VM with pyglet 1.3.3... is your VM running Windows 7 by any chance?  (mine is Windows10)
Of course @JustiinTFleming is not in a VM so that ought not be a problem for that system...  But if it won't work in a Windows 10 VM then I'm no longer of any use for testing :(

now I get pyglet.gl.lib.MissingFunctionException: glCreateProgram is not exported by the available OpenGL driver. VERSION_2_0 is required for this functionality.

I think OpenGL 2.0 is a minimum for us -- anything other than video already uses glCreateProgram (text I think? but definitely shapes) should also have this problem. Can you confirm that experiments/drawing_methods.py also fails on your system (on main or here, doesn't matter since that example doesn't use video)?
I can confirm that video works on this branch on Pyglet 1.5.21 on macOS, too. Tomorrow I'll try on a native Windows machine with NVIDIA rather than my VM to make sure it's really a problem with Pyglet+Windows, and not Windows+MESA.

@larsoner you said simple_video.py works in your windows VM with pyglet 1.3.3... is your VM running Windows 7 by any chance? (mine is Windows10)

Yeah my VM is Windows 7.

The only way to get OpenGL 2.1 in a Windows guest is to install basic 3D (not WDDM), in safe mode, in an XP, Vista or Win7 guest. There is no other way to get accelerated OpenGL of any description.

We don't actually need accelerated OpenGL, it can be software/unaccelerated. IIRC I got Mesa software rendering in Windows 10 VM at some point and it rendered okay. I can verify this and write some instructions... but I think it involves downloading some Mesa build compiled for Windows and putting the OpenGL DLL(s) in System32 (as usual), overwriting the system one(s).
In any case, I don't think we should let the VirtualBox Windows Guest OpenGL limitation stop us from using OpenGL 2.0. We already have been using it for most things other than video for years I think

Can you confirm that experiments/drawing_methods.py also fails on your system

confirmed.

In any case, I don't think we should let the VirtualBox Windows Guest OpenGL limitation stop us from using OpenGL 2.0.

agreed.

@drammock if you want to mess with your Windows 10 system, try
https://fdossena.com/?p=mesa/index.frag

On my native Windows system (with a good NVIDIA graphics card + drivers) video still doesn't work on 1.4+, but it does on 1.3. I did have to install the 64-bit Windows variant of https://avbin.github.io/AVbin/Download.html to get it to work. For now @JustinTFleming I suggest you do that. We can merge this PR as is I think, as it helps decouple us a bit more from Pyglet. I'll look into why 1.4/1.5 does not work on Windows.
Another option we might want to consider is loading video with imageio-ffmpeg, creating our own texture, and drawing that to the screen. In theory this might not be so hard, and actually should help us decouple (further) from Pyglet, which I think is a good thing for future maintainability.

We can merge this PR as is I think

in it goes, then!


[React Native] Invalid character in iOS bundle identifier

There is an error on validation of iOS app bundle archived for Testflight upload:
This bundle is invalid. The bundle at path Payload/AppName.app/Frameworks/aries_askar.framework has an invalid
CFBundleldentifier 'org.hyperledger.aries_askar' There are invalid characters (characters that are not dots, hyphen and alphanumerics)
that have been replaced with their code point 'org.hyperledger.aries\u005faskar' CFBundleldentifier must be present, must contain
only alphanumerics, dots, hyphens and must not end with a dot.

The reason is _ character in org.hyperledger.aries_askar identifier.
It's possible to work around this by updating local Info.plist file at<EMAIL_ADDRESS><key>CFBundleIdentifier</key>
<string>org.hyperledger.ariesaskar</string>
// "_" character was removed

Just to clarify, local build and runtime functionality are not affected by this - it's related to Apple validation rules for app distribution.
Such problem is also relevant for indy-vdr RN package.

@blu3beri — can you take this and issues #134 and #135?  They seem to be related.


Any implementation with an Angular 4+

Hi, All Contributors!
I'm working on Angular 4 project with SVG map and svg-pan-zoom js. However, I'd like to select specific pan id and zoom that pan, but while working it's not working what I expected. If you anyone has using it and implementing/used before please would you like to be share with me or want to give to any hints or help would be much appreciated!
Here are some things that I want to implement with svg-pan-zoom.js

The app(fun-game) is built with an Angular 4
The app(fun-game) is all SVG-map and there are many regions and countries
Each region have a unique name

The app will display before start new-game>game-mode>region-select>display the selected regions.
Note: there might multiple regions selectable.
some regions are small and some big so I would like to zoom pan that will be where a user selected before starting a game.
I searched many examples but not exactly found that I want to implement with svg-pan-zoom, only found with a vanilla js. If there are any other great example/articles that would be fine as well. It seems a difficult problem for now!
If the issue description is not well let me know what kind of information do I need to provide for accomplish the goal.
Thanks,
Rabin

hi @rabinrai44
import * as svgPanZoomNamespace from 'svg-pan-zoom';
import { panZoomConfig } from '../configs/svg-pan-zoom';
export class schemeMap implements OnInit {
public scheme: SvgPanZoom.Instance;
public schemeEl: HTMLElement;
public ngOnInit(): void {
this.scheme = svgPanZoom(this.schemeEl, panZoomConfig);
}
}
ps angular5+

hello, @howtomake,
Thank you for the reply with an example. It seems like to a good example though, But I'm wondering what you imported import { panZoomConfig } from '../configs/svg-pan-zoom'; how I can find that file and what does that? I don't have that file, unfortunately, could give me hints that I can generate or copy from? or if I'm not understanding about the svg-pan-zoom.
I've set up little different approach for applying svg-pan-zoom. I would like to share that might help you to understand what I'm looking..
Here is an svg doc inside the map-container.component.html there are so many contents (g) I just post couple code that you can look at how I can setup correctly
<svg
     width="100vw"
   height="100vh"
   id="europeanMap"
  <defs
     id="defs3213">
    <filter
       inkscape:label="Opacity"
       style="color-interpolation-filters:sRGB;"
       id="filter152">
      <feColorMatrix
         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 5 -1 "
         result="colormatrix"
         id="feColorMatrix148" />
      <feComposite
         in2="colormatrix"
         operator="arithmetic"
         k2="0.5"
         result="composite"
         id="feComposite150" />
    </filter>
    <clipPath
       clipPathUnits="userSpaceOnUse"
       id="clipPath129">
      <rect
         style="fill:#ffeeaa"
         id="rect131"
         width="500"
         height="633.33331"

  x="316.0946"
         y="181.64435" />
    </clipPath>
  </defs>
  <metadata
     id="metadata3216">
  </metadata>
  <g
     inkscape:label="Europe"
     inkscape:groupmode="layer"
     id="layer1"
     transform="translate(-283.68719,-87.199905)">
    <image
       y="170.33755"
       x="316.20566"
       id="image97"
       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAowAAAMdCAYAAAARfieEAAAAAXNSR0IArs4c6QAAAARnQU1BA"
       preserveAspectRatio="none"
       height="645.42859"
       width="527.57147" />
<g
       id="Scandinavia"
       name="Region"
       style="filter:url(#filter128)">
      <path
         sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccc"
         inkscape:connector-curvature="0"
         style="opacity:1;fill-rule:nonzero;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter128)"
         name="Country"
         id="Iceland"
         d="m 343.63966,270.36402 c -0.39622,-0.13206 -z"
         region_id="5"
         tabindex="0"
         class="country" />
      <path
         style="filter:url(#filter128)"
         sodipodi:nodetypes="ccccccccccccccscscccscscscccscscccccscccc"
         inkscape:connector-curvature="0"
         name="Country"
         id="Sweden"
         d="m 608.47916,472.73971 c 0.26415,-0.79243 -0.26414,-z"
         region_id="5"
         tabindex="0"
         class="country" />

    </g>
</svg>

// Map-Container-Component it handles all the functionality for map
manageSubscriptions(): void {
    this.mapService.zoomInCallSource$.subscribe(() => this.zoomIn());
    this.mapService.zoomOutCallSource$.subscribe(() => this.zoomOut());
    this.mapService.resizeCallSource$.subscribe(() => this.windowResize());
    this.gameService.selectedRegions$
      .takeUntil(this.ngUnsubscribe)
      .subscribe((regions: HTMLElement[]) => {
        if (!!regions) {
          // find ui bounds for selectedRegions
          this.zoomPan(regions);
          // this.svgPanZoom.zoomBy(3);
        }
      });
  }

// Default Zoom level for selected Regions
  public zoomPan(selectedRegions: HTMLElement[]) {
    selectedRegions.filter(regions => {
      if (regions.id !== null) {
        const region: any = document.querySelector('#' + regions.id);
        // get the bounds of this region
        console.log('region bounds: ', region);
        const regionBound = region.getBBox();

        // const newZoom = {
        //   x: Math.min(newZoom.x, regionBound.x),
        //   y: Math.min(newZoom.y, regionBound.y),
        //   xEnd: Math.max(newZoom.xEnd, regionBound.x + regionBound.width),
        //   yEnd: Math.max(newZoom.yEnd, regionBound.y + regionBound.height)
        // };
        // console.log(this.svgPanZoom.pan);
      }
    });
  }

above the custom function called zoomPan(), it takes 1 argument that will be dynamically selected regions it may have multiple regions as well. I want to implement the functionality is there, when it takes the regions and select the bounds from that regions and calculate the bounds and zoom the that selected regions that are my goal. My code might be weird because I'm new with an Angular.
Thank you,
Rabin

Can you provide an angular online demo?
@howtomake


Issue with docs.zowe.org/stable/user-guide/install-overview

Description

Pages to Update

Screenshots

Expected behavior

Additional context

Hi there! Could you please describe the issue that you encountered on this page? thanks


Updating all Microsoft.CodeAnalysis.* packages to version 4.0.0-4.final to support C# 10

C# 10 is supported starting from version 4 and the current 3.11.0 version does not support it yet.
This PR updates all Microsoft.CodeAnalysis.* packages to the prerelease version 4.0.0-4.final which enables C# 10 support in Interactive Notebooks running on .NET 6

Merge and signed build are complete, instructions have been updated here.  In short, package version changed from 1.0.250102 to 1.0.250602.


I want to add the nginx upload module in kong,Can I use this tool？

My kong is deployed on kubernetes via the kong ingres controller

Why?It doesn't feel like it's working, but there's no log

Hello,
Could you post the output of ldd /path/to/nginx here for analysis?


CPU is running very slow + GPU-process consuming lots of memory (VSCode 1.35.0)

VSCode Version: 1.35.0
OS Version: Windows 10, version 1809

I'm working in jQuery/js/php/css - not running any extensions.
After working for approx. 5-10 minutes the CPU usage explodes whenever I type.  It's quickly lagging behind 20+ characters even at a slow/moderate pace of writing code.
Opening the process explorer on a second monitor as I type reveals the window ([filename] - [directory] - Visual Studio Code) process to be the culprit.  It quickly runs up to 50%+ CPU usage only after writing a few characters.  Also the gpu-process is showing abnormally high memory usage (500MB+) even when I'm not doing anything.
As mentioned above there is no extensions to disable.  Any other programs are running just fine.  Windows task manager is also showing that particular processl to have an extremely high memory and cpu usage even when inactive, and a high power usage trend.
The repo can't be shared as it's private, and I'm under a NDA with my employer - the issue is urgent as we're aiming to have my current work go live in production Monday/Tuesday - and if we can't do it by then we have to push back an entire week.
I've been very pleased with VScode in the past, but as of lately there have been many bugs and memory leaks such as the TS/styled-components issue that have been taking months to fix and impacting performance by alot whilst adding new features appears to be prioritised.
Does this issue occur when all extensions are disabled?: Yes

First step to try is upgrade to Insiders and see if the issue still exists. If it does, and you can provide a test repro, that would allow for a faster response and potential fix.

Also to narrow down a performance issue please follow the instructions in this document https://github.com/microsoft/vscode/wiki/Performance-Issues

I also seem to be having the issue more frequently now. It used to happen like every other week, but after updating VS Code to 1.35.0 it seems to happen like once every half an hour.

VS Code 1.35.0
Windows 10 x64, 1809
AMD A10 CPU, 8GB Ram

This seems to be an issue when using JavaScript/Typescript files only, as I've only noticed it when I'm working on a .js or .ts file. When it occurs usually the type system starts to get slow and unresponsive first, leading to a Loading... hover message, with increased CPU and memory usage.
Beore I used to restart the editor, but after this started regurly, I've found that there's a simpler solutuin: this will only continue until I restart the JavaScript/TypeScript extension, at which point the CPU and memory usage return to normal, and the type system is responding instantly again.

@futagoza thanks for the information, please follow this guide and provide even more information https://github.com/microsoft/vscode/wiki/Performance-Issues


added star-history

added star-history

Info please, looks like spam

I added because it looks cool. If you think spam then close

It looks cool! Thanks for the PR!

@andrasbacsai you are most welcome.


Handle prereleases

For our purposes, we want to ignore prereleases. Prereleases should not affect the support policy.
Fixes https://github.com/stefanpenner/supported/issues/34

@asakusuma are pre-releases supported or unsupported?

@stefanpenner this isn't about counting a prerelease as supported or not supported, it's about whether we require consumers to upgrade to a prerelease version. This change ignores prereleases for the purpose of determining the latest version of a dependency, which is in turn used to figure out what version on consumer needs to be on. If dependency foo has released versions 1.0.0, 1.2.0, and 2.0.0-beta, we don't want to count 2.0.0-beta as the latest release and start the timer for upgrading to 2.0. We only want to ask folks to upgrade to 2.x when a full release of 2.x has been released. In the context of enforcing a support policy, is there ever a reason to count a prerelease as the latest release?

@asakusuma This is an interesting edge-case, thanks for raising it.
I have a question for you:
If the author has decided that their latest tag is a pre-release, should we or should we not assume it is also supported? latest I believe in npm land represents what installs with npm install pkg-name, which has some implications.....
The reason I raise this, is I almost wonder if it is simply a publishers mistake, as typically folks who have pre-releases, will tag them custom such as beta, and not latest. But if they tag latest, it may imply "you should use this" which may imply some sort of support.

What is the implication of considering any latest  tag'd version as supported for at-least as long as it is a latest tag? My initial thoughts are that this may be the simplest approach...

Ah, that makes sense, yes I would consider this a publishers mistake then. If this becomes an issue where publisher and org owner disagrees, we can always add some configuration to customize this behavior.


Documentation is unclear - YAML examples

Hi Team,
Please review and update this document with the appropriate YAML examples. Thanks
However, this part is still unclear to users. In the example I see the following note:
The YAML examples here are incomplete.
Why it can't be extended by default is so that readers won't be confused.
###################################
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 409a3be9-4831-9401-0bb3-c65209bb3f42
Version Independent ID: 4cf81213-5989-f36c-7456-70accfe452c2
Content: Use the Azure Key Vault Provider for Secrets Store CSI Driver for Azure Kubernetes Service secrets - Azure Kubernetes Service
Content Source: articles/aks/csi-secrets-store-driver.md
Service: azure-kubernetes-service
GitHub Login: @Nickomang
Microsoft Alias: nickoman

@Nickomang
Can you please check and add your comments on this doc update request as applicable.

Hello @Nickomang @SaibabaBalapur-MSFT any update on this?

#reassign:schaffererin

Hi @SaibabaBalapur-MSFT, thank you so much for your feedback! I apologize for the delay in responding.
You're right - the YAML examples are incomplete. You mentioned the callout stating this fact. This particular callout also expands upon that point, stating that customers will need to modify their YAML to support their chosen method of access to your KV identity and linking to the Provide an identity to access the AKV provider for Secrets Store CSI Driver article, which goes into further detail regarding this process. Since this article provides the necessary information, we don't plan to copy it into the original article in question. Please refer to the linked article for further information regarding the YAML file. I will now close this GitHub issue as there are no remaining questions regarding the doc. Thank you again for your help!
#please-close


Fixes App crashes on clicking Save (EditActivity)

Description (required)
Fixes #5632
What changes did you make and why?
Tests performed (required)
Tested prodDebug on Samsung S21 FE with API level 33.
Screenshots (for UI changes only)
Tested on same picture as in #5632
https://github.com/commons-app/apps-android-commons/assets/114223204/b9f71729-c2bc-4a4c-926d-ac573ec52c03

Thank you for the contribution.
This does indeed solve the app crash, but still few nitpicks

You have 66 commits can you perform git reset and have one.
The reason I am not convinced in this is because this PR #5569 solves exif null pointer as well as it handles the saving of rotated image. Would you mind updating the code to saving the rotated image and also considering https://github.com/commons-app/apps-android-commons/pull/5569#discussion_r1537706356 to fix security issues of exif data.

@nicolas-raoul, Sure we can open a new issue for the saving.

It is true that git rebase would have made the commits of this PR cleaner. I suggest always running it before sending a PR, it not only makes review easier, but can help contributors spot problems that would otherwise be hard to notice.
@neeldoshii Would you like to create an issue (and possibly PR) for what you think are the next steps on this? :-)


what do i need to do to fix this? broken animations

my animations are broken. this is the default config where nothing is enabled or disabled. what do i need to tweak? i've been trying to figure it out for about an hour now and i dont have a clue what to do. it wasn't like this about a week ago.
here is an imgur link of my game
https://imgur.com/a/u3DPruT
some help would be nice

lol

what?

what?

it's fixed, I forgot to check something while hooking FrameAdvance, but I liked the visual appearance, I've now fixed it.

what?

it's fixed, I forgot to check something while hooking FrameAdvance, but I liked the visual appearance, I've now fixed it.

thank you.


Deployment issue

I am writing to inform you about an issue I am facing with setting up the snypy-docker instance of your program. I have been attempting to get it up and running for the past hour, but unfortunately, I have been unsuccessful so far. I am really excited to use your program and would greatly appreciate your assistance in resolving this problem.
I have attempted two different methods to deploy the program: using manual commands with Docker Compose and trying it through Portainer. Regrettably, neither approach has yielded the desired results. The program is still not functioning correctly, and I am unsure what steps to take next.
In light of this, I wanted to inquire if it would be possible for you to provide a file that I can include in a stack deployment for Portainer. Having a preconfigured file would simplify the deployment process and ensure the correct setup for your program. It would be particularly helpful if you could incorporate variables that can be easily filled in, allowing for easier customization and configuration during the deployment process.
Additionally, I would like to know if there is a way to view the open ports in Portainer once the program is deployed. Having this information would be immensely helpful for troubleshooting and for visual comfort.
I apologize for any inconvenience caused by this support ticket, and I appreciate your prompt attention to this matter. Thank you in advance for your assistance. Please let me know if there are any further details or logs that I can provide to help diagnose the issue.
Looking forward to your response.

If you still have problems trying to make it work, I was successfully able to run it. I did have to create a better docker-compose.yml that is 100% compatible with Portainer. Please see attached YAML file for portainer and also .env file that you can load with portainer. You have to modify the env vars with your desired values.

https://pastebin.com/jbVNn1BM
https://pastebin.com/CtswVbPD

Once you are successfully able to create the stack/containers, please login into the api console (using portainer or docker) and create a file in fixtures folder named setup.json and copy the contents from this url https://raw.githubusercontent.com/snypy/snypy-docker/main/data/fixtures/setup.json and then run:
python manage.py loaddata fixtures/setup.json
After doing this you should be able to login into the admin panel with:
username: admin password: 12345678!

If you still have problems trying to make it work, I was successfully able to run it. I did have to create a better docker-compose.yml that is 100% compatible with Portainer. Please see attached YAML file for portainer and also .env file that you can load with portainer. You have to modify the env vars with your desired values.

Portainer docker-compose.yml
Portainer .env file that you can load/import while creating the stack

Once you are successfully able to create the stack/containers, please login into the api console (using portainer or docker) and create a file in fixtures folder named setup.json and copy the contents from this url setup.json fixture and then run: python manage.py loaddata fixtures/setup.json
After doing this you should be able to login into the admin panel with: username: admin password: 12345678!

@juanyunis the FRONTEND_URL & BACKEND_URL in the .env file are swapped around I think...
Correct values should be:

BACKEND_URL=https://api-my-domain.com
FRONTEND_URL=https://my-domain.com

I would really appreaciate if you can directly do a pull request in future. I may consider adding the migrations on startup, maybe with a custom entrypoint script.

The setup has fewer steps now, you should retry it.


Bad color of links in a theme, may be change?

Hello!
I ran into a problem when I switched a theme.
This problem is only in the color scheme - "sepia".
In this color scheme, it's very hard to find links.
You can distinguish text from a link only when you are hovering.
My English is not very, so I'll put a gif.

You're looking for https://reduxframework.com/ .

Looks like he's referring to http://redux.js.org/docs/basics/Reducers.html

Huh.  My bad - I saw the words "color scheme" and "themes", and assumed this had nothing to do with the Redux JS library.  Also... we have "themes" for our docs?

Huh.  We do have themes for our docs.  Presumably something that's built into Gitbook.
Honestly, this isn't something I'm worried about.  If someone wants to submit a PR that modifies this in some way, I guess we could look at it, but considering the default theme is "White", I don't see this as much of ap roblem.

@markerikson i can change color, but need use !important, i don't found other why (but i try) :)
i can make pr, and change gitbook.css in build folder, because this css include in gitbook.

It would be a good idea?


Disable cop stream for remote read by default

What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tiflash/issues/8177
Problem Summary:
See https://github.com/pingcap/tiflash/issues/8177
What is changed and how it works?
Currently, disable cop stream for remote read by default in order to pass several tests.
I will fix https://github.com/pingcap/tiflash/issues/8177 and then enable cop stream for remote read by default.
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[x] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/check-issue-triage-complete

/merge

/run-all-tests


Dart Unhandled Exception: type 'AdaptivePage' is not a subtype of type 'AutoRoutePage' in type cast

Hi Ganesh Rathinavel!
Thank you so much for the boilerplate for building Flutter App, i'm a newbie and learning about flutter.
After clone your git and install, I have an issues when run iOS app:
[VERBOSE-2:shell.cc(93)] Dart Unhandled Exception: type 'AdaptivePage' is not a subtype of type 'AutoRoutePage' in type cast, stack trace: #0 StackRouter._addEntry
package:auto_route/…/controller/routing_controller.dart:878
#1 StackRouter._push
package:auto_route/…/controller/routing_controller.dart:705

(I tried with flutter SDK 2.0 and 2.5 but same that error)
Please help me, thanks !

Feel free to modify the router type in lib/common/router/router.dart as required and run the builder script.
Reload the app

I haven't changed any files, so I don't know how to solve it.


Audio not recording when capturing

[ ] I have read the FAQ.
[ ] I have searched in existing issues.

Environment

OS: Windows 10
scrcpy version: Latest as of March 18th, 2023
installation method: Windows 64bit
device model: EC211001
Android version: 11

Recording video works fine but no audio.

Android version: 11

Did you read carefully https://github.com/Genymobile/scrcpy/blob/master/doc/audio.md for Android 11?
What is the output in the console?


Kunci Coin: change social links

Please note: This repository is being rebuilt to accept the new volume of token additions and modifications. PR merges will be delayed.

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
This repository is managed using an auto merge action. Please ensure your PR has no deleted lines, and it will be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:4CWQ6KS2ZhNQtWxAytY8AGGt8qgfNEK1dvnHMMQhQBpE
Token Name:Kunci Coin
Token Symbol:KUNCI
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:https://kuncicoin.com/
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

Auto merge requirements
Your pull request will be automatically merged if the following conditions are met:

Your pull request only adds new tokens to the list. Any modification to existing
tokens will require manual review to prevent unwanted modifications.

Your pull request does not touch unrelated code. In particular, reformatting changes to unrelated
code will cause the auto merge to reject your PR.

Any asset files added correspond to the token address you are adding. Asset files
must be PNG, JPG or SVG files.

Your change is valid JSON and conforms to the schema. If your change failed validation,
read the error message carefully and update your PR accordingly.

No other tokens shares the same name, symbol or address.

For example, this change would be rejected due to unrelated changes:

The bot runs every 60 minutes and bulk-merges all open pull requests to prevent conflicts.
This means that you need to wait up to 60 minutes for your pull request to be merged or reprocessed.

https://github.com/solana-labs/token-list/commit/0d1306f58e685067b4581935eaeaba6a090d9816


Question: Is this suitable for Xamarin integration?

Hi
I'm experimenting with setting up Segment integration with a Xamarin Native project.
I know theres a Segment Xamarin project here (https://github.com/segmentio/Analytics.Xamarin) but this appears to be all but abandoned, isn't in nuget or in the correct .netstandard setup anyway.
Instead I grabbed the nuget for this and have integrated it that way and things 'appear' to be working, but with maybe some gaps that I'm not sure.
The original Xamarin integration was ServerSide anyway so I'm assuming using this nuget instead is fine? I found that IP address was not being set in Segment until I 'faked' the library version in the context to be "Analytics.Xamarin", then IP address was being set by the segment server correctly.
I'm also having to manually build all the information I can think of in the Segment Context (Device information, OS information, Screen information etc), but looking at the Xamarin project, it doesn't seem to do anything specific for Android or iOS in terms of filling out that information anyway?
Page and Screen views don't seem to go through to Google Analytics (UA) at all, wondering if thats again an issue with me using this nuget over the old Xamarin project, but again - the code in the old Xamarin project doesn't seem to do anything special in those areas?
Any advise would be greatly appreciated!
TLDR; The old Xamarin project seems abandoned, is it fine to just use this and are there any further steps I should jump through to get it fully working (like with me faking the context.library.name)

As an example if it helps, this is the sort of Raw event I'm generating in Xamarin with this Nuget (and my own context generating)...seems good to me but it would be helpful to know if this is viable (and why maybe GA is not tracking any of my Page or Screen calls)?
Should I change the Source in Segment to not be Xamarin?
{
"anonymousId": null,
"context": {
"app": {
"build": 0,
"name": "XXXX",
"namespace": "com.XXXX.XXXX",
"version": "1.0 - DEBUG"
},
"device": {
"adTrackingEnabled": false,
"manufacturer": "Apple",
"model": "iPhone8,1",
"name": "XXXX’s iPhone",
"type": "ios"
},
"integrations": {
"All": "True",
"Salesforce": "False"
},
"ip": "XXX.XXX.XXX.XXX",
"library": {
"name": "Analytics.Xamarin",
"version": "3.7.1"
},
"locale": "en_GB",
"os": {
"name": "iOS",
"version": "14.4.2"
},
"screen": {
"density": 2,
"height": 1334,
"width": 750
},
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
},
"event": "XXXX",
"integrations": {},
"messageId": "XXXXXX-f186-4545-b43a-XXXXXXX",
"originalTimestamp": "2021-05-07T11:11:07.7269180+01:00",
"properties": {
"Level": "XXXX",
"Occurrences": "1",
"Type": "XXXX"
},
"receivedAt": "2021-05-07T10:11:16.006Z",
"sentAt": "2021-05-07T10:11:15.882Z",
"timestamp": "2021-05-07T10:11:07.849Z",
"type": "track",
"userId": "60275",
"writeKey": "XXXXXXXX"
}

Hi @IainS1986,
The Analytics.NET library should work fine with your Xamarin project as it is compatible with .NET Standard 1.3 and 2.0. This allows the library to be added to a Xamarin project without any problem. If your application is new then we recommend you to use this library instead of the Analytics.Xamarin one. That library is left only to support applications which already have it integrated.
Regarding your issue with Google Analytics, check on https://segment.com/docs/connections/sources/catalog/libraries/server/net/ to see if it helps you configure the Options property with the SetIntegration only to Google Analytics perhaps. Also rembember to configure your Google Analytics UA property in the Destinations tab in your Segment Workspace. There you should Add a new Destination and Select Google Analytics. Once you finished following the steps, remember to add in the Serverside Tracking ID your google Analytics Property Tracking ID (e.g: UA-XXXXX-X).
Hope you find this information helpful, let me know if you still have any trouble configuring it.

@IainS1986 if you need to re-open this issue, please feel free to do so.  Thank you


GEODE-9869: Remove geode-for-redis properties from gfsh options

Remove the GFSH options related to geode-for-redis and update docs, examples, and tests to set such options via Java properties.

Addressed!


Fixing where for dinner vulnerabilities in 1.4.x branch.

Canceling PR.  Will make a smaller PR with less changes.


Cannot read property 'toString' of undefined, node_modules\booru\dist\structures\Post.js:1:1897

(node:13644) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'toString' of undefined
at new Post (C:\Users\user\Desktop\Makise-master\node_modules\booru\dist\structures\Post.js:1:1897)
at C:\Users\user\Desktop\Makise-master\node_modules\booru\dist\boorus\Booru.js:1:2125
at Array.map ()
at Booru.parseSearchResult (C:\Users\user\Desktop\Makise-master\node_modules\booru\dist\boorus\Booru.js:1:2118)
at Booru.search (C:\Users\user\Desktop\Makise-master\node_modules\booru\dist\boorus\Booru.js:1:865)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:97:5)
this happens around 2 out of 10 times when I use the search function on danbooru, randomly

Which version of booru are you using? I think 2.3.2 fixes this but I'm not sure. If it doesn't then I've got more digging to find out what danbooru broke this time.
https://github.com/AtlasTheBot/booru/blob/master/CHANGELOG.md
(Specifically I think this line is the fix)
https://github.com/AtlasTheBot/booru/commit/802d8fbe47b5a54e24e364d1b640be6509854a36#diff-33a120c00b3f9987a4a0f49ea05f7aeeR180

Assuming this is fixed, reopen it if you can reproduce it


feat(shell/lean): add default memory limit in server mode

I'm not yet sure how to implement timeouts, but the memory limit is straightforward.  And it prevents the hang in Scott's example.

I will try to add the deterministic timeout based on number of memory allocations.
Today was not a productive day for me, I wasted a lot of time on lean-user issues.


Add a basic alias analysis with redundant-load elim and store-to-load fowarding opts.

This PR adds a basic alias analysis, and optimizations that use it.
This is a "mid-end optimization": it operates on CLIF, the
machine-independent IR, before lowering occurs.
The alias analysis (or maybe more properly, a sort of memory-value
analysis) determines when it can prove a particular memory
location is equal to a given SSA value, and when it can, it replaces any
loads of that location.
This subsumes two common optimizations:

Redundant load elimination: when the same memory address is loaded two
times, and it can be proven that no intervening operations will write
to that memory, then the second load is redundant and its result
must be the same as the first. We can use the first load's result and
remove the second load.

Store-to-load forwarding: when a load can be proven to access exactly
the memory written by a preceding store, we can replace the load's
result with the store's data operand, and remove the load.

Both of these optimizations rely on a "last store" analysis that is a
sort of coloring mechanism, split across disjoint categories of abstract
state. The basic idea is that every memory-accessing operation is put
into one of N disjoint categories; it is disallowed for memory to ever
be accessed by an op in one category and later accessed by an op in
another category. (The frontend must ensure this.)
Then, given this, we scan the code and determine, for each
memory-accessing op, when a single prior instruction is a store to the
same category. This "colors" the instruction: it is, in a sense, a
static name for that version of memory.
This analysis provides an important invariant: if two operations access
memory with the same last-store, then no other store can alias in the
time between that last store and these operations. This must-not-alias
property, together with a check that the accessed address is exactly
the same (same SSA value and offset), and other attributes of the
access (type, extension mode) are the same, let us prove that the
results are the same.
Given last-store info, we scan the instructions and build a table from
"memory location" key (last store, address, offset, type, extension) to
known SSA value stored in that location. A store inserts a new mapping.
A load may also insert a new mapping, if we didn't already have one.
Then when a load occurs and an entry already exists for its "location",
we can reuse the value. This will be either RLE or St-to-Ld depending on
where the value came from.
Note that this does work across basic blocks: the last-store analysis
is a full iterative dataflow pass, and we are careful to check dominance
of a previously-defined value before aliasing to it at a potentially
redundant load. So we will do the right thing if we only have a
"partially redundant" load (loaded already but only in one predecessor
block), but we will also correctly reuse a value if there is a store or
load above a loop and a redundant load of that value within the loop, as
long as no potentially-aliasing stores happen within the loop.
Fixes #4131.
Passes tests and runs SpiderMonkey correctly locally; benchmarks TBD.
Creating this as a draft for early feedback; will likely refine the comments
and explanations a bit more, and benchmark this.

I think you will need to add support for volatile loads and stores for this to not miscompile rust code. It would also be nice if you could state an exhaustive list of UB it depends on. For example that reading/writing memory racing with the compiled clif function is UB unless it is an atomic or volatile load/store.

By the way what is the time complexity of this optinization pass?

volatile loads/stores to not miscompile

@bjorn3 can you clarify if the cg_clif frontend currently expects all loads to not be elided, or otherwise what the requirements are?
Otherwise removing a load and replacing it with a known value is always legal, given CLIF semantics today. (If it helps, imagine the disjoint alias categories don't exist: by default all loads/stores fall into "other", so memory locations are named by the last store of any kind.)
Atomics should use atomic ops at the CLIF level of course; I believe those should act as full barriers across all categories, as calls do. (I don't think I've actually added this logic yet; will ensure it's there tomorrow.)

time complexity of this optimization pass?

Same as any of the other iterative dataflow analyses: worst case passes over any given basic block bounded by maximum descending chain depth in the lattice. Here the last-store vector meets to "current inst" on any conflict at a merge point so the lattice is effectively three levels deep, constant; so that's O(|blocks|) to converge last-store info (likely one visit per block, rarely two). Then one more visit per block to discover and use aliases.

@bjorn3 can you clarify if the cg_clif frontend currently expects all loads to not be elided, or otherwise what the requirements are?

Volatile memory operations can't be changed as they may have side effects like initiating a DMA transfer or changing the state of a device. Non-volatile and non-atomic memory accesses can be optimized as rust defines data races to be UB.

This is a slight regresion for the simple-raytracer benchmark of cg_clif. I would guess it increases live-range sizes causing a regalloc pessimization. Implementing https://github.com/bytecodealliance/wasmtime/pull/4163#discussion_r876805710 would make it a beneficial optimization I think. I used to have a simple implementation of that in cg_clif which also looks at which bytes of a stack slot were accessed by the load/store to effectively allow SROA, but I removed it in https://github.com/bjorn3/rustc_codegen_cranelift/commit/a793be8ee8895538e99acc2a855d9c4ae145fc78 as it was buggy and I didn't think I knew how to fix it. It also only operated within a single basic block. See https://github.com/bjorn3/rustc_codegen_cranelift/issues/846.
Benchmark 1: ./raytracer_cg_clif_release_alias_analysis
  Time (mean ± σ):      5.196 s ±  0.012 s    [User: 5.191 s, System: 0.004 s]
  Range (min … max):    5.169 s …  5.211 s    10 runs

Benchmark 2: ./raytracer_cg_clif_release_main
  Time (mean ± σ):      5.224 s ±  0.024 s    [User: 5.218 s, System: 0.005 s]
  Range (min … max):    5.197 s …  5.263 s    10 runs

Summary
  './raytracer_cg_clif_release_alias_analysis' ran
    1.01 ± 0.01 times faster than './raytracer_cg_clif_release_main'

@bjorn3 can you clarify if the cg_clif frontend currently expects all loads to not be elided, or otherwise what the requirements are?

Volatile memory operations can't be changed as they may have side effects like initiating a DMA transfer or changing the state of a device. Non-volatile and non-atomic memory accesses can be optimized as rust defines data races to be UB.

OK, so if I understand correctly, cg_clif is currently compiling volatiles at the Rust level to normal loads/stores at the CLIF level? That I agree would result in miscompiles; the issue though isn't alias analysis as the semantics of load and store in CLIF have always been (even if not exploited until now) those of normal loads/stores. Adding volatile memory ops seems like a reasonable feature request though and I'd be happy to review a PR for that as well.

@bjorn3 I may be misreading your benchmark result, but:
Benchmark 1: ./raytracer_cg_clif_release_alias_analysis
  Time (mean ± σ):      5.196 s ±  0.012 s    [User: 5.191 s, System: 0.004 s]

Benchmark 2: ./raytracer_cg_clif_release_main
  Time (mean ± σ):      5.224 s ±  0.024 s    [User: 5.218 s, System: 0.005 s]

looks like alias_analysis ran a bit faster than main? Then './raytracer_cg_clif_release_alias_analysis' ran 1.01 ± 0.01 times faster than './raytracer_cg_clif_release_main' seems to confirm -- +1%, though maybe within a margin of error.

looks like alias_analysis ran a bit faster than main?

Right, my bad.

Updated, thanks!

Hang on, I think I know why it didn't help much for cg_clif. Cg_clif uses stack_load and stack_store rather than the stack_addr+load/store this opt pass needs.

@bjorn3 the alias analysis / redundant-load pass runs after legalization, so it should see plain loads/stores rather than stack_load/stack_store, I think.

Well, it gets weird.
If I apply the following change:
diff --cc crates/wasmtime/src/config.rs
index 9c1ed87ca,9c1ed87ca..6e9bcd1f7
--- a/crates/wasmtime/src/config.rs
+++ b/crates/wasmtime/src/config.rs
@@@ -1287,6 -1287,6 +1287,7 @@@ fn compiler_builder(strategy: Strategy
              },
          )
          .unwrap();
++    builder.set("enable_pinned_reg", "true").unwrap();
      Ok(builder)
  }

diff --cc crates/wasmtime/src/engine.rs
index c81ae6e67,c81ae6e67..cc150af3a
--- a/crates/wasmtime/src/engine.rs
+++ b/crates/wasmtime/src/engine.rs
@@@ -312,7 -312,7 +312,7 @@@ impl Engine
              "baldrdash_prologue_words" => *value == FlagValue::Num(0),
              "enable_llvm_abi_extensions" => *value == FlagValue::Bool(false),
              "emit_all_ones_funcaddrs" => *value == FlagValue::Bool(false),
--            "enable_pinned_reg" => *value == FlagValue::Bool(false),
++            "enable_pinned_reg" => *value == FlagValue::Bool(true),
              "enable_probestack" => *value == FlagValue::Bool(false),
              "use_colocated_libcalls" => *value == FlagValue::Bool(false),
              "use_pinned_reg_as_heap_base" => *value == FlagValue::Bool(false),

then the result would be like this:
Benchmark 1: ./target/release/wasmtime run -g -O --allow-precompiled --invoke wasm_kernel_run wasmibox.cwasm
  Time (mean ± σ):      6.111 s ±  0.050 s    [User: 6.094 s, System: 0.014 s]
  Range (min … max):    6.044 s …  6.226 s    10 runs

I'm confused because not sure how that could possibly be related.

@pepyakin I'm happy to take a look at this next week (I'm out of office now); can you publish the .wasm somewhere in the meantime?

Sure!
wasmibox.wasm.gz

@pepyakin I'm just getting to this now (sorry for the delay!) and I'm actually seeing a speedup from alias analysis, consistently, of about 6% (6.2s to 5.8s):
[cfallin@xap]~/work/wasmtime% time target/release/wasmtime run --allow-precompiled wasmibox_no_aa.cwasm --invoke wasm_kernel_run
target/release/wasmtime run --allow-precompiled wasmibox_no_aa.cwasm --invoke  6.22s user 0.01s system 99% cpu 6.246 total
[cfallin@xap]~/work/wasmtime% time target/release/wasmtime run --allow-precompiled wasmibox_aa.cwasm --invoke wasm_kernel_run
target/release/wasmtime run --allow-precompiled wasmibox_aa.cwasm --invoke   5.84s user 0.01s system 99% cpu 5.856 total
[cfallin@xap]~/work/wasmtime% time target/release/wasmtime run --allow-precompiled wasmibox_no_aa.cwasm --invoke wasm_kernel_run
target/release/wasmtime run --allow-precompiled wasmibox_no_aa.cwasm --invoke  6.19s user 0.01s system 99% cpu 6.216 total
[cfallin@xap]~/work/wasmtime% time target/release/wasmtime run --allow-precompiled wasmibox_aa.cwasm --invoke wasm_kernel_run
target/release/wasmtime run --allow-precompiled wasmibox_aa.cwasm --invoke   5.85s user 0.01s system 99% cpu 5.868 total
[cfallin@xap]~/work/wasmtime% time target/release/wasmtime run --allow-precompiled wasmibox_no_aa.cwasm --invoke wasm_kernel_run
target/release/wasmtime run --allow-precompiled wasmibox_no_aa.cwasm --invoke  6.22s user 0.01s system 99% cpu 6.242 total
[cfallin@xap]~/work/wasmtime% time target/release/wasmtime run --allow-precompiled wasmibox_aa.cwasm --invoke wasm_kernel_run
target/release/wasmtime run --allow-precompiled wasmibox_aa.cwasm --invoke   5.77s user 0.01s system 99% cpu 5.792 total

These were built with current main (c1b3962f7b9fc1c193e1b9709db64c455699a295) with this patch to make alias analysis / redundant-load elimination optional; then
$ wasmtime compile --cranelift-set opt_level=speed --cranelift-set enable_alias_analysis=true wasmibox.wasm -o wasmibox_aa.cwasm
$ wasmtime compile --cranelift-set opt_level=speed --cranelift-set enable_alias_analysis=false wasmibox.wasm -o wasmibox_no_aa.cwasm

and I double-checked I wasn't swapping the two. Looking at a diff of the disassemblies, it's sort of what I expect: a few extra loads are removed and carried in registers instead, and this I would indeed expect to improve performance, as it does.
Can you confirm you're still seeing a slowdown, not speedup, and if so at which commit and anything else about your environment and measurements?

 The current main performs better than both of them regardless if AA is enabled or not. No AA performs better than with AA on main though.
However, if I remove the -g flag then the whole picture changes:
++ hyperfine --show-output --warmup 2 './wasmtime-0824abbae run --allow-precompiled -O wasmibox-0824abbae.cwasm --invoke wasm_kernel_run'
Benchmark 1: ./wasmtime-0824abbae run --allow-precompiled -O wasmibox-0824abbae.cwasm --invoke wasm_kernel_run
  Time (mean ± σ):      5.826 s ±  0.082 s    [User: 5.815 s, System: 0.010 s]
  Range (min … max):    5.759 s …  6.040 s    10 runs

++ hyperfine --show-output --warmup 2 './wasmtime-89ccc56e4 run --allow-precompiled -O wasmibox-89ccc56e4.cwasm --invoke wasm_kernel_run'
Benchmark 1: ./wasmtime-89ccc56e4 run --allow-precompiled -O wasmibox-89ccc56e4.cwasm --invoke wasm_kernel_run
  Time (mean ± σ):      6.600 s ±  0.073 s    [User: 6.589 s, System: 0.009 s]
  Range (min … max):    6.543 s …  6.722 s    10 runs

++ hyperfine --show-output --warmup 2 './wasmtime-a2197ebbe run --allow-precompiled -O wasmibox-a2197ebbe-aa.cwasm --invoke wasm_kernel_run'
Benchmark 1: ./wasmtime-a2197ebbe run --allow-precompiled -O wasmibox-a2197ebbe-aa.cwasm --invoke wasm_kernel_run
  Time (mean ± σ):      4.375 s ±  0.013 s    [User: 4.364 s, System: 0.010 s]
  Range (min … max):    4.364 s …  4.406 s    10 runs

++ hyperfine --show-output --warmup 2 './wasmtime-a2197ebbe run --allow-precompiled -O wasmibox-a2197ebbe-no-aa.cwasm --invoke wasm_kernel_run'
Benchmark 1: ./wasmtime-a2197ebbe run --allow-precompiled -O wasmibox-a2197ebbe-no-aa.cwasm --invoke wasm_kernel_run
  Time (mean ± σ):      4.721 s ±  0.016 s    [User: 4.711 s, System: 0.009 s]
  Range (min … max):    4.702 s …  4.746 s    10 runs

Now, it starts to make more sense, although I still don't understand how that could be possibly related.

OK, I agree that it doesn't make any sense that -g would make the difference here. I suspect either some odd measurement effect or some pessimization caused by debuginfo registration or something like that. Given that (i) the normal config behaves as expected (alias analysis produces a nontrivial speedup), (ii) codegen looks as expected on manual examination (diff of no-AA vs AA in default config on main), and (iii) debuginfo in general is a big mess that needs more focused attention, I don't think I'm able to justify spending significantly more time looking into this; but if you find anything more please let us know.