validation against multiple selects

Hi, this is not a bug, rather a request of feature or in case an explanation.
I need to validate a date of birth. the inputs are 3 dropdown lists.
If I tried to use the same validator (data-dob) passing as parameter the figure name (day, year, month) and validating the whole lot. It works but in the meanwhile I fill every single dropdown, it prints different error boxes and once all 3 fields are ok, it deletes just one. I also tried to use data-group but without good results. do you have a suggestion how to achieve it?
I have other minor bugs/annoying features to report as well as I used your library a lot in the last two weeks :)
I had time I would have helped directly on the code, anyway thanks a lot for the work you have done!

I'm still hoping to see this solution as it is something that I find to be quite common with forms.

+1 for this feature

Those interested can (after reading up on the new custom validator API) follow #949 to discuss the API for this


Remove cache from preview endpoint

Removes caching the response returned to the clients with the /preview endpoint
CacheResponse relies on RequestContext and builds the cache key just with URL (body is ignored) – thus making multiple transactions previewed for the same address return the same response

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

8 of 9 (88.89%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.004%) to 31.755%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/routes/transactions/routes.rs
8
9
88.89%

Totals

Change from base Build<PHONE_NUMBER>:
-0.004%

Covered Lines:
12967

Relevant Lines:
14672

💛  - Coveralls


What does cache_expire_after=5 mean?

Is it days?

Seconds. https://requests-cache.readthedocs.io/en/latest/user_guide.html#usage


about z-index bug

why ?
.pop_box { z-index: 20; /* or other values */}
after build, it is ....
.pop_box {z-index:1}
Er...

See https://github.com/ben-eb/gulp-cssnano/issues/8. Resolving this for cssnano 4, hopefully not too long left to wait on that.

@ben-eb  thx

Why is this not off by default?
I can't turn it off with .pipe( cssnano({zindex: false}) ) either.

I have the same problem

@mvtcode you can pipe this into your gulp task like so:
.pipe(cssnano({zindex: false}))
as @ben-eb suggests above and in #8

@ben-eb any update when will the v4 be released with this bug fixed?

@vikrantnegi I'm currently blocked by postcss-selector-parser's release, waiting for some feedback from stylelint. https://github.com/stylelint/stylelint/issues/2757

gulpfile.txt
I have tried the suggested solution with zindex:false but it is not making any difference.
any idea what I could be doing wrong?

Are there any other gotchas like this enabled by default that I need to disable?
 If I write z-index: 999 it's probably for a good reason. And why is it changed to "1" and not "9" anyway? When changing from an absurdly-large-number-to-make-sure-it's-always-on-top to something with less digits, why change it to "1"? That's almost  guaranteed to cause problems...


Access to default locale

It could be usefull to have getter to the default locale. Something like d3.formatLocale() without args could do the job.
Why?
Because when you work on multilang graphics, it's simplier to handle a locale object, update it, and call locale.format than the global format function, and always setting the default locale of d3. For now I recreate the locale object with the format and formatPrefix functions. But it's something that the lib could do.
I can make the PR if you agree.

Closing to inactivity, and this feels easy enough to do yourself that I don’t see a strong need to provide a convenience method in the library itself.
const defaultFormat = {
  format: d3.format,
  formatPrefix: d3.formatPrefix
};


ui: fix flaky lit submission ui-tests

Improve selectDocType logic to be more deterministic similar to the
one for e2e tests (INSPIR-2280)

It'd be nice if we can share this code somehow, it seems the same.


Enable rpc library usage on the Nucleo_F072 & Nucleo_F411RE boards

Adding additional 'defined' statements to line 62 of parse_pins.cpp should in theory enable the rpc libraries for all other Nucleo boards, since all stm32 parts use the same pin labeling scheme i.e. P(port)_pinNumber e.g. PA_3,
PC_15 e.t.c.

@halherta Please sign https://developer.mbed.org/contributor_agreement/

LGTM, can you please rebase those into one commit please?

Manually merged (squashed) https://github.com/mbedmicro/mbed/commit/dafb5c3a69082689a3299eee2229a36f557bd1b7


mmark: init at 1.3.6

Motivation for this change
mmark is not found in Nixpkgs as a standalone binary (only found as a Go dependency for hugo)
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@nlewo any better now?

@yrashk yes, thx.
@GrahamcOfBorg build mmark

Success on aarch64-linux (full log)
Attempted: mmark
Partial log (click to expand)
stripping (with command strip and flags -S) in /nix/store/vlzmybnjrhx95lmbiwipchvkba1knwxa-mmark-1.3.6-bin/bin
patching script interpreter paths in /nix/store/vlzmybnjrhx95lmbiwipchvkba1knwxa-mmark-1.3.6-bin
checking for references to /build in /nix/store/vlzmybnjrhx95lmbiwipchvkba1knwxa-mmark-1.3.6-bin...
cannot find section .dynamic
shrinking RPATHs of ELF executables and libraries in /nix/store/70szgac2n0kd327mzljgyam4hjnl0yng-mmark-1.3.6
strip is /nix/store/3zq400fri5dv7d30lpxlqm2v9y1iis6j-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/70szgac2n0kd327mzljgyam4hjnl0yng-mmark-1.3.6
/nix/store/70szgac2n0kd327mzljgyam4hjnl0yng-mmark-1.3.6/share/go/src/github.com/miekg/mmark/.rel.sh: interpreter directive changed from "/bin/bash" to "/nix/store/3gg2p6n4kv2f0lsxd41f5iz1ivkbzyzr-bash-4.4-p19/bin/bash"
checking for references to /build in /nix/store/70szgac2n0kd327mzljgyam4hjnl0yng-mmark-1.3.6...
/nix/store/vlzmybnjrhx95lmbiwipchvkba1knwxa-mmark-1.3.6-bin

Success on x86_64-linux (full log)
Attempted: mmark
Partial log (click to expand)
stripping (with command strip and flags -S) in /nix/store/aarkfxlqw6v0xzy8wmj767z84lg4ybd6-mmark-1.3.6-bin/bin
patching script interpreter paths in /nix/store/aarkfxlqw6v0xzy8wmj767z84lg4ybd6-mmark-1.3.6-bin
checking for references to /build in /nix/store/aarkfxlqw6v0xzy8wmj767z84lg4ybd6-mmark-1.3.6-bin...
cannot find section .dynamic
shrinking RPATHs of ELF executables and libraries in /nix/store/1hbxl8c617kwy6f3104azbqa30507gpz-mmark-1.3.6
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/1hbxl8c617kwy6f3104azbqa30507gpz-mmark-1.3.6
/nix/store/1hbxl8c617kwy6f3104azbqa30507gpz-mmark-1.3.6/share/go/src/github.com/miekg/mmark/.rel.sh: interpreter directive changed from "/bin/bash" to "/nix/store/q1g0rl8zfmz7r371fp5p42p4acmv297d-bash-4.4-p19/bin/bash"
checking for references to /build in /nix/store/1hbxl8c617kwy6f3104azbqa30507gpz-mmark-1.3.6...
/nix/store/aarkfxlqw6v0xzy8wmj767z84lg4ybd6-mmark-1.3.6-bin


docs: Mention Czech translations support

Added in https://github.com/CloudCannon/pagefind/pull/543

Sorry for the delay — thanks!


Fix up a bunch of things indicated by clippy

Let me know if anything should be reverted.

@bors r+ Thanks!

:pushpin: Commit 2c41ddf has been approved by brson

:hourglass: Testing commit 2c41ddf with merge 2ae338d...

:sunny: Test successful - status-appveyor, status-travis
Approved by: brson
Pushing 2ae338d9512b6987a4934ae0dce18b80061ef43d to master...


Submodel Repository returns empty embeddedDataSpecificatios for SubmodelElements

Describe the bug
Submodel Repository returns empty embeddedDataSpecificatios for SubmodelElements.
To Reproduce
Steps to reproduce the behavior:

Starting AAS Environment (latest docker image) with feature basyx.environment=file:aas to load example AAS (see below, SME TechnicalProperties.netWeight of SM https://example.com/shells/zNgzj2JD/submodels/TechnicalData contains embeddedDataSpecifcation)
Submodel Repository API call: /submodels/aHR0cHM6Ly9leGFtcGxlLmNvbS9zaGVsbHMvek5nemoySkQvc3VibW9kZWxzL1RlY2huaWNhbERhdGE/submodel-elements/TechnicalProperties.netWeight
embeddedDataSpecifications of the response is an array with empty object

Expected behavior
A SME inherits from HasDataSpecification : https://aas-core-works.github.io/aas-core-meta/v3/SubmodelElement.html#embeddedDataSpecifications
Therefore, SME can contain embedded data specifications
Response of Submodel Repository should provide the embeddedDataSpecification of SMEs
Used Asset Administration files (.aasx/.json/.xml)
TechnicalDataDemo.zip
Screenshots
Serialised example AAS, focus on SME TechnicalProperties.netWeight of SM https://example.com/shells/zNgzj2JD/submodels/TechnicalData and its embeddedDataSpecifcation (step 1, see above):

Submodel Repository response (step 3, see above)

Thank you for submitting this issue. We will discuss this internally how BaSyx should handle embeddedDataSpecifications.


compiled inserts

Its a bit late. I was kinda busy with other things, so the akka-persistence-jdbc had low priority. As always, thanks for your contribution!


Controls intermittently are disabled

We have several reports from customers that the Stripe credit card fields are disabled.
In every case we've heard about it, the placeholder text is missing (in addition to the fields being disabled/not accepting input).

I've been able to simulate the issue by throttling the network (via Chrome's network tab).  When the Stripe credit card fields are rendered, you can see a lot of network requests being made, and throttling (or stopping) those requests results in the same behavior - no placeholder text, fields disabled.
I suppose you can say that you can't help when the internet is slow, but it could very well be the Stripe servers that are causing the issue.  But I also wonder why these assets are being downloaded and not baked directly into this package.  It also seems like a large number of requests.

This is probably related to #35  #237, but #35 is closed, and #237 is described as an issue when the stripe domain is blocked, and that's not the case with the issue we are seeing.  Switching to a different browser often works for our customers.  But I suspect that refreshing the page would do the same thing.

Hi @trein-homeroom: oof, that sounds pretty painful for you and your customers! I believe you've correctly identified the problem: if the network requests are slow or fail, there isn't much we can do to render the Elements.
Please note that this package is just a React-friendly API around Stripe.js, which is always loaded from the network and not baked in to this package, because it is updated frequently.

Also note that many of the requests are for the same files (due to multiple iframes that leverage the same assets) and will normally leverage the browser cache, so it's not quite as many requests as it seems.

I can't reproduce w/o the network throttling.  Do you have any advice on capturing information you might find relevant when this happens in our app to our customers?
On leveraging the browser cache - the URLs look like they have some kind of UUID in them.  Often that's used to avoid the browser from caching.  Can you confirm that these URLs with the random numbers in them are somehow static and not changing each time?
Are we allowed to bake Stripe.js into our app and build our own components to avoid this issue?

@tkrein321:

If you can reproduce with throttling to a level like 2g/3g, which ought to work and just take a while, we would definitely look into that. I just tried with 3g settings and things seemed to work fine, so that would be news to us!
The URLs do have cache-busting version ids, but those versions are the same for each request to the same resource, since we are trying to load the same thing into each of the four iframes. So of those 20 requests in the leg, there's only 5 real network requests going out.
Stripe.js has to be loaded from the network: baking it into your app will not work, both technically and for compliance reasons. (Stripe is certified by a group called PCI that controls online use of credit cards: unless you want to do reams of paperwork, we need to be able to prove that credit cards are collected by our code that hasn't been tampered with.)

Yea, if I throttle to "slow 3g" (the slowest Chrome offers w/o creating a new one) it eventually works.

Also, if there's anything in common among users who have this problem (geography? device?) that would be interesting.

Not that I've been able to deduce so far.  The only thing is that input placeholders are missing.

Stripe.js has to be loaded from the network: baking it into your app will not work

We do load stripe.js when the webapp first starts (though I can't tell if it actually loaded with customers who had the issue).  Is it possible to preload the others? Would rendering the controls, hidden, pre-fetch the 5 other network requests you mention above?
Anything else we should consider?  We're getting about 1 customer a day contacting us about this issue.  Our customers are fairly motivated, but I imagine for everyone that does contact us, there is others who don't.  Are we able to detect in code if things haven't loaded in the Stripe controls so that we can do something (albeit not so good) like ask the user to refresh the page?

Yeah, if you load an Element but just don't make it visible, that would trigger the requests to start sooner.
You could use the Element's ready event to listen for when the Element is focusable before showing it in the UI, or to log timing information between when you mount it and when it's interactive.
We'll also poke at our logging to check that we are catching instances where the Element is requested to mount but doesn't actually complete successfully. (Obviously if the networking is broken when the mount request fires, we'll never get logging on that, but maybe we can tell how often the network works then but breaks before the Element finishes loading.)

ok, thanks for the help! feel free to close this.


LeakSan tests taking a very long time

Just looking at recent actions logs, it looks like there's a lot of 30s sleeps between tests that for some reason only happen when testing with the Leak santitizer enabled.

According to the docs the leak sanitizer should:

Add no overhead.
Be enabled by default with Address Sanitizer.

Do you know what could be happening then?

I have no idea, but if asan can already cover it we can probably just remove independent leaksan. The docs do say it is a much less tested/supported configuration.


typo Lesson 10 Multi-column sorting

There is a typo in Lesson 10 Multi-column sorting
:muti-sort="true" should be :multi-sort="true"
My brain auto corrects such mistakes.  It took me several minutes to find the problem.  :-)

@wilga  Sorry about that. Will fix it when I have time. Thanks for reporting. :)


Generate manifest.json during build process

What problem does this feature solve?
I've been working lately on non-SPA, non-Vue app. In order not to write the whole Webpack config on my own I took a great symfony/webpack-encore config. I think there's one thing that Vue CLI could learn from symfony/webpack-encore - it's manifest.json
In webpack-encore the build process generates a manifest.json file that lists all the assets generated during build.  Then, the backend code can read the content of the file and enqueue all the assets. It's especially helpful when assets names are hashed.
Example content of the manifest.json file after running yarn serve
{
  "app.css": "http://localhost:8080/app.css",
  "app.js": "http://localhost:8080/app.js",
}

Example content of the manifest.json file after running yarn build
{
  "app.css": "dist/app.9743a66f914cc249efca164485a19c5c.css",
  "app.js": "dist/app.098f6bcd4621d373cade4e832627b4f6.js",
}

What does the proposed API look like?
I'm not sure if manifest.json should be generated by default, but for sure there should be a setting allowing enabling/disabling manifset.json generation.

status of manifest.json is not clear for me, when using @vue/cli-plugin-pwa. A manifest.json is added in the public folder when the plugin is initialized. This file is copied to dist. But never updated. IMO a manifest.json should not be added to the public folder, but generated for each build, respecting configurations from the vue.config.js ?

Also desired. I'm using Vue CLI to build a WordPress plugin and I need it in the WP environment, so I have to build and update the paths.
@jamesgeorge007  However this is implemented, I think the filename should be changed. manifest.json is already used (see: https://www.w3.org/TR/appmanifest/). create-react-app creates an asset-manifest.json, which I think works. Thanks for working on this

Yes this is quite confusing. I thought I was supposed to put manifest configuration (theme colour etc) into the vue.config.js, but now it stopped generating a manifest.json.

See our Roadmap  for v4 (#3649). We will revise this.

I added my own asset-manifest.json file on my own using the proposed lib.
I can see why this might not be added to vue-cli, as it was pretty easy to implement independently.
const WebpackAssetsManifest = require('webpack-assets-manifest')

module.exports = {
  // ...your other modifications,
  configureWebpack: config => {
    config.plugins = config.plugins.concat(
      new WebpackAssetsManifest({
        output: 'asset-manifest.json'
      })
    )
  }
}

Oh, will have to correct myself - I didn't read carefull yand thought this was about generating manifest.json for a PWA. that's what we will add to the next major.
Generating such an assets list is not on the roadmap right now. probably more something for a cookcook.

@tarikhamilton  I think you meant chainWebpack rather than configureWebpack. My understanding is that configureWebpack lets you define the options that get merged where chainWebpack is a function that gets called with the existing config.
Anyway, my problem is that once I try to require any webpack plugin, I get an error of
 ERROR  TypeError: Cannot read property 'i18n' of undefined
TypeError: Cannot read property 'i18n' of undefined
    at module.exports (...\node_modules\vue-cli-plugin-i18n\index.js:4:49)

I am going to open an issue for it.

I'm not sure how similar these issues are, but a problem I'm currently facing with the Vue PWA plugin is that the icons (favicon, chrome icon, apple touch icon) don't get updated. This is likely because the browser is still serving icons from the cache.
When you create a PWA with the Vue cli, it puts all these icons in the public folder by default. I'm not sure if this is the best idea because then icons won't get the hash in the file name, so their cache won't get busted when they're updated
Here's a link to the issue I created: #5531. The issue is that when I update the icons (favicons, chrome or apple touch icons), they don't get updated


[idea] sound beam

Maybe add sound beam ?

can you tell me what sound beam is?

yes please explain asntoxic, i am one for beams i love em, all long and beamyy but aint never heard one tho

@asntoxic if you need it, DIY, I've already done the work for beams (#1546) and events are listed here: https://wiki.alliedmods.net/Counter-Strike:_Global_Offensive_Events


Update scams.txt

Add new scam

These are supposed to go in malware.txt instead

added in https://github.com/Erisa/Cliptok/commit/06adef0d33ff3c4c5db7a481d2d24d0b1e3efce4


fix: dont assume plugin-help is installed

Use Help class directly instead of assuming that plugin-help is installed.
QA

pull branch, yarn && yarn build
oclif generate my-cli
Remove all references to plugin-help from my-cli's package.json
Remove src/hello/index.ts
yarn link @oclif/core in my-cli directly
Run bin/dev.js hello - you should see help output for the hello topic

Fixes #848
@W-15103728@

QA:
Followed the steps above and saw the expected output.
bin/dev.js hello
Say hello to the world and others

USAGE
  $ my-cli hello COMMAND

COMMANDS
  hello world  Say hello world


Invoke-ExecuteCommand: Issue with backslashes being escaped

The backslash at the end of the find command that contain -exec is incorrectly being escaped.
For example, the command for atomic-test T1552.004-3 is find #{search_path} -name id_rsa -exec cp --parents {} #{output_folder} \;.   After it is escaped the command becomes find / -name id_rsa -exec cp --parents {} /tmp/art-staging \\;.  An extra backslash is added causing the following error when executed find: missing argument to -exec.
Found this escaping scheme is causing issues for other tests, T1552.004-4 and T1217
Updating the command to remove the backslash escaping does resolve the errors with the find commands
From:
$finalCommand = $finalCommand -replace "[\\`"]", "`\$&"

To:
$finalCommand = $finalCommand -replace "[`"]", "`\$&"

It looks like that fix was proposed in PR #24 but later was enhanced to the current code submitted in PR #33
Saw that the escape logic was removed from the command_prompt executor block.  Attempted to remove the line from the bash/sh logic bloc, but it broke atomic-test T1083-4

Thank you for the PR to fix!


Add MANIFEST.IN

Hi,
I'm just adding the MANIFEST.in on your repository to bundle the LICENSE together with the source code ;)
My motivation for this PR is because I'm adding you package on Conda  and they require to have the license file on the package link for the PR on Conda-forge

Thanks! Commited 0a8f0fc with a more explicit message.


Interaction between Tensorflow Java and JavaCPP Pointer deallocation

I am trying to understand why when I use DJL + Tensorflow engine, there is a good amount of time spent in GC, while both DJL and Tensorflow Java seem to use pointerscope and do not relay on GC for object cleanup.
For example, I see JavaCPP Pointer.deallocator gets invoked https://github.com/bytedeco/javacpp/blob/master/src/main/java/org/bytedeco/javacpp/Pointer.java#L666-L667
which is a heavy synchronized call.
Any help is appreciated.

If you're confident you don't need GC, we can set the "org.bytedeco.javacpp.nopointergc" system property to "true" to reduce overhead.

I am not sure wether I need GC or not. Looking at the EagerSession class seems like it is managing memory through the pointer scope. The NDArrays I allocate through DJL/TF also use the same.

I will try the system property you have mentioned and run my benchmarks, thanks for such a quick response!

You'll need to keep in mind though that neither TF nor DJL are particularly designed to reduce GC. JavaCPP is only a small part of the overall design, and there is a lot garbage that gets generated elsewhere.

Still investigating how GC optimizations work in the DJL + Tensorflow Environment.
There seems to be also a blocking call when using several eager sessions in parallel for multi-threading, and when JavaCPP needs to run GC, it blocks all of the threads with sessions.

Like I said, make sure to set the "org.bytedeco.javacpp.nopointergc" system property to "true" to prevent JavaCPP from calling System.gc(). It should also avoid blocking calls, but let me know if you still see anything of concern there.

I've tried the org.bytedeco.javacpp.nopointergc and very quickly ran out of memory :-)

If I keep it on, with G1GC, I spend 25% of the time in GC on a high throughput instance with occasional blocking.

stacktrace related to allocation

Exception in thread "ForkJoinPool-1-worker-7" java.lang.OutOfMemoryError: Cannot allocate new PointerPointer(1000): totalBytes = 3640M, physicalBytes = 1226M
at org.bytedeco.javacpp.PointerPointer.(PointerPointer.java:149)
at org.tensorflow.EagerOperationBuilder.execute(EagerOperationBuilder.java:270)
at org.tensorflow.EagerOperationBuilder.build(EagerOperationBuilder.java:66)
at org.tensorflow.EagerOperationBuilder.build(EagerOperationBuilder.java:55)
at ai.djl.tensorflow.engine.TfNDArray.(TfNDArray.java:81)
at ai.djl.tensorflow.engine.TfNDManager.create(TfNDManager.java:154)

So I've tried it, the blocking calls are removed, the thread with JavaCPP Deallocator is also disappears and no-more blocking GCs. Only issue is I quickly run out of memory :-)

There is a team discussion on DJL around Tensorflow Java and JavaCPP performance, if you are interested - https://github.com/awslabs/djl/discussions/625

The GC behaviour I see when
org.bytedeco.javacpp.nopointergc=false
Xmx2G
Xms2G
maxPhysicalBytes=1G
when running multi-threaded inference locally on my laptop. It uses Tensorflow Eager Session.

So I've tried it, the blocking calls are removed, the thread with JavaCPP Deallocator is also disappears and no-more blocking GCs. Only issue is I quickly run out of memory :-)

Obviously, when not using the GC, you'll need to make sure to deallocate native memory some other way!

True that, I've just tested the theory that PointerScope takes care of my
specific use case for inference. But you are right, there is quite a lot of
garbage besides that.
On Fri, Feb 19, 2021 at 4:33 PM Samuel Audet<EMAIL_ADDRESS>wrote:

So I've tried it, the blocking calls are removed, the thread with JavaCPP
Deallocator is also disappears and no-more blocking GCs. Only issue is I
quickly run out of memory :-)
Obviously, when not using the GC, you'll need to make sure to deallocate
native memory some other way!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/java/issues/208#issuecomment-782479032,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHIJQDEMC63YUQQAQFNHWTS737NBANCNFSM4XD2EC2Q
.

Eager execution does allocate a lot of native resources, as each operation and each of their outputs will need to be freed.
I don't know much about details the GC feature of JavaCPP we are using now but I can tell that in 1.14, the way it was working is that the GC listener was running in a separate thread and was trying to free resources referenced by deleted objects, but just as a "best effort" since GC is not entirely reliable when it comes to native memory. @saudet, this thread-based implementation was just listening to a phantom reference queue and was therefore non-blocking, is JavaCPP doing something similar?
Ultimately, resources should be cleaned up by closing the eager session enclosing some piece of code and that part is still true:
try (EagerSession s = EagerSession.create()) {
    Ops tf = Ops.create(s);
    // your eager computations
}

This ensure to release all resources independently from the GC. So while it is not enforced by the API, it is recommended to scope your eager operations into multiple eager session instead of only relying on the default one (i.e. the one used when simply invoking Ops.create() without any parameter).

I don't know much about details the GC feature of JavaCPP we are using now but I can tell that in 1.14, the way it was working is that the GC listener was running in a separate thread and was trying to free resources referenced by deleted objects, but just as a "best effort" since GC is not entirely reliable when it comes to native memory. @saudet, this thread-based implementation was just listening to a phantom reference queue and was therefore non-blocking, is JavaCPP doing something similar?

It's doing that, but it also blocks by default when maxBytes or maxPhysicalBytes is reached, unless that is set to 0 as done in DJL here: https://github.com/awslabs/djl/blob/master/tensorflow/tensorflow-engine/src/main/java/ai/djl/tensorflow/engine/LibUtils.java#L52
Java users are typically used to having per-process memory thresholds like that, but it looks like users of DJL consider this a "bug", and prefer to have it behave more like C/C++/Python, where we can always allocate all memory available on the system with no restrictions.

If I leave default settings for JavaCPP, use single interop and intraop
thread in Tensorflow and use G1GC for GC - I get a weird behavior.
Everything works fine until certain load threshold, after which heap gets
to about 100% and full GC cycles can not clean anything in it. Seems like
something is holding pointers forever.
On Monday, 22 February 2021, Samuel Audet<EMAIL_ADDRESS>wrote:

I don't know much about details the GC feature of JavaCPP we are using now
but I can tell that in 1.14, the way it was working is that the GC listener
was running in a separate thread and was trying to free resources
referenced by deleted objects, but just as a "best effort" since GC is not
entirely reliable when it comes to native memory. @saudet
https://github.com/saudet, this thread-based implementation was just
listening to a phantom reference queue and was therefore non-blocking, is
JavaCPP doing something similar?
It's doing that, but it also blocks by default when maxBytes or
maxPhysicalBytes is reached, unless that is set to 0 as done in DJL here:
https://github.com/awslabs/djl/blob/master/tensorflow/
tensorflow-engine/src/main/java/ai/djl/tensorflow/engine/LibUtils.java#L52
Java users are typically used to having per-process memory thresholds like
that, but it looks like users of DJL consider this a "bug", and prefer to
have it behave more like C/C++/Python, where we can always allocate all
memory available on the system with no restrictions.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/java/issues/208#issuecomment-783280638,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHIJQGOEXLME6OWTJN3I53TAIYS7ANCNFSM4XD2EC2Q
.

If I leave default settings for JavaCPP, use single interop and intraop thread in Tensorflow and use G1GC for GC - I get a weird behavior. Everything works fine until certain load threshold, after which heap gets to about 100% and full GC cycles can not clean anything in it. Seems like something is holding pointers forever. Need to test custom maxPhysicalBytes params.

That sounds like an issue somewhere in TF Java, not JavaCPP. If you have a simple way to reproduce this, please let us know!

I do, let me write it up.
On Mon, Feb 22, 2021 at 3:03 PM Samuel Audet<EMAIL_ADDRESS>wrote:

If I leave default settings for JavaCPP, use single interop and intraop
thread in Tensorflow and use G1GC for GC - I get a weird behavior.
Everything works fine until certain load threshold, after which heap gets
to about 100% and full GC cycles can not clean anything in it. Seems like
something is holding pointers forever. Need to test custom maxPhysicalBytes
params.
That sounds like an issue somewhere in TF Java, not JavaCPP. If you have a
simple way to reproduce this, please let us know!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/java/issues/208#issuecomment-783739966,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHIJQGU7A35W3KARSUXKGDTALPCZANCNFSM4XD2EC2Q
.

@saudet , I just to verify with you one more thing concerning the GC listening thread in JavaCPP.
Before in TF Java (1.x), each resource that has native memory allocated was being referred by a PhantomReference retrieved from the GC queue once discarded by it: https://github.com/tensorflow/tensorflow/blob/3f113a31d250a5c772d95ffa8e8562cf174d222a/tensorflow/java/src/main/java/org/tensorflow/EagerSession.java#L387
So basically, that phantom reference contains all the information required to release any native resources associated to a particular object that was garbage collected.
In JavaCPP, how do you keep track of which object refers to which native resources? Does it exclusively rely on PointerScope, hence only on the lifetime of the EagerSession in the case?

No, there are PhantomReference getting queued, unless "org.bytedeco.javacpp.nopointergc" is set to "true", that is:
https://github.com/bytedeco/javacpp/blob/master/src/main/java/org/bytedeco/javacpp/Pointer.java#L459-L467
PhantomReference is referenced here, alongside the machinery for reference counting:
https://github.com/bytedeco/javacpp/blob/master/src/main/java/org/bytedeco/javacpp/Pointer.java#L274

Ok so the PhantomReference is on the Pointer object itself, so that when this one is garbage collected, it's backing native resource is as well? If that's the case, sounds good.

Yes, that's idea. Everything is centered around Pointer to make it easier to reason about, and I've found that we can also use it to map anything of interest from the C/C++ world, well anything that has to do with memory living on the native heap anyway.

Then another question, if the Pointer member of a given object have also been attached to an outer PointerScope, like it is done here for eager operations, will the garbage collection of the owning object prevail on the scope to release the resources? i.e. is the scope only keeping a weak reference to the Pointer or it will hold a strong reference to it, preventing the garbage collector to collect it when the EagerOperation is collected?

It stores a strong reference, otherwise this kind of pattern may result in a crash:
try (PointerScope scope = new PointerScope()) {
    IntPointer something = new IntPointer(10);
    someNativeObject.keepReferenceTo(something);
    // The Java object "something" is no longer referenced from here, but someNativeObject expects the native memory to be
    // still allocated, so this call may crash, unless an object like PointerScope keeps a strong reference, which it does.
    someNativeObject.doSomething()
}

In the event that a scope is not closed, but becomes itself unreachable though, everything it contains becomes eligible for GC.

It stores a strong reference, otherwise this kind of pattern may result in a crash:

Ok, this new paradigm introduced once we have switched to JavaCPP is probably the cause of the issue here. Before, the EagerSession scope was acting weakly and would not prevent the native memory of its garbage-collected resources to be released.
Some sessions (like the default one, which I think @skirdey uses) are never or rarely closed, therefore entirely rely on the GC or on explicit closing of the resources themselves (the tensors, for example). Since a strong reference is kept on the native pointer, the memory will never be released. That certainly happens with the EagerOperation resources.
It could be great if a user can decide to attach weakly or strongly a Pointer to a PointerScope. If that's not feasible, then we might want to prevent attaching these resources to the eager session if we know that session is the default one. But there is probably a cleaner way to fix this as well.
@skirdey , do you build your own version of TF Java when you are doing your tests or you use the prebuilt one coming with DJL? It would be interesting to see the behaviour of your code by adding this patch.

@karllessard I would love to try a patch. I am using stock version of tensor-flow that comes with DJL. I am still not sure what would be the patch, so if you have one send it my way :-)

btw, when using nopointergc=true the stock DJL benchmark goes OOM as well -
https://github.com/awslabs/djl/issues/690
so if you want to try it locally without my specific use case, you can also
do that
On Thu, Feb 25, 2021 at 4:34 AM Karl Lessard<EMAIL_ADDRESS>wrote:

It stores a strong reference, otherwise this kind of pattern may result in
a crash:
Ok, this new paradigm introduced once we have switched to JavaCPP is
probably the cause of the issue here. Before, the EagerSession scope was
acting weakly and would not prevent the native memory of its
garbage-collected resources to be released.
Some sessions (like the default one, which I think @skirdey
https://github.com/skirdey uses) are never or rarely closed, therefore
entirely rely on the GC or on explicit closing of the resources themselves
(the tensors, for example). Since a strong reference is kept on the native
pointer, the memory will never be released. That certainly happens with the
EagerOperation resources
https://github.com/tensorflow/java/blob/439373d4a76f4ba3665f55b929bb74876d4d96b7/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/EagerOperation.java#L56
.
It could be great if a user can decide to attach weakly or strongly a
Pointer to a PointerScope. If that's not feasible, then we might want to
prevent attaching these resources to the eager session if we know that
session is the default one. But there is probably a cleaner way to fix this
as well.
@skirdey https://github.com/skirdey , do you build your own version of
TF Java when you are doing your tests or you use the prebuilt one coming
with DJL? It would be interesting to see the behaviour of your code by
adding this patch.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/java/issues/208#issuecomment-785863023,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHIJQG5LWHG4U26CGR3J4DTAY7TXANCNFSM4XD2EC2Q
.

@karllessard @saudet @skirdey Here is my thought.
There are two strategies of releasing native memory.

Java style: spawn another dedicated thread to clean up native resource object in the ReferenceQueue.
pros: I guess the performance would be slighter better than approach 2 as delete native memory takes time but needs experiments
cons: If the client API invoke the function in asynchronous way (which is usually the case in Java), the dedicated thread is not fast enough to clean up the native resource and cause OOM. Additionally, if the engine (TF, PT, or Apache MXNet) doesn't support thread-safe delete, it will cause the JVM crash. As there might be a small chance that both PointerScope & dedicated thread release the native resource at the same cause and ran into double delete crash. Both PyTorch & Apache MXNet are of this type. So we have no choice but to go with approach 2. Do you know if tensorflow is thread-safe in terms of releasing the native resource like tensor?
C++ style: release the memory as soon as we mark the memory is not used.
pros: The memory consumption is small comparing to approach 1.
cons: The performance could be slightly slower than approach 1 but again it needs experiment.

Either way is trying to get rid of GC (System.gc()) which slows down the entire system. The right pattern of coding Deep Learning system is to make sure all native resources are tracked by a scope and release the memory without a leak and help of GC.

It stores a strong reference, otherwise this kind of pattern may result in a crash:

Ok, this new paradigm introduced once we have switched to JavaCPP is probably the cause of the issue here. Before, the EagerSession scope was acting weakly and would not prevent the native memory of its garbage-collected resources to be released.
Some sessions (like the default one, which I think @skirdey uses) are never or rarely closed, therefore entirely rely on the GC or on explicit closing of the resources themselves (the tensors, for example). Since a strong reference is kept on the native pointer, the memory will never be released. That certainly happens with the EagerOperation resources.
It could be great if a user can decide to attach weakly or strongly a Pointer to a PointerScope. If that's not feasible, then we might want to prevent attaching these resources to the eager session if we know that session is the default one. But there is probably a cleaner way to fix this as well.
@skirdey , do you build your own version of TF Java when you are doing your tests or you use the prebuilt one coming with DJL? It would be interesting to see the behaviour of your code by adding this patch.

Looking at DJL code and TfNDManager it does create a single session in with async option https://github.com/awslabs/djl/blob/master/tensorflow/tensorflow-engine/src/main/java/ai/djl/tensorflow/engine/TfNDManager.java#L69
I can not see if it is a "default" session or not.

It stores a strong reference, otherwise this kind of pattern may result in a crash:

Ok, this new paradigm introduced once we have switched to JavaCPP is probably the cause of the issue here. Before, the EagerSession scope was acting weakly and would not prevent the native memory of its garbage-collected resources to be released.
Some sessions (like the default one, which I think @skirdey uses) are never or rarely closed, therefore entirely rely on the GC or on explicit closing of the resources themselves (the tensors, for example). Since a strong reference is kept on the native pointer, the memory will never be released. That certainly happens with the EagerOperation resources.

I see, that's what @rnett was referring in pull https://github.com/tensorflow/java/pull/188#discussion_r581333620.

It could be great if a user can decide to attach weakly or strongly a Pointer to a PointerScope. If that's not feasible, then we might want to prevent attaching these resources to the eager session if we know that session is the default one. But there is probably a cleaner way to fix this as well.

It's never a good idea to rely on the GC. We cannot avoid situations like I mention above where the native side keeps a reference to an existing Tensor, but where the Java side doesn't. The only sane way to deal with this is by not relying on the GC at all. We can still have it as a sort of option for users that don't want to use something like TensorScope though, but in that case, since we cannot offer any guarantees anyway, it makes no difference whether eager session holds on to weak references, or no reference at all!

@skirdey , do you build your own version of TF Java when you are doing your tests or you use the prebuilt one coming with DJL? It would be interesting to see the behaviour of your code by adding this patch.

Which patch?

It stores a strong reference, otherwise this kind of pattern may result in a crash:

Ok, this new paradigm introduced once we have switched to JavaCPP is probably the cause of the issue here. Before, the EagerSession scope was acting weakly and would not prevent the native memory of its garbage-collected resources to be released.
Some sessions (like the default one, which I think @skirdey uses) are never or rarely closed, therefore entirely rely on the GC or on explicit closing of the resources themselves (the tensors, for example). Since a strong reference is kept on the native pointer, the memory will never be released. That certainly happens with the EagerOperation resources.
It could be great if a user can decide to attach weakly or strongly a Pointer to a PointerScope. If that's not feasible, then we might want to prevent attaching these resources to the eager session if we know that session is the default one. But there is probably a cleaner way to fix this as well.
@skirdey , do you build your own version of TF Java when you are doing your tests or you use the prebuilt one coming with DJL? It would be interesting to see the behaviour of your code by adding this patch.

Looking at DJL code and TfNDManager it does create a single session in with async option https://github.com/awslabs/djl/blob/master/tensorflow/tensorflow-engine/src/main/java/ai/djl/tensorflow/engine/TfNDManager.java#L69
I can not see if it is a "default" session or not.

I checked the source code. It should not be a default EagerSession. The defaultEagerSession is created only when you call initDefault(options) or getDefault()

@karllessard @saudet @skirdey Here is my thought.
There are two strategies of releasing native memory.

Java style: spawn another dedicated thread to clean up native resource object in the ReferenceQueue.
pros: I guess the performance would be slighter better than approach 2 as delete native memory takes time but needs experiments
cons: If the client API invoke the function in asynchronous way (which is usually the case in Java), the dedicated thread is not fast enough to clean up the native resource and cause OOM. Additionally, if engines like pytorch and apache mxnet don't support thread-safe delete, it will cause the JVM crash. As there might be a small chance that both PointerScope & dedicated thread release the native resource at the same cause and ran into double delete crash. Both PyTorch & Apache MXNet are of this type. So we have no choice but to go with approach 2. Do you know if tensorflow is thread-safe in terms of releasing the native resource like tensor?

C++ style: release the memory as soon as we mark the memory is not used.
pros: The memory consumption is small comparing to approach 1.
cons: The performance could be slightly slower than approach 1 but again it requires experiments.

Either way is trying to get rid of GC (System.gc()) which slows down the entire system. The right pattern of coding Deep Learning system is to make sure all native resources are tracked by a scope and release the memory without a leak and help of GC.
@saudet Does JavaCpp support approach 2 if users are working on memory-intensive application?

JavaCPP supports both the "Java style", that is using GC via PhantomReference and a ReferenceQueue, and "C++ style" via PointerScope. Currently, JavaCPP only uses 1 "deallocator thread", but it is possible to extend that to support multiple threads and increase throughput. However, there are too many limitations to that approach using GC that I don't think it's worth spending too much time on that. Like you mention, it's problematic when the native allocator isn't thread-safe, but even when it is thread-safe, allocating more memory than required leads to memory fragmentation and poor performance, typically poorer than managing it "C++ style" in my experience. So it is almost always a better idea to manage native memory like one would do it in C++ or Python. That's exactly the paradigm that PointerScope attempts to bring to Java, that we can use across libraries, like I showed here for the C++ APIs of TensorFlow and OpenCV: http://bytedeco.org/news/2018/07/17/bytedeco-as-distribution/

@karllessard I'm trying to find where in the old code it was using weak references, and I can't find. I don't remember removing anything like that myself either. From what I can tell, EagerSession has always been keeping strong references with this map: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/java/src/main/java/org/tensorflow/EagerSession.java#L499

NativeReference is a subclass of java.lang.ref.PhantomReference.

I checked the source code. It should not be a default EagerSession. The defaultEagerSession is created only when you call initDefault(options) or getDefault()

@stu1130 , even if it is not the default session, if the created session remains open for a long time while creating a lot of ops and tensors, the issue can happen

@karllessard I'm trying to find where in the old code it was using weak references, and I can't find. I don't remember removing anything like that myself either. From what I can tell, EagerSession has always been keeping strong references with this map

@saudet: like @Craigacp pointed out, NativeReference extends PhantomReference and are extended by each type of native resource, like here. So basically how it works is that if a NativeReference was queued by the GC, its delete() method was invoked to release the native resources and it was removed from session the session scope. If it was never queued but the session was closed, all remaining NativeReference in the session scope were deleted explicitly. So what I was saying is that the eager session was holding references acting "weakly" and not necessarily stacking WeakReference objects.

Which patch?

There is none yet :) Ideally, like we discussed, it would be possible to refer weakly to a Pointer in a PointerScope from JavaCPP directly. Otherwise we have to find another way to restore the previous/correct behavior. I was curious to know if @skirdey was already setup to try a patch if we have one but I guess I can easily reproduce the problem on my side and validate this hypothesis.

NativeReference is a subclass of java.lang.ref.PhantomReference.

Ah, that's where I screwed up. I remember getting confused about what NativeReference was exactly and associating it with Pointer instead of more like PhantomReference<Pointer>. Well, let's see, that's a pattern currently supported by neither the Cleaner in JDK 9+ nor the ResourceScope as proposed by Panama, so it's probably not something I want to encourage users to start doing as part of JavaCPP either... See the point I make in pull https://github.com/tensorflow/java/pull/188#discussion_r584012739.
If we still want to have something that behaves like the original implementation, we should probably just replace the PointerScope field in EagerSession with some sort of collection of WeakReference<Pointer>, as currently proposed by @rnett for TensorScope as per pull https://github.com/tensorflow/java/pull/188#pullrequestreview-599797899.

Ok, I understand that you want JavaCPP to follow closely what is being done in the JDK.
I'm personally totally comfortable with what @rnett proposed weak tensor scopes, which is quite identical to the original behaviour of the eager sessions. So TF could have its own weak scope. @rnett , were you planning to change your proposed TensorScope to make it more generic for any kind of native resources, like the eager ops?
If that's reshuffling too much of your work, we can simply keep our own weak references directly in the EagerSession like before, and since JavaCPP will still take care of the cleaner portion, it should really just be a small change to do.

I wasn't planning on doing it as part of TensorScope, but rather as part of Ops or Scope since we're passing it around anyways.  But that's all up for discussion, I don't have anything particularly firm yet.

Ok let's play it simple for now and I'll try to see how it works by simply replacing the PointerScope in EagerSession by a list of weak references, I'll let you all know of the results.

Ok, so the issue was very easy to reproduce. Starting a JVM with only 256M of memory, this simple loop was hitting a OOM between 30K and 40K iterations:
  public static void main(String[] args) {
    try (EagerSession s = EagerSession.create()) {
      Ops tf = Ops.create(s);
      while (true) {
        tf.math.add(tf.constant(2), tf.constant(2));
      }
    }
  }

I pushed this PR to keep only weak references on eager resources in the session, as proposed earlier, and now the garbage collection allows this loop to run forever. I'm pretty confident this should fix the issue observed earlier by @skirdey when using DJL.

On Sunday, 28 February 2021, Karl Lessard<EMAIL_ADDRESS>wrote:

Ok, so the issue was very easy to reproduce. Starting a JVM with only 256M
of memory, this simple loop was hitting a OOM between 30K and 40K
iterations:
public static void main(String[] args) {
try (EagerSession s = EagerSession.create()) {
Ops tf = Ops.create(s);
while (true) {
tf.math.add(tf.constant(2), tf.constant(2));
}
}
}
I pushed this PR to keep only weak references on eager resources in the
session, as proposed earlier, and now the garbage collection allows this
loop to run forever. I'm pretty confident this should fix the issue
observed earlier by @skirdey https://github.com/skirdey when using DJL.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/java/issues/208#issuecomment-787618390,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHIJQGJ5QAGOTI5ZNW3WW3TBMGENANCNFSM4XD2EC2Q
.


Upload Avataar - filter in the file select dialog box

Ability to filter the images in the select box while selecting an avatar.
Priority: Low
changing
<input type="file" class="d-none" id="author_avatar" v-on:change="uploadSelectedImage">

to
<input type="file" class="d-none" id="author_avatar" accept="image/*" v-on:change="uploadSelectedImage">

done 👍


Catch collections in gbl-to-aardvark harvester

Stanford has some "collection" type records that we're currently capturing as an "Other" resource class. We can catch this in the python script.

Since this seams to be primarily an issue with Stanford, I'm just going to wait until they upgrade to Aardvark and call it a day.


Event Subscriber in AL Visual Studio code

Hi all,
What is the syntax of Event Subscriber in AL Visual studio code?
[EventSubscriber(ObjectType::Table, 99000763, OnAfterActionEvent,Release,SkipOnMissingLicense,SkipOnMissingPermission)]
Also for OnAfterInsertEvent I'm getting error.
It is giving me error that Invalid attribute argument syntax. Kindly suggest.
Thanks in advance.

[EventSubscriber(ObjectType::Table, 99000763, 'OnAfterInsertEvent', '', true, true)]
use ''

Thanks a lot @pmohanakrishna !


Strange black stripes on pie chart

Hi! Does anyone know where do these black stripes come from?

Looks like an css issue, maybe some fill colours do not match.
Can you identify the object in firebug or developer tools?

For proper assistance with you issue please create a reproducible and isolated version of the issue within an online code editor like JSBIN. You can use this template to get started: http://jsbin.com/zuqejof/edit?html,js,output


[fix] change Vite's output directory from _app to client

This fixes an issue that @userquin ran into trying to make vite-plugin-pwa work with SvelteKit. He was using Vite/Rollup's emit to output a service worker manifest and expecting it to be served from the root directory, but it was ending up under _app. _app is arguable only for stuff generated by SvelteKit though. I could imagine lots of other things like a robots.txt or something you might want to generate with a Vite plugin that need to go in a certain location and are impossible to put there today.
I also think the code ends up being a little nicer this was as we don't end up having to specify the app dir in quite as many places
I'm splitting this out from https://github.com/sveltejs/kit/pull/5601 as that PR was becoming too unwieldy

This introduces a very minor bug — workers are no longer written to _app/assets/worker-xyz123.js, but are instead written to assets/worker-xyz123.js. Neither behaviour is correct (ideally it would be _app/immutable/worker-xyz123.js; that will be possible with the next release of Vite thanks to https://github.com/vitejs/vite/pull/9212), but putting workers outside _app feels slightly naughtier.
Not enough to prevent merging this PR, but worth noting nonetheless


New package: StaticOptim v0.2.0

Registering package: StaticOptim
Repository: https://github.com/aaowens/StaticOptim.jl
Created by: @aaowens
Version: v0.2.0
Commit: 6e3a17be718d69dd6f09fc9a344e124a35bc4516
Reviewed by: @aaowens
Reference: https://github.com/aaowens/StaticOptim.jl/commit/6e3a17be718d69dd6f09fc9a344e124a35bc4516#commitcomment-34259617

Needs compat at least for Julia itself.


typo

doc/Type/Sequence.pod6 has the word "hight" - I think it might want to be "height', but it's not clear from context.

I'd say "high-level" suits even better there.


bash.exe in Google Drive folder not working properly (source path)

Winver 10.0.15063
Hi guys,
Since I started to use WSL (BoUoW) I've always been able to copy bash.exe to any folder on my pc such that Bash would run setted up in the same source folder the .exe was located.
I do this to avoid mess up with linux system files like .bashrc.
Now, after I have finished the Creators update installation, it seems that it is not working anymore. And it seems to be a particular issue only for Google Drive's folder.
If I copy the .exe to Google Drive's folder and try to run it now, it brings me back to Linux's home user folder. (user@pcname:/$)
I just tested in One Drive's folder (since I thought it could be related with shared/synced folders) and it is working fine. user@pcname:/mnt/c/Users/username/OneDrive$)
Also, there is nothing to do with spaces in the name of the path since my username has space
(name surname) and I am able to drag the .exe in any folder under my username
(like ...Users\Josh Addams\Documents\bash.exe for example) and it still working bringing me to the right path.
So, I was thinking that something has changed and I would like your help to find the change and if possible roll back it or any other possible solution (if possible something that don't change linux/bash system files).
Thank you in advance.
Ps.1: As far as I remember, I didn't change anything in Google Drive's folder settings.
Ps.2: Before the update, I had bash.exe in my Google Drive's folder running normally and in the first time I tried to run it after the update, it returned an error (see the image):

Guys, I found the solution thinking a little bit more.
As in OneDrive it works fine and in Google Drive is not, I compared both folder properties.
Checking OneDrive folder permissions I saw that the System has access to it while in Google Drive folder only the actual user has. I am pretty sure that the update didn't change that.
So, to solve this, just give to the System access to Google Drive's folder and Voila. Paste a copy of bash.exe into any Google Drive's folder and it will set up the source folder to the .exe location.
In the other hand, the old .exe won't work anymore, so you must copy a new .exe into it.
Conclusion:
Something was changed in this update because the older copies of bash.exe won't work anymore (in my case).
I am glad to help guys.
Ps.: If someone knows, please give us the changes that made the latest bash.exe crashes (maybe MS changed its source, I don't know)

Maybe I missunderstood you, but you don't have to copy around bash.exe (and you probably shouldn't).  You can just type bash in the explorer's address bar and bash opens in that folder

Thanks! I didn't understand your part on copying bash.exe either, but simply adding Administrators and SYSTEM and giving them full permissions fixed it for me.

Mike,
Thanks for your tip.
I didn't know about that.
Actually I am seeing that any system program can be runned through explorer's address bar, what simplies "save as" location, for example.
That is why I copied it into the folder, for lack of knowledge. :D
Ben,
It is nice when we find out ourselves for a solution hard to find on internet.
Happy to help you. 👍


Server start

I am getting this error
λ npm start

<EMAIL_ADDRESS>start c:\www\Homestead\projects\sermonapp\server
./node_modules/nodemon/bin/nodemon.js src/app.js --exec 'npm run lint && node'

'.' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: ./node_modules/nodemon/bin/nodemon.js src/app.js --exec 'npm run lint && node'
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\Danre Visser\AppData\Roaming\npm-cache_logs\2017-09-19T13_45_31_696Z-debug.log
I am running local on windows system.I guess its got something to do with windows

@JacquesvanWyk what node version do you use?

v8.5.0

That's great, looks like it's a problem with windows ./  path format
Can you modify the package.json after you done with npm install to:
"start":"nodemon src/app.js"

Thanks

if you want the lint to work you can do the same for the lint action "lint":"eslint src/**/*.js"

If anyone wants to submit a PR to make this work for all operating systems, feel free to do so =)

Just for future reference, if on windows, it is best to use the Windows Subsystem for Linux if on W10, since you can access your projects and execute commands in a bash shell, similar to how the commands are run in the tutorial. I've been doing this, and I haven't had any issues with the path formatting.
Here's how to install the WSL from MSDN!

It's eslint error. use "lint": "eslint src/**/*.js;exit 0" can solve

for windows system: package_json located in the TAB-TRACKER/server/src/package.json
"scripts": {
"start":"nodemon src/app.js",
"lint":"eslint src/**/*.js"
},

This error happens because some windows terminals misunderstand single quotes, So there's some parsing errors in node
You can easily detect it by errors like this
'npm is not recognized (...)
Showing a single quote before the command that is not recognized
In this case I used escaped double quotes instead of  single ones in the scripts I used in package.json:
"scripts": {
    "start": "nodemon src/app.js --exec \"npm run lint && node\"",
    "lint": "eslint **/*.js"
  }

And it works now. Hope this helps..

It's preferable to refer to your dev environment packages, not to global ones. Therefore, please see a chuck from a package.json (server):
"scripts": {
 "start": "./node_modules/.bin/nodemon src/app.js --exec \"npm run lint && node\"",
 "lint": "./node_modules/.bin/eslint \"**/*.js\"",
"test": "echo \"Error: no test specified\" && exit 1"
},


website should link to repo for easy nav

header and footer, like what ladderly does

resolved previous to or inside of
https://github.com/Vandivier/arias-tale-rpg/pull/24


Contact Us page - Edits.

Dependency
#1022
Overview
We need to edit the 'Contact us page'
Action Items:

[ ] Edit and update the existing 'Contact us' page for all screens- Small, medium, and large.
[ ]  Remove the logo field
[ ]  Remove the asterisk mark  in the last field and error message related to it- 'Your Project or Organization's GitHub URL'
[ ] Add a 'Thank you' message in the end.

Resources/Instructions:
'CONTACT US' FIGMA.

I have been told by @kevin that all the items in this issue have been addressed by #1011.  Have asked in that issue for confirmation and screenshots.

closing issue since it's a duplicate of #1011


Document the Batch Changes support process, updating messaging around communication

We didn't have our support rotation process documented in our team processes, including the new support issues board we recently introduced, so I added a blurb to describe that. I also updated some of the messaging around communicating with our team, particularly about using @batcher-support, and removed two stated invariants that we are no longer following.

Noticed two other unrelated things on our doc, too. 😬 Gotta fix 'em all!!!


lightdm fails to lock screen due to ignored arguments to X

When I try to lock my screen using dm-tool lock, the following gets logged:
[+57853.68s] DEBUG: Seat: Locking
[+57853.68s] DEBUG: Seat: Creating greeter session
[+57853.68s] DEBUG: Seat: Setting XDG_SEAT=seat0
[+57853.68s] DEBUG: Seat: Creating display server of type x
[+57853.68s] DEBUG: Seat: Starting local X display
[+57853.68s] DEBUG: Using VT 8
[+57853.68s] DEBUG: DisplayServer x-1: Logging to /var/log/x-1.log
[+57853.68s] DEBUG: DisplayServer x-1: Writing X server authority to /run/root/:1
[+57853.68s] DEBUG: DisplayServer x-1: Launching X Server
[+57853.68s] DEBUG: Launching process 14622: /nix/store/s4cgf7g18c9ihhzg0gfafznk56q29wap-xserver-wrapper :1 -auth /run/root/:1 -nolisten tcp vt8 -novtswitch
[+57853.68s] DEBUG: DisplayServer x-1: Waiting for ready signal from X server :1
[+57853.69s] DEBUG: Process 14622 exited with return value 1
[+57853.69s] DEBUG: DisplayServer x-1: X server stopped
[+57853.69s] DEBUG: Releasing VT 8
[+57853.69s] DEBUG: DisplayServer x-1: Removing X server authority /run/root/:1
[+57853.69s] DEBUG: Seat: Display server stopped
[+57853.69s] DEBUG: Seat: Stopping session
[+57853.69s] DEBUG: Seat: Session stopped
[+57853.69s] DEBUG: Seat: Stopping display server, no sessions require it

Notice it's calling the xserver wrapper with :1 -auth /run/root/:1 -nolisten tcp vt8 -novtswitch, but the xserver wrapper already contains a bunch of arguments and doesn't accept the ones from the commandline:
#! /bin/sh
export LD_LIBRARY_PATH="/nix/store/98bazl9c745c1q645y7l5nd9gpwg3zdd-libX11-1.6.2/lib:/nix/store/7x10isnwjc3zc2zx1bjss1i9ynw1idax-libXext-1.3.3/lib"
export PATH="/nix/store/mbq4nwsyjf3wpj00pxls75pikczizs16-coreutils-8.21/bin:/nix/store/0x2125kmj8b4mf9hzqpx39m0w8jjgy1i-findutils-4.4.2/bin:/nix/store/wy6rp99f93j720ara5j40gzf6vwprw78-gnugrep-2.14/bin:/nix/store/pq0kvrsqsr1kfxmyx82yv4nfj3hk7hr0-gnused-4.2.2/bin:/nix/store/gphg2ga8hn4pp8bbhg574ypdp7m1qqi5-systemd-212/bin:/nix/store/mbq4nwsyjf3wpj00pxls75pikczizs16-coreutils-8.21/sbin:/nix/store/0x2125kmj8b4mf9hzqpx39m0w8jjgy1i-findutils-4.4.2/sbin:/nix/store/wy6rp99f93j720ara5j40gzf6vwprw78-gnugrep-2.14/sbin:/nix/store/pq0kvrsqsr1kfxmyx82yv4nfj3hk7hr0-gnused-4.2.2/sbin:/nix/store/gphg2ga8hn4pp8bbhg574ypdp7m1qqi5-systemd-212/sbin"
export XKB_BINDIR="/nix/store/jahydi9l1bi9s3byk0xgdppipba8rgks-xkbcomp-1.2.4/bin"
export XORG_DRI_DRIVER_PATH="/run/opengl-driver/lib/dri"

exec /nix/store/rkwpx1fn0nwnnbbzwf4l8ap0sv3yzvwj-xorg-server-1.14.7/bin/X -ac -logverbose -verbose -terminate -logfile /var/log/X.0.log -config /nix/store/7b8sg5437zz89jd2xpw2wwd7klsanihm-xserver.conf :0 vt7 -xkbdir /nix/store/v1jcqalbh5ph20bd6ihjc8gck9i3pprs-xkeyboard-config-2.11/etc/X11/xkb -nolisten tcp

This causes the lockscreen greeter to be started on :0, but that's already in use by actual X.  Perhaps there's a better place to put the xserverArgs than here? https://github.com/NixOS/nixpkgs/blob/fabbf0c86ac8a6bdb3ceaa1ce4662aecc290cf1a/nixos/modules/services/x11/display-managers/lightdm.nix#L18
I'm happy to take a stab at fixing this, but I'm pretty new to the nix world so maybe there's something easy I'm missing.

still an issue

@bdimcheff @spinus -  what about now (post #11338) ?
cc // @philandstuff

Looks to me like it works now. I vote for closing.

this works for me now in 16.09, so i'm gonna close it


ARROW-841: [Python] Add pyarrow build to Appveyor

If this isn't fun, I don't know what is :)

Green build: https://ci.appveyor.com/project/wesm/arrow/build/1.0.267
@wesm feel free to merge if this done. Awesome work!


[chore] Skip flaky mongodb discovery tests

Tests for mongo 6 and 7 are flaky. Skipping for now. Reported a ticket to fix later

Some of the docker repositories were not public, so the image would be rebuilt and subject to docker hub limits every time. It should be resolved.


Add files via upload

add school's email domain to the GitHub repository www.icorvietobaschi.edu.it

icorvietobaschi.txt


Limit() is not an extension method

Found via a SO question.
The CollectionExtensions.Limit() methods are missing the this keyword.
See branch bug/limit-extension

Please see Manatee.Trello v1.14.1


Add Support for psycopg3

With the release of django 4.2a we can use psycopg3. However django-debug-toolbar is not compatible with it.

For folks searching the web why Django isn't working after upgrading to psycopg3:

'Connection' object has no attribute 'status'


Initial commit

This is an Initial Commit to moving the PoC started at https://github.com/kiali/kiali/pull/5061 into its own repository.
This work also allows to "deploy" the plugin in an OpenShift cluster to have a more close scenario of the artifacts needed (the operator will need to work on them).
Most of the work comes from the examples available [1].
The goal of this PR is to progress from a pure PoC into something more "pre-alpha" :).
[1] https://github.com/openshift/console/tree/master/dynamic-demo-plugin

Thanks @jmazzitelli


serial plugin not able to disable shell console

i'm trying to enable serial interface  but want the shell console to be disabled.
the raspiconfig only has the single flag and stumbled on the bug associated with it
trying to use the serial plugin but it seems to not disable the shell console I'm passing the following
--plugin serial
with no arguments
i had to run raspi-config to disable the console shell.

Will have a look. The plugin with no arguments should disable the console on the serial port.

Yep, nice buglet! Will be fixed in V11.8.

thanka

Fixed in V11.8. Please verify.

so finally was able to look at this.
i'm seeing the following in boot/firmware/config.txt
enable_uart=1
i'm seeing /dev/ttyS0 usually it shows as /dev/ttyAMA0 going through raspi-config
i cannot connect over serial and lsof is showing me nothing.
it seems to be working other than the different device name.

What Pi model are you using this on?

verifying it on: Raspberry Pi Zero 2 W Rev 1.0

Thx. Will check it out.

I think ttyAMA* is not created by raspi-config any more, in favor of ttyS0
That said, I mis-read raspi-config a bit, so was not disabling the uart, hence enable_uart=1
This will be fixed in next release, and adding a new argument enableuart, in case you want the shell disabled, and the uart enabled. 🤷♂

I'm running the latest version of the OS.
https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2024-03-15/
now i don't know all the ins and outs but in manually configuring from raspi-config i get the following:
serial disabled
console disabled
tcronin@tec-zero:~ $ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Apr 29 20:50 /dev/ttyS0
tcronin@tec-zero:~ $ ls -l /dev/ttyAMA0
ls: cannot access '/dev/ttyAMA0': No such file or directory
tcronin@tec-zero:~ $ ls -l /dev/serial0
ls: cannot access '/dev/serial0': No such file or directory
/boot/firmware/config.text
enable_uart=0
tcronin@tec-zero:~ $ sudo lsof /dev/ttyS0
tcronin@tec-zero:~ $
serial enabled
console disabled
tcronin@tec-zero:~ $ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Apr 29 20:56 /dev/ttyS0
tcronin@tec-zero:~ $ ls -l /dev/ttyAMA0
crw-rw---- 1 root dialout 204, 64 Apr 29 20:56 /dev/ttyAMA0
tcronin@tec-zero:~ $ ls -l /dev/serial0
lrwxrwxrwx 1 root root 7 Apr 29 20:56 /dev/serial0 -> ttyAMA0
/boot/firmware/config.text
enable_uart=1
tcronin@tec-zero:~ $ sudo lsof /dev/ttyS0
tcronin@tec-zero:~ $ sudo lsof /dev/ttyAMA0
tcronin@tec-zero:~ $
serial enabled
console enabled
tcronin@tec-zero:~ $ sudo lsof /dev/ttyS0
tcronin@tec-zero:~ $ sudo lsof /dev/ttyAMA0
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
agetty  668 root    0u   CHR 204,64      0t0  132 /dev/ttyAMA0
agetty  668 root    1u   CHR 204,64      0t0  132 /dev/ttyAMA0
agetty  668 root    2u   CHR 204,64      0t0  132 /dev/ttyAMA0

Thanks. I started with a fresh, unadulterated IMG the same as the one you used on a Pi2W. When it booted:

No /dev/ttyS0
No /dev/ttyAMA*
no UART in config.txt

Used raspi-config to enable and rebooted

console=serial0,115200 in cmdline.txt
enable_uart=1 in config.sys
/dev/serial0 is a link to /dev/ttyS0

Used raspi-config to disable and rebooted

cmdline.txt and config.txt reverted to no console=serial0 and enable_uart=0

Curiously, no sign of /dev/ttyAMA* during any of these steps. Wonder how you got it?
Then used a lightly customized IMG and burned it with --plugin serial

Serial port was disabled

Next used that same lightly customized IMG and burned with --plugin serial:enableshell

Serial port shell was correctly enabled as with raspi-config
Again, no sign of /dev/ttyAMA*

So, I believe this will work correctly in the next sdm release, targeting it for later this week. 🤞

most of my knowledge on this  is googling, so not sure why as long as i can use serial gpio.  Currently for a gps  hat for a time server im trying to set up.
some cursory googling gives me this, still not clear on why the different name for the same port
https://unix.stackexchange.com/questions/307390/what-is-the-difference-between-ttys0-ttyusb0-and-ttyama0-in-linux
thanks again for the quick responses

I believe this is corrected in V12.0. Please test.Thx!

Closing due to no activity. @tim-oe please reopen if needed. Thx


KAFKA-6283: Configuration of custom SCRAM SaslServer implementations

Pass the jaasContext to the ScramServerCallbackHandler, so that custom implementations of a SCRAM SaslServer have access to the JAAS configuration.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@ijuma @rajinisivaram please could one of you review this?

retest this please

@tombentley There is a KIP to make callback handlers configurable (https://cwiki.apache.org/confluence/display/KAFKA/KIP-86%3A+Configurable+SASL+callback+handlers). I am hoping to  make the security implementation more customizable in that KIP. At the moment, the whole implementation is internal.

Thanks @rajinisivaram, I don't know how I managed to overlook that KIP.


CUDA Support

Good day,
Is it possible to add CUDA support for Opencv?
Thanks

Hi,
Yes, you can add the CUDA support by building OpenCV library with WITH_CUDA option.
You need CUDA SDK and OpenCV, CMake, Visual Studio for Windows.
For UNIX, please refer to http://www.pyimagesearch.com/2016/07/11/compiling-opencv-with-cuda-support/
Unfortunately, I've never used CUDA. The official tutorial may help you.
http://docs.opencv.org/3.1.0/d3/d52/tutorial_windows_install.html
Regards

Thanks for the information, I've tried without successs with visual studio but it won't work. Does the CvDrone only work with OpenCV 3.1?

@JAbdor7
CV Drone works with either OpenCV 2.4.x and 3.x.
(Current version bundles only 3.1 with opencv_contrib)

Is there a 64bit version of CV drone. My entire code is in 64 bit and it uses CUDA 8 supported opencv libraries. Unfortunately, CUDA 8 doesn't have a 32bit version. What should I do?

Are you able to release a 64 bit version of cv_Drone

Are you able to release a 64 bit version of cv_drone?

@JAbdor7 Unfortunately, I have no time to update CV Drone now because I should finish two apps until June and July, I'm really sorry.

You r library was so nice, it's a shame. My issues is that I am using CUDA
which doesn't support 32 bit anymore and I need to somehow control the
drone on a 64 bit platform. Can you help with that at all?
I need this within 3 weeks for my final part of my Honours Thesis at
Western Sydney University. I appreciate your time.
On Mon, Apr 24, 2017 at 8:55 AM, puku0x<EMAIL_ADDRESS>wrote:

@JAbdor7 https://github.com/JAbdor7 Unfortunately, I have no time to
update CV Drone now because I should finish two apps until June and July,
I'm really sorry.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/puku0x/cvdrone/issues/56#issuecomment-296717056, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AVCoQDzOn7jyXCDOKZJn7Nfczhztk8fsks5rzMYGgaJpZM4Kbm3z
.

Compile opencv in 64 bit, switch pthreads and ffmpeg librarys to 64 bit and build.


Add an map_copy_read_only API

Fixes #81.
Should work on unix, untested on windows.

is there any update on this?

The CI error seems to stem from not-supported-anymore rustc triplets (IOS and other apple targets):

error: component 'rust-std' for target '$TRG' is unavailable for download for channel stable

The rest seems to be linker errors and one cross failure, I have no idea what's causing that.


Different output number when running a same binary

I used the AOT mode of different runtimes to run randomly generated wasm binaries, and the output number from WAMR was different from the others
filea4199_8.zip
==================================================
/a/filea4199_8.wasm
-----------------wasmtime-----------------
Error: failed to run main module `/a/filea4199_8.cwasm`

Caused by:
    0: failed to invoke `main`
    1: error while executing at wasm backtrace:
           0:  0x39f - <unknown>!<wasm function 0>
           1: 0x37c4 - <unknown>!<wasm function 33>
    2: wasm trap: integer divide by zero

-----------------wasmer-----------------
Compiler: cranelift
Target: x86_64-unknown-linux-gnu
✔ File compiled successfully to `/a/filea4199_8.wasmu`.
error: failed to run `/a/filea4199_8.wasmu`
╰─▶ 1: RuntimeError: integer divide by zero
           at <unnamed> (/a/filea4199_8.wasm[0]:0x39f)
           at <unnamed> (/a/filea4199_8.wasm[33]:0x37c4)

-----------------wamr-----------------
Create AoT compiler with:
  target:        x86_64
  target cpu:    znver3
  target triple: x86_64-unknown-linux-gnu
  cpu features:
  opt level:     3
  size level:    3
  output format: AoT file
Compile success, file /a/filea4199_8.wasm.aot was generated.
Exception: out of bounds memory access

-----------------wasmedge-----------------
[2023-11-30 14:10:55.470] [info] compile start
[2023-11-30 14:10:55.477] [info] verify start
[2023-11-30 14:10:55.480] [info] optimize start
[2023-11-30 14:10:55.582] [info] codegen start
[2023-11-30 14:10:55.661] [info] output start
[2023-11-30 14:10:55.684] [info] compile done
[2023-11-30 14:10:55.789] [error] execution failed: integer divide by zero, Code: 0x84
[2023-11-30 14:10:55.789] [error]     When executing function name: "main"

/home/wasm-micro-runtime/wamr-compiler/build/wamrc --version:
	wamrc 1.2.3

----------------------------------------------------
/home/wasm-micro-runtime/product-mini/platforms/linux/build/iwasm --version:
	iwasm 1.2.3

wamr_command = f"{wamrc} --bounds-checks=1 -o {filename}.aot {filename}\
            ; {iwasm} --heap-size=0 -f main {filename}.aot"

Hi, this should be due to the same reason as https://github.com/bytecodealliance/wasm-micro-runtime/issues/2847. I will test it again once the modifications for https://github.com/bytecodealliance/wasm-micro-runtime/issues/2847 are made.

Update: this is because currently, WAMR has an optimization that resizes 65536 pages to 1 page that has 4GB size, so memory.size will return 1 instead of 65536, which is the reason for the discrepancy in this test case.


Create + REI Crash

Describe the Bug
Crash log: https://pastebin.com/8kD1PbC0
Reproduction Steps

Join the world
Open the inventory
Start scrolling through the REI list of items.
Game crashes.

Expected Result
The game should not have crashed while viewing the list of items.
Screenshots and Videos
No response
Crash Report or Log
No response
Operating System
Windows 10
Mod Version
0.5.0g
Minecraft Version
1.19.2
Other Mods
No response
Additional Context
No response

Bubble blower is a Supplementaries' item. I'm unable to reproduce this, though, so I don't think it has anything to do with either Create or REI.

ya this does not seem to be a create problem

Create is not mentioned in the log at all, I don't think it's our issue.


Could change the style of exising scroll bar

🎮 feature Request
The scroll bar is set to default style
Point down the features
It can be changed according to theme of the webpage
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Plz assign this task to me.

@aasthabagrawal Could you please explain more what you want to do, if possible you can also add screenshot.

@Durgesh4993  Can you please assign this to me?


AKS + Managed Identity + exiting Virtual Network = assignment vNET

After deploy the AKS with Managed Identity and exiting Virtual Network, is required to assign permission to Managed Identity Control plane on Virtual Network to be able to expose Kubernetes Services Load Balancer type.
Declare the VARs
$ OBJECTID=
$ VNETID=
Assign Managed Identity permission to VNET
$ az role assignment create --assignee $OBJECTID --role 'Contributor' --scope $VNETID

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

ID: 6a9c74a8-9f1a-3d3d-3aed-f8ec45f92e05
Version Independent ID: 01e98043-dc80-490e-a761-8d558ff4e6df
Content: Use managed identities in Azure Kubernetes Service - Azure Kubernetes Service
Content Source: articles/aks/use-managed-identity.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@lucaslccs
Thanks for the feedback! We are currently investigating and will get back on this.

@jluk

@TomGeske

@lucaslccs: I just made a PR to explain how retrieve managed identity object identity once the cluster is being created.
Today we already have section on delegated access for networking resources in our managed identity document: http://aka.ms/aks/mi.
Soon we will allow BYO for control plane MI. This capability will go in preview next couple of weeks.  Let me know if you need anything else.

@TomGeske Thanks for sharing the details and updating the document.


Unable to Sign in - TypeError: t.contains is not a function

Extension version: 0.46.0
VSCode Version: 1.68.1
OS: Windows 10 Pro 21H2

Steps to Reproduce:

Press "Sign in" button
Observe "Error signing in to GitHub" toast message

Output:

[Info] Error signing in to GitHub: TypeError: t.contains is not a function
[Info] TypeError: t.contains is not a function
at f1.setCurrentUser (c:\Users\nisola.vscode\extensions\github.vscode-pull-request-github-0.46.0\dist\extension.js:1111:16459)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async f1.createHub (c:\Users\nisola.vscode\extensions\github.vscode-pull-request-github-0.46.0\dist\extension.js:1111:17854)
at async f1.login (c:\Users\nisola.vscode\extensions\github.vscode-pull-request-github-0.46.0\dist\extension.js:1111:15547)
at async gm.authenticate (c:\Users\nisola.vscode\extensions\github.vscode-pull-request-github-0.46.0\dist\extension.js:1227:18011)
at async c:\Users\nisola.vscode\extensions\github.vscode-pull-request-github-0.46.0\dist\extension.js:1227:6624
at async o._executeContributedCommand (c:\Users\nisola\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:83:62513)

Troubleshooting steps completed:

Uninstalled all other extensions
Uninstalled/Reinstalled GitHub Pull Requests and Issues extenstion
Uninstall/Reinstall of VSCode
Uninstall VSCode, delete %UserProfile%/.vscode directory, reinstall VSCode
Clear cache and cookies for Github in both Edge and Chrome

I'm seeing this, as well, but running WSL2 Ubuntu:

Extension version: 0.46.0
VSCode Version: 1.69.2
OS: Windows 10 Pro 21H2 - WSL2 Ubuntu 20.04

Log output:
[Info] Error signing in to GitHub: TypeError: t.contains is not a function
[Info] TypeError: t.contains is not a function
	at f1.setCurrentUser (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.46.0/dist/extension.js:1111:16459)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async f1.createHub (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.46.0/dist/extension.js:1111:17854)
	at async f1.login (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.46.0/dist/extension.js:1111:15547)
	at async gm.authenticate (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.46.0/dist/extension.js:1227:18011)
	at async /home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.46.0/dist/extension.js:1227:6624
	at async o._executeContributedCommand (/home/john/.vscode-server/bin/3b889b090b5ad5793f524b5d1d39fda662b96a2a/out/vs/workbench/api/node/extensionHostProcess.js:85:62863)

Thank you for the quick patch, I switched to the pre-release version, but unfortunately still get an error around that catch statement.
[Info] Error signing in to GitHub: TypeError: t.message.contains is not a function
[Info] TypeError: t.message.contains is not a function
	at S1.setCurrentUser (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.47.2022072509/dist/extension.js:1148:16986)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async S1.createHub (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.47.2022072509/dist/extension.js:1148:18319)
	at async S1.login (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.47.2022072509/dist/extension.js:1148:15989)
	at async Sm.authenticate (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.47.2022072509/dist/extension.js:1265:18461)
	at async /home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.47.2022072509/dist/extension.js:1265:6905
	at async o._executeContributedCommand (/home/john/.vscode-server/bin/3b889b090b5ad5793f524b5d1d39fda662b96a2a/out/vs/workbench/api/node/extensionHostProcess.js:85:62863)

Please let me know if I should open a separate issue.

I switched to a pre-release build as well (v0.47.2022072509) and am still getting an error as well.

[Info] Authentication> Error setting the user Bad credentials.
[Info] Error signing in to GitHub: TypeError: t.message.contains is not a function
[Info] TypeError: t.message.contains is not a function
at S1.setCurrentUser (c:\Users\nisola.vscode\extensions\github.vscode-pull-request-github-0.47.2022072509\dist\extension.js:1148:16986)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async S1.createHub (c:\Users\nisola.vscode\extensions\github.vscode-pull-request-github-0.47.2022072509\dist\extension.js:1148:18319)
at async S1.login (c:\Users\nisola.vscode\extensions\github.vscode-pull-request-github-0.47.2022072509\dist\extension.js:1148:15989)
at async Sm.authenticate (c:\Users\nisola.vscode\extensions\github.vscode-pull-request-github-0.47.2022072509\dist\extension.js:1265:18461)
at async c:\Users\nisola.vscode\extensions\github.vscode-pull-request-github-0.47.2022072509\dist\extension.js:1265:6905
at async o._executeContributedCommand (c:\Users\nisola\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:85:62863)

I've resolved this, at least for now, by removing my github authentication stored Windows credentials.

Start VSCode and reauth to github

I'm not sure what was wrong with the stored credentials, but hopefully this will help others move past this if you're running in to it.

@tofupup thank you for posting your work around! I've removed the code that's having this issue and the change will be in the pre-release build in the next 3 hours.

@alexr00 Appreciate your quick work on this!  I took at look at the patch, and from my limited knowledge it looks like it may still have the issue shown in the second logs @nisola-c4 and I posted above.  It passes the e.message existence check, but in the case we were having, e.message.contains isn't a function.
I was using the pre-release extension for the second logs, which I think already had this patch integrated at the time I installed it.  Unfortunately, I got it working, so wasn't able to double check.
I messed with this some more, and have been able to get it fail in a repeatable fashion (maybe needs to be running on Windows or WSL to use the Windows credentials, not sure if this would happen on a  pure linux system).  It looks like it's related to Windows credentials having a github authentication key set, but the GitHub for VS Code oauth app has been revoked:

From fresh VSCode, with Windows credential key removed ( cmdkey /delete:vscodevscode.github-authentication/github.auth ), open Github pull requests and allow auth to github
Verify it's working
Stop VSCode
On https://github.com/settings/applications revoke the "GitHub for VS Code" application
Start VSCode and open Github Pull Requests extension and try to use the login button again
Notice "Error signing in to Github" pops up, and logs show:

[Info] TypeError: t.message.contains is not a function
	at S1.setCurrentUser (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.47.2022072509/dist/extension.js:1148:16986)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async S1.createHub (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.47.2022072509/dist/extension.js:1148:18319)
	at async S1.login (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.47.2022072509/dist/extension.js:1148:15989)
	at async Sm.authenticate (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.47.2022072509/dist/extension.js:1265:18461)
	at async /home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.47.2022072509/dist/extension.js:1265:6905
	at async o._executeContributedCommand (/home/john/.vscode-server/bin/3b889b090b5ad5793f524b5d1d39fda662b96a2a/out/vs/workbench/api/node/extensionHostProcess.js:85:62863)

Hope this helps, let me know if you need any further info.

Also tested with the newly released 0.46.1 version, which still displays the issue:
[Info] Error signing in to GitHub: TypeError: t.message.contains is not a function
[Info] TypeError: t.message.contains is not a function
	at f1.setCurrentUser (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.46.1/dist/extension.js:1111:16544)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async f1.createHub (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.46.1/dist/extension.js:1111:17877)
	at async f1.login (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.46.1/dist/extension.js:1111:15547)
	at async gm.authenticate (/home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.46.1/dist/extension.js:1227:18011)
	at async /home/john/.vscode-server/extensions/github.vscode-pull-request-github-0.46.1/dist/extension.js:1227:6624
	at async o._executeContributedCommand (/home/john/.vscode-server/bin/3b889b090b5ad5793f524b5d1d39fda662b96a2a/out/vs/workbench/api/node/extensionHostProcess.js:85:62863)

@tofupup 0.46.1 doesn't have the fix, so I would expect the issue to continue there.
What version of the pre-release build were you using? Only the very latest has the fix.

@alexr00 I apologize, I didn't notice that my VSCode wasn't updating to the 0.47.2022072609 version.  It would show that version at the top when installing the prerelease, but it would keep installing 0.47.2022072509.  After downloading the VSIX it looks like 0.47.2022072609 will not work with 1.69.2, it requires the VSCode Insiders.
I installed 0.47.2022072609 on Insiders, and you are correct, the error now references that we have bad credentials:
[Info] Error signing in to GitHub: HttpError: Bad credentials
[Info] HttpError: Bad credentials
	at /home/john/.vscode-server-insiders/extensions/github.vscode-pull-request-github-0.47.2022072609/dist/extension.js:1131:6173
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async S1.setCurrentUser (/home/john/.vscode-server-insiders/extensions/github.vscode-pull-request-github-0.47.2022072609/dist/extension.js:1148:16819)
	at async S1.createHub (/home/john/.vscode-server-insiders/extensions/github.vscode-pull-request-github-0.47.2022072609/dist/extension.js:1148:18000)
	at async S1.login (/home/john/.vscode-server-insiders/extensions/github.vscode-pull-request-github-0.47.2022072609/dist/extension.js:1148:15989)
	at async Sm.authenticate (/home/john/.vscode-server-insiders/extensions/github.vscode-pull-request-github-0.47.2022072609/dist/extension.js:1265:18461)
	at async /home/john/.vscode-server-insiders/extensions/github.vscode-pull-request-github-0.47.2022072609/dist/extension.js:1265:6905
	at async a._executeContributedCommand (/home/john/.vscode-server-insiders/bin/cc098faebd320a2eea3da6ae154b7e2e1347a4b9/out/vs/workbench/api/node/extensionHostProcess.js:85:63914)

It doesn't pop up the ability to reauth with Github as if using it the first time, but the definitely the initial error is gone at this point.  Sorry for the confusion!


Looks like jsconfig.json breaks JS/TS language features

VSCode Version:

Commit: a5d1cc28bb5da32ec67e86cc50f84c67cc690321
Date: 2020-06-10T08:59:06.977Z
Electron: 7.3.1
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 19.4.0

OS Version: Mac OS Catalina 10.15.4

Steps to Reproduce:

Open javascript project with root jsconfig.json file with this code:

{
  "compilerOptions": {
    "allowJs": true
  }
}

Open "Output" panel, there is next permanent text:

[Info  - 12:11:22.226] Starting TS Server
[Info  - 12:11:22.226] Using tsserver from: /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib
[Info  - 12:11:22.227] <syntax> Forking...
[Info  - 12:11:22.232] <syntax> Starting...
[Info  - 12:11:22.236] <semantic> Forking...
[Info  - 12:11:22.240] <semantic> Starting...

Problem
cmd + click for move to imported JS entity is not working
Removing jsconfig.json and reloading solves the problem

Does this issue occur when all extensions are disabled?: Yes
Related Issues:
https://github.com/microsoft/vscode/issues/68896,
https://github.com/microsoft/vscode/issues/17211  and other same that marked as resolved

Can you share the project that causes this?

@mjbvz a project in which it is possible to reproduce the problem is commercial.
There is a video demonstration of problem
https://drive.google.com/file/d/1BH0k-PyYJS4wRfDNXP5oYDI8g8zV0vxZ/view
after putting jsconfig.json in project root catalog, cmd + click operation stops working
This is a +- large project with React (JSX files), CodeceptJS, ESLint and other technologies

A minimal example project and steps to reproduce would be very helpful.
Also, in the TypeScript section of the Output panel, are there are error messages (stack traces) printed when the problem happens?

I am trying to find a project to reproduce the problem...

Also, in the TypeScript section of the Output panel, are there are error messages (stack traces) printed when the problem happens?

@mjbvz on cmd + hover on import i get this TypeScript log:

Output panel (TypeScript, with verbose)
[Trace  - 05:25:22.420] <semantic> Sending request: quickinfo (3105). Response expected: yes. Current queue length: 0
Arguments: {
    "file": "/Users/__SOME_PRIVATE_PATH__/components/discussion-section/index.jsx",
    "line": 6,
    "offset": 19
}
[Trace  - 05:25:22.451] <semantic> Response received: quickinfo (3105). Request took 31 ms. Success: true
Result: {
    "kind": "const",
    "kindModifiers": "export",
    "start": {
        "line": 6,
        "offset": 10
    },
    "end": {
        "line": 6,
        "offset": 35
    },
    "displayString": "const SHORT_COMMENT_LIST_LENGTH: number",
    "documentation": "Длинна ограниченных списков обсуждений (отзывов и вопросов).",
    "tags": [
        {
            "name": "type",
            "text": "{number}"
        }
    ]
}
[Trace  - 05:25:22.639] <semantic> Sending request: definitionAndBoundSpan (3106). Response expected: yes. Current queue length: 0
Arguments: {
    "file": "/Users/__SOME_PRIVATE_PATH__/components/discussion-section/index.jsx",
    "line": 4,
    "offset": 18
}
[Trace  - 05:25:22.640] <semantic> Response received: definitionAndBoundSpan (3106). Request took 1 ms. Success: true
Result: {
    "definitions": [
        {
            "file": "/Users/__SOME_PRIVATE_PATH__/components/discussion-section/index.jsx",
            "start": {
                "line": 4,
                "offset": 10
            },
            "end": {
                "line": 4,
                "offset": 24
            },
            "contextStart": {
                "line": 4,
                "offset": 1
            },
            "contextEnd": {
                "line": 4,
                "offset": 75
            }
        }
    ],
    "textSpan": {
        "start": {
            "line": 4,
            "offset": 10
        },
        "end": {
            "line": 4,
            "offset": 24
        }
    }
}
[Trace  - 05:25:22.784] <semantic> Sending request: quickinfo (3107). Response expected: yes. Current queue length: 0
Arguments: {
    "file": "/Users/__SOME_PRIVATE_PATH__/components/discussion-section/index.jsx",
    "line": 4,
    "offset": 18
}
[Trace  - 05:25:22.785] <semantic> Response received: quickinfo (3107). Request took 1 ms. Success: true
Result: {
    "kind": "alias",
    "kindModifiers": "",
    "start": {
        "line": 4,
        "offset": 10
    },
    "end": {
        "line": 4,
        "offset": 24
    },
    "displayString": "import ReviewsSection",
    "documentation": "",
    "tags": []
}
[Trace  - 05:25:23.99] <semantic> Sending request: quickinfo (3108). Response expected: yes. Current queue length: 0
Arguments: {
    "file": "/Users/__SOME_PRIVATE_PATH__/components/discussion-section/index.jsx",
    "line": 4,
    "offset": 17
}
[Trace  - 05:25:23.101] <semantic> Response received: quickinfo (3108). Request took 2 ms. Success: true
Result: {
    "kind": "alias",
    "kindModifiers": "",
    "start": {
        "line": 4,
        "offset": 10
    },
    "end": {
        "line": 4,
        "offset": 24
    },
    "displayString": "import ReviewsSection",
    "documentation": "",
    "tags": []
}
[Trace  - 05:25:26.440] <semantic> Sending request: quickinfo (3109). Response expected: yes. Current queue length: 0
Arguments: {
    "file": "/Users/__SOME_PRIVATE_PATH__/components/discussion-section/index.jsx",
    "line": 4,
    "offset": 17
}
[Trace  - 05:25:26.441] <semantic> Response received: quickinfo (3109). Request took 1 ms. Success: true
Result: {
    "kind": "alias",
    "kindModifiers": "",
    "start": {
        "line": 4,
        "offset": 10
    },
    "end": {
        "line": 4,
        "offset": 24
    },
    "displayString": "import ReviewsSection",
    "documentation": "",
    "tags": []
}

@mjbvz i reproduced the error in my project: https://github.com/krutoo/simplest-react-lazy
(sorry for self-promotion)

Thanks. Does the jsconfig you create contain a jsx entry? For example:
   "jsx": "react"

See https://github.com/microsoft/vscode/issues/100251#issuecomment-646239840 for example of why this is important

Thanks. Does the jsconfig you create contain a jsx entry? For example:
   "jsx": "react"

Yes, this fixes the problem. Thanks! Although it was rather unobvious)


Simple Q: can ccs stream Google Buckets

Hi,
I've a simple question, can ccs accept streamed BAM stored in Google buckets?
Because I see the following from https://ccs.how/faq/sqiie.html
/opt/pacbio/pa-ccs/current/bin/ccs \ # binary
  ...
  --streamed \ # do not use a BAM file as input, but a BAM input stream
  ...
  --bam /data/pa/m64012_201202_224049.reads.bam \ # explicit BAM file name

If so (that'd super nice), do I just provide the gs-path to --bam?
Thanks!
Steve

Hi Steve,
the --bam option is for the output file. If you use --streamed then there is no explicit input file, but it uses stdin. Quick example:
samtools view -h input.bam | ccs out.bam --log-level INFO --streamed

If you can call samtools with your file from your cloud source, then it should work. Does that make sense to you?


(FACT-2824) Facter make ec2 metadata requests when on gce

ec2_metadata fact tries to determine on what hypervisor or on what cloud provider it is running on. If it detecters aws, it will call the ec2 fact.
Problem:

ec2_metadata fact calls the ec2 resolver when it detects kvm hypervisor, but there are other providers that use kvm, one example is gce.

Solution:

improve the detection of hypervisor or cloud provider by adding the logic from virtual and dmi decoder

CLA signed by all contributors.

Jenkins please test this on all