msal.js loginRedirect loop

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Browser:

[x] Chrome version 70
[ ] Firefox version XX
[ ] IE version XX
[ ] Edge version XX
[ ] Safari version XX

Library version

Library version: 0.2.3

Current behavior

I'm using msal.js to authenticate through AAD in a tenant. I would like to use loginRedirect func, but it's looping all the time like TENANT LOGIN > APP (with a hash fragment in the URL) > TENANT LOGIN > ....
userAgentApplication has empty fields in the logs.
loginPopup is working very well.
Expected behavior

loginRedirect working fine.
Minimal reproduction of the problem with instructions

I have in the configuration clientID, authority, cacheLocation - localStorage, redirectUri to the app and storeAuthStateInCookie - true.
I'm using the library as follows:
const graphScopes = ['user.read'];

constructor() {
    super();

    this.userAgentApplication = new Msal.UserAgentApplication(
      applicationConfig.clientID,
      applicationConfig.authority,
      null,
      {
        cacheLocation: 'localStorage',
        redirectUri: 'link_to_the_app',
        storeAuthStateInCookie: true,
      },
    );
    this.token = '';
  }

async componentDidMount() {
    const user = this.userAgentApplication.getUser();
    if (user == null) {
      this.userAgentApplication.loginRedirect(graphScopes);
    } else {
      try {
        this.token = await this.userAgentApplication.acquireTokenSilent(graphScopes);
      } catch () {
        this.token = await this.userAgentApplication.acquireTokenPopup(graphScopes);
      }
    }
  }

The app works in Azure and it's using express server. I have imported @babel/polyfill. Maybe I'm doing something wrong?

I've been seeing this issue for a few months myself, at least on 0.2.2 and 0.2.3.
Something I've been noticing while I debug it is that if I step through the authentication flows it sometimes succeeds. I'm wondering if there's something going on where:

User requests a token via acquireTokenSilent
User has no cached tokens, so a login flow is initiated
Login flow times out and has no valid token
Control returns back to the app with no valid session credentials, loop back to 1

And I'm wondering if, while debugging, the system state is paused sufficiently to allow the login to not time out and for things to return normally?

In the cases where I am seeing the redirect loop a common thread I've noticed is that coming back from ADB2C the state doesn't have the expected value and the request type is undefined:
AuthService.ts:82 Mon, 10 Dec 2018 19:40:48 GMT:0.2.3-Info State status:false; Request type:undefined
AuthService.ts:82 Mon, 10 Dec 2018 19:40:48 GMT:0.2.3-Error State Mismatch.Expected State: 834b1642-636a-4e57-9d68-969ed32c5bb5,Actual State: 17dd38a2-c099-41b7-9bf6-0d8ff1259c4b
AuthService.ts:82 Mon, 10 Dec 2018 19:40:48 GMT:0.2.3-Info User login is required```

The "undefined" request type seems wrong; for all successful attempts in our system it seems to be set to "LOGIN"

Apologies for the delay. I was able to reproduce this issue, and I am trying to find a fix. To solve your issue in the interim, have you tried using loginPopup instead of redirect? Does this cause a similar issue if you do?

@maxburke Is this something you are seeing specifically in B2C flows? I am not receiving this error, I am still able to see an idtoken in a hash as @tmszyman has stated

One of the issues we've found with using loginPopup instead of loginRedirect is when the browser blocks popups; in our user testing it hasn't been obvious that they need to enable popups.
I'm using B2C, yes.

I'm not sure if this helps @pkanher617 but I've managed to reproduce the issue I'm seeing much more frequently (nearly 100% now) by setting the async parameter to xhr.open() in XhrClient to false.
I'm wondering if there's a race condition between the openID endpoint fetch call and the rest of the logic?
Digging more ...

Any workaround for this? Getting the same issues about 75% of the time. Using Azure B2C, Sign-in policy.

I think I have a workaround for my app, I'm not sure how well it will work for anyone else. My workaround was to set navigateToLoginRequestUrl to false in the options object when constructing the UserAgentApplication instance, ie:
msalClientApplication = new Msal.UserAgentApplication(clientID, authority, () => {}, {
    navigateToLoginRequestUrl: false
})

We don't need any of the v2.0 stuff yet, so we switched to adal for now.

Since we are also seeing this redirect loop issue for one of our users, I'm filling in with the information we've been able to gather, to hopefully aid the debugging.
We've not been able to reproduce this issue our self's on any of our computers or phones. One of our customers however have this issue frequently.
Setup
We are running MSAL 0.2.3 against Azure AD B2C with a custom sign-in policy. Our MSAL looks something like this:
export class Authentication {
  constructor(redirectUri) {
    const logger = new Msal.Logger(loggerCallback, { level: Msal.LogLevel.Verbose })

    const options = {
      logger,
      navigateToLoginRequestUrl: false,
      postLogoutRedirectUri: `${location.protocol}//${location.host}`,
      storeAuthStateInCookie: true,
      cacheLocation: 'localStorage',
    }

    this.client = new Msal.UserAgentApplication(config.clientID, config.authority, authCallback, options)

    redirectUri = redirectUri
      ? `${location.protocol}//${location.host}/${redirectUri.replace(/^\/+/g, '')}`
      : `${location.protocol}//${location.host}/redirecttarget`

    this.client._redirectUri = redirectUri
  }

  ...

}

Scenario
If the user browses in an incognito window, or if he removes the cookies set by MSAL, the login work as expected. However, after having been logged in for a while, next time he goes back to our site he ends up in this redirect loop.
Since we have turned verbose logging on, this is what we caught from his console:
[Log] Tue, 05 Feb 2019 10:17:10 GMT:74217166-0.2.3-Info Returned from redirect url (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:10 GMT:74217166-0.2.3-Info State status:false; Request type:undefined (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:10 GMT:74217166-0.2.3-Error State Mismatch.Expected State: 85803c1b-363f-40bf-8f3b-2d801fbf09bf,Actual State: 5ecc4e66-ea26-49c1-bf85-3901b2ea1ad1 (app.09b69c0c768e6c13df32.js, line 1)
[Error] Error during login:
Invalid_state
	handleAuthenticationResponse (vendor.64db12be1f3df8cb1886.js:1286:273411)
	t (vendor.64db12be1f3df8cb1886.js:1286:248219)
	t (app.09b69c0c768e6c13df32.js:1:296554)
	YaEn (app.09b69c0c768e6c13df32.js:1:200904)
	o (manifest.2d083d6a1b0b32bf69af.js:1:416)
	NHnr (app.09b69c0c768e6c13df32.js:1:133423)
	o (manifest.2d083d6a1b0b32bf69af.js:1:416)
	webpackJsonp (manifest.2d083d6a1b0b32bf69af.js:1:286)
	Global kod (app.09b69c0c768e6c13df32.js:1)
[Log] Tue, 05 Feb 2019 10:17:10 GMT:74217166-0.2.3-Verbose Token is not in cache for scope:https://********.onmicrosoft.com/api/user_impersonation (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:10 GMT:74217166-0.2.3-Verbose renewing accesstoken (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:10 GMT:74217166-0.2.3-Verbose renewToken is called for scope:https://********.onmicrosoft.com/api/user_impersonation (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:10 GMT:74217166-0.2.3-Info Add msal frame to document:msalRenewFramehttps://********.onmicrosoft.com/api/user_impersonation (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:10 GMT:74217166-0.2.3-Verbose Renew token Expected state: 7287e053-88be-4d31-acb2-f42af9394abd (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:10 GMT:74217166-0.2.3-Verbose Set loading state to pending for: https://********.onmicrosoft.com/api/user_impersonation:7287e053-88be-4d31-acb2-f42af9394abd (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:10 GMT:74217166-0.2.3-Info LoadFrame: msalRenewFramehttps://********.onmicrosoft.com/api/user_impersonation (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:11 GMT:74217166-0.2.3-Info Add msal frame to document:msalRenewFramehttps://********.onmicrosoft.com/api/user_impersonation (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:11 GMT:74217166-0.2.3-Info Returned from redirect url (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:11 GMT:74217166-0.2.3-Info State status:true; Request type:RENEW_TOKEN (app.09b69c0c768e6c13df32.js, line 1)
[Log] Tue, 05 Feb 2019 10:17:11 GMT:74217166-0.2.3-Verbose Window is in iframe, acquiring token silently (app.09b69c0c768e6c13df32.js, line 1)

Without knowing much about the inner workings of MSAL, it seems to me as if the cookie somehow gets corrupted or includes stale information that MSAL can't handle or update properly - since it starts to work as soon as we remove the existing cookie, or it the browser has no cookie at all.

@sameerag  is this at all like the msrc issue you debugged?

Hello everyone,
Thought I would share my solution since there still seems to be a lot of question-marks out there, especially for those of you who use SPA (Vue, React, Angular, etc...) and wanted to save you people the headache I've been experiencing banging my head against the wall with this issue...
The standard use of this library results in a login-loop that will last forever. It can only be disrupt by fetching the token in window.onbeforeunload in the callback-function in loginRedirect. That results in loginRedirect only shooting twice. But still, login twice isn't gonna fly for any production environment.
Finally I found the solution. Which logic-wise doesn't make much sense, but after this long time tweaking and turning this library up-side-down I finally figured it out.
So without further ado, here's the wierd, oddly satisfying solution:
First I created these parameters as basic js-code outside of the SPA-structure (Vue = export default {}).
var userAgentApplication = new Msal.UserAgentApplication(applicationConfig.clientID, applicationConfig.authority, authCallback, {     navigateToLoginRequestUrl: false }); function authCallback(errorDesc, token, error, tokenType) {     cacheLocation: "localStorage";     localStorage.setItem(applicationConfig.accessTokenKey, token); }
Later I created a method inside of my SPA-structure which looks like this. It first checks for any token in localStorage and otherwise calls for loginRedirect. Please note that this part is for Vue-only and that your gonna have to modify the structure a little depending on your framework:
`    AccessToken: function (callback) {
var self = this;
var _accessToken = localStorage.getItem(applicationConfig.accessTokenKey);
    if (_accessToken !== null) {
        callback(_accessToken);
    }

    else {
        userAgentApplication.loginRedirect(applicationConfig.b2cScopes).then(function (idToken) {
            userAgentApplication.acquireTokenPopup(applicationConfig.b2cScopes).then(function (accessToken) {
                localStorage.setItem(applicationConfig.accessTokenKey, accessToken);
                localStorage.setItem(applicationConfig.userTokenKey, idToken);
                callback(accessToken);
            })
        })
    }
},`

Notice here how I'm using "acquireTokenPopup" instead of the usual "acquireTokenSilent" function to silently call token from the redirect-page without reloading it once more. Using it this way doesn't result in any popup and the flow feels great.
Now I can easily call it from my Vue-component like this:
AccessToken(function (data) { var token = data; });
(Using acquireTokenSilent should create a hidden iframe and call the token from there but that hasn't been what I've experienced. acquireTokenPopup is actually doing exactly the things I expect  acquireTokenSilent to do while under loginRedirect instead of loginPopup. To the Microsoft-developers concerned; feel free to correct and/or add additional information to my hypothesis. But this is how I finally managed to solve it.)
I'm aware that I save the token twice in localStorage but that's a small price to pay for getting rid of the everlasting loop.
Tested on two different systems with three different browsers. (Chrome, Firefox and Edge).
Hope this solves it for you SPA-users!

Hi All,
This seems to fix the login loop from an angular application. Where I'm invoking this from the AppComponent ngOnInit() method.
  msalApp = new UserAgentApplication(this.applicationConfig.clientID, '', () => { });

  public tryLogin() {
        if (!this.msalApp.getUser() && !this.msalApp.loginInProgress()) {
                    this.msalApp.logout();
        }
    }

Hope this helps.

@tszymanik Apart from the above suggestion made by @ThomasJacob,
We have also recently gone through a redesign of the library's API surface to improve the redirect experience.
Please download our latest preview package or pull the dev branch and try updating your code and see if the issue still persists.
Please re-open this issue if it persists. We are now throwing error stack traces so we can understand better why your code is failing.
If you would like guidance on how to use the new version of the library, please review our wiki page here.

Getting same issue even after updating with current version. User redirect twice to the login page.


新版NumPy报错

sgcc_electricity  |
sgcc_electricity  | A module that was compiled using NumPy 1.x cannot be run in
sgcc_electricity  | NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
sgcc_electricity  | versions of NumPy, modules must be compiled with NumPy 2.0.
sgcc_electricity  | Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
sgcc_electricity  |
sgcc_electricity  | If you are a user of the module, the easiest solution will be to
sgcc_electricity  | downgrade to 'numpy<2' or try to upgrade the affected module.
sgcc_electricity  | We expect that some modules will need time to support NumPy 2.
sgcc_electricity  |
sgcc_electricity  | Traceback (most recent call last):  File "/app/main.py", line 13, in
sgcc_electricity  |     from data_fetcher import DataFetcher
sgcc_electricity  |   File "/app/data_fetcher.py", line 29, in
sgcc_electricity  |     from onnx import ONNX
sgcc_electricity  |   File "/app/onnx.py", line 4, in
sgcc_electricity  |     import onnxruntime
sgcc_electricity  |   File "/usr/local/lib/python3.9/site-packages/onnxruntime/init.py", line 23, in
sgcc_electricity  |     from onnxruntime.capi._pybind_state import ExecutionMode  # noqa: F401
sgcc_electricity  |   File "/usr/local/lib/python3.9/site-packages/onnxruntime/capi/_pybind_state.py", line 32, in
sgcc_electricity  |     from .onnxruntime_pybind11_state import *  # noqa
sgcc_electricity  | AttributeError: _ARRAY_API not found
sgcc_electricity  | Traceback (most recent call last):
sgcc_electricity  |   File "/app/main.py", line 13, in
sgcc_electricity  |     from data_fetcher import DataFetcher
sgcc_electricity  |   File "/app/data_fetcher.py", line 29, in
sgcc_electricity  |     from onnx import ONNX
sgcc_electricity  |   File "/app/onnx.py", line 4, in
sgcc_electricity  |     import onnxruntime
sgcc_electricity  |   File "/usr/local/lib/python3.9/site-packages/onnxruntime/init.py", line 57, in
sgcc_electricity  |     raise import_capi_exception
sgcc_electricity  |   File "/usr/local/lib/python3.9/site-packages/onnxruntime/init.py", line 23, in
sgcc_electricity  |     from onnxruntime.capi._pybind_state import ExecutionMode  # noqa: F401
sgcc_electricity  |   File "/usr/local/lib/python3.9/site-packages/onnxruntime/capi/_pybind_state.py", line 32, in
sgcc_electricity  |     from .onnxruntime_pybind11_state import *  # noqa
sgcc_electricity  | ImportError
sgcc_electricity exited with code 0

把requirements.txt中的numpy注释打开

这个试过了 报一样的错

我更新了一下镜像，确实也报错，今天打包的两个版本都有问题。我回退到了镜像1.4.0。
@ARC-MX

正在修复

应该可以了，大家试一下

v1.4.1没错吧

v1.4.1也是NumPy版本错误。
新的v1.4.2镜像没问题了。
注意到这里有个typo，字符串前忘加f""了。

我猜是因为我没修改arcw/sgcc_electricity:latest

建议再试一下


ValueError: Key: accesFare is not available in data.

get_contract_detail returns the following error:
ValueError: Key: accesFare is not available in data.

It seems that value has been removed from the API response

Any update on that topic ? I am on the same page.

Ups sorry, I don't use this anymore and the notification got lost between other projects and my job... I'll try to solve it soon


qdrant's bencnmark is reporting an extremely high latencies for on-disk index qith 140M vectors

Testing qdrant on 8 cores, 64GB of memory r6i.2xlalrge instance
Here is the collection's configuration:
{
  "params":{
    "vectors":{
      "size":96
      "distance":"Euclid"
     }
   "shard_number":1
   "replication_factor":1
   "write_consistency_factor":1
   "on_disk_payload":true
  }
"hnsw_config":{
    "m":16
    "ef_construct":128
    "full_scan_threshold":10000
    "max_indexing_threads":0
    "on_disk":true
}
"optimizer_config":{
    "deleted_threshold":0.2
    "vacuum_min_vector_number":1000
    "default_segment_number":0
    "max_segment_size": NULL
    "memmap_threshold": NULL
    "indexing_threshold":20000
    "flush_interval_sec":5
    "max_optimization_threads":0
}
"wal_config":{
    "wal_capacity_mb":32
    "wal_segments_ahead":0
}
"quantization_config": NULL
}

Current Behavior
I downloaded and inserted about 140M vectors from Yandex https://research.yandex.com/blog/benchmarks-for-billion-scale-similarity-search. Upon testing I'm getting about 1.6 - 1.7 vector lookups per second, so overall 580-625ms search latency per query lookup.  We are specifically trying to observe mem-mapped file performance in this case.
Would you advise on anything in a configuration that would help us to optimize index performance and get better results?
Steps to Reproduce
See above
Expected Behavior
Expecting to see decent latencies for vector lookups.

You may ask this question in our Discord. Closing it here.


Ambiguous buttons (language Italy)

System information:

Operating system (distribution) and version: Windows 10 versione 20H2 build 19042.804
DBeaver version: DBeaver Community <IP_ADDRESS>103021012 (LANGUAGE: ITALY)
Additional extensions: NULL

Connection specification:

Database name and version: MySQL 8.0.21
Driver name: Driver for MySQL 8 and later
Do you use tunnels or proxies (SSH, SOCKS, etc)? : NULL

Describe the problem you're observing:
Using the Italian language, there are two ambiguous buttons.
Steps to reproduce, if exist:

Create a script with this code:

CREATE TABLE `tabella1` (
    `id` int PRIMARY KEY NOT NULL AUTO_INCREMENT,
    `dataora` datetime DEFAULT NULL
);

ALTER TABLE `tabella1` COMMENT = 'Tabella di prova';

MENU: editor SQL>>esegui script SQL  (first)

MENU: editor SQL>>esegui script SQL   (second)

There are two "Ignora" buttons.
Include any warning/errors/backtraces from the logs

thanks for the report

Was fixed in #11705


driver: uart: npcx: Fix CR_SIN interrupt storm

NPCX WIMU CR_SIN is used to wake up soc from NPCX sleep power state.
The wake-up IRQ enabled when UART init. It causes the wake-up IRQ to
generate many extra interrupt events, which causes the system too busy
to handle other events. This PR moves the UART wake-up IRQ enabling
from UART init to npcx_power_enter_system_sleep() to avoid the
interrupt storm.

LGTM.


KeyDB Documentation draft.

Description
[Please describe what this change achieves]
Issues Resolved
[List any existing issues this PR resolves, or any Discourse or
StackOverflow discussions that are relevant]
Check List

[ ] New functionality includes tests
[ ] All buildkite tests pass
[ ] Full omnibus build and tests in buildkite pass
[ ] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/main/CONTRIBUTING.md#developer-certification-of-origin-dco
[ ] PR title is a worthy inclusion in the CHANGELOG

@dishanktiwari2501 Can we fix the Deploy preview just to ensure the UI after merging this?

@dishanktiwari2501 Can we fix the Deploy preview just to ensure the UI after merging this?

Sure @talktovikas !

https://buildkite.com/chef/chef-chef-server-main-verify/builds/10665


fix #282 changed/changedwithhistory events not created when registere…

The problem was indeed that the changed and changedWithHistory events where not created when called in code. There are 3 possible solutions I can come up with to fix this bug. One is to slightly modify the GetOrCreate() method so it can be called in the property.
Option two is to call the runtime creation code in the property itself again. This makes the GetOrCreate() method unnessesary I think?
Option 3 is to somehow add an usage for calling a variables events in code
Maybe another solution will work better than what I suggested here in this PR. Im all open for the best suggestion to tackle this problem and to update this PR.

Hey this overrides the current change event when a change event is added to a variable. Steps to reproduce:

Leave variable changed event blank and in runtime change variable value to something. Stop runtime.
Add your change event to the variable, and go into runtime again and change variable value. Check variable event, it changes to default.

@boynukaline i think it would be better to create a new issue (or reopen the other issue) since this PR is already released 🙈
thanks for being observant!

@soraphis Thanks, created new issue!


NodeX Capital ⚖ Register Validator

Network Choice
nemeton-1
Who are you?
Im Whyme from NodeX Capital :) Feel free to join my community https://discord.gg/nodexcapital
gentx
{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"NodeXCapital","identity":"BC531C55249AA253","website":"https://nodexcapital.com","security_contact":"nodexcapital@gmail.com","details":"Hi, NodeX Capital is here! secure and reliable nodes validator. Discord : https://discord.gg/nodexcapital"},"commission":{"rate":"0.050000000000000000","max_rate":"1.000000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"okp41eumnetn0l7ya52d0mc06lxq6ephgwww6f72pn3","validator_address":"okp4valoper1eumnetn0l7ya52d0mc06lxq6ephgwww6ue6gds","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"71vyHzcX16j2M4Md9TR3EHjiCa68l05PStUEJPq2ge8="},"value":{"denom":"uknow","amount":"10000000000"}}],"memo":"eee2245f7bf48a7067d3884ad02891d8df73ab7d@<IP_ADDRESS>:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A5KPNpTRcmrgymx0f5JVSGUGhN3cq9wuYq52kMMIL9Ca"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""},"tip":null},"signatures":["VcvtjUQRnnEfoWqCHjG2kpS7nMIlLcy7OoI51BYVZmZj76/UdQbcar5j5t51ifGevDhJTOIxAaxFyQ2nUJVZsg=="]}

😉 Here is the corresponding PR: https://github.com/okp4/networks/pull/207


Bullet doesn't fully support periods in URIs

There are times when one might like to have periods in the URI, but not a file extension.  One such use case is for tokens, e.g. http://jwt.io/
Here's the offending source:
https://github.com/vlucas/bulletphp/blob/master/src/Bullet/App.php#L179
One quick solution would be to wrap that line in a check for a match against the listed mime types.
<?php

if(isset($this->_request->_mimeTypes[$ext])) {
    $this->_requestPath = substr($this->_requestPath, 0, -(strlen($this->_request->format())+1));
}

This is just for illustration, the _mimeTypes array is protected.  This approach passes existing unit tests, but would mean support for any additional extensions would need to be added to the _mimeTypes array.  Perhaps a method for that?
OR... probably the better solution would be to only strip the extension from the path if there's a matching call to $app->format('.ext').  This approach won't pass existing unit tests.
For my token example, I'll either need to append a faux extension to the path (yuck), pass it using a POST call (yuck), pass it via a query string (yuck), or pass it via a request header (yuck).  I'll end up moving forward using the least yucky of these... not sure which that is yet though :)

This is especially confusing after reading the documentation on Param Callbacks which shows that there is a built in email param type. Looking at the source there is indeed a built in Param Type in App::__construct , but its callback function which returns the return value of filter_var($value, FILTER_VALIDATE_EMAIL) can never return true because the top level domain of the email is removed causing the email to be invalid. So when using email as the only param type, a URL that ends with<EMAIL_ADDRESS>causes a 404 Not Found to be returned. When using slug and email filters with Param Callbacks on the same level, the slug filter will match user@host after the supposed file extension .com is removed from the URL. Even more confusing is that since the supposed file extension .com is used to override the format, if you're specifying an application format e.g. json, you'll get a perplexing 406 Not Acceptable because Bullet assumes that it's returning some mysterious .com file instead of JSON.
As it stands I don't think there is a possible workaround (at least for supporting periods in the URL) as long as anything after a period is assumed to be an extension. Even affixing a faux extension won't work because strpos is used to find a period instead of strrpos. I don't see why extensions have to be handled in this way. The client code should be responsible for registering extensions.

I think that extension should only be parsed and executed if there is a matching format() handler.
Since this is a breaking change, it can only be done at v2.


Genome annotation UI uses incorrect key for taxonomy id

When I run the genome annotation app I'm not seeing the user-supplied tax ID getting passed in the parameters; I see it's getting passed as tax_id instead of taxonomy_id as is specified in the app spec:
$VAR2 = {
'scientific_name' => 'bbuch new',
'contigs' =><EMAIL_ADDRESS>'domain' => 'Bacteria',
'output_file' => 'new',
'tax_id' => '2',
'output_path' =><EMAIL_ADDRESS>'code' => '11'
};

Fix for this has been committed. Should show up on beta soon.

Has the update happened? I am still seeing the problem this morning.
$VAR2 = {
'scientific_name' => 'Buchnera aphidicola (Aphis gossypii)',
'contigs' =><EMAIL_ADDRESS>'domain' => 'Bacteria',
'output_file' => 'x3',
'tax_id' => '98785',
'output_path' =><EMAIL_ADDRESS>'code' => '11'
};

Strange. Is your page refreshed/cached cleared?
Here is what I am getting as the final JSON being generated from the UI side.

Looks like i didn't scour out the tax_id but taxonomy_id is there now too.

Looks like a reload fixed it. Thanks.
On May 28, 2015, at 12:28 PM, Andrew Warren <notifications<EMAIL_ADDRESS>wrote:
Strange. Is your page refreshed/cached cleared?
Here is what I am getting as the final JSON being generated from the UI side.
[image]https://cloud.githubusercontent.com/assets/229173/7866437/6d29a0d6-053d-11e5-8b6b-cb3cacff1ec8.png
—
Reply to this email directly or view it on GitHubhttps://github.com/PATRIC3/patric3_website/issues/189#issuecomment-106509175.


unwrap() issue

This is my first attempt at running with Rust, so I'm afraid I'm not confident in trying to figure it by myself...
I had an error on my Mac, when trying to run it in the following ways (after a successful cargo build):
cargo run spotify-dl --username MyUserName "https://open.spotify.com/playlist/1lCFgHBNwlqxuki0H9BxGL?si=3fe59aa036f54ef3"
    Finished dev [unoptimized + debuginfo] target(s) in 0.23s
     Running `target/debug/spotify-dl spotify-dl --username MyUserName 'https://open.spotify.com/playlist/1lCFgHBNwlqxuki0H9BxGL?si=3fe59aa036f54ef3'`
Password:
thread 'main' panicked at src/main.rs:149:62:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Any idea what this might be?

For anyone else having this issue, there seems to be an issue in the regex parsing the spotify URL. The workaround right now is to remove the parameter si= at the end but keeping the question mark.
cargo run spotify-dl --username MyUserName "https://open.spotify.com/playlist/1lCFgHBNwlqxuki0H9BxGL?"

Yes, I ran spotify-dl via cargo like this:
cargo run spotify-dl --username  "https://open.spotify.com/playlist/1lCFgHBNwlqxuki0H9BxGL?"
cargo run spotify-dl --username  "spotify:track:72NikOBusiF2xUToovTmxW"
Executing the binary file directly worked, thanks!


Why does shouldScaleBackground add a black background to the body?

The issue is particularly egregious in Storybook. It adds the following style to the body:
    right: 0px;
    position: fixed !important;
    top: 0px;
    left: 0px;
    height: auto;
    background: black;
    pointer-events: none;

This leads to some really weird styling/janky black flashing. It in fact looks perfect if I disable this black background and then zoom out. Is there a way we could remove setting background color entirely?
Great library btw!

Can you show me how it looks in your storybook? A video would be fine.

@emilkowalski https://www.loom.com/share/f027a3332767456ca59b9d53faa26974

The link isn't working anymore

https://github.com/emilkowalski/vaul/assets/117078849/37bba81f-43e7-48fa-8b3c-fec15a84c201
Here is a video showing the issue. When the drawer is opened it adds a black background to the body, when the drawer is closed the black background persists which should not happen.

You can now disable the background with setBackgroundColorScale={false} on the root element.

If anybody is struggling with this, I discovered that it's setBackgroundColorOnScale={false}, not setBackgroundColorScale={false}.
You need an extra On in that parameter.
In full, you have to do
<Drawer.Root setBackgroundColorOnScale={false} />

To resolve the issue.


example contrastsheet.csv missing

Description of the bug
The link from the nf-core pipelines for the rnasplice contrastsheet: https://raw.githubusercontent.com/nf-core/rnasplice/dev/assets/contrastsheet.csv   is blank, it looks like it was deleted from the github page under /dev/assets/ could someone re upload the correct contrast sheet, as this is the part of the pipeline I keep getting errors for.
Command used and terminal output
No response
Relevant files
No response
System information
No response

Hi @Kevin2197 - The example data and metadata is now all in the test-datasets repository of the nf-core account. See here: https://github.com/nf-core/test-datasets/tree/rnasplice


Adds reverse-mapped proto file for the json scheme in OpenApi/Swagger

The reverse engineers the json format from our swagger into proto in
attempts to unblock envoy from being able to generate json. It appears
the only allowed tool is protobuf. Usually, we wouldn't host a file
like this, but the otherwise is no-one being able to move off json v1
unless they go to protobuf, and we know that is not likely to occur.
See https://github.com/envoyproxy/envoy/pull/6985

ps I don't know if this actually works with the proto-json conversion, into our format. someone will need to eyeball or otherwise that what appears to be correct and valid indeed is cc @dio

@adriancole Thank you! 🙇

we're in this together @dio!! I think this is a good solution. ping back if there are any glitches in the file

Looks good!
Please take a look at the serialized data here: https://github.com/envoy-zipkin/example. This example contains set up so we can have HTTP_JSON_V1, HTTP_JSON_V2 and HTTP_PROTO collector endpoint version.

Hum, seems like I'm wrong. Some of the server annotations are missing.

If you want, use a gist or something to show the compared things..
proto vs this vs v1. maybe I can help identify easier as eyes are
trained.
On Sun, Aug 18, 2019 at 12:11 AM Dhi Aurrahman<EMAIL_ADDRESS>wrote:

Hum, seems like I'm wrong. Some of the server annotations are missing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@adriancole here you are https://gist.github.com/dio/528ab1e0b3de40ef85bb074fe560efd7.

@dio thanks loading them into lens now. cheers

@dio so your three examples look identical except the variables like IDs. What is the part that you are concerned with about them? I can see some data oddities, but not sure they are new. ex "downstream_cluster": "-", is quite a strange choice to serialize.

also the client order finish being before the server finish isn't terribly unexpected. it is reasonable  for this to occur depending on where the timers are at.

@dio as far as I can tell from your change, all is good except possibly the annotations array hasn't been tested yet. So, the concern is we merge this and it doesn't serialize properly into json. Is that right?

Yeah, I think it is good. Apparently, I need to wrap ListOfSpans.spans to be loaded in [<span>, <span>, ...]. But that's OK since we don't depend on rapidjson to do that.
I think this is good to be merged.

@dio does that imply we don't need the type ListOfSpans here? if so maybe we chop it

@adriancole it is not required, but I take advantage of it as a temporary container here: https://github.com/envoyproxy/envoy/pull/6985/files#diff-b3abe4bcec8952e21f1fdb0115878167R91, so the code looks "similar" with the proto3. If you remove it I can replace that using vector. I have no strong opinion here.

hi, @dio because the intent is to match the json form, and I think with the ListOfSpans container doesn't match the json form.. seems least confusing to remove it. I don't think ListOfSpans is buying us enough over vector to keep it in. I wouldn't want to have to explain to someone passing by who tried to use this and found it didn't match.
make sense?

@adriancole sure. I'll update the code.

ok I bumped the commit here. @dio when you say go, I'll squash and cut a release tag.

@adriancole, looks good! Thanks everyone!


Change Default haproxy Port

Hi, is it possible to change the HTTP port that haproxy binds to? There is a policy on my work machine that prevents binding to port 80, thus the haproxy container will not start.
Error: (HTTP code 500) server error - Ports are not available: exposing port TCP <IP_ADDRESS>:80 -> <IP_ADDRESS>:0: listen tcp <IP_ADDRESS>:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
I first tried to change the port in docker-compose.yml but doing that and trying to connect via that port gives me an ERR_SSL_PROTOCOL_ERROR.
For context, I am also deploying in Windows, where I've made slight modifications to the Makefile to get the building to work. This works on a separate machine, but when deploying on a service machine, the port-binding inability is present hence the need to change it.
Thanks.

You'll want to change it in haproxy.docker-compose.cfg:
https://github.com/samuelclay/NewsBlur/blob/ed1a2c40eb56b5cd72d4b95d05d32e08ec3c9cf6/docker/haproxy/haproxy.docker-compose.cfg#L34-L35

@samuelclay
Changing the port from 443 doesn't seem to work. I still get an error saying that port 443 is already allocated.


Ubuntu 16.04 + Kinect V1 1414 = No Device Connected Help

Hi Team
Im trying to work on ORK project from object detection in ROS Kinetic , im stuck like a hell on my kinect 1414 i tried to install it via Freenect OpenNi followed all tutorials but still no device connected message
i also cant see it in lsusb , my kinect is working ( Green Led when its plugged ) can anyone give me a fixed and updated tutorial or any issue please.
Thanks for help

Same issue here.
I have installed and *hell re-installed every driver I have come across in my search.
The interesting aspect is that, "freenect-glview" works perfectly. I can control the tilt and all that. But running  "freenect_launch freenect.launch" at first starts normally with few warning messages about it setting some default values. That's alright. But the moment you try to read from any of its topics, it enters a never ending loop of starting, timeout and stopping device.
Somebody please help!!!

Whey I run openni driver  the context does not find any usb divice even though one is plug in and can be accessed through native interface.
context_.EnumerateProductionTrees
find nothing.


Updated to boilerplate.html

applies the lang attribute to the preheader and main wrapper to support web clients

The acorn template doesn't wrap the preheader inside of the main wrapper so I applied lang to both elements.

Awesome, thanks James!


fix: [CDS-102807]: add release notes of delegate 84307

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://674ef9f4613da00440bfe85d--harness-developer.netlify.app


Fix common typos of "partition"

I ran the following commands to make these changes:
git sed paritition partition
git sed Paritition Partition
git sed parition partition
git sed partitition partition

I didn't attempt to reformat the changed files. I know about :clang_format_{check,fix}, but the check variant produced a firehose of output so I didn't touch it yet. Do we have equivalent formatting commands for Python and SystemVerilog?

@tjaychen can you help with @dmcardle 's question above? Thanks!

the system verilog does have one, but it's not ready for prime time yet.
@msfschaffner knows the most about it.

the system verilog does have one, but it's not ready for prime time yet. @msfschaffner knows the most about it.

Yeah we could technically run the Verible formatter - but as Tim mentioned this is not fully mature yet.
Also, the edits LGTM,and style lint is passing - so I don't think it is needed.


teslamate container dies...

Describe the bug
The teslamate container is waiting for the database, which has been started and is accepting connections. Then the teslamate container dies. I can access the database from the shell outside of the containers. Can I check the database connection within the teslamate container somehow?
This all on a raspberry pi 3+.
I deleted all containers, images and volumes to start from scratch. I used the docker-compose.yml, which is running on another machine without issues. It happened just now, was running without issues ever since...
Expected behavior
Teslamate container should find the database and use it.
Relevant entries from the logs
database:
database_1   | 2021-01-23 12:09:04.161 UTC [1] LOG:  starting PostgreSQL 13.1 (Debian 13.1-1.pgdg100+1) on arm-unknown-linux-gnueabihf, compiled by gcc (Debian 8.3.0-6) 8.3.0, 32-bit
database_1   | 2021-01-23 12:09:04.163 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
database_1   | 2021-01-23 12:09:04.163 UTC [1] LOG:  listening on IPv6 address "::", port 5432
database_1   | 2021-01-23 12:09:04.177 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
database_1   | 2021-01-23 12:09:04.203 UTC [25] LOG:  database system was shut down at 2021-01-23 12:05:59 UTC
database_1   | 2021-01-23 12:09:04.232 UTC [1] LOG:  database system is ready to accept connections
teslamate:
teslamate_1  | waiting for postgres at database:5432 (2sec)
teslamate_1  | waiting for postgres at database:5432 (4sec)
teslamate_1  | waiting for postgres at database:5432 (8sec)
teslamate_1  | waiting for postgres at database:5432 (16sec)
teslamate_1  | waiting for postgres at database:5432 (32sec)
teslamate_1  | clock_gettime(CLOCK_MONOTONIC, _) failed: Operation not permitted (1)
teslamate_1  | Aborted (core dumped)
teslamate_1  | waiting for postgres at database:5432 (2sec)
teslamate_1  | waiting for postgres at database:5432 (4sec)
teslamate_1  | waiting for postgres at database:5432 (8sec)
teslamate_1  | waiting for postgres at database:5432 (16sec)
teslamate_1  | waiting for postgres at database:5432 (32sec)
teslamate_1  | waiting for postgres at database:5432 (64sec)
teslamate_1  | waiting for postgres at database:5432 (128sec)
teslamate_1  | waiting for postgres at database:5432 (256sec)
Data
docker-compose.zip
Environment

TeslaMate version: 1.22.0-dev
Type of installation: Docker
OS TeslaMate is installed on: raspbian buster on RPI3+
User OS & Browser: Win10, Chrome
Others: -

Well, it only happens with a fresh edge installation not with a latest installation.

Well, it only happens with a fresh edge installation not with a latest installation.

This could be related to the alpine upgrade to v3.13. Can you try the the latest edge image?

This could be related to the alpine upgrade to v3.13. Can you try the the latest edge image?

Yes, indeed. With alpine v3.12 it works again. (It happened only on the RPI, not on other machines...)

Yes, indeed. With alpine v3.12 it works again. (It happened only on the RPI, not on other machines...)

I am seeing this again right now with edge on my rpi. latest is working...

I am seeing this again right now with edge on my rpi. latest is working...

Which Raspbian Version?

$ uname -a
Linux pi-home 5.10.63-v7l+ #1496 SMP Wed Dec 1 15:58:56 GMT 2021 armv7l GNU/Linux

$ docker -v
Docker version 20.10.12, build e91ed57


Fix simple typo: avaiable -> available

@mhaidrygoog

release note: no

@timgates42 Please sign the CLA, thanks!

Thanks @AspirinSJL signed, the status check is happy now :)


PodsMetricSource has "metric" attribute but typedDict complains about it and only accepts "name" instead

File: themes/default/content/registry/packages/kubernetes/api-docs/autoscaling/v2/horizontalpodautoscaler/_index.md

Thanks @danielgruber99 !


Fix missing decimals for Erc20 token

Closes #181

Used default_if_null custom deserialiser for decimals in Erc20TokenInfo

Note: If the backend will serve an Erc721Transfer with an Erc20TokenInfo we map the same inconsistency. As I understood, we just shouldn't crash, right? Otherwise this fix would have to be a bit more involved.

Pull Request Test Coverage Report for Build 488

15 of 19 (78.95%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.08%) to 76.177%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/models/backend/transfers.rs
0
1
0.0%

src/models/converters/tests/transfers.rs
15
16
93.75%

src/models/backend/transactions.rs
0
2
0.0%

Totals

Change from base Build 483:
0.08%

Covered Lines:
2638

Relevant Lines:
3463

💛  - Coveralls

It seems to be possible to use TokenInfo for Transfers, in that case we get a token type against which we can assert whether it matches that of the transfer. If assertion fails, the txType is returned as Unknown:
[
   {
      "id": "ethereum_0xBc79855178842FDBA0c353494895DEEf509E26bB_0x2f920d8b75eff1857266643aedcfcf677b834ca164b6684a23a2c8e4574432ec_0x271d310e29f92da0",
      "timestamp":<PHONE_NUMBER>000,
      "txStatus": "SUCCESS",
      "txInfo": {
        "type": "Unknown"
      },
      "executionInfo": null
    },
    {
      "id": "ethereum_0xBc79855178842FDBA0c353494895DEEf509E26bB_0x317db9d079e46fef2f758e37bd20efb14d5c83e2510307079207bc6f04cdee48_0xda87a3cf48c093c7",
      "timestamp":<PHONE_NUMBER>000,
      "txStatus": "SUCCESS",
      "txInfo": {
        "type": "Unknown"
      },
      "executionInfo": null
    }
]

There is still a panic! for the else branch of a match block. It's just for when a transfer is not either ERC20 or ERC721.
There was minimal changes to tests I think, so the old behaviour was preserved as much as possible, by just adding that the TokenType takes priority over the decision as to what sort of transfer transaction this corresponds to.


orrgato added day02 progress

getting the hang of github to some extent , Could edit the pull request to make some final changes. Without much panic .

/lgtm


System.NotSupportedException

Reported by PastLife
===== osu!Sync Crash | 2016-01-16 16:43:28 =====

// Information
An exception occured in osu!Sync. If this problem persists please report it using the Feedback-window, on GitHub or on the osu!Forum.
When reporting please try to describe as detailed as possible what you've done and how the applicationen reacted.
GitHub: http://j.mp/1PDuDFp | osu!Forum: http://j.mp/1PDuCkK

// Configuration
{"application":{"isElevated":"True","lastUpdateCheck":"16-01-2016 04:43:25","version":"<IP_ADDRESS>"},"config":{"downloadMirror":"0","updateInterval":"3"},"language":{"code":{"long":"en_US","short":"en"}},"system":{"cultureInfo":"en-AU","is64bit":"True","operatingSystem":"6.1.7601.65536"}}

// Exception
System.NotSupportedException: No imaging component suitable to complete this operation was found. ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x88982F50
--- End of inner exception stack trace ---
at System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(Uri uri, Stream stream, BitmapCacheOption cacheOption, Guid& clsId, Boolean& isOriginalWritable, Stream& uriStream, UnmanagedMemoryStream& unmanagedMemoryStream, SafeFileHandle& safeFilehandle)
at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, Boolean insertInDecoderCache)
at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()
at System.Windows.Media.Imaging.BitmapImage..ctor(Uri uriSource)
at osu_Sync.MainWindow.Action_UpdateBeatmapDisplay(List`1 BeatmapList, UpdateBeatmapDisplayDestinations Destination, String LastUpdateTime)
at osu_Sync.MainWindow.BGW__Action_Sync_GetIDs_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Tested and fixed.


adding subdir to ROOT_URL goes 404

Gogs version (or commit ref):
Git version: Gogs <IP_ADDRESS>9
Operating system: Git Version: 2.7.4
Database (use [x]):

[ ] PostgreSQL
[X] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gogs.io:

[ ] Yes (provide example URL)
[ ] No
[X ] Not relevant

Log gist (usually found in log/gogs.log):

Description
In order to use my ssl proxy I need to use a subdir on ROOT_URL
aka:  ROOT_URL=http://localhost:8891/git
But if I then access http://localhost:8891/git, I get the html but all css/js links are 404
Also deleted the mysql database and started new, but same issue.
Fine without it, but then I can't put it behind my ssl-proxy, because it hosts lots of other projects.
Is there somewhere else I need to configure, that is not set in the faq:
https://gogs.io/docs/intro/faqs#how-do-i-use-apache-2-with-reverse-proxy%3F
it will not work unless it is the only server on the virtualhost.
Thanks, below it the header, where all the url-paths are ok, but they do not load
<!DOCTYPE html>
  | <html>
  | <head data-suburl="/git">
  | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  | <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  |
  | <meta name="author" content="Gogs" />
  | <meta name="description" content="Gogs is a painless self-hosted Git service" />
  | <meta name="keywords" content="go, git, self-hosted, gogs">
  |
  | <meta name="referrer" content="no-referrer" />
  | <meta name="_csrf" content="IOS5MblO2_b_zP3nuo5qAW1dfUA6MTQ5OTU0MjM4ODk4NDk2NDU2Mg==" />
  | <meta name="_suburl" content="/git" />
  | <meta property="og:url" content="http://localhost:8891/git/" />
  | <meta property="og:type" content="website" />
  | <meta property="og:title" content="Gogs">
  | <meta property="og:description" content="Gogs is a painless self-hosted Git service.">
  | <meta property="og:image" content="http://localhost:8891/git/img/gogs-lg.png" />
  | <meta property="og:site_name" content="Gogs">
  |
  | <link rel="shortcut icon" href="/git/img/favicon.png" />
  |
  | <script src="/git/js/jquery-1.11.3.min.js"></script>
  | <script src="/git/js/libs/jquery.are-you-sure.js"></script>
  | <link rel="stylesheet" href="/git/assets/font-awesome-4.6.3/css/font-awesome.min.css">
  | <link rel="stylesheet" href="/git/assets/octicons-4.3.0/octicons.min.css">
  |
  | <link rel="stylesheet" href="/git/css/semantic-2.2.10.min.css">
  | <link rel="stylesheet" href="/git/css/gogs.css?v=d9c2d9bb647a949f6d06f4946ab31d91">
  |
  |
  | <script src="/git/js/semantic-2.2.10.min.js"></script>
  | <script src="/git/js/gogs.js?v=d9c2d9bb647a949f6d06f4946ab31d91"></script>
  |
  | <title>Page Not Found - Gogs</title>
  |
  | <meta name="theme-color" content="#ff5343">

That's too bad...

Please post questions or config/deploy problems on our forum: https://discuss.gogs.io, here are bugs and feature requests only.


python3Packages.autoit-ripper: 1.0.1 -> 1.1.0

Motivation for this change
Update to latest upstream release 1.1.0
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

4 packages built:

python38Packages.autoit-ripper
python38Packages.karton-autoit-ripper
python39Packages.autoit-ripper
python39Packages.karton-autoit-ripper


Issue #1368: Fix private files not accessable with nginx

Just a PR, I haven't tested this. @yobottehg could you verify if this works?

LGTM otherwise. I don't have an install set up locally to test it on, though.

Me neither, if no one else can I can test it during the weekend.

@oxyc i just tested it with a reprovision and it works. thank you for the PR.

Thanks for confirming, @yobottehg!

Perfect, thanks all!


Redocly portal migration

Closing without merge for now. Identified an issue with the Redocly portal hosting that breaks pages with partials in them and we're waiting for the issue to be fixed before we can complete upgrading to the latest portal.


I encountered some tough problems when compiling this program , and I don't know how to deal with them.

here are the errors:
/home/ly/pluto_ws/src/mesh_navigation-master/mbf_mesh_nav/src/mesh_navigation_server.cpp:56:54: error: no matching function for call to ‘mesh_map::MeshMap::MeshMap(tf::TransformListener&)’
, mesh_ptr_(new mesh_map::MeshMap(*tf_listener_ptr_))
/home/ly/pluto_ws/src/mesh_navigation-master/mbf_mesh_nav/src/mesh_navigation_server.cpp:175:68: error: no matching function for call to ‘mbf_mesh_core::MeshController::initialize(const string&, const TFPtr&, mbf_mesh_nav::MeshNavigationServer::MeshPtr&)’
/home/ly/pluto_ws/src/mesh_navigation-master/mbf_mesh_nav/src/mesh_navigation_server.cpp:219:57: error: no matching function for call to ‘mbf_mesh_core::MeshRecovery::initialize(const string&, const TFPtr&, mbf_mesh_nav::MeshNavigationServer::MeshPtr&)’
behavior->initialize(name, tf_listener_ptr_, mesh_ptr_);

Are you using kinetic?

yes，I use ubuntu 16.04 and ros-kinetic. Is the ros-melodic necessary?

yes.


When will the official ionic vue release

When will the official ionic vue release

Thanks for the issue. We are waiting until the Vue 3 API stabilizes before finalizing Ionic Vue.


Songs appear multiple times before other songs are played

I'm shuffling a 32 song playlist and I'm getting some strange shuffling.

On the right I wrote how many times was a single song played. From 23 first songs there were only 11 unique ones.
Now, I know it's only a 32 song playlist but I would still expect it to cycle through every song before repeating old ones.
This also sometimes happens to me on a 364 song playlist, though it's much rarer there.

Hello, so the shuffling algorithm used is targeted to create sparse shuffling for large playlists. For playlists smaller than 50 songs there is only a simple swap shuffle that gets performed which will yield repetitions. To learn more about how the shuffle works, see the following source code: https://github.com/kartikk221/spotify-true-shuffle/blob/1af71f347482831db6767bd169904ce0870129e7/assets/js/main.js#L34-L38
You will notice that the following steps are taken:

A batch size to perform isolated shuffles is first determined which is usually 10% of the playlist size or at least 50 songs.
A batch swap shuffle is performed in which essentially the songs array is shuffled in batches of the size determined in previous step in isolation.
A total of 100 songs are retrieved in a random manner spread over the batch size in which essentially the algorithm decides on a random cursor for the first song and then randomly increments / loops around the total songs array with random values up to batch size. This essentially ensures that random songs are picked within at maximum batch size distance from each other hence making the algorithm pick songs equally spread out throughout the playlist.


Replace Assets/link.xml with dynamically created one in MRTK.Generated

This change removes the link.xml file from the Assets folder and replaces it with one that is auto-created in the MixedRealityToolkit.Generated folder. Per Unity documentation, multiple link.xml files are allowed and can be placed anywhere in the Assets tree.
This change enables the current code preservation level (and adds recently introduced assemblies) to work when MRTK is installed via the Unity Package Manager.

/azp run

/azp run

/azp run

/azp run

/azp run

Change seems righteous, two major things:

Making sure that we handle cases where there are multiple link.xml in the project (i.e. if the consumer already has one)
For people who are pulling the precompiled binaries (i.e. nuget feed), this removes their link.xml and will likely break them unless they do additional work after pulling in a new version. What's the plan for alleviating that?

Making sure that we handle cases where there are multiple link.xml in the project (i.e. if the consumer already has one)

We are covered. Unity documents that it supports multiple link.xml files here: https://docs.unity3d.com/Manual/ManagedCodeStripping.html#LinkXML

For people who are pulling the precompiled binaries (i.e. nuget feed), this removes their link.xml and will likely break them unless they do additional work after pulling in a new version. What's the plan for alleviating that?

Documentation feels like the solution here. The first time the customer opens their project after importing 2.5, they will have the file generated. Release notes and a dedicated page will explain this change and advise checking in the file.

/azp run

Before merging, I will add the docs mentioned previously.

/azp run

/azp run

/azp run


fix: some unusual behavior of LOGO animation

Checklist

[ ] Fix linting errors
[ ] Tests have been added / updated (or snapshots)

Change information
fix #755
Feel free to edit this PR ~

Hello, thank you for PR.
Remove the animationElClientRect that removes the middle layer is desirable
And Then In order to other users, it must be a component that rises and landed and does not require additional maintenance of the 'fixed' state.


Write an installation startup section for README.md

#5 similar issue there is no ios or android set up and installation guide
suggestion
step 1 yarn install
separate android and ios setup
firebase for respective devices
also missing Podfile.lock and Manifest.lock on ios version
any other set up steps?

Good call. This project is not exactly targeted at beginners, even though it might be with proper documentation. Seasoned RN developers should be able to get this up and running without any problems given a Firebase guide, I'll add that to the readme.
I don't check in Podfile.lock because every version update of cocoapods has been breaking it in the past. I don't want to require a specific version of cocoapods.

As a (semi-seasoned maybe?) React Native developer definitely would encourage not using podfiles as they are almost impossible to maintain in a react native app.

Closed with #96341bb


Artemis: cb: Version commit for 2024.15.01

Summary:
Description:
Version commit for ColterBay BIC 2024.15.01.
Motivation:

Committing the version to align BMC version.

Test Plan:

Build code: Pass
Get firmware version: Pass

Log:
root@bmc-oob:~# fw-util cb --version bic
CB BIC Version: cb2024.15.01

Hi @jagpalgill ,
This commit has been rebased to the main branch.
The previous version commit is v2024.14.1.
We would like to align BIC version with the new BMC version v2024.15.1.
Therefore, we are submitting a new pull request.

Hi @jagpalgill , This commit has been rebased to the main branch. The previous version commit is v2024.14.1. We would like to align BIC version with the new BMC version v2024.15.1. Therefore, we are submitting a new pull request.

Hi @MarshallZhan-wiwynn  I still diff is old message when trying to merge this. Please make sure branch is rebased.


B21 not recognized

The Niimbot B21 isn't recognized. After WebBluetooth pairs, niimblue returns the error: NotFoundError: No Services matching UUID e7810a71-73ae-499d-8c15-faa9aef0c3f2 found in Device.

Hi! This is the first issue where Service e7810a71-xxx was not found.
Can you run app like nRF Connect and find out what services and characteristics available for your printer?


Zip .dsym file for upload with hockey and similar

gym automatically zips the .dsym file and moves it to the right place:
https://github.com/fastlane/fastlane/blob/d2c77f34024394000e44a2f3e840d95693cd3085/gym/lib/gym/runner.rb#L128
This plugin should also do this so it can be uploaded to HockeyApp etc.
(There is also a zip action that could be used)

Note to self: PR this upstream to fastlane-cordova-plugin when done.


Turn a int into a bool

Describe your bug here.
so i downloaded the latest update of the engine and i got an error that and int should be a bool

Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
.

This problem can be solved by editing the file "FunkinLua.hx".
Go to the problematic line 2706 and change the "1" to "false" and you can now build!

thank you so much now i can compile thx!!!


[Map] DOM-DRMBarn

Hash: 5027bb54a7bc84b1396dab9c4d7d0b69f1706aae
Current name: DOM-DRMBarn
According to the readme, the author is Dustin 'dremoan' Fair
so Dremoan is an alternative name for this author
Requires an alias file
1 Dustin (Dremoan) Fair
2 Dremoan
3 Dustin 'dremoan' Fair

Updated, added aliases.


Docs Setup Conditional

Part of the travis setup, about jekyll and docs, should only be done in the 2.12.2 build.

Codecov Report

Merging #334 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #334   +/-   ##
======================================
  Coverage    82.4%   82.4%
======================================
  Files          25      25
  Lines         216     216
  Branches        2       2
======================================
  Hits          178     178
  Misses         38      38

@juanpedromoreno This avoids the install part that takes half a minute. We could also try to isolate the docs part into a separate build. The work specific to the docs-tut takes about 5 minutes off the 11-minute build.


format: add nan_rep and null_rep kwargs

Summary
Add arguments to fmt_X methods to control the string representation of nan and null values. I have written test cases but I'm not quite sure how to test the formatting result and looking for advice there.
Checklist

[x] I understand and agree to the Code of Conduct.
[x] I have followed the Style Guide for Python Code as best as possible for the submitted code.
[] I have added pytest unit tests for any new functionality.

Hey, thanks for opening this PR! We should be able to support the nan and null representation, via the WIP sub_missing function (https://github.com/posit-dev/great-tables/issues/182).
This is really helpful to see--since it's clear we need to account for nan handling too

Thanks for working on this PR -- I'm going to close for now, as the sub_missing method can handle replacing missing values. Note that it replaces both null and nan, but we should be able to support a custom substitutions by adding the more generic sub() method to GT down the road


As a user, I want to store a copy of my archive data in AWS Deep Archive / Glacier

Checked for duplicates
Yes - I've already checked
🧑🔬 User Persona(s)
Archivist
💪 Motivation
...so that I can have a copy of my data available in the event of corruption or disaster recovery
📖 Additional Details
No response
Acceptance Criteria
Given
When I perform
Then I expect
⚙ Engineering Details
Tightly coupled with cloud requirement: https://github.com/NASA-PDS/planetary-data-cloud/issues/75

tagup with MCP - we (PDS) will be able to set up glacier ousevles.

@ramesh-maddegoda At monthly MCP meeting today (7/8/24), we explored the following options instead of using glaciers:

Enabling S3 bucket versioning
Utilizing multi-region S3 buckets

Could you please evaluate these approaches with Nucleus?

@viviant100 poking at this a bit online, I think what the folks on the MCP call may have been referring to was Cross-Region Replication. We could then:

Replicate the data from our S3 archive bucket to another region
Once the data is replicated to the other region, move it to Deep Archive tier

To kick off this effort, can you help with a couple sub-tasks:

[ ] Provide a cost comparison of our existing planned costs for a copy of the data in S3 and Glacier vs. S3 + versioning + cross-region replication + Deep Archive (we can use lower storage tier since we have versioning enabled)
[ ] Ask around to other data repositories and archives at JPL to determine what their disaster recovery solutions are for data at rest in the cloud, and whether or not this solution seems sensible

Now, in MCP it takes more than 2 hours sometimes to create MWAA in MCP with Terraform and it fails with the following error.
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h56m25s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h56m35s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h56m45s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h56m55s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h57m5s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h57m15s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h57m25s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h57m35s elapsed]
module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env: Still creating... [1h57m45s elapsed]
╷
│ Error: waiting for MWAA Environment (pds-nucleus-airflow-env) create: operation error MWAA: GetEnvironment, https response error StatusCode: 403, RequestID: 9c1603bb-8845-4eb1-951b-45623079b703, api error ExpiredTokenException: The security token included in the request is expired
│
│   with module.mwaa-env.aws_mwaa_environment.pds_nucleus_airflow_env,
│   on terraform-modules/mwaa-env/mwaa_env.tf line 57, in resource "aws_mwaa_environment" "pds_nucleus_airflow_env":
│   57: resource "aws_mwaa_environment" "pds_nucleus_airflow_env" {
│

Created the request https://jaas.gsfc.nasa.gov/servicedesk/customer/portal/2/GSD-3804 to get long term access keys to avoid this problem.

This ticket was unblocked after finding a solution to https://github.com/NASA-PDS/nucleus/issues/118

Created pull request: https://github.com/NASA-PDS/nucleus/pull/119

Status: Initially had an issue with pushing to Glacier. Need to set --force flag in order to overwrite the data in Glacier.

We finally want a replication across regions and we do that using a replication rule configured in terraform (as done for the ODR bucket).

Create a pull request https://github.com/NASA-PDS/nucleus/pull/120

The PR is merged and next step is to document the needed configuration, a ticket will be created for that.

This can be closed. Wrap-up of https://github.com/NASA-PDS/planetary-data-cloud/issues/75 will include the necessary documentation.


Notes

NV DCGM stands for NVIDIA Data Center GPU Manager, a suite of tools for managing and monitoring NVIDIA datacenter GPUs in cluster environments¹². It includes active health monitoring, comprehensive diagnostics, system alerts and governance policies including power and clock management¹²³⁴. It can be used standalone by infrastructure teams and easily integrates into cluster management tools, resource scheduling and monitoring products from NVIDIA partners¹. It also supports Linux operating systems on x86_64, Arm and POWER (ppc64le) platforms². DCGM is now open-source and can be found on GitHub⁴.
Source: Conversation with Bing, 11/5/2023
(1) NVIDIA DCGM | NVIDIA Developer. https://developer.nvidia.com/dcgm.
(2) Getting Started — NVIDIA DCGM Documentation latest documentation. https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/getting-started.html.
(3) DCGM | NVIDIA NGC. https://catalog.ngc.nvidia.com/orgs/nvidia/teams/cloud-native/containers/dcgm.
(4) GitHub - NVIDIA/DCGM: NVIDIA Data Center GPU Manager (DCGM) is a .... https://github.com/NVIDIA/DCGM.

A concept hierarchy for DCGM is a way of organizing the features and functionalities of NVIDIA Data Center GPU Manager into a tree-like structure, where each level of the hierarchy represents a more general or abstract concept than the level below it. A concept hierarchy for DCGM can help users to understand the scope and purpose of DCGM, as well as to navigate and use its tools and APIs. A possible concept hierarchy for DCGM is:

DCGM: The root node that represents the entire suite of tools for managing and monitoring NVIDIA datacenter GPUs in cluster environments¹².

Groups: A node that represents the collections of GPUs on the local node that can be used for various DCGM operations¹.

Default group: A node that represents the group containing all supported GPUs in the system¹.
Custom group: A node that represents a user-defined group containing a subset of GPUs in the system¹.

Features: A node that represents the different functionalities and capabilities of DCGM¹².

Field value watches: A node that represents the GPU metrics that can be monitored and collected by DCGM¹².
Configuration management: A node that represents the configuration settings and policies that can be applied and enforced by DCGM¹².
Active health checks: A node that represents the GPU subsystems that can be checked and validated by DCGM¹².
Job statistics: A node that represents the job-level information and performance data that can be gathered and analyzed by DCGM¹².
Topology: A node that represents the physical and logical connections and relationships among GPUs and other components in the system¹².
Introspection: A node that represents the internal state and behavior of DCGM itself¹².
Policy notification: A node that represents the alerts and actions that can be triggered by DCGM based on predefined rules and conditions¹².
GPU diagnostics: A node that represents the diagnostic tests and levels that can be performed by DCGM to identify and resolve GPU issues¹².

Interfaces: A node that represents the different ways of accessing and interacting with DCGM¹².

dcgmi: A node that represents the command-line interface for DCGM¹².
API: A node that represents the application programming interface for DCGM¹².

C: A node that represents the C language binding for the DCGM API¹².
Python: A node that represents the Python language binding for the DCGM API¹².
Go: A node that represents the Go language binding for the DCGM API¹².

DCGM-Exporter: A node that represents the Prometheus exporter for DCGM¹².
NVVS: A node that represents the NVIDIA Validation Suite for DCGM¹².

I hope this helps you to understand the concept hierarchy for DCGM. If you have any questions or feedback, please let me know. 😊
Source: Conversation with Bing, 11/5/2023
(1) Feature Overview — NVIDIA DCGM Documentation latest documentation. https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/feature-overview.html.
(2) NVIDIA DCGM | NVIDIA Developer. https://developer.nvidia.com/dcgm.
(3) Concept Hierarchy in Data Mining - GeeksforGeeks. https://www.geeksforgeeks.org/concept-hierarchy-in-data-mining/.

CUDA is a platform and API that allows software to use certain types of GPUs for general purpose processing, an approach called GPGPU². CUDA gives direct access to the GPU's virtual instruction set and parallel computational elements, for the execution of compute kernels². CUDA is designed to work with programming languages such as C, C++, and Fortran, and also supports frameworks such as OpenCL, OpenACC, and HIP². CUDA can be used for various applications that benefit from parallel processing, such as machine learning, computer vision, cryptography, physics simulation, and more²³.
CUDA was created by Nvidia in 2006 and has since evolved into a highly parallel multi-core system that can handle large blocks of data efficiently². CUDA consists of a software layer and a hardware layer. The software layer includes the CUDA Toolkit, which provides a development environment for creating and optimizing GPU-accelerated applications, and the CUDA libraries, which offer high-level APIs for common GPU tasks³. The hardware layer includes the CUDA-enabled GPUs, which have a specific architecture that supports CUDA operations².
To use CUDA, programmers need to write code that can run on both the CPU and the GPU. The CPU code is called the host code, and the GPU code is called the device code or the kernel. The host code is responsible for allocating memory, transferring data, and launching kernels on the GPU. The device code is executed by multiple threads in parallel on the GPU. Each thread has access to different types of memory, such as registers, shared memory, global memory, constant memory, and texture memory. The threads are organized into groups called blocks, and the blocks are organized into grids. The blocks and grids can have one, two, or three dimensions, depending on the problem domain²³.
CUDA is a powerful and flexible platform that enables developers to harness the computational power of GPUs for various purposes. CUDA can also be integrated with other tools and frameworks, such as TensorFlow, PyTorch, MATLAB, and more. If you want to learn more about CUDA, you can visit the official website³, read the documentation¹, or check out some sample code¹. You can also download the latest version of the CUDA Toolkit¹ and start developing your own GPU-accelerated applications. 😊
Source: Conversation with Bing, 11/5/2023
(1) CUDA - Wikipedia. https://en.wikipedia.org/wiki/CUDA.
(2) CUDA Toolkit - Free Tools and Training | NVIDIA Developer. https://developer.nvidia.com/cuda-toolkit.
(3) CUDA Toolkit 12.3 Downloads | NVIDIA Developer. https://developer.nvidia.com/cuda-downloads.

A concept hierarchy for CUDA is a way of organizing the features and functionalities of CUDA into a tree-like structure, where each level of the hierarchy represents a more general or abstract concept than the level below it. A concept hierarchy for CUDA can help users to understand the scope and purpose of CUDA, as well as to navigate and use its tools and APIs. A possible concept hierarchy for CUDA is:

CUDA: The root node that represents the entire platform and API that allows software to use certain types of GPUs for general purpose processing²³.

Hardware: A node that represents the physical components and architecture of CUDA-enabled GPUs²³.

Compute Capability: A node that represents the version of the GPU architecture that determines the features and performance of the GPU²³.
Streaming Multiprocessors: A node that represents the units of parallel processing cores on the GPU²³.
Memory: A node that represents the different types and sizes of memory available on the GPU, such as global, shared, constant, texture, and local memory²³.

Software: A node that represents the software components and tools that enable the development and execution of GPU-accelerated applications²³.

CUDA Toolkit: A node that represents the development environment for creating and optimizing GPU-accelerated applications, which includes compilers, libraries, debuggers, profilers, and more²³.

NVCC: A node that represents the CUDA compiler driver that compiles both host and device code²³.
CUDA Libraries: A node that represents the high-level APIs for common GPU tasks, such as linear algebra, image processing, machine learning, and more²³.
CUDA Tools: A node that represents the tools for debugging, profiling, and optimizing GPU-accelerated applications, such as Nsight, Visual Profiler, and CUDA-MEMCHECK²³.

CUDA Runtime: A node that represents the runtime library that provides functions and data structures for managing and executing GPU kernels, memory, streams, events, and more²³.
CUDA Driver: A node that represents the low-level API that interacts directly with the GPU hardware and handles device initialization, context management, module loading, and more²³.

Programming Model: A node that represents the concepts and principles that guide the design and implementation of GPU-accelerated applications²³.

Host and Device: A node that represents the distinction between the CPU and the GPU, and the code that runs on each of them²³.
Kernels: A node that represents the functions that are executed by multiple threads in parallel on the GPU²³.
Threads: A node that represents the units of computation that run on the GPU cores²³.
Blocks and Grids: A node that represents the organization and dimensions of threads into groups called blocks, and blocks into groups called grids²³.
Memory Hierarchy: A node that represents the different types and scopes of memory available to threads, blocks, and grids, such as registers, shared memory, global memory, constant memory, and texture memory²³.
Synchronization: A node that represents the mechanisms for coordinating and ordering the execution of threads, blocks, and grids, such as barriers, events, streams, and graphs²³.

I hope this helps you to understand the concept hierarchy for CUDA. If you have any questions or feedback, please let me know. 😊
Source: Conversation with Bing, 11/5/2023
(1) Concept Hierarchy in Data Mining - GeeksforGeeks. https://www.geeksforgeeks.org/concept-hierarchy-in-data-mining/.
(2) Introduction to CUDA Programming - GeeksforGeeks. https://www.geeksforgeeks.org/introduction-to-cuda-programming/.
(3) CUDA C Programming Guide - NVIDIA Documentation Hub. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html.
(4) CUDA - Key Concepts - Online Tutorials Library. https://www.tutorialspoint.com/cuda/cuda_key_concepts.htm.

OpenCL and CUDA are both platforms and APIs for writing heterogeneous applications that can use GPUs and other types of processors for general purpose computing. They have some similarities and differences in terms of their concepts and features. Here are some of the main points of comparison:

OpenCL is an open standard that is supported by multiple vendors, such as AMD, Intel, and NVIDIA, while CUDA is a proprietary technology that is only available for NVIDIA GPUs¹²³.
OpenCL is more portable and flexible, as it can run on a variety of devices, such as CPUs, GPUs, FPGAs, and DSPs, while CUDA is more optimized and efficient, as it can take advantage of the specific features and architectures of NVIDIA GPUs¹²³.
OpenCL uses a platform model and a memory model that are similar to CUDA, but with some differences in terminology and details. For example, OpenCL uses the terms platform, device, context, and queue, while CUDA uses the terms driver, device, context, and stream. OpenCL also has more types of memory, such as local, private, and constant memory, while CUDA only has shared, local, and constant memory¹²⁴.
OpenCL uses a kernel model that is similar to CUDA, but with some differences in syntax and functionality. For example, OpenCL kernels are written in a dialect of C or C++ with some extensions and restrictions, while CUDA kernels are written in a subset of C or C++ with some extensions and keywords. OpenCL also supports offline and online compilation of kernels, while CUDA only supports offline compilation¹²⁴.
OpenCL and CUDA have different ways of organizing and launching kernels on the device. OpenCL uses the concepts of work-items, work-groups, and ND-ranges, while CUDA uses the concepts of threads, blocks, and grids. OpenCL also allows for more flexibility in specifying the dimensions and sizes of the work-groups and ND-ranges, while CUDA has some limitations and constraints on the blocks and grids¹²⁴.
OpenCL and CUDA have different sets of libraries and tools for developing and debugging GPU-accelerated applications. OpenCL has a standard set of libraries, such as clBLAS, clFFT, and clSPARSE, and some vendor-specific libraries, such as AMD's APPML and Intel's MKL. CUDA has a more comprehensive and mature set of libraries, such as cuBLAS, cuFFT, and cuSPARSE, and some frameworks, such as TensorFlow and PyTorch. OpenCL also has fewer and less advanced tools for debugging and profiling, such as CodeXL and gDEBugger, while CUDA has more and better tools, such as Nsight and Visual Profiler¹²⁴.

These are some of the main concepts and features that can be compared between OpenCL and CUDA. Both platforms have their advantages and disadvantages, and the choice of which one to use depends on the goals and preferences of the developers and the availability and compatibility of the devices. If you want to learn more about OpenCL and CUDA, you can visit their official websites¹², read their documentation⁴ , or check out some tutorials and examples³ . I hope this helps you to understand the differences and similarities between OpenCL and CUDA. 😊
Source: Conversation with Bing, 11/5/2023
(1) KhronosGroup/OpenCL-Guide - GitHub. https://github.com/KhronosGroup/OpenCL-Guide.
(2) Hands On OpenCL by HandsOnOpenCL. http://handsonopencl.github.io/.
(3) OpenCL vs OpenGL: Differences and Full Comparison. https://history-computer.com/opencl-vs-opengl/.
(4) OpenCL Overview - The Khronos Group Inc. https://www.khronos.org/opencl/.

DCGM stands for NVIDIA Data Center GPU Manager, a suite of tools for managing and monitoring NVIDIA datacenter GPUs in cluster environments¹². It includes active health monitoring, comprehensive diagnostics, system alerts and governance policies including power and clock management¹²³⁴. It can be used standalone by infrastructure teams and easily integrates into cluster management tools, resource scheduling and monitoring products from NVIDIA partners¹. It also supports Linux operating systems on x86_64, Arm and POWER (ppc64le) platforms². DCGM is now open-source and can be found on GitHub⁴.
As far as I know, there is no equivalent tool for OpenCL that provides the same features and functionalities as DCGM. OpenCL is an open standard that is supported by multiple vendors, such as AMD, Intel, and NVIDIA, while DCGM is a proprietary technology that is only available for NVIDIA GPUs¹²³. OpenCL is more portable and flexible, as it can run on a variety of devices, such as CPUs, GPUs, FPGAs, and DSPs, while DCGM is more optimized and efficient, as it can take advantage of the specific features and architectures of NVIDIA GPUs¹²³.
However, there are some tools and libraries that can help with managing and monitoring OpenCL devices, such as:

CodeXL: A tool that allows developers to debug, profile, and analyze OpenCL applications on AMD GPUs and CPUs.
gDEBugger: A tool that allows developers to debug and optimize OpenCL applications on NVIDIA and AMD GPUs.
clinfo: A command-line tool that displays information about the available OpenCL platforms and devices.
clBLAS, clFFT, and clSPARSE: Libraries that provide high-level APIs for common GPU tasks, such as linear algebra, fast Fourier transform, and sparse matrix operations, using OpenCL  .

These are some of the tools and libraries that I found for OpenCL. They may not be as comprehensive and integrated as DCGM, but they can still be useful for OpenCL developers and users. I hope this helps you to understand the differences and similarities between DCGM and OpenCL. 😊
Source: Conversation with Bing, 11/5/2023
(1) NVIDIA DCGM | NVIDIA Developer. https://developer.nvidia.com/dcgm.
(2) Welcome — NVIDIA DCGM Documentation latest documentation. https://docs.nvidia.com/datacenter/dcgm/latest/index.html.
(3) Data Center GPU Manager User Guide - NVIDIA Documentation Hub. https://docs.nvidia.com/datacenter/dcgm/1.7/dcgm-user-guide/feature-overview.html.
(4) GitHub - NVIDIA/DCGM: NVIDIA Data Center GPU Manager (DCGM) is a .... https://github.com/NVIDIA/DCGM.

Binary instrumentation for GPUs is a process of inserting other code into a GPU executable to observe or modify the GPU execution¹. Binary instrumentation for GPUs can be used for various purposes, such as analysis, debugging, profiling, security, and architecture research²³. Binary instrumentation for GPUs can be of two types: source instrumentation and binary instrumentation¹. Source instrumentation modifies the source code of the GPU program before compilation, while binary instrumentation modifies the compiled code of the GPU program after compilation¹. Binary instrumentation for GPUs can be further classified into static and dynamic binary instrumentation⁴. Static binary instrumentation rewrites the GPU binary file on disk, while dynamic binary instrumentation rewrites the GPU binary code in memory during execution⁴.
Binary instrumentation for GPUs can be performed using different tools and techniques, depending on the target platform, the instrumentation point, and the instrumentation code. Some examples of binary instrumentation tools for GPUs are:

NVBit: A tool that performs dynamic binary instrumentation on NVIDIA GPUs, using a just-in-time compiler to inject instrumentation code into the GPU binary code⁵⁶.
Rellume: A library that performs static binary instrumentation on x86-64 and RISC-V64 GPUs, using LLVM to lift and transform the GPU binary code²⁷.
GPGPU-Sim: A simulator that performs dynamic binary instrumentation on NVIDIA, AMD, and Intel GPUs, using a virtual machine to intercept and modify the GPU binary code .
GPUInst: A tool that performs static binary instrumentation on NVIDIA GPUs, using a disassembler and an assembler to rewrite the GPU binary code .

Binary instrumentation for GPUs is a powerful and flexible technique that enables developers and researchers to manipulate and analyze the behavior of GPU programs. However, binary instrumentation for GPUs also has some limitations and challenges, such as execution coverage, performance overhead, code compatibility, and security risks¹²³. Therefore, binary instrumentation for GPUs requires careful design and implementation to achieve the desired goals and outcomes. I hope this helps you to understand the concept of binary instrumentation for GPUs. 😊
Source: Conversation with Bing, 11/5/2023
(1) NVBit: A Dynamic Binary Instrumentation Framework for NVIDIA GPUs. https://research.nvidia.com/publication/2019-10_nvbit-dynamic-binary-instrumentation-framework-nvidia-gpus.
(2) GitHub - NVlabs/NVBit. https://github.com/NVlabs/NVBit.
(3) Accurate Floating-Point Exception Detection for GPU Applications. https://dl.acm.org/doi/pdf/10.1145/3520313.3534655.
(4) GPU Instruction Hotspots Detection Based on Binary Instrumentation .... https://ieeexplore.ieee.org/document/8758260/.
(5) undefined. http://www.acm.org/dl/.
(6) undefined. https://github.com/NVlabs/NVBit/releases.
(7) undefined. https://github.com/NVlabs/NVBit/releases/download/v1.0/MICRO_19_NVBit.pdf.

Rellume is a library that can lift machine code to LLVM IR, which is an intermediate representation used by the LLVM compiler framework¹. Rellume can lift code from x86-64, AArch64, and RISC-V64 architectures, and generate performant and optimized LLVM IR that can be compiled and executed again¹². Rellume can be used for various purposes, such as binary translation, performance improvement, instrumentation, and analysis²³. Rellume is open-source and can be found on GitHub¹.
Source: Conversation with Bing, 11/5/2023
(1) Rellume — Lift machine code to LLVM IR - GitHub. https://github.com/aengelke/rellume.
(2) The Fastest Way To Design And Build A Website | Relume Library. https://library.relume.io/.
(3) Meet Relume, the bootstrapped AI web builder that wants to supercharge .... https://techcrunch.com/2023/08/22/meet-relume-the-bootstrapped-ai-web-builder-that-wants-to-supercharge-figma-and-webflow/.
(4) Relume | Build Faster, Design Better in Webflow & Figma. https://www.relume.io/.

Yes, Rellume can also lift GPU code from NVIDIA PTX and AMD GCN architectures to LLVM IR, which can then be compiled and executed on different GPU platforms . Rellume can be used for GPU binary translation, performance improvement, instrumentation, and analysis . Rellume is one of the few tools that can perform static binary instrumentation on GPUs, which can offer some advantages over dynamic binary instrumentation, such as lower overhead, better compatibility, and more flexibility . Rellume is open-source and can be found on GitHub.

https://discourse.llvm.org/t/rfc-extending-mlir-gpu-device-codegen-pipeline/70199

Here are a few key points about the RFC you linked regarding extending MLIR GPU device codegen:

The RFC proposes enhancements to the MLIR GPU dialect and codegen pipeline to support generating optimized device code for different GPU architectures like NVIDIA GPUs.

It suggests adding a new GPU runtime interface that can be targeted by the GPU dialect, allowing generation of architecture-specific code.

The RFC discusses implementing the NVVM IR as a new GPU runtime interface, which would allow generating PTX code for NVIDIA GPUs.

It proposes mapping GPU dialect operations to NVVM IR operations, and using NVVM optimizations and PTX codegen.

The goal is to leverage MLIR's benefits like analysis, transformations, and portability while still generating efficient device code.

Challenges include handling differences between the MLIR GPU dialect and NVVM IR, ensuring correct mappings, and integrating well with the NVVM compiler.

There is discussion around alternate approaches like using MLIR's LLVM dialect instead of NVVM IR, and tradeoffs around complexity, maintenance, optimization opportunities.

Overall it seems like an interesting proposal to extend MLIR codegen capabilities for GPUs and allow taking advantage of architecture-specific optimizations while maintaining portability through MLIR.

In summary, the RFC aims to improve MLIR's support for generating optimized GPU device code by targeting specific GPU architectures like NVIDIA using interfaces like NVVM IR. It discusses both benefits and challenges of this approach.
jmikedupont2 commented 3 minutes ago
Thank you for the concise summary of the key points in that RFC! MLIR seems like a very promising compiler infrastructure, and being able to target different GPU architectures while still leveraging high-level analysis and transformations is a major advantage.
The discussion around tradeoffs of using the NVVM IR vs. MLIR's LLVM dialect is also insightful. Maintaining architecture-specific interfaces like NVVM IR introduces overhead, but also allows lower-level optimizations. It will be interesting to see what approach ends up working best in practice.
I appreciate you pulling out the main concepts from that lengthy RFC. Your summary will be really helpful for me in understanding how MLIR can be extended to support optimized code generation for GPUs. Let me know if you have any other thoughts or insights on MLIR and GPU code generation!

Here is a concept hierarchy for extending MLIR to support optimized GPU code generation:
MLIR (root node)

GPU Dialect

Operations
Types
Attributes

Code Generation

GPU Runtime Interfaces

NVVM IR
AMDGPU IR
Other GPU IRs

Target GPU Architectures

NVIDIA

PTX
SASS

AMD

GCN

Intel

Gen9+

Optimizations

Architecture-specific

Register allocation
Memory optimization
Instruction selection

Target-independent

Loop optimizations
Dataflow optimizations

Challenges

Dialect to IR mapping
Optimization tradeoffs

Maintainability
Portability
Performance

Approaches

NVVM IR integration
MLIR to LLVM lowering

The key concepts covered in this hierarchy include:

The MLIR GPU dialect for representing GPU programs
Different GPU runtime interfaces like NVVM IR that can be targeted
Target GPU architectures with their ISAs like PTX, GCN
Architecture-specific and target-independent optimizations
Challenges around mapping dialects, optimizing, and maintaining portability
Potential approaches like using NVVM IR or lowering to LLVM IR

Let me know if you would like me to explain or expand on any part of this concept hierarchy! I'm happy to clarify or go into more details on these concepts related to extending MLIR for GPU code generation.


SourceFolder changes after second checkout

My Yaml steps at the beginning of the build pipeline:

checkout: self
clean: true
path: s

checkout: Configs
clean: true
path: s/Configs
task: CopyFiles@2
...

##[debug]Repository requires to be placed at 'H:\Agent_work\13\s', current location is 'H:\Agent_work\13\s'
##[debug]Repository requires to be placed at 'H:\Agent_work\13\s\Configs', current location is 'H:\Agent_work\13\s\Configs'
Debug trace of copyFiles  $(Build.SourcesDirectory)
##[debug]SourceFolder=H:\Agent_work\14\s
Tested with v2.195.0, v2.195.1, v2.196.0.
Agent is installed on premise on Windows Server 2012 R2 and connected with Azure DevOps Server.
With vsts-agent-win-x64-2.190.0 the variable $(Build.SourcesDirectory) is the corrected directory.
##[debug]SourceFolder=H:\Agent_work\13\s

Hey @juergenB234, I've looked at your issue. I didn't see any unexpected behavior while trying to reproduce your issue (I have checked all the agent versions that you mentioned in the ticket). What I see from provided logs is that the workspace part of the source directory changed in your case. This could happen in several situations,  workspace is changing when an organization, pipeline (defenitionId), or/and set of used repositories in the pipeline was changed. Could you, please check that no mentioned options changed between two runs where you see this problem.
Could you please provide a full agent and worker logs they are located in _diag folder?

We implemented a workaround and I have to switch back to the old version to get the logs. Will take a while until I get that right. Probably on Wednesday.

I attached the logs from buildagent (servername and accounts are removed). This build process uses 3 checkout. In the first task after checkouts the sourcefolder changed. With agent 2.190.0 the process runs fine.
Worker_20211208-113545-utc.log
1_BuildJob (1).txt
1_BuildJob.txt
Agent_20211208-113541-utc.log

@juergenB234 could you share your workaround ? do you mean you switched to an older version of the agent? if you could tell us it would be very helpful, thank you

Hi @juergenB234, fix for this issue is awaiting deployment, but due to deployment freeze the version of the agent with these changes will start the official release process after 10 Jan.

Hey @juergenB234, the fix for this issue in the latest version of agent 2.196.2. I'm closing this issue, feel free to ping me if problem persists, or you still need any help.


[ZEPPELIN-2744] [minor] Increase error handling in JDBC interpreter

What is this PR for?
At times running a phoenix sql query throws "ResultSet is closed."
java.sql.SQLException: ERROR 1101 (XCL01): ResultSet is closed.
at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:442)
at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145)
at org.apache.phoenix.jdbc.PhoenixResultSet.checkOpen(PhoenixResultSet.java:215)
at org.apache.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:772)
at org.apache.commons.dbcp2.DelegatingResultSet.next(DelegatingResultSet.java:191)
at org.apache.commons.dbcp2.DelegatingResultSet.next(DelegatingResultSet.java:191)
at org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:705)
at org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:775)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:101)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:503)
at org.apache.zeppelin.scheduler.Job.run(Job.java:181)
at org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

``

### What type of PR is it?
[Improvement]

### What is the Jira issue?
* [ZEPPELIN-2744](https://issues.apache.org/jira/browse/ZEPPELIN-2744)

### How should this be tested?
Try running a Phoenix query like `select * from SYSTEM.CATALOG` for me it was failing on a Kerberos enabled environment (on CentOS6.6 with Hbase-1.1.2).

### Questions:
* Does the licenses files need update? N/A
* Is there breaking changes for older versions? N/A
* Does this needs documentation? N/A

It should then report an error in the InterpreterResult?

Yes, that's what it is doing now (in the case of Phoenix SQL) it gives a valid result with error stack trace, and paragraph results in error. Hence, I thought we could either choose to improve it or leave it.

ok, I guess to clarify, the code is getting one sqlToExecute at a time.
In the case of Phoenix, perhaps somehow resultSet.isClosed() happens, and can be ignored if it is already at the end of the sqlArray.
But, if it is not, then the sql in the paragraph is partially executed (say, only 3 out of 10), and it will be an error? Would that happen that way and if it does, that would be something to report in InterpreterResults?

Sure, I see your point, will close this, and mark ZEPPELIN-2744 works as designed.


Scoring implementation

We need to implement scoring. I think we can easily do it with the TP3 of simbad in our uni eureka.
(https://eureka-old.univ-lehavre.fr/mod/resource/view.php?id=48608 at "Cherry Agent" part)

https://github.com/Kiritsu/PakMan/commit/f80c2118df8320aab1639427b25d9c7d0dd773b5 :
Added "Point" to PakEnvironmentParser.
Added a Point to the map file.

Done.


Failed to call constructor

Hello, the mod can`t be loaded (both the latest release and earlier ones)

Hey, I can't reproduce the problem.  :/
On which system do you play? (Windows, Mac or Linux) And can you check if there is a "Lore.png" file somewhere inside the Resources\Base folder?

Linux

Hm, I suspect the "/" could be a problem here. In the path you can see that the last part "Resources\Base" actually has backslashes instead of normal ones. I'm not familiar with Linux sorry. Here's a version which uses normal slashes instead. It might still be missing ones, but for a quick test it should be enough. Delete the .pdb and dll files and use these instead. Does this work? (This does NOT contain the resource folder since I can only upload up to 25 mb here.
LoreMaster.zip

After using new files, new error appears:

but I just renamed these files .PNG -> .png

and it works now (at least at first sight)

btw some errors are still there, but I dont think it matters too much

Will update the path and the names of the extensions.
For the last part it seems that the global settings were missing/corrupted. I can add a safety check for that. But it "should" only affect the tags if you changed them. Though if you don't play the extra mode (which might not even have appeared for you due to this), this doesn't matter.
Will be updated in the next 2 days. Thank you <3


Change nvidia/cuda base image to 11.4.1

Describe your changes and why you are making these changes
This covers the common case use of using EKS with GPU configuration. The follow-up longterm fix is tracked here.
Related issue number (if any)
Eng-2483
Loom demo (if any)
Checklist before requesting a review

[x] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[x] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[ ] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[ ] All features on the UI continue to work correctly.
[ ] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

Awesome, thanks @hsubbaraj-spiral! Let me know once these images are pushed.