HTTPS Over HTTP Proxy Tunneling Issue

Environment details

OS: Ubuntu Linux 16.04
Node.js version: 8.10.0
npm version: 5.10.0
gtoken version:  2.3.0

Steps to reproduce

Be behind a corporate proxy doing HTTPS over HTTP tunneling.  The HTTPS_PROXY environment variable will be set to http://xxxxxx:8080 or some other unsecured port to capture local traffic for retention.
Use Google Dialogflow 0.5.0, 0.6.0 or other Google Cloud Service library that relies on google-gax 0.17.1 -> google-auth-library 1.6.1 -> gtoken 2.3.0 in its dependency tree as determined by npm ls gtoken
Notice that there will be an error from openssl dumped to the console along the lines of "invalid protocol".  (One example is Auth error:Error: write EPROTO<PHONE_NUMBER>90080:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:827:)

I am not an expert in the Google API architecture, but it appears that the issue is caused when GToken uses axios to facilitate its underlying HTTPS connection to authenticate with Google APIs.  Axios documentation covers a lot of ground, but the basic feature necessary is to not assume that the proxy protocol is HTTPS just because the destination URL is.  Maybe there is a way to use Axios differently in this case?  Maybe use whatever HTTP library other areas of the google-gax / grpc projects use to successfully capture project metadata etc. through a proxy configured this way?  Maybe this problem has already been fixed?  I don't know, but hopefully this report helps someone other than me :smile:

Greetings @mephicide! Could you try installing this library directly from master, and seeing if you still have the issue?  We made some changes in here recently that could fix the glitch.

Hey @JustinBeckwith!  I see your name all over these projects I am working with; you're doing a great job, and I am sure you are busy, so thanks for taking the time to help :smile:
I installed the library directly to my top-level project by adding a dependency to my local node-gtoken codebase in my project's package.json, which appears to have overridden the transitive dependency as reported by npm ls gtoken which shows:
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     └──<EMAIL_ADDRESS>-> /home/user/node-gtoken deduped
└──<EMAIL_ADDRESS>-> /home/user/node-gtoken

My local copy of node-gtoken is on rev. 2f22c3a350c7a672a3cdac532c77563cdd3e0446 which shows a recent commit from Nov. 19th 2018.  Let me know if I have set everything up correctly!
Unfortunately, I am still seeing the same SSL issue.  I have confirmed that overriding my dependency on axios to use one where I have edited their code to tunnel HTTPS over HTTP produces the expected results, so the issue I am experiencing is still due to the same underlying use of axios from what I can tell.

@stephenplusplus another proxy issue for you 🍔

Just ran into this while trying to use Cloud Firestore (see https://github.com/googleapis/google-auth-library-nodejs/issues/571 and https://github.com/googleapis/nodejs-firestore/issues/493 for full context). After a bit of experimenting, here's what I've found out:

v2.3.0 of the library uses Axios, which has a known issue with HTTPS proxy discovery. This breaks the library when HTTPS_PROXY env variable is set.
v2.3.1 uses gaxios, which supports proxy servers correctly, but one must set the https_proxy environment variable (i.e. as opposed to HTTPS_PROXY):

https://github.com/JustinBeckwith/gaxios/blob/db3b02b36b78e70ee1d93ad0485826fd7c058d67/src/gaxios.ts#L134-L142

👋 The issue with capitalization was fixed here:
https://github.com/JustinBeckwith/gaxios/commit/b5edd2de974545ec7c401e358efbd99271663fd0
And a new release was cut :)


Allow Null as the upper bound of a type variable?

The language specification prevents an upper bound of a formal type parameter from being Null, because Null is a subtype of all other types, and the circularity prevention verbiage (catching cases like <X extends Y, Y extends X>) just says:
It is a static type warning if a type parameter is a supertype of its upper bound.

where static type warning means compile-time error in Dart 2. A similar situation will emerge with a denotable true bottom type Nothing, if such a type is introduced, say, in connection with the introduction of non-null types—the important part is simply that the bound cannot be a type which is a subtype of every other type.
We could consider this to be an accidental special case, in which case we would want to rephrase the specification.
We could also decide that it is useless to specify an upper bound which is the bottom type, because this implies that the bottom type is the only possible actual type argument, i.e., it implies that this type argument will never carry any useful information. Obviously, we'd then have requests for a lint to get rid of it ;-).
This issue is concerned with making a decision on which way to go on that.

@lrhn, @leafpetersen, do you consider it worthwhile to change the specification in order to allow this?

My general take is that non-uniformities are bad unless there's a good reason for them.  I don't see it as being especially useful, but I see no real reason to disallow it.  You can get it indirectly via instantiation, so... I'd say let it fly.  If the developer really wants a type variable that can only be Null... who am I to say they're wrong?

Why is f<T extends Null>(){}<Null>() different from f<T extends in>(){}<int>().
I'd say that Null is no more a supertype of itself than int is, so either we should err in both cases, or in none.
If we want to change the Null is a subtype of every type to ... except itself, then I'm all for it, but I dont thing the implementations have any excuse for disallowing Null even with the current behavior. The <: relation is reflexive, Null is not special. It looks like an implementation bug to me.

We don't have a proof of int <: T given that T is declared to have the upper bound int (semantically, we only know that T is some subtype of int, so there's a good reason why we can't prove int <: T), but we do have a proof that Null <: T (until we introduce non-null types, which will make Null a non-bottom type again).
In any case, you both dislike the anomaly, so I'll make an adjustment to the spec.

Created this CL to allow Null as a type variable bound.

Closing: As of 4fd04044fb43ffc7a018470caf3e9df097613991, the subtype circularity prevention rule in the language specification has be adjusted such that Null is now an acceptable upper bound for a type variable.


control: Handler should check path + peer

Currently, the beacon server uses the hop-field to map the ingress interface without verifying the hop-field mac.
Also, it does not check that the peer IA matches the expected value.
Also, the path should be only 2 hops long.
The handler should verify the MAC before trusting the IfID information.
Then it should check that the info it has stored for that IfID and the peer IA match.

What is the thread model? (If there still is one; the current code in handleBeacon seems fine to me).


Merged object changelog

Towards #268
This PR adds a changelog entry for merged objects. Do we want more or less detail here?
Note also that this file doesn't have the cell type annotation changelog date in it yet, since we haven't yet dated it, so we'll need to keep tabs on that. It also didn't have the anndata one either (i guess we never merged main back into dev), so I manually added it.

Confirmed that the build looks as expected ✅


What happens if a pod dies and is replaced?

Is there any manual intervention required or does the fresh ZK member gracefully catch up / continue work on a new pod?
I assume it's useful to use a persistent volume mount for /zookeeper/data – is that correct?

A new member to a ZK ensemble synchronizes it's state with the ensemble.  A ZK member recovering from a failure that has order state, as as by using a persistent volume, will synchronize with the ensemble using the state is has as a base.


custome route support

Think such a case: I have two route path, /blog and /blog/first-blog, and I hope the two route have own page. That means, I can't use the nested route, which will make the second route as a child component of the first route. So far, I don't find any efficient way from doc to solve this. Can there is an official tip to answer this requirement.

you can define router block inside nuxt.config.js file
....
router: {
    extendRoutes(routes, resolve) {
      routes.push({
        name: 'custom',
        path: '/blog/first-blog',
        component: resolve(__dirname, 'pages/blog/index.vue')
      })
    }
  },
....

I have tried this method in 1.0.0.rc3.
Hope it works for you.

@sj82516  Oh, Wonderful ! It should added to the document.

@sj82516  Not same .vue file. I just need a page for /blog to show blog list, and another page for /blog/:slug content.  Then how to construct the directory. Avoid content page as child of list page


make fetching cred def it dynamic

Instead of hard coding cred_def_id, this fetches the stored value from aca-py /credential-definitions/created (it should always be the case that the agent that created the cred def is the one issuing the credential)
Signed-off-by: Jacob Saur<EMAIL_ADDRESS>

Turns out we don't really need this, closing in favor of https://github.com/kiva/aries-controller/pull/28

Turns out we don't really need this, closing in favor of https://github.com/kiva/aries-controller/pull/28


added CU12 for 2016 SP1

added CU12 for 2016 SP1

Excellent, all tests pass! Thank you @MikeyBronowski !


Relabel search highlights heading

Why these changes are being introduced:
Usability testing indicated that the current search highlights heading may be confusing to some users.
Relevant ticket(s):

GDT-305

How this addresses that need:
This relabels the heading as suggested by UXWS.
Side effects of this change:
None.
Developer
Accessibility

[x] ANDI or WAVE has been run in accordance to our guide.
[ ] This PR contains no changes to the view layer.
[ ] New issues flagged by ANDI or WAVE have been resolved.
[ ] New issues flagged by ANDI or WAVE have been ticketed (link in the Pull Request details above).
[x] No new accessibility issues have been flagged.

New ENV

[ ] All new ENV is documented in README.
[ ] All new ENV has been added to Heroku Pipeline, Staging and Prod.
[x] ENV has not changed.

Approval beyond code review

[ ] UXWS/stakeholder approval has been confirmed.
[x] UXWS/stakeholder review will be completed retroactively.
[ ] UXWS/stakeholder review is not needed.

Additional context needed to review
N/A
Code Reviewer
Code

[ ] I have confirmed that the code works as intended.
[ ] Any CodeClimate issues have been fixed or confirmed as
added technical debt.

Documentation

[ ] The commit message is clear and follows our guidelines
(not just this pull request message).
[ ] The documentation has been updated or is unnecessary.
[ ] New dependencies are appropriate or there were no changes.

Testing

[ ] There are appropriate tests covering any new functionality.
[ ] No additional test coverage is required.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
552

Relevant Lines:
559

💛  - Coveralls

Untagging review on this one for now. I got some advance feedback from Darcy that I'd like to implement first.


menubar works fine, but m-x evernote-mode return errors

menu-bar "Evernote" is OK, all note can be fetched and edited, but when I use M-x evernote-mode, it returns errors, 101 or 102. By the way, M-x evernote-browser is still OK.
This problem really is annoying...... can someone help me out

I assume issue #25 is just the same as this, and I bet his menubar works fine too, just the M-x evernote-mode return errors!


frontend: fix "use max token balance" feature

Fixes #1127
I adjusted the UInt256 abstraction to not support creation of negative integers since that was contradictory to what this class is supposed/expected to do (unsigned should stand for positive only). It was necessary to adjust it as so since i introduced arithmetic operations over it.
Also includes a solution to Manuel's suggestion

I would actually convert the decimal amount to wei using ethersjs and then make sure that the expected wei amounts match

So, for this part, i solved it by writing my own function that transforms the decimal number to wei since using ethersjs in the tests leads to:

Undesirable extra dependency
"fractional component exceeds decimals" error when trying to parse a JS floating number with N decimals to a Wei representation with N-M (M > 0) decimals. IOW, we have to pass this function a JS floating number with exact same decimals that we are trying to represent the Wei amount to. That will almost never be possible since JS cannot be restricted to using N number of decimals when doing division.
We could use JS floatNumber.toFixed(decimalCount) but that leads to another undesired behavior which is rounding the decimals.

Considering all of the above, i decided to write a simple but limited function to do the job for our specific test cases.

Update on the final implementation:
We decided to simplify the tests by checking the response from the function against static values (expected results) instead of having the decimal calculation logic inside the tests.


Wrong value for EVENT_CLOSED constant

There is no event CLOSED in RoadRunner. CLOSE should be used instead

Already fixed: https://github.com/roadrunner-php/tcp/blob/4.x/src/TcpEvent.php#L11


Testgrid dashboard does not show the log content

Description:
All that need to be said is here in this location [1]:

[1] https://testgrid-live.private.wso2.com/testgrid/dashboard/testplans/0e54473c-67d7-4991-97b4-7f6bde7fc6f4

Affected Product Version:
0.9.0-m18
OS, DB, other environment details and versions:
Linux/Chrome
Steps to reproduce:
Combination:
wso2is-5.4.1-LTS /default /{"JDK":"OPEN_JDK9","OS":"CentOS","DBEngineVersion":"5.7","DBEngine":"mysql"}
https://testgrid-live.private.wso2.com/testgrid/dashboard/testplans/0e54473c-67d7-4991-97b4-7f6bde7fc6f4
Related Issues:
N/A

This has two reasons.

The log files are taken from the s3 bucket and the files are uploaded during the execution of the post block. Therefore, the logs will be available only after all the test-plans have completed executing.
This was fixed by uploading the log files after each test-plan execution.

If a build is forcibly terminated, the subsequent steps will be aborted and if the log files are yet to be uploaded this view will be experienced. To resolve this we would need an alternative like a cron job, in addition, to upload log files to the s3 console.

On #1 - We have had live logs. So, while the build is going on, the logs
are fetched from the file system. After the build is completed, then the
dashboard fetch it from S3. That's how it's supposed to work. :)

#312 should be able to resolve this. AFAIK, ELK stack already provides the capability for live logs.

+1 for #2

We need to think of a way to scedule the cron job. The cron job should be run after every build and we have two options here.

Through a pipeline watching the build job
A cron job as backgroud process

Option 1 - This too can be terminated by someone
Option 2 - Will avoid the drawback in the first option but how would the cron job know of the build completion?

This is fixed.


How do you reinitialize after destroy in Angular 2?

I have a specific case where half of the page should be FullPage scrollable, and half not. I have an event that   is in charge of that. After I call this.fullPageService.destroy(''), how do I reinitialize this plugin from the components class. In all examples I see the jQuery method $("#id").fullPage();
reBuild method isn't working.
Any help would be appreciated, thank you!

Just set this.fpService.setAutoScrolling to false


Fix bug editing previous migration files.

The major issue here is the migration graph returns orphaned nodes as opposed to conflicts with duplicate references.

Hello @jackton1! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file migration_fixer/utils.py:

Line 143:28: W292 no newline at end of file


Parse User table doesn't update for just a specific user

Issue Description
[Parse User table is not updating for just one specific user. All other users are able to update their own User attributes.]
Describe your issue in as much detail as possible.
[I have a simple code to change a user attribute from False to True. When a user clicks a button, below code is ran. The "TorF" is set to false as default, and if users click the button it will change to True. The value changes to True for all users except for just one specific user. I have verified that the user in question has a valid PFUser.current() value and is logged in properly. In other parts of the app, when a user creates a record in another class I added a "User" column to record which user created the data. The user in question is able to create a record and record shows that the user created it (PFUser.current() is tied to the record). It looks like for some reason only PFUser table is not updating properly for this user.
    PFUser.current()?["TorF"] = true
        PFUser.current()?.saveInBackground(block: { (success, error) in

            if error != nil {

                print(error)

            } else {

            }
        })

****EDIT
I'm not sure if this helps in identifying the issue, but only this user doesn't get a "deviceToken" assigned in Installation class. The installation seems to be successful because a record is created showing "ios" and the User Pointer I attach to each installation is saved properly.  Again, for all other users/devices "deviceToken" is generated and saved to each installation.
]
Steps to reproduce
Please include a detailed list of steps that reproduce the issue. Include curl commands when applicable.

[PFUser.current()?["TorF"] = true
        PFUser.current()?.saveInBackground(block: { (success, error) in

            if error != nil {

                print(error)

            } else {

            }
        })]

Expected Results
[TorF column updates to True for the user.]
Actual Outcome
[TorF column is not updated at all. Default "createdAt" column is not updated either, so the user is not updating his own record. Again, for all other users this works perfectly.]
Environment Setup

Server

parse-server version (Be specific! Don't say 'latest'.) : [2.2.22]
Operating System:     [cedar-14 Ubuntu 14.04]
Hardware:             [Heroku dyno?]
Localhost or remote server? (AWS, Heroku, Azure, Digital Ocean, etc): [Heroku]

Database

MongoDB version: [3.2.9]
Storage engine:  [FILL THIS OUT]
Hardware:        [FILL THIS OUT]
Localhost or remote server? (AWS, mLab, ObjectRocket, Digital Ocean, etc): [mLab]

Logs/Trace
You can turn on additional logging by configuring VERBOSE=1 in your environment.
[No error recorded on Heroku logs]

How are you checking the value? Via the Parse Dashboard?

Yes, I am checking the value via the Parse Dashboard.

Try refreshing via your browser (F5) rather than the Parse Dashboard when you check the value. I noticed on my end that the values don't refresh when you refresh from the dashboard. Let me know if that works.

I just checked, and it's not Parse Dashboard related. Also, the the app is supposed to restrict the user from taking a certain action if "TorF" is changed to True, and I've confirmed that the user is able to take that action repeatedly without restriction.

There's no Parse Server version 1.15.2, as it starts at 2.x. At this point this seems like this question is better suited for Stack Overflow.

I don't think that's fair. I accidentally put the wrong version, but nonetheless this is a Parse related issue. It has nothing to do with my coding as described above. I had a ^1.15.2 for parse-server in my package.json and forgot that node installs the latest version. I verified that I am running parse-server version 2.15.0, and have updated the post accordingly. I don't see how you can close this without even checking to see if there could be something going on on the parse-server end. If you can explain to me why this is not a Parse-Server question and better suited for Stackoverflow, I will be happy to post it there, but I ask that you re-open this issue in the meantime.
Thank you.

2.15.0 is not a parse-server version either.. the last version is 2.2.22

Thank you for the information. I updated to 2.2.22 and the issue still remains. Only the one user is unable to update his own User class. The code is as simple as I have described above and therefore I can't see how this could be an issue on the client-side, which is why I posted the question here.

I closed #2843 as a duplicate of this. Instead of opening new issues, lets work together and see if this issue can be re-opened.
From what I can tell, you're describing a problem you've run into while using Parse Server. However, it does not appear to describe, as of this writing, a specific way in which Parse Server fails to work as expected. Perhaps I'm missing something. The best way to isolate the issue from anything client-side related is to provide repro steps using curl as the template suggests.
I suggest that you use Stack Overflow for general debugging, and update this issue once you can confirm that Parse Server is failing to process your request as expected.

Thank you for your reply, I appreciate you being open to revisiting this issue. I am a little bit confused in terms of how to better describe this issue. My app users use Parse REST API (integrated with Parse SDK) to make updates to their own records in User class. However, only one user is unable to make updates. There is no difference in coding/commands that this user is using that is different from all other users. If REST API fails for just one user, I thought the issue would be on Parse Server side.
Regarding curl- I'm guessing users don't include App-ID/Master-Key when posting it on here?


refactor: cookie support via interceptors

Attempts to upgrade to axios 1.x (#209/#213) have been impeded by incompatibilities with axios-cookiejar-support:

1.x version is incompatible with newer axios versions
2.x+ versions are incompatible with retries
Remove axios-cookiejar-support depdenency.

This PR:

Removes axios-cookiejar-support dependency.
Adds cookie-support.ts for providing axios interceptors to interact with tough-cookie.
Updates the cookiejar tests for the above.

Checklist

[x] npm test passes (tip: npm run lint-fix can correct most style issues)
[x] tests are included
[x] documentation is changed or added - N/A current docs about cookies remain valid

:tada: This PR is included in version 4.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Lots of errors run I run yo amp

cat npm-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/Users/atopper/.nvm/versions/node/v4.4.5/bin/node',
1 verbose cli   '/Users/atopper/.nvm/versions/node/v4.4.5/bin/npm',
1 verbose cli   'install' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose config Skipping project config: /Users/atopper/.npmrc. (matches userconfig)
5 verbose readDependencies loading dependencies from /Users/atopper/package.json
6 error install Couldn't read dependencies
7 verbose stack Error: ENOENT: no such file or directory, open '/Users/atopper/package.json'
7 verbose stack     at Error (native)
8 verbose cwd /Users/atopper/workspace/amp
9 error Darwin 15.6.0
10 error argv "/Users/atopper/.nvm/versions/node/v4.4.5/bin/node" "/Users/atopper/.nvm/versions/node/v4.4.5/bin/npm" "install"
11 error node v4.4.5
12 error npm  v2.15.5
13 error path /Users/atopper/package.json
14 error code ENOPACKAGEJSON
15 error errno -2
16 error syscall open
17 error package.json ENOENT: no such file or directory, open '/Users/atopper/package.json'
17 error package.json This is most likely not a problem with npm itself.
17 error package.json npm can't find a package.json file in your current directory.
18 verbose exit [ -2, true ]

Need to work on this.


Broken link to oeconsole assembler source

The oeconsole readme file has a broken link to the assembler source code.

fixed in https://github.com/IBM/IBM-Z-zOS/pull/151


Add Design Doc: oneDNN Bfloat16 support

Design doc about:

bfloat16 data type
oneDNN bfloat16 support
bfloat16 inference enablement in PaddlePaddle

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

@wozna It is excellent contribution. The only thing I would add is to mention PaddlePaddle version which was used for taking measures.

@wozna It is excellent contribution. The only thing I would add is to mention PaddlePaddle version which was used for taking measures.

I am waiting for the merge of https://github.com/PaddlePaddle/Paddle/pull/29155 with bfloat16 models to ensure the version.

@luotao1  Could you please see this document and do a review? This document describes all the information from bfloat16 that has been added up to that time.


Finetuning to down stream tasks

Hi,
Thank you for the code release and the continuous support.
In the main paper (Sec 4.2.3) you mention FT experiments following the FT protocol in "Training
data-efficient image transformers & distillation through attention". Can you please elaborate/release more information about the hyper-parameters used for the FT process? There is ambiguity regarding some of the HP and I would appreciate your insights from FT DINO for downstream tasks.
Thank you

Would be really nice providing these details. I tried to replicate the results on CIFAR-100 using the default parameters in "Training data-efficient image transformers & distillation through attention" but I got 87.79 instead of 90.5
Thanks a lot,

Hi
This issue is relevant: https://github.com/facebookresearch/dino/issues/81
cc @TouvronHugo for HP with CIFAR-100 ?

Hello Mathilde, just a reminder about the question regarding the HP with CIFAR100.
Thanks a lot

Hi @Sara-Ahmed ,
Thanks for your question.
The HP for the fine-tuning on CIFAR-100 with ViT-B are the following:

batch size: 768
lr: 5e-6
epochs: 1000
WD: 0.05
sched: cosine
repeated augmentation: True
smoothing: 0.1
warmup epochs: 5
warmup lr: 1e-6
RandAugment: rand-m9-mstd0.5-inc1
optimizer: adamw
mixup: 0.8
cutmix: 1.0
drop-path: 0.1

You can find some example of HP used in DeiT for the fine-tuning here: #45
Best,
Hugo

Thanks a lot for you respond. Is it the same for ViT-S? Due to the limited resources, I can only perform experiments on ViT-S
Much appreciated,

Yes, it's the same HP for ViT-S


Bugfix. climate and covermqt

Description:

Move fetching unit of measurement back to sensor. It never worked properly fetching from setpoint.
mqtt wrong value was wathced for the state. state never updated.

Related issue (if applicable): fixes #
#3090
#3052

LGTM

:dolphin:


Add CSS property for customizing progress bar height

Allow customization for progress bar height to better accommodate wide range of model sizes displayed in the browser.

+1 to this

Fixed by #602


[NETBEANS-990] New splash screen for NetBeans Platform for release90

New splash screen for NetBeans Platform for release90 branch.

I don't think there are objections to this, i.e., including the new splash screen, so I'm going to merge it.


onepassword ClusterSecretStore breaks operator if no namespace for accessToken-secret is provided

Describe the bug
When using a ClusterSecretStore to access secrets in onepassword. if no namespace is provided to the secret token, the external-secret operator pod goes into a crashloop.
To Reproduce
For example, if I apply this ClusterSecretStore to my cluster (see the commented out namespace-field):
apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
  name: clustersecretstore-onepassword
spec:
  provider:
    onepassword:
      auth:
        secretRef:
          connectTokenSecretRef:
            key: token
            name: onepassword-connect-token
            # namespace: external-secrets # this is mandatory
      connectHost: http://onepassword-connect.external-secrets.svc.cluster.local:8080
      vaults:
        my-new-vault: 1

The operator pod starts to crash-loop with this error:
{"level":"info","ts":1690981808.6374583,"msg":"Observed a panic in reconciler: runtime error: invalid memory address or nil pointer dereference","controller":"clustersecretstore","controllerGroup":"external-secrets.io","controllerKind":"ClusterSecretStore","ClusterSecretStore":{"name":"clustersecretstore-onepassword"},"namespace":"","name":"devops-onepassword","reconcileID":"ef6e9f95-aa98-4975-85cd-5bb7ee79c70f"}
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x23dec64]

goroutine 226 [running]:
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
	/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:115 +0x1fa
panic({0x30d63c0, 0x6571d40})
	/opt/hostedtoolcache/go/1.19.10/x64/src/runtime/panic.go:884 +0x212
github.com/external-secrets/external-secrets/pkg/provider/onepassword.(*ProviderOnePassword).NewClient(0xc000011458, {0x3fa30b8, 0xc000ed6b10}, {0x3fc61b8, 0xc0010fe000}, {0x3fb1040, 0xc00051ad80}, {0x0, 0x0})
	/home/runner/work/external-secrets/external-secrets/pkg/provider/onepassword/onepassword.go:88 +0x184

kubernetes version: 1.23.17
ESO version: v0.9.1
Expected behavior
I believe the operator should handle this more gracefully and log a meaningful error message that tells users what to do.  A misconfigured provider should not take the whole operator down.
Additionally, I don't see this documented in the onepassword guide, which it probably should be.
Screenshots
Additional context
Yes, it is mentioned as a comment in the source code,
https://github.com/external-secrets/external-secrets/blob/main/pkg/provider/onepassword/onepassword.go#L86C13-L86C13
I don't know if other providers have a similar issue.

Hi, @sleyer 👋 Thank you for reporting the issue! You are right and I think we should add validation here. Would you like to work on it?
https://github.com/external-secrets/external-secrets/blob/1cf7c3a6e31d699c78d0034810a5db21a871e249/pkg/provider/onepassword/onepassword.go#L123-L135

/assign

@shuheiktgw this func already checks if the namespace is nil - https://github.com/external-secrets/external-secrets/blob/main/pkg/provider/onepassword/onepassword.go#L133

Hmm, thank you for looking into it @rahulii! You are right and I tried to reproduce it locally but received the following error when I applied the manifest above.
Error from server (Forbidden): error when creating "css.yaml": admission webhook "validate.clustersecretstore.external-secrets.io" denied the request: received invalid 1Password SecretStore resource: cluster scope requires namespace

@sleyer Did you enable admission webhook? I'm closing this issue since it is not reproducible but feel free to reopen it if necessary 🙂

Did you enable admission webhook?

Yes I did. I'll try to create a minimal reproducible example later.

I recreated the issue in a clean local rancher installation. Here is what I did:
Create a new values file ExternalSecretValues.yaml:
webhook:
  create: false
installCRDs: true
certController:
  create: false
revisionHistoryLimit: 5
serviceMonitor:
  enabled: true

Create a new manifest OnePasswordStore.yaml :
webhook:
  create: false
installCRDs: true
certController:
  create: false
revisionHistoryLimit: 5
serviceMonitor:
  enabled: true

Install into rancher:
kubectl ns create external-secrets
kubens external-secrets
helm install external-secrets external-secrets/external-secrets -f ExternalSecretValues.yaml
kubectl apply -f OnePasswordStore.yaml

The secrets operator pod then crash loops as outline above.

Hi @sleyer, thanks for following it up! It seems you disabled the Webhook here. Would you remove the configuration and try it again? 🙏
webhook:
  create: false

With webhook and certController enabled, I get:
kubectl apply -f OnePasswordStore.yaml
Error from server (Forbidden): error when creating "kubernetes/OnePasswordStore.yaml": admission webhook "validate.clustersecretstore.external-secrets.io" denied the request: received invalid 1Password SecretStore resource: cluster scope requires namespace

So I guess validation does work. However, shouldn't the Operator at least survive a faulty store, even without the webhook validation?

However, shouldn't the Operator at least survive a faulty store, even without the webhook validation?

Hmm, unfortunately, that won't work. The webhook is a crucial aspect of Oparator, and if you turn it off, you're responsible for ensuring that it functions properly, not us.


Remove whitespace so the package can be installed.

When I tried to install using devtools, I encountered the following error:
'Installation fails with "Invalid comparison operator in dependency: >="'
Some Googling (https://github.com/xnie/rlearner/issues/1) suggested this was a whitespace issue the description file. I think this should hopefully fix the issue.

Good catch, thanks!


Where can i find the release apk for MeshCentralAndroidAgent

Hi Ylianst,
I want to install the apk for MeshCentralAndroidAgent to my mobile phone. I'm member of https://meshcentral.com/ . I create a Device Groups "Android" to my account. Can you please tell me the where can i find the apk.
If it is not possible https://meshcentral.com i will install the meshcentral to my private cloud server.
Seeing the AndroidAgent in meshcentral is really nice. I will be waiting your good news.
Thanks

Hi.  Once the server is updated to support the new agent, I will send out the APK. It's not possible to try now because the server does not support it. I will send out the APK as soon as possible.

Hi.  Once the server is updated to support the new agent, I will send out the APK. It's not possible to try now because the server does not support it. I will send out the APK as soon as possible.

MeshCentral Agent for Android is now on Google Play Store here. You can also get the APK directly from the MeshCentral.com download page, look for "Mobile Downloads" on the right.
MeshCentral v0.7.48 or better is required to make the Android agent work.
Hope that helps - Ylian

MeshCentral Agent for Android is now on Google Play Store here. You can also get the APK directly from the MeshCentral.com download page, look for "Mobile Downloads" on the right.
MeshCentral v0.7.48 or better is required to make the Android agent work.
Hope that helps - Ylian

MeshCentral.com is now updated and supports the Android agent. If you have any other issues, please open another issue here. Thanks.

MeshCentral.com is now updated and supports the Android agent. If you have any other issues, please open another issue here. Thanks.


line-length can you set up as a percentage, not a number?

I want to adapt to different screens and show different line-length.
Is there any way to do it?
I find maybe change x more in line with what I expect to achieve,
how do you adapt under different sizes?

I added width and height directly to the outermost SVG, which temporarily solved my problem


An unmatched error occurs after executing 'db.test.foo().pretty();' in scrapbook

OS: Windows
Build Version: 20190722.1
Regression: Not a Regression
Repro Steps:

Connect a scrapbook to the mongo shell.
Set the mongo.shell.args setting to: "mongo.shell.args": "-u abc -p abc"
Execute this command in the scrapbook: db.test.foo().pretty();

Expect:
Pops up this error dialog.

Actual:
Show the below result.

More info:

Expected output.

Recognize setting "mongo.shell.args": "-u abc -p abc" as unknown configuration setting.

This issue also reproduces when setting mongo.shell.args setting to "mongo.shell.args": "--version".

Update the error screenshot:


Correct single markdown cell in ROME LLAMA Example notebook

There was a mistake, "MEMIT" instead of "ROME".

thanks


Ghost 1.0 Compatability

This fixes the only critical/fatal issue that will mean the theme won't run with Ghost 1.0.
This change is backwards compatible to Ghost 0.4.2, so should have no impact.
Essentially pageUrl was deprecated in favour of page_url in 0.4.2, and removed totally in 1.0.0
There are other recommendations for changes, however they are recommended not required.

The helper {{pageUrl}} was replaced with {{page_url}}.
Find more information about the {{page_url}} helper here.

The image attribute in author context was replaced with profile_image.
Instead of {{author.image}} you need to use {{author.profile_image}}.
See the object attributes of author here.

The cover attribute was replaced with cover_image.
Instead of<EMAIL_ADDRESS>you need to use<EMAIL_ADDRESS>
So, does it mean ghostium is not compatable with ghost v1.5.0? 😔


Apache Hudi Auto-Size During Writes is not Working for Flink SQL

To Reproduce
Steps to reproduce the behavior:

Use Flink SQL with the file below.

Current behavior
A separate parquet file is produced with every Flink commit (during checkpointing)
Expected behavior
Data is appended to existing parquet file(s) until max size threshold is met.
A clear and concise description of what you expected to happen.
Environment Description

Hudi version :

0.14.1

Flink version :
1.17.1

Storage (HDFS/S3/GCS..) :
File System

Running on Docker? (yes/no) :
yes

Additional context
The expectation (as depicted in Apache Hudi docs - https://hudi.apache.org/docs/file_sizing#auto-sizing-during-writes) is that with every flink commit (every minute) - a set of records will be accumulated and written to one of existing parquet files until parquet file max size threshold is met (in the example below is 5MB).
However, what happens is that every commit results in a separate parquet file (~400KB size) which are accumulated and are never merged. Please, help.
SQL file:
SET 'parallelism.default' = '1';
SET 'execution.checkpointing.interval' = '1m';

CREATE TABLE datagen
(
    id   INT NOT NULL PRIMARY KEY NOT ENFORCED,
    data STRING
) WITH (
      'connector' = 'datagen',
      'rows-per-second' = '5'
);

CREATE TABLE hudi_tbl
(
    id   INT NOT NULL PRIMARY KEY NOT ENFORCED,
    data STRING
) WITH (
      'connector' = 'hudi',
      'path' = 'file:///opt/hudi',
      'table.type' = 'COPY_ON_WRITE',
      'write.parquet.block.size' = '1',
      'write.operation' = 'insert',
      'write.parquet.max.file.size' = '5'
);

INSERT INTO hudi_tbl SELECT * from datagen;

That is because you are using the append mode, the append mode relies on the async clustering for small files merging. You can switch to upsert operation for the tests too, the upsert will merge the files during write.

That is because you are using the append mode, the append mode relies on the async clustering for small files merging. You can switch to upsert operation for the tests too, the upsert will merge the files during write.

Thank you. Looks like it's working fine. However, is it mentioned in documentation anywhere? All that I see is the note - the bulk_insert write operation does not have auto-sizing capabilities during ingestion
Another question, by adding the following property I was able to achieve the same for insert operation type:
'write.insert.cluster' = 'true',

This property above is not greatly documented either, I found it by digging in source code..
Is there any difference really? Or overall recommendation is to use async clustering?
Thanks in advance

'write.insert.cluster' = 'true' is actually inline clustering, that means it will do the clustering on each write, so the write throughput is low comparing to the async clustering.
Sorry it is not well documented.

Created a tracking JIRA to fix doc - https://issues.apache.org/jira/browse/HUDI-7396
Thanks @dannyhchen @vkhoroshko . Closing this.


Stage phases 2

TreadleRep first class support for Stage/Phases

@chick: If possible, could you change the base-branch for this PR to stage-phases-1 until #100 is merged? That makes this a bit easier to review.

I thought it was based on that. I'm still mid-retreat, but I'll try and look at this soon
Thanks for looking at all this

messed up in rebase.
clean set of changes in pr #103


Specify correct AWS provider for Terraform

We use features from version 4.11 of the AWS provider; if you actually installed 4.6 as specified before, our configuration files would not have worked.

NEVERMIND THAT BUSINESS with the alb → lb renaming. It makes Terraform want to delete and recreate a whole mess of stuff, and that doesn’t seem worthwhile right now (especially with a potential switch to Render in flight).


failed to get entry list if empty file in zip

create a empty file, and add it to zip. Then using unzip module to get its entries as below:
  var entries = [];
  zipStream.pipe(unzip.Parse({verbose: true}))
  .on('entry', function(entry) {
    entries.push({path: entry.path});
    entry.autodrain();
  })
  .on('close', function() {
    console.log(entries); // there is no chance to fire close event
  });

same issue as #2

follow #2 instruction solve my issue, see feiyuw/node-unzip-2


Added Slovenian translations si.json

Support for Slovenian Language

Thanks! You will also need to translate /lib/lang/si.json and make sure that the tests pass before we can accept the translation.

Hi,
Just added.

Hi,
Upon reviewing this, there are some errors:

Please merge your two pull requests (#78 and #79) together into one!
While the tests pass, I think that there are some issues with them. In particular, "MožNe So Rahle Padavine" seems to exhibit a capitalization bug. (Are there other bugs like this one?)
Slovenian's ISO 639-1 code is sl, not si (which is Sinhalese)!

Please correct these and I'll accept the patch.

Hi,
I corrected the translations.
Please check, if everything is OK.
Thanks.

This commit is still missing lib/lang/sl.js from #79. Please merge it into here!
You can verify this for yourself by looking here: https://github.com/darkskyapp/forecast-io-translations/pull/78/files

Hi,
I added lib/lang/sl.js  into this commit.

I have reviewed this and it looks good. We'll get it live on the API as soon as possible!


Rename repository

If someone else forks your repository, it shows up in their list as joeuser/blog. I would suggest you put Stack Exchange in the name so it's obvious what they are contributing to. Renaming a GitHub repository sets up all the correct forwarding, so you don't have to worry about breaking links.
I suggest blog.stackexchange.com or stack-exchange-blog.

+1 on this - it's actually an issue for anyone, even devs working here on large enough changes to warrant a pull request.

stackexchange/stack-blog ?

@rossipedia yeah sure...I have no strong opinions here, just that it should have some identifier. I currently have it as stack-exchange-blog locally, but IMO stack-blog equally accomplishes all I need as a dev: just some differentiation.

Works for me.

Done.


Computed property/factory function for props

What problem does this feature solve?
I don't think I've ever worked on a Vue app where I haven't needed to pass in a complex object as a prop, and needed to define some default values for optional properties on that object.
For example, I have a table component that lets me define configuration like so:
config: {
   initialSortKey: 'name',
   rowSelection: {
       enabled: true,
       highlightSelections: false,
       filterSelections: true
       onSelectFn: ...
       onClearSelections: ...
       isSelectedFn: ...
   },
   columns: [...]

But rowSelection is entirely optional, so I don't want to have to define it for every instance where my table component is being used. Sometimes I just want to pass this in:
config: {
   initialSortKey: 'id',
   columns: [...]

However, every place that references rowSelection in the view model or the template, needs to be null checked first, which can get quite messy. OR, I have to use a contrived computed property like computedConfig where I do default merging and create a complete default config structure.
It would be nice if props provided some syntactic sugar that either allowed the default factory function to run every time, even if the prop is supplied, so that merge logic can be done, or if the prop had its own computed function where you could define this more complex behavior.
What does the proposed API look like?
Either:
props: {
    config: {
        type: Object,
        alwaysApplyDefault: true,
        default: function (inputValue) {
            // merge your defaults with the inputValue and return
        }
}

OR
props: {
    config: {
        type: Object,
        computed: function (inputValue) {
            // merge your defaults with the inputValue and return
        }
}

Can you list some objective benefit of computed props over computed methods?

computed property like computedConfig

Neat solution, isn't it?
Also, computed props might add our API surface, get users confused about computed props and computed methods. Also see https://github.com/vuejs/vue/issues/6004#issuecomment-312404196 for more info.

A default value that runs every time (needed) is exactly what you can already do with a computed property, so let's avoid adding API surface for something that is already doable in the very same way 🙂
props: {
    config: Object,
},
computed: {
     myConfig () {
          return this.config || { defaultValue: 0 }
    }
}

Unfortunately that solution is very inelegant because you're polluting the API of the component itself. You have both config and myConfig in your component's public API.
Moreover, if you initially pass in just the prop and then later need to make it computed, you now have to update everything in your component that references that property to the computed property name. You can't change the prop name because then every place that references that component has to change it as well.
It's just cleaner and more elegant to deal with one property in your component.


[ECS] Call to undefined function ECSPrefix20210928\React\Promise\resolve

> ecs check --fix 'src'

Fatal error: Uncaught Error: Call to undefined function ECSPrefix20210928\React\Promise\resolve() in /var/www/html/sw6/vendor-bin/cs-fixer/vendor/symplify/easy-coding-standard/vendor/react/promise/src/Promise.php:203
Stack trace:
#0 /var/www/html/sw6/vendor-bin/cs-fixer/vendor/symplify/easy-coding-standard/vendor/react/socket/src/TcpConnector.php(73): ECSPrefix20210928\React\Promise\Promise::ECSPrefix20210928\React\Promise\{closure}(Object(ECSPrefix20210928\React\Socket\Connection))
#1 /var/www/html/sw6/vendor-bin/cs-fixer/vendor/symplify/easy-coding-standard/vendor/react/event-loop/src/StreamSelectLoop.php(209): ECSPrefix20210928\React\Socket\TcpConnector->ECSPrefix20210928\React\Socket\{closure}(Resource id #813)
#2 /var/www/html/sw6/vendor-bin/cs-fixer/vendor/symplify/easy-coding-standard/vendor/react/event-loop/src/StreamSelectLoop.php(175): ECSPrefix20210928\React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)
#3 /var/www/html/sw6/vendor-bin/cs-fixer/vendor/symplify/easy-coding-standard/src/Console/Command/W in /var/www/html/sw6/vendor-bin/cs-fixer/vendor/symplify/easy-coding-standard/vendor/react/promise/src/Promise.php on line 203

I was able to reproduce this with $parameters->set(Option::PARALLEL, true);, so this might be related to the new parallel execution feature.

Yup, encountered it as well when I enabled the new parallel feature. It's definitely related to it.

@shyim Thanks! Could you add full install steps and exact ECS version?

@TomasVotruba ECS version: 9.4.67, steps to reproduce:

composer require --dev symplify/easy-coding-standard
Configure ecs.php:

path with some existing php file(s)
enable parallel
some fixer or sniff

vendor/bin/ecs

Thanks 👍
What is the minimal /src content that causes this?
I ask because I use ECS parallel on ~5 different projects and both locally and on CI had no such issue. The narrow the code the better.
What is the OS?

Reproducible repository with failing CI would speed the fix up 👍

I tested it on Linux with Alpine Docker Container
git clone -b ecs https://github.com/shyim/platform.git
cd platform
composer install
composer run ecs src

// Explosion

@shyim Thanks! Wow, that's a whole shopware project :D.  There is now over dozens of possible causes... It's huge, I'm still cloning the project as I write this comment.
What is the minimal scope of files that cause this error?

composer run ecs src/Core/Defaults.php

It crashes for me on any file. That example file just holds some consts :D https://github.com/shopware/platform/blob/trunk/src/Core/Defaults.php

The ecs is also custom installed using bamarni/composer-bin-plugin in vendor-bin

This installation is not supported, as it changes paths to vendor and used dependencies.

@enumag Just tried these steps on PHP 8 and Ubuntu 20.x with success:

Failing repository needed.

Hmm interesting. I'll look into it.

The ecs is also custom installed using bamarni/composer-bin-plugin in vendor-bin

This installation is not supported, as it changes paths to vendor and used dependencies.

That's a bummer, because a lot of projects are using this and it works fine with most tools such as PHPUnit, PHPStan, Psalm, EtsyPhan, PhpMetrics, PHP-CS-Fixer and more. I really think ECS should support this setup, too.

@leofeyer Any improvement is welcomed 👍

@enumag Just tried these steps on ECS 9.4.67, PHP 8 and Ubuntu 20.x with success ✔

Failing repository needed.

@TomasVotruba I think that I have reproduced it, it will appear when the react/promise package is installed. See: https://github.com/zingimmick/ecs-sample.
It was successful when react/promise was not installed.
See: https://github.com/zingimmick/ecs-sample/runs/3751805622?check_suite_focus=true#step:5:1
But failed after react/promise was installed.
See: https://github.com/zingimmick/ecs-sample/runs/3751805622?check_suite_focus=true#step:7:1
It is temporarily unclear why the error log is not printed.

Yeah... the bug being related to having react/promise installed was my strongest hypothesis which I wanted to test today. Thanks for doing it!

@TomasVotruba Were you able to reproduce it with composer require react/promise ?

@enumag Yes, looks like ECS will needs its own preload.php like PHPStan and Rector have.

@enumag Yes, looks like ECS will needs its own preload.php like PHPStan and Rector have.

This might help: https://github.com/symplify/symplify/pull/3658/files
Could you try to edit this file in vendor locally:
https://github.com/symplify/easy-coding-standard/blob/main/preload.php
By adding this in the end of the file?
require_once __DIR__ . '/vendor/react/promise/src/functions.php';

@TomasVotruba That indeed helped. But why does the problem happen? Can we make sure it won't happen again with another package?

Great to hear that :+1:

But why does the problem happen?

I think that's because Composer way of dealing with loading files. The path is basically same, but the manaully instalted package has priority. Probably based on A-Z sorting.
The only way to prevent this is to include all files manually, but that kills the performance of autoloading and composer PSR-4. The saint approach is to include these files when the error happens. It's not that common use case, so including react-packages function files should be enough.
Btw, PHPStan and Rector is using similar solution to conflicting php-parser versions in their own preload.php files: https://github.com/rectorphp/rector/blob/main/preload.php

@zingimmick @shyim Could you try the same fix https://github.com/symplify/symplify/issues/3630#issuecomment-932450583 to verify it not something else in your caes? Thanks

@TomasVotruba Well the issue clearly doesn't happen for all files... Do you know what are the rules for the problem to happen? Like could we detect such files with a test for instance?

@zingimmick @shyim Could you try the same fix #3630 (comment) to verify it not something else in your caes? Thanks

Works for me, thx.

@enumag It's function files in this use case, but it can be any race-conditioned autoload file. That's all I know.

@zingimmick Thanks for confirmation :+1:


Regent: setup_env.py USE_CMAKE

This is not right: https://github.com/StanfordLegion/legion/blob/stable/language/scripts/setup_env.py#L511
os.environ can only contain strings so the check must be os.environ.get('USE_CMAKE') == '1'.

Fixed, thanks!

Fixed, thanks!


Name mapping function

Create a function that can generically map between different sources.

Maybe add mapping to query options (flag it)


Add blog section

And blog about the publication of ISO 690 which was just published.

Done in #47


Add building with cmake.

Added the ability to build the controller with cmake.

Not a lot of point in me reviewing this since I wrote it lol


[Docs][Bug] Missing Docs page for NativeViewGestureHandler

In this section using-native-components the NativeViewGestureHandler leads to a dead link.
Possibly related: #198

Is it intentionally removed or? Any ETA on getting this up to date?

Still confused :(


generate code for deploying model

in current deployment steps, we need to extract weights from tensorflow and quantize. It is unfamiliar for data scientist, I think that we need to create codeGen tool to deal with this thing.
It probably contains:

generate code depends on trained model from tensorflow
using context object to describe graph connectionn and execute
integrate cli tool to deploy model automatically

I have a basic template here: https://github.com/mbartling/utensor-cli
This is still up for discussion.
Goals

Users should be able to have more than one inference model per program
Model interface should be consistent
Model should adapt to more than one input
Model interface should be importable as a libary and thus reusable
User should have control of memory, i.e. when/where model is constructed
Code generation should be simple and seamless but configurable

High level generation
Currently, the generation tools take in a protobuf file and produce a header file and corresponding cpp file with the same name. For example my_model.pb generates my_model.cpp and my_model.hpp.
my_model.hpp provides a simple Model interface class that makes inference as easy as constructing an object and calling predict_proba. Each model gets a unique namespace based on the model name, this lets users have multiple models in their programs.
my_model::Model model();
...
result = model.predict_proba(input1);

See the code generator for uTensor: https://github.com/uTensor/utensor_cgen


Indicator for comments

I never know if there is a comment on one of my BO.
Maybe its possible to add a small number + indicator like  next to the overview in the image above.
I think comments are quite rare, so maybe the indicator shuold only appear after the first comment.

Good suggestion. Somewhat related to "email notification on comments" #66
I will put it in the backlog.

Implemented in v1.7.6


--dry-run doesn't

I haven't looked into why, but it's worth noting that --dry-run doesn't appear to actually dry run right now — the tweets are deleted.

I'm sorry, my bad 😞

Published a new version: pip install -U delete-tweets. Thank you!

Thank you! <3


Bindings for pino logger

I tried implementing bindings for pino logger.  In this package there are implementations for two types of usages:

With error/warn/... functions defined in @matechs/logger
With functions more idiomatic to pino, such as fatal/error/debug/info

In pino api, each of the log functions has overloaded signature:
function log(o: object, msg?: string, ...rest: unknown[]): void;
function log(msg: string, ...rest: unknown[]): void;

I'm not sure if effect allows for overloaded functions, but I implemented those overloads as two separate functions fatal and fatalS and others. If is possible to merge those, it would be nice.
I ran out of time and didn't have time to finish the test. Also, I dont know how to run tests, so I was not able to properly finish it. When I try yarn jest package/pino/tests/Pino.test.ts, it says Cannot find module '@matechs/effect' from 'Pino.test.ts'.

@qlonik before running tests you need to build the project

I forgot I had pull bot setup for forks. I think it messed up this pull request. I disabled that bot for this repository.
@mikearnaldi  Could you please reopen it and I will keep working on pino bindings?

Codecov Report

Merging #198 into master will decrease coverage by 0.50%.
The diff coverage is 87.56%.

@@            Coverage Diff             @@
##           master     #198      +/-   ##
==========================================
- Coverage   89.48%   88.98%   -0.51%
==========================================
  Files          57       58       +1
  Lines        2473     2070     -403
  Branches      305      258      -47
==========================================
- Hits         2213     1842     -371
+ Misses        258      227      -31
+ Partials        2        1       -1

Impacted Files
Coverage Δ

packages/console/src/index.ts
100.00% <ø> (ø)

packages/cqrs-es/src/client.ts
0.00% <0.00%> (ø)

packages/cqrs-es/src/index.ts
0.00% <0.00%> (ø)

packages/cqrs-es/src/meta.ts
0.00% <0.00%> (ø)

packages/cqrs-es/src/offset.ts
0.00% <ø> (ø)

packages/cqrs-es/src/read.ts
0.00% <0.00%> (ø)

packages/epics/src/index.ts
90.90% <ø> (ø)

packages/test/src/aspects/retry.ts
100.00% <ø> (ø)

packages/test/src/def.ts
100.00% <ø> (ø)

packages/test/src/fc.ts
100.00% <ø> (ø)

... and 46 more

Continue to review full report at Codecov.

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


feat(start.sh): added new cleanup function

added a new cleanup function that removed the agent from the pool when the pod gets deleted

Thank you for your contribution :)
A cleanup function is already bundled as a Kubernetes hook. It has advantage of alerting Azure DevOps Server of the instance stops, for any platform issues (ie node restart, if you are using spot instances). See https://github.com/clemlesne/azure-pipelines-agent/blob/e89f25d1908d243dc58c0cb2f180bde58d2eded2/src/helm/azure-pipelines-agent/templates/_helpers.tpl#L147.
Questions:

What is the advantage of your implementation?
What does it solve?
How both integrations behave together?

Just updated the PR details.


feat(cfg): convert unsigned comparison to signed comparisons

convert a general pattern for unsigned comparison cmp such as x <u y or x <= u y as the following
if (x >= 0) {
    if y >= 0 then x cmp y
    else // x >= 0 y < 0
        false
}
else {
    if y >= 0 then // x < 0 y >= 0
        true
    else x cmp y
}

The implementation is using multiple select operations during the construction of a cfg graph. The simplification process is introduced.

Already merged in commit b50d9d6aeb1204ff7f07855a2582ca8ee189710f


Fix for #15

This should fix the issue of negative values being returned when calling
getMousePos on extended displays

I was able to test and it looks good! Thanks!


NotFoundError:  No algorithm worked! when using Conv2D

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes, see below.
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Arch Linux fully updated
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): Installed from pacman
TensorFlow version (use command below): 2.3.0
Python version: 3.8.5
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: Cuda is 11.0, cuDNN is 8.0.2
GPU model and memory: RTX 2070 Super

Describe the current behavior
I am running the following code: https://github.com/davidADSP/GDL_code/blob/tensorflow_2/02_03_deep_learning_conv_neural_network.ipynb
entry 11, when it does the fit, it fails. It returns:
NotFoundError:  No algorithm worked!
[[node functional_1/conv2d/Conv2D (defined at :1) ]] [Op:__inference_train_function_2021]
Function call stack:
train_function
This used to work ok previously, 1-2 months ago. I was just testing some other conv2d today, and it failed, so I went to test this example which I know it worked, and it also fails
Describe the expected behavior
The code should work
Standalone code to reproduce the issue
See the previous link. It's a github jupyter code
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

NotFoundError                             Traceback (most recent call last)
 in
----> 1 model.fit(x_train
2           , y_train
3           , batch_size=32
4           , epochs=10
5           , shuffle=True
/usr/lib/python3.8/site-packages/tensorflow/python/keras/engine/training.py in _method_wrapper(self, *args, **kwargs)
106   def _method_wrapper(self, *args, **kwargs):
107     if not self._in_multi_worker_mode():  # pylint: disable=protected-access
--> 108       return method(self, *args, **kwargs)
109
110     # Running inside run_distribute_coordinator already.
/usr/lib/python3.8/site-packages/tensorflow/python/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)
1096                 batch_size=batch_size):
1097               callbacks.on_train_batch_begin(step)
-> 1098               tmp_logs = train_function(iterator)
1099               if data_handler.should_sync:
1100                 context.async_wait()
/usr/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py in call(self, *args, **kwds)
778       else:
779         compiler = "nonXla"
--> 780         result = self._call(*args, **kwds)
781
782       new_tracing_count = self._get_tracing_count()
/usr/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py in _call(self, *args, **kwds)
838         # Lifting succeeded, so variables are initialized and we can run the
839         # stateless function.
--> 840         return self._stateless_fn(*args, **kwds)
841     else:
842       canon_args, canon_kwds = \
/usr/lib/python3.8/site-packages/tensorflow/python/eager/function.py in call(self, *args, **kwargs)
2827     with self._lock:
2828       graph_function, args, kwargs = self._maybe_define_function(args, kwargs)
-> 2829     return graph_function._filtered_call(args, kwargs)  # pylint: disable=protected-access
2830
2831   @property
/usr/lib/python3.8/site-packages/tensorflow/python/eager/function.py in _filtered_call(self, args, kwargs, cancellation_manager)
1841       args and kwargs.
1842     """
-> 1843     return self._call_flat(
1844         [t for t in nest.flatten((args, kwargs), expand_composites=True)
1845          if isinstance(t, (ops.Tensor,
/usr/lib/python3.8/site-packages/tensorflow/python/eager/function.py in _call_flat(self, args, captured_inputs, cancellation_manager)
1921         and executing_eagerly):
1922       # No tape is watching; skip to running the function.
-> 1923       return self._build_call_outputs(self._inference_function.call(
1924           ctx, args, cancellation_manager=cancellation_manager))
1925     forward_backward = self._select_forward_and_backward_functions(
/usr/lib/python3.8/site-packages/tensorflow/python/eager/function.py in call(self, ctx, args, cancellation_manager)
543       with _InterpolateFunctionError(self):
544         if cancellation_manager is None:
--> 545           outputs = execute.execute(
546               str(self.signature.name),
547               num_outputs=self._num_outputs,
/usr/lib/python3.8/site-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
57   try:
58     ctx.ensure_initialized()
---> 59     tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
60                                         inputs, attrs, num_outputs)
61   except core._NotOkStatusException as e:
NotFoundError:  No algorithm worked!
[[node functional_1/conv2d/Conv2D (defined at :1) ]] [Op:__inference_train_function_2021]
Function call stack:
train_function

Do you have a very minimal  but runnable standalone code/colab example?
Also I suggest you to import and use Keras from Tensorflow tf.keras

@bhack the imports are such as "import tensorflow.keras", I have updated the link above, which pointed to the master branch which is for tf 1, but I am using tf2
The example code is this: https://github.com/davidADSP/GDL_code/blob/tensorflow_2/02_03_deep_learning_conv_neural_network.ipynb
The code would be like:
import numpy as np

from tensorflow.keras.layers import Input, Flatten, Dense, Conv2D, BatchNormalization, LeakyReLU, Dropout, Activation
from tensorflow.keras.models import Model
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.utils import to_categorical
import tensorflow.keras.backend as K

from tensorflow.keras.datasets import cifar10

NUM_CLASSES = 10
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
x_train = x_train.astype('float32') / 255.0
x_test = x_test.astype('float32') / 255.0
y_train = to_categorical(y_train, NUM_CLASSES)
y_test = to_categorical(y_test, NUM_CLASSES)

input_layer = Input((32,32,3))

x = Conv2D(filters = 32, kernel_size = 3, strides = 1, padding = 'same')(input_layer)
x = BatchNormalization()(x)
x = LeakyReLU()(x)

x = Conv2D(filters = 32, kernel_size = 3, strides = 2, padding = 'same')(x)
x = BatchNormalization()(x)
x = LeakyReLU()(x)

x = Conv2D(filters = 64, kernel_size = 3, strides = 1, padding = 'same')(x)
x = BatchNormalization()(x)
x = LeakyReLU()(x)

x = Conv2D(filters = 64, kernel_size = 3, strides = 2, padding = 'same')(x)
x = BatchNormalization()(x)
x = LeakyReLU()(x)

x = Flatten()(x)

x = Dense(128)(x)
x = BatchNormalization()(x)
x = LeakyReLU()(x)
x = Dropout(rate = 0.5)(x)

x = Dense(NUM_CLASSES)(x)
output_layer = Activation('softmax')(x)

model = Model(input_layer, output_layer)

opt = Adam(lr=0.0005)
model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])

model.fit(x_train
          , y_train
          , batch_size=32
          , epochs=10
          , shuffle=True
          , validation_data = (x_test, y_test))

This last example It works for me.
Generally CUDA 11 still requires Tensorflow ningthly.
Can you try with tf-nightly?

@bhack I don't think it's related to CUDA.
I have just tested it on another computer, same OS (Arch Linux), same libraries.
The only difference is that the computer where it doesn't work uses a RTX 2070 Super. The computer where it works uses a GTX 1080 TI.

I think that It Is an installation/packaging issue on your machine cause It Is working on colab.
Can you try an installation with pip?
https://www.tensorflow.org/install/pip

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.

Also double check CUDA versions cause CUDA 11 Is on nightly. I don't know what Arch Linux maintainers done but in that case It Is an Arch Linux issue. See https://github.com/tensorflow/tensorflow/issues/40227

I have the same problem on pip-installed tf-nightly with CUDA11 in nvidia's cuda-ubuntu-18.04 docker container.
@thephet 's fix workaround fixed it for me.
Interesting enough, the system showing the issue is using a RTX 2060 Super.

@ninnghazad
Is this still an issue.

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

Yes!!! This solved my problem on RTX 2070 card!

Adding the following lines fixes the issue:

from tensorflow.compat.v1 import ConfigProto

from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()

config.gpu_options.allow_growth = True

session = InteractiveSession(config=config)

Odd, because I didnt need them before.

This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

Yes!!! This solved my problem on RTX 2070 card!

Same here!
My environment is RTX1660 Super and running on docker with tensorflow/tensorflow:2.4.0rc3-gpu-jupyter image.
It perfectly works with this few lines.

I faced this very same error and turns out that when you read a Grayscale Image as an RGB Image (as I was using ImageDataGenerator and did not provide color_mode="grayscale" as an argument to the generator when flowing the data), it throws the "Algorithm did not work" sort of error.
Hopefully it helps someone!

I faced this very same error and turns out that when you read a Grayscale Image as an RGB Image (as I was using ImageDataGenerator and did not provide color_mode="grayscale" as an argument to the generator when flowing the data), it throws the "Algorithm did not work" sort of error.
Hopefully it helps someone!

CC @imintz

CC @imintz

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

Yes, this fixed the problem for me on 1660Ti. Does anyone know the reason for this behavior?

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

Yes, this fixed the problem for me on 1660Ti. Does anyone know the reason for this behavior?

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

Yes, this fixed the problem for me on 1660Ti. Does anyone know the reason for this behavior?

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

Yes, this fixed the problem for me on 1660Ti. Does anyone know the reason for this behavior?

This just happened to me too on an RTX 2070 Super. It worked before but after restarting the container I get the same error message. It still works when I run it on CPU.
The lines mentioned by @thephet did not help.

This just happened to me too on an RTX 2070 Super. It worked before but after restarting the container I get the same error message. It still works when I run it on CPU.
The lines mentioned by @thephet did not help.

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

This works for me.  I have 2080 GPU and was also trying to run Colab code when running into this issue.  Thanks!

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

This works for me.  I have 2080 GPU and was also trying to run Colab code when running into this issue.  Thanks!

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

The issue still persists. Adding those line didn't helped me.

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

The issue still persists. Adding those line didn't helped me.

same issue here with docker image tensorflow/tensorflow:2.4.0-gpu-jupyter RTX 2070 Super.

same issue here with docker image tensorflow/tensorflow:2.4.0-gpu-jupyter RTX 2070 Super.

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

I am using tf 2.4.0, cuda 11.0 on a GeForce RTX 2060
nvidia drivers 455.45.01 on Ubuntu 20.04
Those lines are needed for me too, to make the gpu work.
On cpu all works fine without errors even without that.
I also get another error when running RNNs,
Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
tensorflow/core/framework/op_kernel.cc:1763] OP_REQUIRES failed at cudnn_rnn_ops.cc:1514 : Unknown: Fail to find the dnn implementation.

which also get fixed with the preamble mentioned by thephet above.
This issue might be related to https://github.com/tensorflow/tensorflow/issues/36508

Adding the following lines fixes the issue:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

Odd, because I didnt need them before.
This is needed for the computer with the RTX 2070 Super. The one with GTX 1080 TI doesnt need them. Same libraries.

I am using tf 2.4.0, cuda 11.0 on a GeForce RTX 2060
nvidia drivers 455.45.01 on Ubuntu 20.04
Those lines are needed for me too, to make the gpu work.
On cpu all works fine without errors even without that.
I also get another error when running RNNs,
Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
tensorflow/core/framework/op_kernel.cc:1763] OP_REQUIRES failed at cudnn_rnn_ops.cc:1514 : Unknown: Fail to find the dnn implementation.

which also get fixed with the preamble mentioned by thephet above.
This issue might be related to https://github.com/tensorflow/tensorflow/issues/36508

I had the exact same error but for a much more stupid mistake than people mentioned above. Model was defined with input shape (height, width, 1) but images were RGB, not grayscale.

A code from other issue helped me to find a way to limit tensorflow GPU memory usage and solved the issue, please see:
https://github.com/google-research/text-to-text-transfer-transformer/issues/57#issuecomment-704160406
the code is:
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
  # Restrict TensorFlow to only allocate 4GB of memory on the first GPU
  try:
    tf.config.experimental.set_virtual_device_configuration(
        gpus[0],
        [tf.config.experimental.VirtualDeviceConfiguration(memory_limit=4096)])
    logical_gpus = tf.config.experimental.list_logical_devices('GPU')
    print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
  except RuntimeError as e:
    # Virtual devices must be set before GPUs have been initialized
    print(e)

same issue here with docker image tensorflow/tensorflow:2.4.0-gpu-jupyter RTX 2070 Super.
P.S. Restarting the kernel and adding the code below resolves the issue.
import tensorflow as tf
physical_devices = tf.config.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(physical_devices[0], True)

Same worked for me on 2070 Super tf 2.4.1
Thanks

same issue here with docker image tensorflow/tensorflow:2.4.0-gpu-jupyter RTX 2070 Super.
P.S. Restarting the kernel and adding the code below resolves the issue.
import tensorflow as tf
physical_devices = tf.config.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(physical_devices[0], True)

Same issue on RTX 2060 Ti with TF 2.4.1
If I upgrade TF 2.4.1 to tf-nightly, the missing CUDA library error occurs.
The proposed above solution was best for me.
But still, it has drawbacks that limit the GPU memories.
It could be a temporary solution.

same issue here with docker image tensorflow/tensorflow:2.4.0-gpu-jupyter RTX 2070 Super.
P.S. Restarting the kernel and adding the code below resolves the issue.
import tensorflow as tf
physical_devices = tf.config.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(physical_devices[0], True)

Same issue on RTX 2060 Ti with TF 2.4.1
If I upgrade TF 2.4.1 to tf-nightly, the missing CUDA library error occurs.
The proposed above solution was best for me.
But still, it has drawbacks that limit the GPU memories.
It could be a temporary solution.

Worked for me:
OS: Ubuntu 18.04
TensorFlow version: 2.4.1
Python version: 3.7.10
CUDA/cuDNN version: Cuda is 11.0, cuDNN is 8.0.4
GPU model and memory: GeForce GTX 1660 SUPER
Still doesn't make any sense, thanks anyway :)

This might be too late but still be of help to post it here since I too faced the exact same issue. For me, I just restricted the amount of GPU that the model was allowed to use. Also, the way I did is an older way to do it which I did it in tf 1.15 but it for sure works on the latest tf 2.4 version as well. Below is the code:
def set_tensorflow_config(per_process_gpu_memory_fraction=0.8):
    config = tf.compat.v1.ConfigProto()
    # config = tf.ConfigProto()
    config.gpu_options.per_process_gpu_memory_fraction = per_process_gpu_memory_fraction
    config.gpu_options.allow_growth=True
    # sess = tf.Session(config=config)
    sess = tf.compat.v1.Session(config=config)

    print("== TensorFlow Config options set ==")
    print("\nThis process will now utilize {} GPU Memeory Fraction".format(per_process_gpu_memory_fraction))

set_tensorflow_config()
GPU: NVIDIA GeForce RTX 2070, 8GB

I am facing the same issues ,I have tried all the solutions given above but its not resolving my issues.

Was able to replicate the issue in TF nightly-2.6.0.dev20210603,please find the gist here..Thanks !

Can you try rerunning with TF 2.5 and with the env var TF_DEVICE_MIN_SYS_MEMORY_IN_MB set to something high, like 1000?

anybody has a solution for this in 3080?

In my case, this error appears because the memory is full. Try to check nvidia-smi via terminal. In my case, I use cloud server using jupyter. Shutdown all kernels (not only close the file, but shutdown), and restarting solve the issue.
Hope it helps anyone stumble upon this.

I solved my problem,
use cuda 11.0 and cudnn 8.0.5(with cuda11.0), in ubuntu 20.04,and nvidia driver = 460.84, for my GTX 1660ti
other version of cuda(11.2 , 11.1) will get the error

I faced this very same error and turns out that when you read a Grayscale Image as an RGB Image (as I was using ImageDataGenerator and did not provide color_mode="grayscale" as an argument to the generator when flowing the data), it throws the "Algorithm did not work" sort of error.
Hopefully it helps someone!

That works for me, thank you! I use opencv for RGB to GRAY:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

Yes!!! This solved my problem on GTX 1660 TI card!

@thephet
Please confirm if this is still an issues, it seems to have been resolved, can you try on the latest version and let us know.

To check and will solve easily:

Check your image input, maybe you are wrong with dimensions (usually channels) and all
Out of GPU memory

Steve

Same here today; the extra config lines for gpu_options.allow_growth = True fixed the "NotFoundError: No algorithm worked!" issue for me for code that was running fine on one PC but gave the above problem on another PC with AFAIK the same TensorFlow configuration, same libraries etc but a different GPU (both NVIDIA).
OS: Windows 10 64-bit
TF: 2.4.1
GPU: NVIDIA Quadro T1000 with Max-Q Design (on the other Windows 10 64-bit system PC w/o problems it was NVIDIA Quadro P1000)
Python: 3.7.6
CUDA: 11.2
nvcc --version: 11.2, V11.2.67 (on the PC w/o problems: 11.2, V11.2.142)
RAM: 32GB (on the PC w/o problems 16GB)
Why is this fix needed only in some cases and why does it work?
BTW, the shorter "os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true'" also worked fine for me.

I see there is a "solution", but this should never happen in a popular library in the first place. Why is this happening, and why users need to add this extra code to get tensorflow to work? I have another process that uses 6gb memory and for some reason tf cannot simply coexist with it, when I kill it the super helpful error message "UNIMPLEMENTED: DNN library is not found" disappears. No issues with pytorch. Ehh, I can only hope Jax works out much better.


Support routing to multiple backends

For multi-gpu machines, be able to load multiple inference backends and route to them appropriately. For example:
                               +----------+
         +-------------------> | qwen-72b |
         |                     +----------+
         |                        running on GPU #1,#2,#3
+--------+---+
| llama-swap |
+--------+---+
         |
         |                     +---------------+
         +-------------------> | qwen-coder-7b |
                               +---------------+
                                  running on GPU #4

The use case is to have more control and better utilization of local resources. Additionally, this would work well for software development where a larger model can be used for chat and a smaller, faster model for auto-complete.
With nvidia GPUs (on linux) this can be done using CUDA_VISIBLE_DEVICES in the environment.

To not introduce a lot more complexity it is desirable to keep using API paths /v1/chat/completions and /v1/completions. So current design is to encode the group into the model name like: group/model or coding/qwen-coder-32b.
The configuration file can be like:
# Seconds to wait for llama.cpp to be available to serve requests
# Default (and minimum): 15 seconds
healthCheckTimeout: 15

models:
  "qwen-coder-1b":
    cmd: llama-server --port 9001 -m models/qwen-coder-0.5b.gguf
    proxy: http://<IP_ADDRESS>:9001

  "qwen-coder-32b":
    cmd: llama-server --port 9002 -m models/qwen-coder-32B.gguf
    proxy: http://<IP_ADDRESS>:9002

groups:
  coding:
    models:
      - "qwen-coder-1b"
      - "qwen-coder-32b"

When calling with coding/qwen-coder-1b llama-swap will make sure the whole coding group is loaded. So calls to coding/qwen-coder-32b will be routed to an already running server. However, when calling with qwen-coder-1b it will unload the whole group and load only the single model.


Downloading Albums >500 MB

The issue I'm addressing here is that album downloads (zipped) of a size above roughly 500 MB fail.
The zip archive is not created. In lychee's data folder I see broken zip archives for every attempt to download a specific album of sizes ranging from 400-550 MB. Lychee produces a time-out after 40-50 seconds with script error 500. I read about similar issues here but haven't discovered a solution yet. I have set the settings in PHP.ini to the values suggested in lychee's installation.md, namely:
max_execution_time = 200
post_max_size = 100M
upload_max_size = 100M
upload_max_filesize = 20M
memory_limit = 256M
I have also tried to further increase these values which didn't produce different results. The diagnostics output doesn't show any issues in this regard.
Diagnostics
Warning: Dropbox import not working. No property for dropboxKey.
No critical problems found. Lychee should work without problems!
System Information
Lychee Version:    3.1.6
DB Version:          030102
System:                Linux
PHP Version:        5.6
MySQL Version:   50619
Imagick:               1
Imagick Active:    1
Imagick Version:  1794
GD Version:          bundled (2.1.0 compatible)
Plugins:
The issue is consistent across different browsers. I have tried current versions of Opera, Edge and Firefox.
Thanks for any advice. Michael

This issue will be closed because I'm not actively working on Lychee anymore. The repository of Lychee will stay available, but the main development continues under the Lychee Organisation. A fork maintained by the community. Important issues have been migrated. Feel free to re-add your issue(s) when necessary.


Investigate capabilities and work to be done on new Okta instance

Problem statement
Since the Experience team is not very familiar with Okta and it's capabilities, this ticket to have an Experience engineer get more familiar with Okta features and how we will interface with them on the website. And then report those learnings back to the rest of the team.
What you need to know

New Okta instance here: reportstream.okta.com
You need Stephen or Chris to create an admin account for you to access it
NOTE: We may move away from SPA, so please investigate from an technically agnostic perspective. SimpleReport app configuration is geared more towards a traditional website design, so can use that for reference.

Acceptance criteria

[ ] How would we WANT the new Okta instance interface with our RS website?
[ ] What work needs to be done on the new Okta instance to get it ready to plumb to the RS website?
[ ] How can we migrate users from the existing HHS instance to this new ReportStream instance?
[ ] How to create multiple levels of RS Admin access to the RS website
[ ] Answers to questions (or links to answers) documented and shared with team during Eng sync (invite Chris Kuryak to that Eng sync)

To do

[ ] ...

Notes on this currently are here for those with permission: https://docs.google.com/document/d/1lPCVpzU9tqdESWxOyU9KqxOr-Tlax0SVe7u79bTYz2g/edit?usp=sharing

Great readout and notes. Closing this for follow-on tickets.


Post install script preventing deployment completion

Environment:

aws-parallelcluster-2.4.1
OS: CentOS 7
Scheduler: SGE
Master instance type: t2.micro
Compute instance type: c5.large

Bug description and how to reproduce:
I've been trying to run the example post_install script outlined at https://aws-parallelcluster.readthedocs.io/en/latest/pre_post_install.html and stored at my S3 bucket. The deployment goes on and on and on. However, and even though the master and compute instances are up and running, the installation never ends and keeps stating the usual "Status: ComputeFleet - CREATE_IN_PROGRESS." I have tried 6 or 7 times at different hours and waited for up to 15 minutes without success. It's likely a minor thing but I'm unsure what else to troubleshoot. Thanks.
Additional context:
The pcluster file reads:
[aws]
aws_region_name = us-east-1
aws_access_key_id = ___
aws_secret_access_key = ___

[cluster odycluster]
vpc_settings = ___
placement_group = DYNAMIC
placement = compute
key_name = ___
master_instance_type = t2.micro
compute_instance_type = c5.large
cluster_type = spot
extra_json = { "cfncluster" : { "cfn_scheduler_slots" : "cores" } }
initial_queue_size = 2
max_queue_size = 2
maintain_initial_size = true
scheduler = sge
base_os = centos7
post_install=s3://___/test_apc01.sh
post_install_arg = NONE

[vpc ___]
master_subnet_id = ___
vpc_id = ___

[global]
update_check = true
sanity_check = true
cluster_template = ___

[aliases]
ssh = ssh {CFN_USER}@{MASTER_IP} {ARGS}

The script (test_apc01) reads:
#!/bin/bash

. "/etc/parallelcluster/cfnconfig"

case "${cfn_node_type}" in
    MasterServer)
        echo "I am the master" >> /tmp/master.txt
    ;;
    ComputeFleet)
        echo "I am a compute node" >> /tmp/compute.txt
    ;;
    *)
        ;;
esac

Hi,
thank you for reporting this.
A few things you might do that can help identifying the root cause:

Create the same cluster without any post_install. Is it succeeding in that case? If so is the bucket you are trying to pull the script from public? If not probably the instances don't have the right permissions to retrieve the post_install script. One way to fix that is to add s3_read_resource config for that bucket or to make the script in the bucket public.
By looking at the CloudFormation stack events is ComputeFleet the only resource that is pending creation or also MasterServer?
Can you run pcluster create with --norollback flag, ssh into master and eventually compute and retrieve the following log files: /var/log/cfn-init-cmd.log, /var/log/cfn-init.log

Francesco

Hello Francesco.
It has taken me a little while but I think to have figured out what's going on. I'm dividing my info into two sets (original and modified).
Original. My original set-up for the S3-bucket allows access to the owner (a screenshot is attached). My assumption was that this configuration requires to provide the post_install flag as "s3://***.sh" instead of as a secure website address. I'm also attaching a screenshot of the stack information while the deployment is going on. Using the -norollback flag (which I have used for troubleshooting previous issues) doesn't do much because the process never completes. The log for the master node is attached (could not log in on the compute nodes). It's stating that it couldn't read the post-install script but I don't understand why it didn't roll back the installation.
Modified. If I change the S3-bucket permission to public (screenshot attached), the deployment still doesn't work when I set the post_install flag to "s3://odyhpc.bucket1/test_apc01.sh' but it completes when I use https://s3-us-west-2.amazonaws.com/odyhpc.bucket1/test_apc01.sh.
My theory is that the incompatibility arises because my script is created/assigned to the (default) Oregon region but the cluster is deployed at the N. Virginia region. I can live with this as long as I'm performing some preliminary tests. However, this is something that you might want to look into as some people (including myself) would like their scripts to be compatible across regions and don't want them to be public. Thanks.

cfn-init-cmd.log

I'm closing the ticket as the root cause and workaround were identified.

Thank you @afernandezody for sharing the workaround and closing the ticket.


Add types

I don't think the return type should be union type of string and null because typescript assure the argument should be Node, Position or Point.
Otherwise, we need to check the return value every time if it is string or not. That would be horrible.
Or maybe it is nice time to change the behavior of the function so we can sure it always returns a string.  (Like returning empty string or throwing an error when it gets an invalid input)

Okay, I made a pr for it. https://github.com/syntax-tree/unist-util-stringify-position/pull/5


Webhooks: Add subscription & payment notifications

Added support for the following webhooks:

New Subscription Notification
Updated Subscription Notification
Renewed Subscription Notification
Void Payment Notification
Successful Refund Notification

Tests included.

Thanks @skix123!

Glad I could help, cheers!


Add a time limit attribute to the @LRA and @Compensate annotations

The spec defines an annotation called @TimeLimit which can be applied to methods annotated with @LRA and @Compensate:

The business logic may wish to control how long an LRA should remain active for before it becomes eligible for automatic cancellation by annotating methods that start LRAs with the @TimeLimit annotation.

and

the ability to compensate may be a transient capability of a service so participants can be timed out. When the time limit is reached participants will be notified via their compensation (ie the method annotated with @Compensate)

It would be preferable for this behaviour to be specified as attributes of the @LRA and @Compensate annotations.

+1

+1

@tomjenkinson it is preferable since:

it then becomes clear that time limits only apply to compensate, complete and methods that start LRAs
(ie with @TimeLimit the user may wonder what effect it would have on other methods);
to a user who is looking at these annotations in an IDE it will be obvious that there is an option to apply time limits.


Network profile for mapping open ports to localhost

LXD version: 2.15

Issue description
nic device configuration doesn't expose the most frequent option in development setup to map open ports inside VM to local ports on the host.
It would be very nice to have an option to provide such port mapping for container during run-time. Is that technically feasible with network profiles?

That's what #2504 would allow, among other things.

I would keep this story open, because it is about next step - shipping profile once #2504 is ready.


Script throws Timezone prompts when -unattended is set

Scrip will prompt for the warning showing the timezone is more than 8 hours out and ask the user to change culture when the -unattended commandline switch is set. shouldnt do this.

Fixed

Fixed in #21


Should we create a profile command in package.json?

We used tick in shift-parser-js to profile JavaScript.

Go for it!

@ikarienator Still planning to do this?