Build script rerun-if changes break rebuild detection.

If a build script changes what values it prints for "rerun-if" directives between runs, then the rebuild detection doesn't work correctly.  An example of what happens:

Perform a build, which emits a certain set of rerun-if directives.
Change something that invalidates a rerun-if directive, and build.  During this step, the build script should emit a different set of rerun-if directives to trigger the bug.
Build again with nothing changed from step 2, causes a rebuild when it shouldn't.

A real-world example is the llvm and sanitizer build scripts in rust-lang/rust (like this).  I suspect this is a relatively common idiom.
There is also a problem, when running a debug build of cargo, it causes cargo to panic and hangs.  In non-debug builds, it hits this unhelpful line because it has become confused.
The problem is this line.  When the local value is updated, the cached hash is invalidated.  However, the invalidation needs to propagate to all parent units as well.  Otherwise they write out their fingerprint with the deps value using the old hash.
The panics in debug mode are due to the json validations.  The round-trip fails because the cached hash values are incorrect.  It hangs because of #6433.
I've been trying to think of some way to work around this, but haven't come up with any good ideas.  @alexcrichton do you have any ideas how to invalidate the memoized hashes? Or maybe a completely different approach?
Note that this is similar in spirit to #6779, but I think the solution may be different.
Here is a sample test.  Similar problems occur with rerun-if-changed, but env vars are a little easier to use.  Each of the "FIXME" lines fails with current cargo.
#[cargo_test]
fn rerun_if_changes() {
    let p = project()
        .file(
            "build.rs",
            r#"
                fn main() {
                    println!("cargo:rerun-if-env-changed=FOO");
                    if std::env::var("FOO").is_ok() {
                        println!("cargo:rerun-if-env-changed=BAR");
                    }
                }
            "#,
        )
        .file("src/lib.rs", "")
        .build();

    p.cargo("build").run();
    // Stays fresh.
    p.cargo("build").with_stderr("[FINISHED] [..]").run();
    p.cargo("build -v")
        .env("FOO", "1")
        .with_stderr(
            "\
[COMPILING] foo [..]
[RUNNING] `[..]build-script-build`
[RUNNING] `rustc [..]
[FINISHED] [..]
",
        )
        .run();
    // Stays fresh.
    // FIXME: Error here.
    p.cargo("build")
        .env("FOO", "1")
        .with_stderr("[FINISHED] [..]")
        .run();

    p.cargo("build -v")
        .env("FOO", "1")
        .env("BAR", "1")
        .with_stderr(
            "\
[COMPILING] foo [..]
[RUNNING] `[..]build-script-build`
[RUNNING] `rustc [..]
[FINISHED] [..]
",
        )
        .run();
    // Stays fresh.
    p.cargo("build")
        .env("FOO", "1")
        .env("BAR", "1")
        .with_stderr("[FINISHED] [..]")
        .run();

    p.cargo("build -v")
        .env("BAR", "2")
        .with_stderr(
            "\
[COMPILING] foo [..]
[RUNNING] `[..]build-script-build`
[RUNNING] `rustc [..]
[FINISHED] [..]
",
        )
        .run();
    // Ignores BAR.
    // FIXME: Error here.
    p.cargo("build")
        .env("BAR", "2")
        .with_stderr("[FINISHED] [..]")
        .run();
}

Ok I think I understand what's happening here as well, and everything you mentioned seems spot on.
One thing I was a bit confused at is where the memoized hashes that need to be invalidated come from, but this happens during an incremental build where we compare a bunch of hashes, so before the build starts we've calculated a bunch of hashes, including the parents of the one being invalidated. Then when it's invalidated everything stops working because the parent memoized hashes aren't invalidated when the child is.
Also to clarify where debug cargo fails, it trips this assertion which asserts the memoized hash is indeed matching the hash of the actual struct.

As to how to fix this, that's a good question. This is the only instance of invalidating a hash and I would prefer that it doesn't have too large of an impact on Cargo. That being said the fact that the hash changes at runtime is pretty fundamental to how build scripts work, so it should probably have some impact on design.
A quick-and-dirty solution would look like:
diff --git a/src/cargo/core/compiler/fingerprint.rs b/src/cargo/core/compiler/fingerprint.rs
index 27392ac7c..ff7320abe 100644
--- a/src/cargo/core/compiler/fingerprint.rs
+++ b/src/cargo/core/compiler/fingerprint.rs
@@ -301,7 +301,6 @@ pub fn prepare_target<'a, 'cfg>(
             // hobble along if it happens to return `Some`.
             if let Some(new_local) = (gen_local)(&deps, None)? {
                 *fingerprint.local.lock().unwrap() = new_local;
-                *fingerprint.memoized_hash.lock().unwrap() = None;
             }

             write_fingerprint(&loc, &fingerprint)
@@ -613,6 +612,10 @@ impl Fingerprint {
         ret
     }

+    pub fn clear_memoized(&self) {
+        *self.memoized_hash.lock().unwrap() = None;
+    }
+
     /// Compares this fingerprint with an old version which was previously
     /// serialized to filesystem.
     ///
diff --git a/src/cargo/core/compiler/job_queue.rs b/src/cargo/core/compiler/job_queue.rs
index cea9e4e23..f7637eba1 100644
--- a/src/cargo/core/compiler/job_queue.rs
+++ b/src/cargo/core/compiler/job_queue.rs
@@ -248,6 +248,10 @@ impl<'a, 'cfg> JobQueue<'a, 'cfg> {
             .take()
             .map(move |srv| srv.start(move |msg| drop(tx.send(Message::FixDiagnostic(msg)))));

+        for unit in cx.fingerprints.values() {
+            unit.clear_memoized();
+        }
+
         // Use `crossbeam` to create a scope in which we can execute scoped
         // threads. Note that this isn't currently required by Cargo but it was
         // historically required. This is left in for now in case we need the

which is to basically just zero out all memoizations just before we start doing real work. That may be an alright long-term solution too, but I'd want to at least attempt to take a look at the perf impact of that.

I thought about doing the same thing, too.  I was wondering if there might be a more clever solution (I was investigating if the local value could be excluded from the hash, but that's not possible).
I did some tests with your patch, and I don't see any performance difference.  Do you want to open a PR with it?

Sure yeah, I'll run that tomorrow and do some more poking at it myself as well.


How to write custom Tests

I want to write some Unit Tests for my answer, but what I can do is write one at a time. I want to know how to write many tests for an answer. By the way, how can I associate my answer and my custom tests automatically.

Hi @ArthurChi,
Sorry that so far there' no way to provide multiple tests to an answer at one time. Neither associate the answer and customized tests.


Name and comment StrptimeParser's %Q as milliseconds, not microseconds

@muga Not affecting any behavior, though.
%Q looks actually "milliseconds" in Ruby's documents, and even in our implementation behavior. But, the constant name and the comments are written it's "microseconds"...
https://docs.ruby-lang.org/en/2.4.0/DateTime.html#method-i-strftime
It might come from JRuby's long-lived code:
https://github.com/jruby/jruby/blame/a41e22b8f44114fc2783798cd22c76c47876bc51/core/src/main/java/org/jruby/util/RubyDateFormatter.java#L144-L146

Thanks.


Static loader dont work

i view précèdent Issues for try to start program i add manually the gameversion :12.2.1 and the static loader dont work

Hi cruxm4n
Manually setting the game version (as seen in Issue #34 ) was only a temporary workaround for the preseason patch and is no longer necessary.
The error message you are receiving references a syntax error in the config file; if removing the game version config does not resolve the problem, please post your config.json with API Key and passwords redacted

Hey
You don't have to share your API key
lol

When i install.bat

Exactly, that's why I asked you to post your config with your API key and passwords redacted :)
The second error message is coming from the install script, it looks like the default config (\modules\config\config.dist.json) is no longer present.
You can either edit  \modules\config\config.json directly and then run npm install and npm run build:modules or redownload/copy the default config from here: https://github.com/RCVolus/league-prod-toolkit/blob/develop/modules/config/config.dist.json

It still doesn't work, it gives me a lot of errors like many modules are missing.
I don't understand anything ><

Config.dist :

The Log :
><EMAIL_ADDRESS>start
> npm run build && node --trace-warnings dist/core/app.js

><EMAIL_ADDRESS>build
> tsc && webpack

asset main-bundle.js 29.9 KiB [emitted] (name: main)
asset rcv.png 26.1 KiB [emitted] [from: frontend/rcv.png] [copied]
asset frontend-lib.ts 6.79 KiB [emitted] [from: frontend/frontend-lib.ts] [copied]
asset style.css 336 bytes [emitted] [from: frontend/style.css] [copied]
./frontend/frontend-lib.ts 7 KiB [built] [code generated]
./core/eventbus/LPTE.ts 564 bytes [built] [code generated]
webpack 5.38.1 compiled successfully in 2313 ms

><EMAIL_ADDRESS>postbuild
> copyfiles core/web/views/**.* core/web/public/**.* dist

2022-01-22T17:51:40.820Z [info ] main        :  _          _       _____           _ _    _ _
2022-01-22T17:51:40.821Z [info ] main        : | |    ___ | |     |_   _|__   ___ | | | _(_) |_
2022-01-22T17:51:40.821Z [info ] main        : | |   / _ \| |       | |/ _ \ / _ \| | |/ / | __|
2022-01-22T17:51:40.821Z [info ] main        : | |__| (_) | |___    | | (_) | (_) | |   <| | |_
2022-01-22T17:51:40.822Z [info ] main        : |_____\___/|_____|   |_|\___/ \___/|_|_|\_\_|\__|
2022-01-22T17:51:40.822Z [info ] main        :
2022-01-22T17:51:40.822Z [info ] lpte-svc    : Initialized event bus.
2022-01-22T17:51:40.823Z [info ] module-svc  : Initializing module service.
2022-01-22T17:51:40.840Z [info ] module-svc  : Initialized 19 module(s). Now loading plugins.
2022-01-22T17:51:40.841Z [info ] module-svc  : Loaded 19 plugin(s).
2022-01-22T17:51:40.845Z [error] plugin-config: Uncaught error in config: Cannot find module './config.json'
Require stack:
- A:\PROD\RC TOOL\league-prod-toolkit\modules\config\plugin.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\modules\Module.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\modules\ModuleService.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\web\controller\modules.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\web\controller\index.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\web\server.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\app.js
Error: Cannot find module './config.json'
Require stack:
- A:\PROD\RC TOOL\league-prod-toolkit\modules\config\plugin.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\modules\Module.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\modules\ModuleService.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\web\controller\modules.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\web\controller\index.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\web\server.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\app.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (A:\PROD\RC TOOL\league-prod-toolkit\modules\config\plugin.js:1:16)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\modules\\config\\plugin.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\modules\\Module.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\modules\\ModuleService.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\web\\controller\\modules.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\web\\controller\\index.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\web\\server.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\app.js'
  ]
}
2022-01-22T17:51:42.187Z [info ] main        : LoL Toolkit started up successfully.
2022-01-22T17:51:42.189Z [info ] server      : Listening for requests on http://localhost:3003
2022-01-22T17:51:42.190Z [info ] module-svc  : Plugin status changed: plugin=layout-volu-europe, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.191Z [warn ] lpte-svc    : Request was sent, but no handler was executed. This will result in a timeout. Meta={"channelType":"REQUEST","type":"request","namespace":"config","version":1,"sender":{"name":"database","version":"1.0.0","mode":"PLUGIN","path":"A:\\PROD\\RC TOOL\\league-prod-toolkit\\modules\\database"},"reply":"request-1id6obhskyq4pb2u"}
2022-01-22T17:51:42.192Z [info ] module-svc  : Plugin status changed: plugin=example-module, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.193Z [info ] module-svc  : Plugin status changed: plugin=league-end-of-game, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.193Z [warn ] lpte-svc    : Request was sent, but no handler was executed. This will result in a timeout. Meta={"channelType":"REQUEST","type":"request","namespace":"config","version":1,"sender":{"name":"league-in-game","version":"1.0.0","mode":"PLUGIN","path":"A:\\PROD\\RC TOOL\\league-prod-toolkit\\modules\\league-in-game"},"reply":"request-1id6obhskyq4pb32"}
2022-01-22T17:51:42.194Z [info ] module-svc  : Plugin status changed: plugin=prod-clock, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.194Z [info ] module-svc  : Plugin status changed: plugin=provider-webapi, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.195Z [info ] module-svc  : Plugin status changed: plugin=rcv-caster, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.196Z [info ] module-svc  : Plugin status changed: plugin=rcv-gfx, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.197Z [info ] module-svc  : Plugin status changed: plugin=rcv-rune-gfx, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.198Z [info ] module-svc  : Plugin status changed: plugin=rcv-teams, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.199Z [info ] module-svc  : Plugin status changed: plugin=rcv-tournament-tree, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.200Z [info ] module-svc  : Plugin status changed: plugin=state-league, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.203Z [warn ] lpte-svc    : Request was sent, but no handler was executed. This will result in a timeout. Meta={"channelType":"REQUEST","type":"request","namespace":"config","version":1,"sender":{"name":"static-league","version":"3.0.0","mode":"PLUGIN","path":"A:\\PROD\\RC TOOL\\league-prod-toolkit\\modules\\static-league"},"reply":"request-1id6obhskyq4pbpe"}
2022-01-22T17:51:42.208Z [info ] module-svc  : Plugin status changed: plugin=valorant-pregame, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.208Z [info ] module-svc  : Plugin status changed: plugin=valorant-state, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.210Z [info ] module-svc  : Plugin status changed: plugin=themeing, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:42.427Z [info ] module-svc  : Plugin status changed: plugin=valorant-static, old=UNAVAILABLE, new=RUNNING
2022-01-22T17:51:46.156Z [warn ] lpte-svc    : Awaiting event timed out. namespace=reply, type=request-1id6obhskyq4pb2u, timeout=5000
2022-01-22T17:51:46.158Z [error] lpte-svc    : Request timed out after 5000ms. Request meta={"channelType":"REQUEST","type":"request","namespace":"config","version":1,"sender":{"name":"database","version":"1.0.0","mode":"PLUGIN","path":"A:\\PROD\\RC TOOL\\league-prod-toolkit\\modules\\database"},"reply":"request-1id6obhskyq4pb2u"}
2022-01-22T17:51:46.161Z [warn ] plugin-database: database config could not be loaded
2022-01-22T17:51:46.164Z [warn ] lpte-svc    : Awaiting event timed out. namespace=reply, type=request-1id6obhskyq4pb32, timeout=5000
2022-01-22T17:51:46.164Z [error] lpte-svc    : Request timed out after 5000ms. Request meta={"channelType":"REQUEST","type":"request","namespace":"config","version":1,"sender":{"name":"league-in-game","version":"1.0.0","mode":"PLUGIN","path":"A:\\PROD\\RC TOOL\\league-prod-toolkit\\modules\\league-in-game"},"reply":"request-1id6obhskyq4pb32"}
2022-01-22T17:51:46.165Z [warn ] plugin-league-in-game: config could not be loaded
2022-01-22T17:51:46.965Z [warn ] lpte-svc    : Awaiting event timed out. namespace=reply, type=request-1id6obhskyq4pbpe, timeout=5000
2022-01-22T17:51:46.967Z [error] lpte-svc    : Request timed out after 5000ms. Request meta={"channelType":"REQUEST","type":"request","namespace":"config","version":1,"sender":{"name":"static-league","version":"3.0.0","mode":"PLUGIN","path":"A:\\PROD\\RC TOOL\\league-prod-toolkit\\modules\\static-league"},"reply":"request-1id6obhskyq4pbpe"}
2022-01-22T17:51:46.969Z [warn ] plugin-static-league: static-league config could not be loaded

Do you have discord i can pay for help ?

Sorry if I was unclear previously, things should work with these steps:

rename the config from ´config.dist´ to ´config.json´
set the database password (the mongoDB default is no password)

For reference here is my config:
{
  "provider-webapi": {
    "apiKey": "RGAPI-SECRETKEY",
    "region": "EUROPE",
    "server": "EUW1"
  },
  "rcv-pickban": {
    "backend": "ws://localhost:8999"
  },
  "static-league": {
    "last-downloaded-version": "12.2.1"
  },
  "database": {
    "user": "root",
    "password": "",
    "clusterUrl": "localhost",
    "port": 27017
  },
  "league-in-game": {
    "items": [],
    "level": []
  }
}

Do you happen to have discord?
and then i will post the solution
For example, by renaming the config file and adding the right elements, it closes me directly the powershell

Please post your solution (or your updated config if issues are still present) here, so things are documented :)

Nothing works ^^
Look log :
asset main-bundle.js 29.9 KiB [compared for emit] (name: main)
asset rcv.png 26.1 KiB [compared for emit] [from: frontend/rcv.png] [copied]
asset frontend-lib.ts 6.79 KiB [compared for emit] [from: frontend/frontend-lib.ts] [copied]
asset style.css 336 bytes [compared for emit] [from: frontend/style.css] [copied]
./frontend/frontend-lib.ts 7 KiB [built] [code generated]
./core/eventbus/LPTE.ts 564 bytes [built] [code generated]
webpack 5.38.1 compiled successfully in 3283 ms

><EMAIL_ADDRESS>postbuild
> copyfiles core/web/views/**.* core/web/public/**.* dist

2022-01-23T11:26:15.125Z [info ] main        :  _          _       _____           _ _    _ _
2022-01-23T11:26:15.126Z [info ] main        : | |    ___ | |     |_   _|__   ___ | | | _(_) |_
2022-01-23T11:26:15.126Z [info ] main        : | |   / _ \| |       | |/ _ \ / _ \| | |/ / | __|
2022-01-23T11:26:15.127Z [info ] main        : | |__| (_) | |___    | | (_) | (_) | |   <| | |_
2022-01-23T11:26:15.127Z [info ] main        : |_____\___/|_____|   |_|\___/ \___/|_|_|\_\_|\__|
2022-01-23T11:26:15.127Z [info ] main        :
2022-01-23T11:26:15.128Z [info ] lpte-svc    : Initialized event bus.
2022-01-23T11:26:15.129Z [info ] module-svc  : Initializing module service.
2022-01-23T11:26:15.148Z [info ] module-svc  : Initialized 19 module(s). Now loading plugins.
2022-01-23T11:26:15.149Z [info ] module-svc  : Loaded 19 plugin(s).
2022-01-23T11:26:16.832Z [info ] main        : LoL Toolkit started up successfully.
2022-01-23T11:26:16.835Z [info ] server      : Listening for requests on http://localhost:3003
2022-01-23T11:26:16.836Z [info ] module-svc  : Plugin status changed: plugin=layout-volu-europe, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.837Z [info ] module-svc  : Plugin status changed: plugin=config, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.837Z [info ] module-svc  : Plugin status changed: plugin=example-module, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.838Z [info ] module-svc  : Plugin status changed: plugin=league-end-of-game, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.839Z [info ] module-svc  : Plugin status changed: plugin=prod-clock, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.839Z [info ] module-svc  : Plugin status changed: plugin=provider-webapi, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.840Z [info ] module-svc  : Plugin status changed: plugin=rcv-caster, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.840Z [info ] module-svc  : Plugin status changed: plugin=rcv-gfx, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.840Z [info ] module-svc  : Plugin status changed: plugin=rcv-rune-gfx, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.841Z [info ] module-svc  : Plugin status changed: plugin=rcv-teams, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.841Z [info ] module-svc  : Plugin status changed: plugin=rcv-tournament-tree, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.842Z [info ] module-svc  : Plugin status changed: plugin=state-league, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.843Z [info ] module-svc  : Plugin status changed: plugin=valorant-pregame, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.843Z [info ] module-svc  : Plugin status changed: plugin=valorant-state, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.858Z [info ] module-svc  : Plugin status changed: plugin=themeing, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.859Z [info ] module-svc  : Plugin status changed: plugin=database, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:26:16.860Z [info ] module-svc  : Plugin status changed: plugin=league-in-game, old=UNAVAILABLE, new=RUNNING
node:internal/modules/cjs/loader:933
  const err = new Error(message);
              ^

Error: Cannot find module '../frontend/data/de_DE/map.json'
Require stack:
- A:\PROD\RC TOOL\league-prod-toolkit\modules\static-league\dist\plugin.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\modules\Module.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\modules\ModuleService.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\web\controller\modules.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\web\controller\index.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\web\server.js
- A:\PROD\RC TOOL\league-prod-toolkit\dist\core\app.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at StaticData.readyHandler (A:\PROD\RC TOOL\league-prod-toolkit\modules\static-league\dist\plugin.js:44:19)
    at StaticData._startUp (A:\PROD\RC TOOL\league-prod-toolkit\modules\static-league\dist\StaticData.js:39:22)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\modules\\static-league\\dist\\plugin.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\modules\\Module.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\modules\\ModuleService.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\web\\controller\\modules.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\web\\controller\\index.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\web\\server.js',
    'A:\\PROD\\RC TOOL\\league-prod-toolkit\\dist\\core\\app.js'
  ]
}
PS A:\PROD\RC TOOL\league-prod-toolkit>

New error messages mean progress :)
It looks like the tool is confused about which files are downloaded already.
Could you try changing the last-downloaded-version to be empty:
  "static-league": {
    "last-downloaded-version": ""
  },

This should force a download of all required files

Here the program dont crash at start but
when i sync champ select for example with the .exe tool :
><EMAIL_ADDRESS>start
> npm run build && node --trace-warnings dist/core/app.js

><EMAIL_ADDRESS>build
> tsc && webpack

asset main-bundle.js 29.9 KiB [compared for emit] (name: main)
asset rcv.png 26.1 KiB [compared for emit] [from: frontend/rcv.png] [copied]
asset frontend-lib.ts 6.79 KiB [compared for emit] [from: frontend/frontend-lib.ts] [copied]
asset style.css 336 bytes [compared for emit] [from: frontend/style.css] [copied]
./frontend/frontend-lib.ts 7 KiB [built] [code generated]
./core/eventbus/LPTE.ts 564 bytes [built] [code generated]
webpack 5.38.1 compiled successfully in 3165 ms

><EMAIL_ADDRESS>postbuild
> copyfiles core/web/views/**.* core/web/public/**.* dist

2022-01-23T11:58:31.241Z [info ] main        :  _          _       _____           _ _    _ _
2022-01-23T11:58:31.242Z [info ] main        : | |    ___ | |     |_   _|__   ___ | | | _(_) |_
2022-01-23T11:58:31.242Z [info ] main        : | |   / _ \| |       | |/ _ \ / _ \| | |/ / | __|
2022-01-23T11:58:31.242Z [info ] main        : | |__| (_) | |___    | | (_) | (_) | |   <| | |_
2022-01-23T11:58:31.243Z [info ] main        : |_____\___/|_____|   |_|\___/ \___/|_|_|\_\_|\__|
2022-01-23T11:58:31.243Z [info ] main        :
2022-01-23T11:58:31.243Z [info ] lpte-svc    : Initialized event bus.
2022-01-23T11:58:31.245Z [info ] module-svc  : Initializing module service.
2022-01-23T11:58:31.262Z [info ] module-svc  : Initialized 19 module(s). Now loading plugins.
2022-01-23T11:58:31.263Z [info ] module-svc  : Loaded 19 plugin(s).
2022-01-23T11:58:33.155Z [info ] main        : LoL Toolkit started up successfully.
2022-01-23T11:58:33.160Z [info ] server      : Listening for requests on http://localhost:3003
2022-01-23T11:58:33.162Z [info ] module-svc  : Plugin status changed: plugin=layout-volu-europe, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.163Z [info ] module-svc  : Plugin status changed: plugin=config, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.163Z [info ] module-svc  : Plugin status changed: plugin=example-module, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.164Z [info ] module-svc  : Plugin status changed: plugin=league-end-of-game, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.164Z [info ] module-svc  : Plugin status changed: plugin=prod-clock, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.164Z [info ] module-svc  : Plugin status changed: plugin=provider-webapi, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.165Z [info ] module-svc  : Plugin status changed: plugin=rcv-caster, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.165Z [info ] module-svc  : Plugin status changed: plugin=rcv-gfx, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.166Z [info ] module-svc  : Plugin status changed: plugin=rcv-rune-gfx, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.166Z [info ] module-svc  : Plugin status changed: plugin=rcv-teams, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.168Z [info ] module-svc  : Plugin status changed: plugin=rcv-tournament-tree, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.168Z [info ] module-svc  : Plugin status changed: plugin=state-league, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.169Z [info ] module-svc  : Plugin status changed: plugin=valorant-pregame, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.169Z [info ] module-svc  : Plugin status changed: plugin=valorant-state, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.189Z [info ] module-svc  : Plugin status changed: plugin=themeing, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.190Z [info ] module-svc  : Plugin status changed: plugin=database, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.196Z [info ] module-svc  : Plugin status changed: plugin=league-in-game, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.245Z [info ] plugin-static-league: start downloading dragontail.tgz
2022-01-23T11:58:33.246Z [info ] plugin-static-league: start downloading additional files
2022-01-23T11:58:33.410Z [info ] module-svc  : Plugin status changed: plugin=valorant-static, old=UNAVAILABLE, new=RUNNING
2022-01-23T11:58:33.986Z [info ] plugin-static-league: finish downloading additional files
2022-01-23T11:59:08.693Z [info ] plugin-static-league: finish downloading dragontail.tgz
2022-01-23T11:59:08.695Z [info ] plugin-static-league: start unpacking dragontail.tgz
2022-01-23T11:59:30.794Z [info ] plugin-state-league: Flow: champselect - reset summoners to not show
A:\PROD\RC TOOL\league-prod-toolkit\modules\state-league\dist\champselect\convertState.js:18
        const championSearch = leagueStatic.champions.filter((c) => c.key === cell.championId.toString());
                                            ^

TypeError: Cannot read property 'champions' of undefined
    at A:\PROD\RC TOOL\league-prod-toolkit\modules\state-league\dist\champselect\convertState.js:18:45
    at Array.map (<anonymous>)
    at convertTeam (A:\PROD\RC TOOL\league-prod-toolkit\modules\state-league\dist\champselect\convertState.js:7:26)
    at Object.convertState (A:\PROD\RC TOOL\league-prod-toolkit\modules\state-league\dist\champselect\convertState.js:87:22)
    at LCUDataReaderController.emitChampSelectUpdate (A:\PROD\RC TOOL\league-prod-toolkit\modules\state-league\dist\controller\LCUDataReaderController.js:26:35)
    at LCUDataReaderController.handle (A:\PROD\RC TOOL\league-prod-toolkit\modules\state-league\dist\controller\LCUDataReaderController.js:100:18)
    at Registration.handle (A:\PROD\RC TOOL\league-prod-toolkit\modules\state-league\dist\plugin.js:53:33)
    at A:\PROD\RC TOOL\league-prod-toolkit\dist\core\eventbus\LPTEService.js:93:29
    at Array.forEach (<anonymous>)
    at Timeout._onTimeout (A:\PROD\RC TOOL\league-prod-toolkit\dist\core\eventbus\LPTEService.js:91:22)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)

but good news
Too much green

The static-league module can take a while to load (since this downloads champion images etc.). Could you launch the toolkit and wait a few minutes until trying to launch champ select?
The log entries for static-league should look like this when everything finishes (there may be some unrelated errors that don't impact functionality):
2022-01-23T13:04:27.265Z [info ] plugin-static-league: start downloading dragontail.tgz
2022-01-23T13:04:27.266Z [info ] plugin-static-league: start downloading additional files
2022-01-23T13:04:27.651Z [info ] plugin-static-league: finish downloading additional files
2022-01-23T13:04:42.150Z [info ] plugin-static-league: finish downloading dragontail.tgz
2022-01-23T13:04:42.152Z [info ] plugin-static-league: start unpacking dragontail.tgz
2022-01-23T13:05:04.762Z [info ] plugin-static-league: finish unpacking dragontail.tgz
2022-01-23T13:05:04.844Z [info ] plugin-static-league: moving files to frontend
2022-01-23T13:05:07.628Z [info ] plugin-static-league: delete versioned folder
2022-01-23T13:05:07.629Z [info ] plugin-static-league: start downloading centered images
2022-01-23T13:05:07.637Z [info ] plugin-static-league: finish moving files to frontend
2022-01-23T13:05:07.697Z [info ] plugin-static-league: finish downloading centered images
2022-01-23T13:05:07.990Z [info ] plugin-static-league: finish deleting versioned folder


0.2 rp6502 vga build fails with RAM memory overflow

Probably a beginners issue! I finally got down to trying to build the images for the picos for the first time. I used VS code. The code is taken from the 0.2 release. The ria built just fine (not tested executing), but the vga build fails with a RAM memory overflow check (~17+ kB too big). Checking the linker config file, it seems that is using all available ram on the pico. Since I am using Visual Studio, I guessed that maybe the Debug config added the extra space and tried to tried to build not using debug info, but failed.
My goal here is to start experimenting with a Swedish keyboard layout, so maybe I don't need to modify the vga image, but it would still be good to know how to build new images from my own code. Thanks, Ulf

VGA needs a release build until I make a custom linker map. Totally normal for microcontroller development.

Ok, thanks!


Skeleton3D Animation performance is terrible on OpenGL

Tested versions
4.2.1
System information
Windows 10, Godot 4.2.1, GLES3
Issue description
I am currently testing on an i9-14900K + 4090 RTX and I am barely managing to clear 20 FPS when there is around 100 basic 3d animated skeletons on screen when running OpenGL. The same scene with Vulkan easily clears 100 FPS. Profiling shows the engine spends around 50% of each frame in a single opengl function:

Disabling the animations easily reaches 120 FPS in GLES3.
Steps to reproduce
Run GLES3 with a couple animated skeletons. I attached the model we are using, maybe there are some issues with the animation.
Minimal reproduction project (MRP)
robot.zip

I remember in the past that access to the RenderingServer for Skin deformation in Skeleton was a bottleneck, but I don't know what is going on now and whether it can be improved without looking into it. We need the knowledge of someone more knowledgeable in that field.


Moving on discussion

Function
notes

append_side
replace w/  modify_side

views_with_side
nothing. Only used in print for checking axes right now

set_args
something more explicit for the separation of arguments

function_args
this is useful, but maybe should be renamed and def documented

set_inherited_args
replace with something else that deals with embedded function args

set_window
phase this out with add_to_view, modify_side, and modify_par

calc_views
breaking this into multiple functions

group_views
using add_to_view

append_replace
keep this as a utility function? or what? This is kind of like the mirror to strip_pts although not by design

which_reals
not used anymore. Delete

set_view_window
only used in set_view_lab, which will be replaced by modify_side

set_view_lab
replace w/ modify_side

remove_field
this obscures some things and we probably want some more explicit methods. Delete/replace?

strip_pts
needs to be improved if it is useful to keep

summarize_side_values
hopefully we can improve this or do it elsewhere

set_sides
confusing name, but this deals w/ turning c(1) into c(1,2)

non_views
we should phase this out, as our model will only contain sides, views, and global at top

par_arguments
deprecate?

formal_arguments
used in call_arguments, but should be documented and tested (if it isn't)

window_arguments
deprecate?

I don't understand strip_pts, but I think it is needed within the limit calculation

yes, I think strip_pts is kind of "extract and flatten" parts of a list

updated per #342

Why do we have strip_pts and strip_pts2? Also, strip_pts2 calls on itself: https://github.com/USGS-R/gsplot/blob/master/R/utils-list.R#L62

I made strip_pts2 in an attempt to replace strip_pts, though I'm not sure it covers all the use cases.  It calls itself because it is a recursive function in attempts to make it more clear (though I probably did the opposite).


[Ready to Review] API json-api request formatting

Purpose
Issue https://openscience.atlassian.net/browse/OSF-4484
We are adhering to http://jsonapi.org/format/ for JSON request/response formatting.  Some changes are required for JSON requests to comply.

Properties must be nested under attributes in the request
Creating resources: Request "MUST contain at least a type member." http://jsonapi.org/format/#crud-creating
Updating resources: Request "MUST contain type and id members." http://jsonapi.org/format/#crud-updating

Changes
Requires that  POST requests contain type and PUT and PATCH requests contain type and id.  Properties must be nested under attributes.  No change to GET and DELETE requests.
If type or id is missing and required, returns a 409 CONFLICT. http://jsonapi.org/format/#crud-creating-responses-409.
Side Effects

Merges @reinaH's PR #3813 to make Swagger docs read-only.

This approach requires that every serializer have an associated <Model>AttributesSerializer. This is a rather clunky dev API and is error-prone.
Is there any way we can preprocess input data before it gets to the Serializers (basically, doing the opposite of the post-processing in JSONAPISerializer.to_representation? If we can do that, we don't have to modify all our existing serializers, and we avoid having to create additional AttributesSerializers.

Re: previous comment, it might be worth looking at how the drf-jsonapi handles this, if it does.

They extract the attributes in the parser.

Here are a few alternative approaches:

Use a middleware to preprocess input data
Override UpdateModelMixin's and CreateModelMixin's update method somehow--perhaps in a mixin of our own--to do the preprocessing before passing data to the serializer.
Do the preprocessing in a custom Parser

I haven't yet given much thought to the tradeoffs in these approaches. It's worth discussing. @brianjgeiger @icereval

So the important thing for today is that it works. If what we have right now is acceptable, then I lean towards go with that, even if we refactor it tomorrow. We have a bunch of tests that will ensure that we don't break the formatting of the API (well, once they're reset for this new formatting we will), so we can refactor to our heart's content to make it easier for future devs almost immediately.
If there's another reason not continue with what we have now, then that will change things. But if it's just because we have to add something to every new serializer, let's do that tomorrow. Should be the same basic amount of work, except that I can start modifying tests to work with this formatting before we make too many more new tests with the old.

I am going to agree with @brianjgeiger here -- Let's move on this, and we can develop followup tasks around improvement/refactor ... 'K?

In our discussion, it was revealed that the downside of my plan is that this PR will take a lot of code reviewing, and a proposed new method may be fairly quick to implement relative to that amount of time. So we're going to see if that theory is correct and either go with a new implementation or re-evaluating if it's not super-simple.

Discussed in person: id and type validation can go on the JSONAPISerializer since it's implementation should not change across subclasses:
class JSONAPISerializer(ser.Serializer):

    def validate_type(self, value):
        if self.Meta.type_ != value:
            raise Conflict()
        return value

    def validate_id(self, value):
        request = ....

        if request.METHOD not in drf...SAFE_METHODS:
            requested_id = ...# get id from path
            if requested_id != value:
                raise Conflict()
            return value

Related to previous comment: validating type and id in the base class assumes that all subclasses have an id and type serializer field. It would be great if we could enforce this (fail early if either of those isn't defined), but that may be outside the scope of this PR.

@sloria, Swagger and Browsable API are working fine now with your suggestions.  You can't add a tag when creating a node through the HTML forms, but then you couldn't do that before.  This PR doesn't change that.  Tags work fine with raw data.

:+1:  @pattisdr !

Just minor changes, and I'm a go.

Responded to code review 1.

This is great work! LGTM

Merged into release/0.51.0 and develop. :octopus:

Woot!


Traefik cannot see Gitlab, all networks tags set. Cannot understand issue

Do you want to request a feature or report a bug?
Bug
Did you try using a 1.7.x configuration for the version 2.0?

[ ] Yes
[ X] No

What did you do?
Tried to get Gitlab to work with Traefik

What did you expect to see?
Gitlab sign up page
What did you see instead?
"404 page not found"
Output of traefik version: (What version of Traefik are you using?)

root@vps:/docker# docker run traefik version
Version:      v1.7.11
Codename:     maroilles
Go version:   go1.11.9
Built:        2019-04-26_08:42:33AM
OS/Arch:      linux/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?
debug = true
logLevel = "DEBUG"
defaultEntryPoints = ["https", "http"]

[entryPoints]
  [entryPoints.traefiker]
    address = ":8080"
    [entryPoints.traefiker.auth]
      [entryPoints.traefiker.auth.basic]
        users = ["admin:<pwd>"]
  [entryPoints.http]
    address = ":80"
      [entryPoints.http.redirect]
        entryPoint = "https"
  [entryPoints.https]
    address = ":443"
      [entryPoints.https.tls]
	      [[entryPoints.https.tls.certificates]]
			certFile = "/certs/apache-selfsigned.crt"
			keyFile = "/certs/apache-selfsigned.key"

[api]
entrypoint="traefiker"

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "traefiker.<DOMAIN>.com"
watch = true
network = "web"
exposedbydefault = true

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
https://paste.ubuntu.com/p/fPmQZh597D/

My docker-compose.yml file: https://paste.ee/p/LQWOn
Notice in the docker-compose.yml, I have port 6558 forwarded. That was to see if it was a problem with Gitlab or Traefik. After testing, Gitlab works (it doesnt show the page since the current docker-compose makes it set to expecting a connection from a reverse proxy but after disabling SSL & the reverse proxy options, Gitlab works as intended)
Quick Edit: Gitlab URL does appear in the Traefik dashboard so its not like Traefik cannot see it

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Traefik!
We dedicate the issue tracker to bug reports and feature requests only. My advanced AI has spotted that your issue might be a configuration problem or relates to something that doesn't look like a bug.
To confirm this, please join our Community Forum and reach out to us on the Traefik section.
In case I'm wrong (well, that would be embarrassing :sweat_smile:), my developers will re-open the issue and fix me!
In the meantime, you can double check Traefik's documentation.


Imodeljs icon hover

Only change the opacity of the imodeljs-icon when the primary input supports hover.
On iOS we are sometimes seeing the icon in the hover state which shouldn't be happening.

Only change the opacity of the imodeljs-icon when the primary input supports hover.
On iOS we are sometimes seeing the icon in the hover state which shouldn't be happening.


[BACKLOG-19124] SSTable Output step misses scrolling in the Set Field…

…s dialog

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'ui' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'ui' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  ui/src/main/java/org/pentaho/di/ui/core/dialog/EnterSelectionDialog.java

Newly Fixed Tests:
com.pentaho.repository.importexport.PDIImportUtilTest.whenLoadingMaliciousXmlFromStringParsingEndsWithNoErrorAndNullValueIsReturned:
:large_blue_circle: java.lang.Exception
java.lang.Exception: test timed out after 2000 milliseconds
	at com.pentaho.repository.importexport.PDIImportUtilTest.whenLoadingMaliciousXmlFromStringParsingEndsWithNoErrorAndNullValueIsReturned(PDIImportUtilTest.java:71)

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.trans.steps.salesforceinsert.SalesforceInsertMeta

Instruction Change: -.15%:small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupdate.SalesforceUpdateMeta

Instruction Change:  + .17%

@bmorrise would you merge this already :)


Adding additional PHP no code example

Adding an additional PHP no code example with reference.
Resolves: https://github.com/open-telemetry/opentelemetry-php/issues/1437

@bobstrecansky is this draft PR still needed or do we want to raise an issue instead until the PR is ready?

Either way works for me


[jvm-packages] force use per-group weights in spark layer

closes https://github.com/dmlc/xgboost/issues/4117
@trivialfis

@CodingCat Ready to go?

Yes

@CodingCat  Thanks!


Suggestion underline hats are off by a few characters

Most of the time it's accurate, sometimes it is not:
error: spellcheck(Hunspell)
   --> /media/supersonic1t/projects/cargo-spellcheck/src/suggestion.rs:58
    |
 58 |  The span (absolute!) of where it is supposed to be used. TODO make this relative towards the literal.
    |                                                               ^^^^
    | - TOO, DODO, TO DO, TO-DO, TOD, TOTO, TODD, or one of 3 others
    |
    |   Possible spelling mistake found.

error: spellcheck(Hunspell)
    --> /media/supersonic1t/projects/cargo-spellcheck/src/literalset.rs:293
     |
 293 |  Convert a range of the linear trimmed (but no other processing) string represnetation to a set of
     |                                                                             ^^^^^^^^^^^^^^
     | - representation, reinterpretation, presentation, representative, or interpretation
     |
     |   Possible spelling mistake found.
     |

The latter case is tracked as #5


Tabbular App Bar fails in one project but succeeds in another

Steps to Reproduce
I am learning how to create mobile apps at the moment. I cannot give an in-depth bug report. I am reporting a bug because similar code does not render.
In lib/views/main.dart, setting the TabBarView seems to fail in one application but succeed in another. Of course, I can manually create a widget list and not use a switch and map statements. I wonder if this code is worthy of a bug report.
working build
https://github.com/hungrymonkey/pregnant_watermelon/tree/567712d47f31e26b53eb6ebc203f73324e404248
https://github.com/hungrymonkey/pregnant_watermelon/blob/567712d47f31e26b53eb6ebc203f73324e404248/lib/main.dart
failed build
https://github.com/hungrymonkey/weather_app/blob/df30be259af667ffd06546eb73795031a5b7a881/lib/main.dart
https://github.com/hungrymonkey/weather_app/tree/df30be259af667ffd06546eb73795031a5b7a881
Step to repoduce

download weather_app project
Build it
Run it
TabBarView fails and leave a blank page
Error is thrown

I/flutter (31980): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (31980): The following assertion was thrown during performLayout():
I/flutter (31980): 'package:flutter/src/widgets/sliver.dart': Failed assertion: line 215: 'child != null': is not true.
I/flutter (31980):
I/flutter (31980): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter (31980): more information in this error message to help you determine and fix the underlying cause.
I/flutter (31980): In either case, please report this assertion by filing a bug on GitHub:
I/flutter (31980):   https://github.com/flutter/flutter/issues/new

Expected Results
Reproduce the same steps with pregnant watermelon commit 7fbb55828d3b0986fcee559bde351a119803bf1b
The TabBarView renders properly.
I am wondering what am I doing differently between pregnant_watermelon and  weather_app. The code is almost the same but one fails and the other succeeds. The pages does not matter because I change the page in pregnant_watermelon to the same all MyHomePage and it succeeded.
Either throw warning sign in pregnant_watermelon or throw a better error in my_weather app to figure out what is going on.
Logs
Run your application with flutter run and attach all the log output.
Run flutter analyze and attach any output of that command also.
flutter_run_log.txt
analyze_log.txt
Flutter Doctor
Paste the output of running flutter doctor here.
 [✓] Flutter (on Linux, locale en_US.UTF-8, channel alpha)
    • Flutter at /home/rice/flutter
    • Framework revision d36e2f6191 (4 weeks ago), 2017-06-21 15:09:10 -0700
    • Engine revision b0dee695ec
    • Tools Dart version 1.24.0-dev.6.7

[✓] Android toolchain - develop for Android devices (Android SDK 26.0.0)
    • Android SDK at /home/rice/Android/Sdk
    • Platform android-26, build-tools 26.0.0
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] Android Studio (version 2.3)
    • Android Studio at /opt/android-studio
    • Gradle version 3.2
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] IntelliJ IDEA Community Edition (version 2017.1)
    • Flutter plugin version 15.1
    • Dart plugin version 171.4694.29

[✓] Connected devices
    • SM G900P • 8e90eeee • android-arm • Android 7.1.2 (API 25)

For more information about diagnosing and reporting Flutter bugs, please see https://flutter.io/bug-reports/.

Hi @hungrymonkey,
It seems some of your reference links are now broken, and when running the weather app you provided, it produced a very different error.
Are you still experiencing this issue? I realize it was some time ago and there may have been a change that resolved this issue.

Hi @Plinks,
Yes, the links are broken. I deleted the project a long time ago.
The bug is nested scaffolds. I believe another flutter maintainer has commented any nested scaffolds behavior is undefined.
You can close this bug whenever you wish since this bug has many duplicates.

Ah. Thank you for clarifying. I'm going to see if I can find one of these dupes that we can refer to before closing. Thanks!

@piinks The issue is pretty common.
https://github.com/flutter/flutter/issues/23106

Thanks much! I will close this issue then. :)


The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props" was not found.
I know this may be my vs2015 is too old version.
But you know.In my country.there many vs2010,vs2013,vs2015 version development tool.
Because our code programming technology is relatively backward, general .net version will be behind you .
Is there has some version in you project can be use in old vs2015 or vs2013?
thanks very muck

Hi,
Thank you very much for trying to use ABP.
Unfortunately, current templates works best in VS 2015 (with latest Updates) and you may have some problems with older versions.


how to set up  a GattServer ?

I want to Implement Proximity Alert Feature using Immediate Alert Service 0x1802.
nrf Toolbox Android code
https://github.com/NordicSemiconductor/Android-nRF-Toolbox/blob/master/app/src/main/java/no/nordicsemi/android/nrftoolbox/proximity/ProximityService.java
nrf Toolbox ios code
https://github.com/NordicSemiconductor/IOS-nRF-Toolbox/blob/master/nRF Toolbox/PROXIMITY/NORProximityViewController.swift#L125

This library doesn't support Peripheral role. You wont' be able to do what you want.


OCPBUGS-6386: Merge https://github.com/kubernetes-sigs/cluster-api-operator:v0.2.0 (d807992) into main

/retest

/lgtm
Until TRT gives green light to 4.14 merges:
/hold

/approve

/retitle OCPBUGS-6386: Merge https://github.com/kubernetes-sigs/cluster-api-operator:v0.2.0 (d807992) into main

/jira refresh

Once TRT gives us the green light, we can remove the hold.
Also this will need a manual cherry-pick to backport the net package bump.

/label qe-approved

/retitle OCPBUGS-13093,OCPBUGS-12581,OCPBUGS-6386: Merge https://github.com/kubernetes-sigs/cluster-api-operator:v0.2.0 (d807992) into main

/jira refresh

/unhold

/hold

/retitle OCPBUGS-13093,OCPBUGS-12581: Merge https://github.com/kubernetes-sigs/cluster-api-operator:v0.2.0 (d807992) into main

/hold

/label qe-approved

/unhold


[custom_components.aquarea.climate] [HEAT] Target temperature is not within expected range, this is suspicious

1.41

Home Assistant version 2024.8.2

I dont know is a Bug. I constantly get this message:
[custom_components.aquarea.climate] [HEAT] Target temperature is not within expected range, this is suspicious
Why?

Hello, thanks for the report. Could you update to version 1.12.4 of this integration and report the log line again please?

New Message:
2024-09-07 17:18:43.689 WARNING (MainThread) [custom_components.aquarea.climate] [HEAT] Target temperature is not within expected range, this is suspicious. 5.0 should be within [20,55]
My Temperatures 26 °C low and 35 °C high are between in your Range 20…55 🤷♂

Could you look at the mqtt topic heishamon/main/Z1_Heat_Request_Temp (and same for Z2) please?
Also are you using the direct, room or compensation mode of your heatpump?

Could you look at the mqtt topic heishamon/main/Z1_Heat_Request_Temp (and same for Z2) please? Also are you using the direct, room or compensation mode of your heatpump?

Compensation curve, always will be -5+5 range

I use Compensation Curve and believe Z1_ Heat Request_Temp ist wrong.
Z1_Heat_Curve_Target_High_Temp and Z1_Heat_Curve_Target_Low_Temp limit the Compensation Curve.
Z2 is not used.

Morning, another Message:
Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht
Logger: custom_components.aquarea.climate
Quelle: custom_components/aquarea/climate.py:338
Integration: HeishaMon (Dokumentation, Probleme)
Erstmals aufgetreten: 7. September 2024 um 22:33:39 (105 Vorkommnisse)
Zuletzt protokolliert: 07:13:56
[HEAT] Target temperature is not within expected range, this is suspicious. 5.0 should be within [-5,5]
Z1_Heat_Request_Temp is Zero, see screenprint before.

I think ‘ZoneTemperatureMode’ Direct and Compensation should be swapped, right?

if mode == ZoneTemperatureMode.COMPENSATION:
self._attr_min_temp = -5
self._attr_max_temp = 5
self._attr_target_temperature_step = 1
elif mode == ZoneTemperatureMode.DIRECT:
if self.heater:
self._attr_min_temp = 20
self._attr_max_temp = 55

Thanks for the details.

[HEAT] Target temperature is not within expected range, this is suspicious. 5.0 should be within [-5,5]
I'll fix this case, it should not warn of course.

I'm a bit confused by several items:

My Temperatures 26 °C low and 35 °C high are between in your Range 20…55

are you referring to the low and high temp? You cannot control them with the climate entity (you can only control the "shift" value which -5/+5)

your screenshot shows a target temp of 0 for Z1 (which means a shift of 0) but the warning shows 5. Are you trying to set the shift to +5 ?

Overall, I'm not sure I understand what happens but it seems the integration code thinks you are using direct mode (that would explain the first warnings you reported) and later thinks you are using compensation mode (which is true).
I guess it could be because the integration starts by assuming direct mode and guess the proper mode when receiving relevant mqtt messages.
If that's true, I would assume you see:

a first message with [20,55] right after HA startup
then a message with [-5,5] each time you try to update the shift via climate entity.

I'll try two things to improve the situation

short-term: remove the warning until the temperature mode is not known for sure (i.e after receiving a first mqtt message)
mid-term: store the mode in a persistent manner to avoid "guessing". This can be done by temperature mode does not change often (it requires some reconfiguration on the heatpump) so it's ok to assume it has not changed after a HA restart).

yes, its right, the first Message [20/55] comes at the beginning. Later Message [-5/5].
The Heatpump always run in the Compensationmode.
I believe DIRECT and COMPENSATION are mixed up in your programme code?
„your screenshot shows a target temp of 0 for Z1 (which means a shift of 0) but the warning shows 5. Are you trying to set the shift to +5 ?“

Z2_Heat_Request_Temp is +5, but Zone2 ist not in use 🤷♂

Thanks for the precision about Z2.
I'm not sure to understand why direct and compensation would be mixed up.
In compensation mode, you can only change the shift value (-5/+5) so "target temperature" (in mqtt) is the shift.
The heatpump used that shift in addition to the compensation curb to compute the real target temperature (but it's not exposed).
So in compensation mode, acceptable values are in the range of -5..5.

Version 1.13.0 should be better and should not display any warning anymore. Could you test it and let me know if you encounter any issue?

No more Messages 👍. Thanks for your Work.


Consider using ownerReferences

Evaluate whether to use ownerReferences or not.
TODO: better scope this card

It is implemented without owner references. If we used owner references we would need to take care of default cascade background and orphan more info https://github.com/kubewarden/kubewarden-controller/issues/67


Add External Id Conditions to Deployment Roles

Feature or Bugfix

Enhancement

Detail

Add external ID condition to roles created in deployment account and used by tooling account (frontend config role, stacks updater role, and S3 Deployment role)

Relates
N/A
Security
Please answer the questions below briefly where applicable, or write N/A. Based on
OWASP 10.

Does this PR introduce or modify any input fields or queries - this includes
fetching data from storage outside the application (e.g. a database, an S3 bucket)?

Is the input sanitized?
What precautions are you taking before deserializing the data you consume?
Is injection prevented by parametrizing queries?
Have you ensured no eval or similar functions are used?

Does this PR introduce any functionality or component that requires authorization?

How have you ensured it respects the existing AuthN/AuthZ mechanisms?
Are you logging failed auth attempts?

Are you using or adding any cryptographic features?

Do you use a standard proven implementations?
Are the used keys controlled by the customer? Where are they stored?

Are you introducing any new policies/roles/users?

Have you used the least-privilege principle? How?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Testing:

[x] Deploy to AWS in us-east-1, cross account, internet facing deployment, stack updater enabled
[x] Pipeline successful
[x] FE accessible - APIs working as expected


Improve the profile selector look and location

I like the profile functionality, but don't like the profile selector at all. It's too prominent, confusing as it looks generic.

I don't associate this with profiles, nor with settings. 'Default' is not enough, nor is the icon meaningful to me.
A better icon would be the settings gear icon

The right side of the status bar is typically for workspace related information (git branch, warning.errors). Settings related information belong to the bottom of the activity bar.

Instead of using the status bar, I suggest to use the settings gear in the activity bar. It should look different if a profile is active. Maybe a letter icon as an overlay (the first letter of the profile name, T for testing) or a short text below it. The rich hover should then show more information and would even some links to configure the profile.

Don't show any information when in the default profile. IMO profiles are an advanced feature.

Don't show any information when in the default profile. IMO profiles are an advanced feature.

Default profile is shown only when you have more than one profile. You can always hide the profiles status bar entry in the default profile if you do not want default profile to be shown.

Thanks for the feedback—I agree that the status bar still doesn't feel like the aboslute correct place for this.
We have actually explored variations of that proposal re: the settings gear. Ignoring the actual styling of this (we were exploring giving users the choice to use an image) one obvious challenge here is the conflict with the update badge:

@sandy081 I think it's worth digging into this one more now that I've had some time away from it. I think it would be a valid option if we can figure out a clean way to work around the update badge.

This is a really rough idea but it could be a unique activity entry just below the settings icon.

We could use the first two letters if the profile name is a single word (e.g. CS50 -> CS). If there are 2+ words, we could use the first letters of the each words (e.g. Web Development -> WD).

Profile names with many words would eventually need to overflow (e.g. React Native Test Settings):

Cool, looks good!
Maybe move it a bit closer to the gear so the appear as one?
I wouldn't use the overflow. Two (or a max of 3) letters will be enough to distinguish the profiles. Hovering over the marker would show the full name.

If they are separate elements, this is about as close as they can get given the activity bar item's footprint. Haven't yet found a clean way to integrate it with the settings gear without stomping on the update badge.

I'm fine with the two letters 👍

Played around with this a bit more:

With update badge:

Presented some ideas at the ux sync. Here's where I've arrived:

Adds special activity bar item below the settings gear
Users can change the color of the item (see: terminal colors for similar experience)
Themes can override color defaults (e.g. profile.blue)

https://user-images.githubusercontent.com/25163139/183989890-63a50ebf-06cd-454b-988b-d2d5bd46adfe.mp4
cc @misolori


Ask for password entry if password isn't available in keyring

Currently, if a database connection is established with the help of oemof.db and the password isn't available in the keyring, program crashes. Make this more convenient by

Ask for password entry if password isn't available in keyring
Exit program early with information about missing password and provide help to the user how to add the password to the keyring

At the moment it is also possible to add the password to the config file, but I'm not sure if we want to support such an unsecure way.

Suggestion by @uvchik: take some graphical input method, if possible cross-platform and without struggle. Maybe postpone it to later versions

A graphical input should always be optional to avoid additional requirements. This is just nice to have. Are you going to add the input on demand via terminal?

I did it in #25. If you find time for a short review, I would really appreciate!


image/icon

Is it possibile to display an image on the bar?
i.e. the album art for spotify

This is currently not supported.

Hi,
Planning to support this feature?

Yes, @jereksel is working on some features that will add support for this.

Any status on this being available?

@HolyStephano not much progress so far

Are there any news on the subject?


python38Packages.fontparts: 0.10.1 -> 0.10.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.fontparts is: "An API for interacting with the parts of fonts during the font development process."
meta.homepage for python38Packages.fontparts is: "https://github.com/robotools/fontParts"
meta.changelog for python38Packages.fontparts is: "https://github.com/robotools/fontParts/releases/tag/v0.10.2"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.10.2 with grep in /nix/store/11ld2cfcmaqvi878bs2y4p8v0f405w04-python3.8-fontParts-0.10.2

found 0.10.2 in filename of file in /nix/store/11ld2cfcmaqvi878bs2y4p8v0f405w04-python3.8-fontParts-0.10.2

Rebuild report (if merged into master) (click to expand)

21 total rebuild path(s)

11 package rebuild(s)

11 x86_64-linux rebuild(s)
10 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
docbookrx
noto-fonts-emoji
python38Packages.afdko
python38Packages.fontparts
python38Packages.nototools
python38Packages.ufoprocessor
python39Packages.afdko
python39Packages.fontparts
python39Packages.nototools
python39Packages.ufoprocessor
twitter-color-emoji

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/11ld2cfcmaqvi878bs2y4p8v0f405w04-python3.8-fontParts-0.10.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.fontparts https://github.com/r-ryantm/nixpkgs/archive/d0100350810ec7a0d5dc7c1431ecba39ea9a2d1b.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/11ld2cfcmaqvi878bs2y4p8v0f405w04-python3.8-fontParts-0.10.2
ls -la /nix/store/11ld2cfcmaqvi878bs2y4p8v0f405w04-python3.8-fontParts-0.10.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

10 packages built:

noto-fonts-emoji
python38Packages.afdko
python38Packages.fontparts
python38Packages.nototools
python38Packages.ufoprocessor
python39Packages.afdko
python39Packages.fontparts
python39Packages.nototools
python39Packages.ufoprocessor
twitter-color-emoji

Maintainer pings
cc @sternenseemann for testing.

@ofborg eval


updated tree_type_checker to allow multiple types

can now do 'tree_type_checker(TreeType.axon, TreeType.basal_dendrite)'
sped up the TreeType.all path in the functor
added tests

Current coverage is 100.00%

Merging #229 into master will not affect coverage as of 84efe35

@@            master    #229   diff @@
======================================
  Files           38      38
  Stmts         1495    1499     +4
  Branches         0       0
  Methods
======================================
+ Hit           1495    1499     +4
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 84efe35

Powered by Codecov. Updated on successful CI builds.

+2 I'll merge this.


Add fixed assets

This PR adds a FixedAssetsRequest so that users can access the fixed assets tables available via the BEA data API.

Coverage decreased (-0.3%) to 33.913% when pulling 3231d34c1ffd2e636fa5edcb18e027a112cbdb68 on add-fixed-assets into 0b4202318d3e4c0a21bb2d24bcc5d59e05fbda72 on master.


oEmbed endpoint returning title as "null"

The oEmbed endpoint always returns the title as "null", e.g. http://services.cartodb.com/oembed?url=https://osm2.cartodb.com/viz/08aef918-94da-11e4-ad83-0e0c41326911/public_map returns the following:
{"type":"rich","version":"1.0","width":"100%","height":"520px","title":null,"html":"<iframe width='100%' height='520px' frameborder='0' src='https://osm2.cartodb.com/viz/08aef918-94da-11e4-ad83-0e0c41326911/embed_map' allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen></iframe>","author_name":"osm2","author_url":"https://osm2.cartodb.com","provider_name":"CartoDB","provider_url":"https://www.cartodb.com/"}

The title attribute should be "Rivers of Europe"

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Illegal instruction (core dumped) in a CPU with AVX support

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution: Linux Ubuntu 20.10
TensorFlow installed from (source or binary): pip, tensorflow-2.4.0-cp38-cp38-manylinux2010_x86_64.whl
TensorFlow version (use command below): tensorflow-2.4.0-cp38-cp38-manylinux2010_x86_64.whl
Python version: 3.8.6
CUDA/cuDNN version: N/A
GPU model and memory: N/A

Describe the current behavior
I was using tensorflow 2 without any issue until a few days ago. I installed it using pip in a new virtualenv environment and now it throws illegal instruction error. My CPU is an i5-3230M, which, according to /proc/cpuinfo supports AVX, so it seems not related to #19584 .
My CPU (according to /proc/cpuinfo):
model name      : Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d
System:
$ uname -a
Linux e431 5.8.0-33-generic #36-Ubuntu SMP Wed Dec 9 09:14:40 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Describe the expected behavior
The import should work and not give the Illegal instruction (core dumped) error.
Standalone code to reproduce the issue
$ python3 --version
Python 3.8.6
$ python3 -m venv test
$ . test/bin/activate
$ pip install --upgrade pip
Collecting pip
  Using cached pip-20.3.3-py2.py3-none-any.whl (1.5 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.1.1
    Uninstalling pip-20.1.1:
      Successfully uninstalled pip-20.1.1
Successfully installed pip-20.3.3
$ pip install tensorflow
Collecting tensorflow
  Using cached tensorflow-2.4.0-cp38-cp38-manylinux2010_x86_64.whl (394.8 MB)
Collecting gast==0.3.3
  Using cached gast-0.3.3-py2.py3-none-any.whl (9.7 kB)
Collecting absl-py~=0.10
  Using cached absl_py-0.11.0-py3-none-any.whl (127 kB)
Collecting astunparse~=1.6.3
  Using cached astunparse-1.6.3-py2.py3-none-any.whl (12 kB)
Collecting flatbuffers~=1.12.0
  Using cached flatbuffers-1.12-py2.py3-none-any.whl (15 kB)
Collecting google-pasta~=0.2
  Using cached google_pasta-0.2.0-py3-none-any.whl (57 kB)
Collecting grpcio~=1.32.0
  Using cached grpcio-1.32.0-cp38-cp38-manylinux2014_x86_64.whl (3.8 MB)
Collecting h5py~=2.10.0
  Using cached h5py-2.10.0-cp38-cp38-manylinux1_x86_64.whl (2.9 MB)
Collecting keras-preprocessing~=1.1.2
  Using cached Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB)
Collecting numpy~=1.19.2
  Using cached numpy-1.19.4-cp38-cp38-manylinux2010_x86_64.whl (14.5 MB)
Collecting opt-einsum~=3.3.0
  Using cached opt_einsum-3.3.0-py3-none-any.whl (65 kB)
Collecting protobuf>=3.9.2
  Using cached protobuf-3.14.0-cp38-cp38-manylinux1_x86_64.whl (1.0 MB)
Collecting six~=1.15.0
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting tensorboard~=2.4
  Using cached tensorboard-2.4.0-py3-none-any.whl (10.6 MB)
Requirement already satisfied: setuptools>=41.0.0 in ./test/lib/python3.8/site-packages (from tensorboard~=2.4->tensorflow) (44.0.0)
Collecting google-auth<2,>=1.6.3
  Using cached google_auth-1.24.0-py2.py3-none-any.whl (114 kB)
Collecting cachetools<5.0,>=2.0.0
  Using cached cachetools-4.2.0-py3-none-any.whl (12 kB)
Collecting google-auth-oauthlib<0.5,>=0.4.1
  Using cached google_auth_oauthlib-0.4.2-py2.py3-none-any.whl (18 kB)
Collecting markdown>=2.6.8
  Using cached Markdown-3.3.3-py3-none-any.whl (96 kB)
Collecting pyasn1-modules>=0.2.1
  Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
Collecting pyasn1<0.5.0,>=0.4.6
  Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
Collecting requests<3,>=2.21.0
  Using cached requests-2.25.0-py2.py3-none-any.whl (61 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
Collecting chardet<4,>=3.0.2
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting idna<3,>=2.5
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting requests-oauthlib>=0.7.0
  Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)
Collecting oauthlib>=3.0.0
  Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)
Collecting rsa<5,>=3.1.4
  Using cached rsa-4.6-py3-none-any.whl (47 kB)
Collecting tensorboard-plugin-wit>=1.6.0
  Using cached tensorboard_plugin_wit-1.7.0-py3-none-any.whl (779 kB)
Collecting tensorflow-estimator<2.5.0,>=2.4.0rc0
  Using cached tensorflow_estimator-2.4.0-py2.py3-none-any.whl (462 kB)
Collecting termcolor~=1.1.0
  Using cached termcolor-1.1.0.tar.gz (3.9 kB)
Collecting typing-extensions~=3.7.4
  Using cached typing_extensions-<IP_ADDRESS>-py3-none-any.whl (22 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.2-py2.py3-none-any.whl (136 kB)
Collecting werkzeug>=0.11.15
  Using cached Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
Collecting wheel~=0.35
  Using cached wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Collecting wrapt~=1.12.1
  Using cached wrapt-1.12.1.tar.gz (27 kB)
Using legacy 'setup.py install' for termcolor, since package 'wheel' is not installed.
Using legacy 'setup.py install' for wrapt, since package 'wheel' is not installed.
Installing collected packages: urllib3, pyasn1, idna, chardet, certifi, six, rsa, requests, pyasn1-modules, oauthlib, cachetools, requests-oauthlib, google-auth, wheel, werkzeug, tensorboard-plugin-wit, protobuf, numpy, markdown, grpcio, google-auth-oauthlib, absl-py, wrapt, typing-extensions, termcolor, tensorflow-estimator, tensorboard, opt-einsum, keras-preprocessing, h5py, google-pasta, gast, flatbuffers, astunparse, tensorflow
    Running setup.py install for wrapt ... done
    Running setup.py install for termcolor ... done
Successfully installed absl-py-0.11.0 astunparse-1.6.3 cachetools-4.2.0 certifi-2020.12.5 chardet-3.0.4 flatbuffers-1.12 gast-0.3.3 google-auth-1.24.0 google-auth-oauthlib-0.4.2 google-pasta-0.2.0 grpcio-1.32.0 h5py-2.10.0 idna-2.10 keras-preprocessing-1.1.2 markdown-3.3.3 numpy-1.19.4 oauthlib-3.1.0 opt-einsum-3.3.0 protobuf-3.14.0 pyasn1-0.4.8 pyasn1-modules-0.2.8 requests-2.25.0 requests-oauthlib-1.3.0 rsa-4.6 six-1.15.0 tensorboard-2.4.0 tensorboard-plugin-wit-1.7.0 tensorflow-2.4.0 tensorflow-estimator-2.4.0 termcolor-1.1.0 typing-extensions-<IP_ADDRESS> urllib3-1.26.2 werkzeug-1.0.1 wheel-0.36.2 wrapt-1.12.1
$ python --version
Python 3.8.6
$ python
Python 3.8.6 (default, Sep 25 2020, 09:36:53)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Illegal instruction (core dumped)

Other info / logs

tf_env.txt

Here I attach the output of running an interactive python shell with python -W all -d -v -X dev just to import tensorflow.
py_output.txt

@cserpell,
Could you please create a new virtual environment and check if you are facing the same issue in that as well? Thanks!

Sure, I already did it in a new virtualenv, but here it goes again in a brand new one.
new_output.txt

I am having the same problem (also on Ubuntu 20.10, also installed through pip). Whenever I import tensorflow and python crashes and I look in journalctl I see something like this:
Dec 17 19:30:06 erebus kernel: traps: python[193520] trap invalid opcode ip:7fd16f267c48 sp:7ffd11713f50 error:0 in libtensorflow_framework.so.2[7fd16e4e0000+1c55000]

I also see the same issue on an older server after upgrading to 2.4.0. Crashes consistently at same place while importing tensorflow according to dmesg.
 8996.519179] traps: python3[2587] trap invalid opcode ip:7f19106a8c48 sp:7ffc8d486220 error:0 in libtensorflow_framework.so.2[7f190f921000+1c55000]

Here's one of the cores from /proc/cpuinfo, should have AVX:
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 45
model name      : Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
stepping        : 7
microcode       : 0x71a
cpu MHz         : 1199.954
cache size      : 20480 KB
physical id     : 0
siblings        : 16
core id         : 0
cpu cores       : 8
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon
 pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer
aes xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips        : 5199.91
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

This is running Ubuntu 18.04.4 LTS.

@necromuralist did you check AVX support on your CPU? Otherwise, please check #19584

Same error for me in dmesg:
traps: python[434569] trap invalid opcode ip:7fb785029c48 sp:7ffd15a859a0 error:0 in libtensorflow_framework.so.2[7fb7842a2000+1c55000]

Just to pile on, same problem here, 2.4.0 doesn't work, 2.3.0 and earlier do. CPU supports AVX:
vendor_id	: GenuineIntel
cpu family	: 6
model		: 45
model name	: Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz
stepping	: 7
microcode	: 0x718
cpu MHz		: 1197.138
cache size	: 20480 KB
physical id	: 1
siblings	: 16
core id		: 7
cpu cores	: 8
apicid		: 47
initial apicid	: 47
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips	: 4395.39
clflush size	: 64
cache_alignment	: 64
address sizes	: 46 bits physical, 48 bits virtual
power management:

Couple of things to add though:

For me it's a problem with a debian/sid container, not Ubuntu (I assume this is not distro related)
I don't see how this is in any way a build/install issue. We aren't building it and it installs fine. It isn't until use time (import) that things fail.

@cserpell
If I do sudo lscpu | grep avx I get:
 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonst op_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave **avx** f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit  wdt fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb cpb hw_pstate ssbd ibpb vmmcall bmi1 arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
(asterixes added)  I get avx entries when I grep /proc/cpuinfo as well, which I assumed meant that I have AVX support.

I think I also have the same problem as @alex-orange. 2.4 results in illegal instruction error, whereas 2.3 works. Well, the GPU doesn't work since my CUDA version is incompatible with 2.3 but at least tensorflow works.
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d

I just tried the nightly build of tensorflow and it doesn't crash. I used the nvidia-container  to get the toolkit and tried to install the latest release of tensorflow via both pip and the tensorflow-container and both still crashed the python interpreter, but when I did pip install tf-nightly it didn't crash the interpreter, but it also couldn't find the nvidia libraries since they're in the container, but I just ran
docker run --gpus all -it tensorflow/tensorflow:nightly-gpu bash
And imported tensorflow into a python intepreter with no errors. Unfortunately in experimenting to get to that state I crashed my server and had to re-install ubuntu so I don't have anything on it to test whether tensorflow actually runs, but it seems promising.

@necromuralist Sadly I don't think that's progress. #44668 seems to suggest this problem was introduced when nightly was split off to make the release candidate (or whatever the exact process is). Also worth mentioning #45872 and #45866 seem to be the exact same bug.
Adding more info: #45866 seems to suggest that this might be a problem with processors supporting AVX but not AVX2. Is it possible that this requirement got bumped (perhaps by accident)?

I've just tried building from source with:
bazel build --config=avx_linux //tensorflow/tools/pip_package:build_pip_package

and the resulting binary works fine. Is it possible someone is building the packages with --config=opt or --config=avx2_linux by accident?

@alex-orange Is it somehow possible that you share your custom-built package or does everyone need to build for themselves at the moment?

@moorugi98 Sure, here's my setup: https://gitlab.flux.utah.edu/alex_orange/tensorflow-2.4.0-build . That includes the Dockerfile I use for my build environment and the command history for building and testing. Not exactly perfect but you should be able to figure out how to make your own build (and the maintainers can hopefully use this to get an idea of what's different from the official build).

Didn't say it very well, but that repo also includes the binary.

It seems we accidentally built the official wheels using AVX2. Now we are during holiday period so not many people are present but we will revisit this situation in January and issue a patch which either will build using only AVX or will contain release notes updates that from 2.4 onwards AVX2 is required.
I don't know yet which path will be taken. Nor do I know why we got to use AVX2.

Thank you for taking the time over the holidays to look into this.
Unsurprisingly I'd like to request keeping in support for the older CPU's, but it appears that I may be 1 out of only 10 or so people on the internet experiencing issues. However, I guess I'd be curious what the Tensorflow project's stance is on the CPU backend (assuming that might be what is driving AVX2).
As  a user, I've seen it as primarily the last resort or "the thing that loads when I need TF as a dependency but not for training". As such I appreciate small advances in speed but have always assumed it would prioritize maximum compatibility first due to its unique position. To that end, it's jarring to hear that my CPU rather than my GPU would potentially be the limiting factor; similarly odd that I would not be able to train small multi-layer dense neural nets due to my CPU being too old.
Thank you for your time and consideration in this matter; I'll be watching for the eventual outcome.

Personally I also vote for avoiding requiring AVX2 -- models requiring a lot of computation should use an accelerator anyway, and I value the broad application of the PyPI tensorflow CPU backend more.

The main issue is that TF is huge, having a lot of code and gets changes submitted from O(hundreds) people but only O(tens) people look at open source and only a team of O(1) sets up the CI infrastructure. So we'll have these accidental slips in the future too, though hopefully we can prevent them in CI.

Any updates on that topic?

Any updates on that topic?

People started coming up into the office, we're just getting started working on this. Apologies for the delay

People started coming up into the office, we're just getting started working on this. Apologies for the delay

It seems it affects all release builds due to new CPU VMs used during release process. Trying to see if -march=native is the culprit.

It seems it affects all release builds due to new CPU VMs used during release process. Trying to see if -march=native is the culprit.

We found the culprit, working on a fix and then we will do a patch release on r2.4. Not certain on the timeline, but probably will be at least a few weeks as we're gathering other regressions on the 2.4 release.

We found the culprit, working on a fix and then we will do a patch release on r2.4. Not certain on the timeline, but probably will be at least a few weeks as we're gathering other regressions on the 2.4 release.

And it has been released. Please test it to see that the issue has been fixed

And it has been released. Please test it to see that the issue has been fixed

It is working now. Many thanks for your hard work, I really appreciate it.

It is working now. Many thanks for your hard work, I really appreciate it.

We should have the patched 2.4.1 release done by the end of the week

I'm using Tensorflow 2.4.1, Python 3.6 and I'm still getting
Illegal instruction (core dumpted)
when I run
import tensorflow
I'm using a Anaconda venv

We should have the patched 2.4.1 release done by the end of the week

I'm using Tensorflow 2.4.1, Python 3.6 and I'm still getting
Illegal instruction (core dumpted)
when I run
import tensorflow
I'm using a Anaconda venv

And it has been released. Please test it to see that the issue has been fixed

I'm using Tensorflow 2.4.1, Python 3.6 and I'm still getting
Illegal instruction (core dumpted)
when I run
import tensorflow
I'm using a Anaconda venv

And it has been released. Please test it to see that the issue has been fixed

I'm using Tensorflow 2.4.1, Python 3.6 and I'm still getting
Illegal instruction (core dumpted)
when I run
import tensorflow
I'm using a Anaconda venv

@InnocentCow does your CPU support AVX? This issue is for AVX2.

@InnocentCow does your CPU support AVX? This issue is for AVX2.

And it has been released. Please test it to see that the issue has been fixed

I'm using Tensorflow 2.4.1, Python 3.6 and I'm still getting
Illegal instruction (core dumpted)
when I run
import tensorflow
I'm using a Anaconda venv
*edit:
Same goes when I'm using Tensorflow 2.3.1

Try import tensorflow as tf; print(tf.version.VERSION)

And it has been released. Please test it to see that the issue has been fixed

I'm using Tensorflow 2.4.1, Python 3.6 and I'm still getting
Illegal instruction (core dumpted)
when I run
import tensorflow
I'm using a Anaconda venv
*edit:
Same goes when I'm using Tensorflow 2.3.1

Try import tensorflow as tf; print(tf.version.VERSION)

And it has been released. Please test it to see that the issue has been fixed

I'm using Tensorflow 2.4.1, Python 3.6 and I'm still getting
Illegal instruction (core dumpted)
when I run
import tensorflow
I'm using a Anaconda venv
*edit:
Same goes when I'm using Tensorflow 2.3.1

Try import tensorflow as tf; print(tf.version.VERSION)

Tried this, still same error

And it has been released. Please test it to see that the issue has been fixed

I'm using Tensorflow 2.4.1, Python 3.6 and I'm still getting
Illegal instruction (core dumpted)
when I run
import tensorflow
I'm using a Anaconda venv
*edit:
Same goes when I'm using Tensorflow 2.3.1

Try import tensorflow as tf; print(tf.version.VERSION)

Tried this, still same error

@InnocentCow does your CPU support AVX? This issue is for AVX2.

I have an Intel Celeron N3550, and from what I've found it does support AVX

@InnocentCow does your CPU support AVX? This issue is for AVX2.

I have an Intel Celeron N3550, and from what I've found it does support AVX

Nevermind, I get
Illegal instruction (core dumped)
as well when I only
import keras
So I guess TensorFlow is not the problem here

Nevermind, I get
Illegal instruction (core dumped)
as well when I only
import keras
So I guess TensorFlow is not the problem here

Never mind, happy hacking!

Never mind, happy hacking!

have same issue, installed 2.4.1 version, but it didn't help.
Compiled 2.4.1 version from sources and it did the trick.

have same issue, installed 2.4.1 version, but it didn't help.
Compiled 2.4.1 version from sources and it did the trick.

I'm trying to install 2.4.1 onto my Jetson Nano, and I'm having the illegal instructions error, can you help me with compiling it from sources? I am a complete noob when it comes to Linux and python and stuff!

CPUs with no AVX support are no longer supported by the default package. You have to compile from source or use a cloud version of TF (via Google Colab for example).


ignore_tags_changes module argument

Is your request related to a new offering from AWS?
Is this functionality available in the AWS provider for Terraform? See CHANGELOG.md, too.

Yes ✅: please list the AWS provider version which introduced this functionality

3.5.0
Is your request related to a problem? Please describe.
My team uses Terraform workspaces to manage different replicas of the same EKS cluster (e.g. prod vs. a copy of prod + a new feature). All clusters live in the same VPC, managed using this (awesome!) module (thank you!).
Adding a new cluster in a new workspace requires adding new subnet tags into the VPC. These are managed using aws_ec2_tag resources.
The use of these aws_ec2_tag resources conflicts with the VPC module, which constantly tries to overwrite those tags. I am able to partially get around this by using the solution recommended in this issue -- use ignore_tags in the aws TF provider.
The problem is the following: if I use ignore_tags in the aws TF provider, I get the problem described there:

If any resource configuration still has a tag matching one of the prefixes configured in the tags argument, it will display a perpetual difference until the tag is removed from the argument or ignore_changes is also used.

This is a problem because our CI/CD process checks for a clean terraform plan. And in general, it's bad practice to have a terraform plan that is practically a no-op but has suggested changes.
Describe the solution you'd like.
Rather than a generic, parameterized lifecycle argument discussed in #408, a single boolean input variable called ignore_tags_changes. Setting this variable to true would add a lifecycle directive to ignore changes to all tags in the VPC. This is a simple but effective solution that ensures ignore_tags on the aws provider can be used and result in a clean plan for this module.
Describe alternatives you've considered.
The easiest alternative involves changing our CI to accept a "dirty" plan. It would probably be easier to implement that, but doing so breaks one of the key invariants you get with terraform -- that the config and cloud are in sync if and only if the plan contains no changes.
Additional Context
Reading through this response makes me realize adding a "conditional lifecycle" block inside the module could be quite tricky since it's not a supported feature for terraform.

This is not something Terraform supports


Segfault caused when running 12k iters and 12 trials

Project Robyn
Wanted to thank both Bernardo and Gufeng (and the rest of the team), y'alls work on Robyn has been an excellent tool for creating and understanding MMMs.
Describe issue
I currently run Robyn on a server with a total of 4 cores (single threaded) with 64GB of RAM. I was running a Robyn model for 12k iterations and 12 trials (I've successfully ran a model with 30k iters and 4 trials), and with a dataset that's weekly with 235 weeks and 50 hyper parameters to optimize, I thought it would compile fine enough in approximately 12 hours.
I tried to run an identical version of this yesterday, and Robyn just stopped compiling results for the Pareto front calc 4/4 (total).
When I ran it last night, I got a segfault error on trial 10/12: Picture:

Provide reproducible example
I can provide more reproducible results, but here is initial set up.
In check_hyperparameters(InputCollect$hyperparameters, InputCollect$adstock,  :
Automatically added missing hyperparameter range: 'train_size' = c(0.5, 0.8)
Input data has 235 weeks in total: 2018-07-01 to 2022-12-25
Initial model is built on rolling window of 235 week: 2018-07-01 to 2022-12-25
Fitting time series with all available data...
Using geometric adstocking with 50 hyperparameters (49 to iterate + 1 fixed) on 3 cores

Starting 12 trials with 12000 iterations each using TwoPointsDE nevergrad algorithm...
Running trial 1 of 12

Environment & Robyn version
Make sure you're  using the latest Robyn version before you post an issue. (Not sure if 3.10.3 has fixed this, or if this is a non-standard issue)
R version: 4.1.1
Robyn version: 3.9.0

Thanks! We haven't seen this sofar. An initial research suggests it might be memory issue. Are you using the latest dev version? Because we had a big objective size reduction commit since 3.9.0 which might help.

Yeah I upgraded the CPU and increase RAM allocation to this and it seemed to fix. On your guy's end, what's the largest number of iterations / trials were you able to run in a single robyn_run statement?

This really depends on your infrastructure. Many users run Robyn on the cloud and scale it up greatly. We don't have visibility into that unfortunately.


Sponsor images are looking broken on scheduled action runs

Discussed in https://github.com/JamesIves/github-sponsors-readme-action/discussions/882

Originally posted by K-vanc December 16, 2024
Hi and thanks for good work.
I am not sure if it is a bug or something related with Github but everything was running fine for long time and last week I noticed sponsor images in a dedicated tier were displayed broken so I rerun the action and they were fixed. I thought it was some temporarily problem of github similar like sometimes unresponsive download numbers etc. but I noticed that it is only happening when action run as "scheduled".
I compared deploy log of scheduled run and my re-runs but there is no difference except some changed hash values. There is also no error reported. Urls are looking ok as well but it is diplayed as below on scheduled;

and it is becoming normal if i rerun action till next scheduled run. I checked also in different browsers to understand if it is some kind of html  rendering issue but displayed as on photo.
I hope this info is sufficent for you since I have almost 0 knowledge about actions or maybe someone else is experiencing same issue

Resolved in 1.5.6: https://github.com/JamesIves/github-sponsors-readme-action/releases/tag/v1.5.6


Fix SUMMARY.md links to user-management pages.

Relates to #5. I missed the page tree and so, this should present users with the correct pages. (Sorry about that!)
Note that the Kubernetes pages are still missing, but I was not sure if that was intentional or not, so I left them out.

Thank you @Nicolas-M


upgrade-only failure

seems using --to breaks --upgrade-only:
$ eget --upgrade-only --to=$HOME/bin zyedidia/eget
re-downloads eget (unless I already am in $HOME/bin)

This is because --upgrade-only only checks for binaries in $EGET_BIN.
Can you try with EGET_BIN=$HOME/bin eget --upgrade-only zyedidia/eget ?
I personally have export EGET_BIN set, but I agree that users would expect --to to work with this as well.
Let me take a stab at this.

You're right, after exporting EGET_BIN=$HOME/bin, there are no more re-downloads.
And yes, I would have expected that --to would work as well.

@leapfog I've created a PR for this fix. 🙂


Starring messages does not work correctly

Messages un-star themselves, and somehow become unread (Thunderbird)

Fixed


Lack of details on supported resource types for where operator

I am able to filter out resources by provider (e.g., 'Microsoft.Network'), higher-level types (e.g., 'Microsoft.Network/dnszones'), and some level-2 resource types (e.g., 'Microsoft.Compute/virtualMachines/extensions'). What is not clear for me is why VM extensions can be filtered out and DNS Zone record types can't. Why does the following query return an empty array?
az graph query -q "where type =~ 'microsoft.network/dnszones/cname'"
Where is the list with those resource types and what makes a resource type elligible for a where operator?

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

ID: 18b7fed4-6794-fbad-831e-402ae74df56e
Version Independent ID: ddb188c3-adc5-79c0-a1a6-59a1878bdcfe
Content: Understanding the Azure Resource Graph query language
Content Source: articles/governance/resource-graph/concepts/query-language.md
Service: resource-graph
GitHub Login: @DCtheGeek
Microsoft Alias: dacoulte

@helderpinto Thanks for the question! The type Microsoft.Network/dnszones/cname doesn't appear to be a type that Resource Graph has mapped (not every child object is included).  One way I use to see all types in my environment is with project type | distinct type | order by type asc. Now, I don't know the DNSZones object very well, but if you get a dnszones record (use where type =~ 'Microsoft.Network/dnszones' | limit 1 to see an example of the properties). Does the cname you want to filter by match any of the included properties?  If it does, then you can just clarify your query, such as where type =~ 'Microsoft.Network/dnszones' and name == 'mydomain.com'.  If it doesn't, then the best path is to post on the UserVoice to request it and/or use the Portal Feedback option while on the Resource Graph page and the PG will get back to you.
@MicrosoftDocs/azure-cxp-triage Please assign to me, label 'product-question', and #in-progress.

Thanks for answering, @DCtheGeek! Actually, 'cname' is not a property of 'Microsoft.Network/dnszones'. A particular DNS Zone contains a 'recordset' child resource which unfortunately is not exposed in the query response. This recordset is in turn made of a list of DNS records, which can be of several different types ('Microsoft.Network/dnszones/cname', 'Microsoft.Network/dnszones/soa', 'Microsoft.Network/dnszones/a', etc.). All these children resources are not accessible through Resource Graph. I'll thus post to UserVoice. Thanks!

@helderpinto Thanks for putting that on UserVoice!  If you don't mind, add the link to your item here for anyone searching and hits the same item.  Since this isn't a docs issue and it's on UserVoice now as feedback, I'm going to ask the team to close this issue.  Thanks again for the question.
@MicrosoftDocs/azure-cxp-triage #please-close

@helderpinto We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.