eframe: window flashes white on launch on Windows

eframe = { git = "https://github.com/emilk/egui", branch = "master" }
Describe the bug
Wheb the window show it's kinda buggy it's light then dark
To Reproduce
A bit modified the example code with name and age

Expected behavior
Appear dark
Screenshots
See to reproduce for GIF
Desktop (please complete the following information):

OS: Windows 10
Browser I don't use a browser
Version I'm still using the libs directly

Additional context
None

How annoying! On Mac it works well. Is it the same using egui-wgpu as the backend?
Perhaps add a few breakpoints and try to find out what goes wrong!

How annoying! On Mac it works well. Is it the same using egui-wgpu as the backend?
Perhaps add a few breakpoints and try to find out what goes wrong!

Hello, it's not very annoying but I was thiking it would be good if it's possible to fix it ! And yeah even with using egui-wgpu I get the same result !

The only solution that I have for this situation that would not necessarely require to modify the crate is to hide the windows until it's fully loaded

I'm not a maintainer of egui 🤔

You are not the maintainer, but you can become a contributor.

You are not the maintainer, but you can become a contributor.

It's not a priority I never said that, I'm using Rust very rarely sadly it was just for 1 project nothing more

when you create glutin context on windows, it creates white window, which stays white until content gets swapped into it
when you create glutin context on linux, it creates a hidden window (icon in taskbar, but no ability to click into it)
that's the difference, very much reproduceable for me with all glutin examples:
let el = glutin::event_loop::EventLoop::new();
let wb = glutin::window::WindowBuilder::new()
    .with_title("Hello world!")
    .with_inner_size(glutin::dpi::LogicalSize::new(200.0, 200.0));
let windowed_context = glutin::ContextBuilder::new()
    .build_windowed(wb, &el)
    .unwrap();

I'm not sure what's the right behavior is, but it probably should be reported in that package (didn't find any existing tickets)

when you create glutin context on windows, it creates white window, which stays white until content gets swapped into it
when you create glutin context on linux, it creates a hidden window (icon in taskbar, but no ability to click into it)
that's the difference, very much reproduceable for me with all glutin examples, for example this one creates a white window for me on windows only:
let el = glutin::event_loop::EventLoop::new();
let wb = glutin::window::WindowBuilder::new()
    .with_title("Hello world!")
    .with_inner_size(glutin::dpi::LogicalSize::new(200.0, 200.0));
let windowed_context = glutin::ContextBuilder::new()
    .build_windowed(wb, &el)
    .unwrap();

I'm not sure what's the right behavior is, but it probably should be reported in that package (didn't find any existing tickets)

The best one for lazy people like me would be to hide the windows until it's loaded until the packages receive the necessarily updates to "fix it" on Windows, that would not be the hardest to do I think but still need to add code for stuff that could be managed by the packages

The window also flashes white while it's being resized with the glow backend
https://user-images.githubusercontent.com/4723091/201222028-30b3777d-603a-4eb4-8f12-d4995f34bc4d.mp4
(sorry for the small size, can't do a larger recording or else it slows down my computer enough to make it not flash white?)
The white on launch happens with both glow and wgpu backends. However, the wgpu backend does not flash white on resize. It also does not render text (??) and has its own horrible resizing artifacts:
https://user-images.githubusercontent.com/4723091/201222261-57793ef1-e706-4849-89f8-4c51174c96ea.mp4

Here is a flame graph of the white flash: (click to make it interactive)

It looks like this is impossible to work around as a user of eframe since the CreationContext gives me no access to the winit window. But that also wouldn't be able to change the window construction options, ideally it should be constructed completely hidden while the glutin context is created. (PR time?)
Anyway... the context creation is slow as hell. I guess my drivers are just dumb, but this happens with both GPUs (dedicated and integrated). Here is iGPU flamegraph:

Notably this one only takes around 520ms to create the context instead of 779ms+ like the Nvidia drivers.


StackOverflowException in FixGenerics

A coworker found a repro for https://github.com/microsoft/clrmd/pull/569 which came from a real dump:
code:
ClrmdType.FixGenerics("System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Collections.Generic.IReadOnlyDictionary`2[[System.String, mscorlib],T], mscorlib]]");

Need to investigate whether to keep trying to use "FixGenerics" or to just use the metadata APIs ourselves and build a coherent type name correctly to begin with.

Added a temporary workaround of a max depth to FixGenerics for now, but this issue tracks either really fixing the stack overflow or changing implementations over to using metadata.

The underlying issue of stackoverflow exceptions no longer happens.  It's still true that we could do better here, but since there's no immediate actionable bug here I'm going to close this issue.


Reconcilation command line

closes #586
📑 Description
created a function in Cobra and added in the root command running cyctl reconcile <module name> will reconcile the specified module;
✅ Checks

[x] I have tested my code (provide screenshots or screen recordings of a working solution)
[x] I have performed a self-review of my code

@petar-cvit  The requested changes on the outputs of the cli have been updated


Throwing from $exceptionHandler breaks the digest loop leaving it in a zombie state.

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
When the $exceptionHandler is overridden to throw the thrown exceptions, then the digest loop is sometimes left in a zombie state (i.e. the clearPhase(); is not called).
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar (template: http://plnkr.co/edit/tpl:yBpEi4).
I tried to create a minimal demo of the bug, but I was unable to reproduce it.
What is the expected behavior?
The digest loop is operational after the exceptions are thrown (i.e. the clearPhase(); is called before leaving the loop).
What is the motivation / use case for changing the behavior?
I'd like the javascript Errors to be thrown instead of being logged to the console. I have a custom error handler set up on the window.onerror event. Errors don't trigger this event, when thrown from angular context (they are logged to the console instead, as per default $exceptionHandler behaviour)
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular? Please also test with the latest stable and snapshot (https://code.angularjs.org/snapshot/) versions.
Tested against version: AngularJS v1.5.7-build.4839+sha.a478f69
Other information (e.g. stacktraces, related issues, suggestions how to fix)
// angular.js

      $apply: function(expr) {
        try {
          beginPhase('$apply');
          try {
            // (1)
            return this.$eval(expr);
          } finally {
            clearPhase();
          }
        } catch (e) {
          $exceptionHandler(e);
        } finally {
          try {
            // (2)
            $rootScope.$digest();
          } catch (e) {
            $exceptionHandler(e);
            throw e;
          } finally {
              // (3)
              // clearPhase();
          }
        }
      },

If I add a finally block with a clearPhase(); at position (3), then the digest loop is properly cleaned up in a case of an error being thrown. I tried to create a small demo of this problem, but somehow the demo code throws from the this.$eval(expr)(1), while the code I'm working on is throwing from the $rootScope.$digest()(2). As you can see, when errors are thrown from the (1), then the clearPhase(); is called.
This is probably related with these two PRs:

link
link

The second PR would probably fix the problem, because it adds a giant try..finally block in the .$digest() method. It wasn't merged though.
For now, I'm throwing Errors from my $exceptionHandler using a setTimeout() function, so Angular has an opportunity to get out of the digest loop with a proper clean up.

As discussed in #13184, throwing from the $exceptionHandler will leave the app in an inconcistent state (with or without clearPhase()). What is your usecase ? Why do you need an error to be thrown ?

In short: I'd like the errors to be thrown, because I'd like the window.onerror event to be fired.
Slightly longer reasoning: I propagate errors in my application in such a way, that any intermediate stacks in the stack trace can decide to catch the error and recover from it or perform some intermediate cleanup and rethrow. That's why I never use $exceptionHandler. Instead I just throw a custom AppError class as I normally would (or reject a promise with this custom error class, if I am in a promise chain), and then listen on the window.onerror event. If my window.onerror event listener caught an instance of my custom AppError class, then I show a popup with a message (I also distinguish user-displayable errors and generic errors, but that's beside the point). This setup allows me to show the popup knowing, that none of the intermediate stacks in the call stack wanted to recover from this error.
I need to throw from the $exceptionHandler, so my AppErrors thrown from angular context aren't "swallowed" by the default $exceptionHandler.
If throwing from the $exceptionHandler is discouraged, then why this is mentioned in official docs: link?

I actually agree, that hard-throwing from the $exceptionHandler is probably not a good idea. Not because this would leave the app in inconsistent state, but because angular and angular ecosystem generally assume, that $exceptionHandler doesn't throw back. We would fix that in the digest loop, but there are still numerous places in angular and angular plugins, that, well, do different sorts of cleanup after passing errors to the $exceptionHandler. I'm kind of happy with using my setTimeout()/_.defer() method to throw from the $exceptionHandler to play nicely with the community. But maybe at least the official docs should stop recommending/mentioning hard-throwing from the $exceptionHandler. Even better: maybe the docs should actually say, that $exceptionHandler must not throw back?

I don't see where we recommend hard-throwing in the docs. The only mention of hard-throwing is in the context of unit-testing (where it makes sense). I'll a clarification though.

Thanks :+1:


Unable to find localabstract name of cordova app

while i click on run on android device it shows
App successfully launched
Attaching to android
Unable to find localabstract name of cordova app

The Android debug adaptor is for Android Apps coded in Java.
If you're using cordova, you might want to try the Microsoft cordova plugin instead.


Making status and detection mo betta

This should enhance the way we detect node status and eventually decide to cordon.
Enhanced the conditional check for cordoning to include if node has scheduling disabled set. This should allow us to properly flex on masters being either Ready or Ready,SchedulingDisabled.

ci check this


[Feature Request] XYZ grid

Implement an X/Y/Z grid based on multiple parameters like in A1111

It's under Tools -> Grid Generator
ps note the migration https://github.com/mcmonkeyprojects/SwarmUI/discussions/2


Create socket parent directory with correct permissions

Often the socket is put into the directory /run/containerd. When this directory does not exist, it gets created with the default uid/gid and permission 0660. When the user has specified a uid or gid, this should be used to set the ownership of that parent directory and the permissions should be 0770. This worked in a previous version of containerd but regressed after a refactor.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1199   +/-   ##
=======================================
  Coverage   28.09%   28.09%
=======================================
  Files          28       28
  Lines        2833     2833
=======================================
  Hits          796      796
  Misses       1888     1888
  Partials      149      149

Continue to review full report at Codecov.

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

LGTM


picovoice command failed

Hi,
I've installed MagicMirror, and MMM-WhisperGPT module, but when I run npm run start:dev, I get this error:

[2024-05-13 13:01:19.769] [ERROR] (node:92349) UnhandledPromiseRejectionWarning: Error: Command failed<EMAIL_ADDRESS>at checkExecSyncError (node:child_process:905:11)
at execSync (node:child_process:977:15)
at node:electron/js2c/node_init:2:13035
at PvRecorder._getLibraryPath (/home/pi/MagicMirror/modules/MMM-WhisperGPT/node_modules/@picovoice/pvrecorder-node/dist/pv_recorder.js:149:51)
at <static_initializer> (/home/pi/MagicMirror/modules/MMM-WhisperGPT/node_modules/@picovoice/pvrecorder-node/dist/pv_recorder.js:22:45)
at Object. (/home/pi/MagicMirror/modules/MMM-WhisperGPT/node_modules/@picovoice/pvrecorder-node/dist/pv_recorder.js:17:18)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1311:10)
at Module.load (node:internal/modules/cjs/loader:1098:32)
at Module._load (node:internal/modules/cjs/loader:945:12)
at c._load (node:electron/js2c/node_init:2:13672)
at Module.require (node:internal/modules/cjs/loader:1122:19)
at require (node:internal/modules/helpers:130:18)
at Object. (/home/pi/MagicMirror/modules/MMM-WhisperGPT/node_modules/@picovoice/pvrecorder-node/dist/index.js:14:23)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
(Use electron --trace-warnings ... to show where the warning was created)
[2024-05-13 13:01:19.775] [ERROR] (node:92349) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)

hello, i have some problem with this too, where are you find the logs ?


Properly zip dist on minor releases

I think this is a feature that's built into github, I just have to configure it.

GitHub actions maybe?

I recently used this, https://github.com/vercel/release, and it works like a charm. There is also https://github.com/actions/create-release

Are you intending to create tags for each release?

This might actually be better. Create a draft release using gh actions: https://github.com/marketplace/actions/release-drafter


Canvas not rendering makeTiledWorld /worldCamera result

I'm following the scrollingWorldExample as best I can.
The imported json and png are actually the url locations of each file. In the image attached the white screen is the renderer. The message is rendered properly but nothing else is.
Sorry about the code formatting. Nothing is working right for me.
'import React, {Component} from 'react';
import {connect} from 'react-redux';
import CanvasStyle from './canvas.scss';
import NewWorld from './assets/newworld.json';
import Tileset from './assets/tileset.png';
class Canvas extends Component {
constructor(props) {
    super(props);
    this.state = {}
}

componentWillReceiveProps() {}

componentDidMount() {
    let camera = {}
    let world = {}
    let g = {}
    let objectsLayer = {}

    let filesToLoad = [NewWorld, Tileset]
    g = hexi(512, 512, setup, filesToLoad, load);
    g.start()

    function setup() {
        document
            .getElementById('HexiCanvas')
            .appendChild(document.getElementsByTagName('canvas')[0])
        g.fps = 1;
        console.log(PIXI.loader.resources)
        world = g
            .tileUtilities
            .makeTiledWorld(NewWorld, Tileset);
        console.log(g)
        camera = g.worldCamera(world, world.worldWidth, world.worldHeight, g.canvas)
        objectsLayer = world.getObject("Elf");
        let message = g.text("No items found", "12px puzzler", "black");
        message.setPosition(10, 10);
        g.state = play;

    }

    function load() {}

    function play() {
        console.log('Tick Tock!')
        camera.follow(objectsLayer)
    }

}

render() {

    return <div
        className={this.props.show
        ? "canvas"
        : "hidden"}
        id="HexiCanvas"></div>
}

}
const mapStateToProps = (state, ownProps) => {
return {};
};
const mapDispatchToProps = (dispatch) => {
return {}
}
export default connect(mapStateToProps, mapDispatchToProps)(Canvas);'

@jbrod22 If you can get it working by slightly modifying the original example code and then making incremental customizations from there, you might be able to track down what's going wrong.
One thing I can tell for sure is that filesToLoad needs to be an array of strings.

One thing I can tell for sure is that filesToLoad needs to be an array of strings.

The import NewWorld from './assets/newworld.json'; import Tileset from './assets/tileset.png'; are actually url strings


Lineedit control not reporting get_combined_minimum_size() correctly

Operating system or device - Godot version:
Using : Godot_v2.0.3_stable_x11.64 on linuxmint 17.3
Issue description (what happened, and what was expected):
When building Lineedit control nodes from script, get_combined_minimum_size() mothod is not reporting correct size. For comparison Label control nodes are reporting meaningfull combined_minimum_size value. This makes resizing Lineedit to encapsulate its own content as same as Label impossible.
This causes problem when these items are used inside GridContainer to form columns with different widths.
Steps to reproduce:
Create a scene. Add a VBoxContainer as root node. And add script below to this VBoxContainer node.
NOTE : Lineedit stretches because of VBoxContainer, not because of its own size value in this scene. Output of last two lines show this situation.
extends VBoxContainer

func _ready():
	var text = 'long text to test get_combined_minimum_size() function'

	# Add a label and resize to show all content
	var label = Label.new()
	label.set_text(text)
	label.set_name('Label')
	label.set('custom_colors/font_color', Color(0,0,0,1))
	print('label size : ' + str(label.get_size()))
	print('label combined_minimum_size : ' + str(label.get_combined_minimum_size()))
	label.set_size(label.get_combined_minimum_size())
	self.add_child(label)

	# Add a lineedit and resize to show all content
	var lineedit = LineEdit.new()
	lineedit.set_text(text)
	lineedit.set_name('Lineedit')
	print('lineedit size : ' + str(lineedit.get_size()))
	print('lineedit combined_minimum_size : ' + str(lineedit.get_combined_minimum_size()))
	lineedit.set_size(lineedit.get_combined_minimum_size())
	self.add_child(lineedit)

	print('label size after add_child : ' + str(label.get_size()))
	print('lineedit size after add_child : ' + str(lineedit.get_size()))

Console Output:
** Debug Process Started **
label size : 0,0
label combined_minimum_size : 324,13
lineedit size : 0,0
lineedit combined_minimum_size : 46,23
label size after add_child : 324,13
lineedit size after add_child : 46,23

Link to minimal example project (optional but very welcome):

@hubbyist ~ Does it work correctly with get_minimum_size?

@bojidar-bg No it is giving the same result.
label      (gs) : 0,0
label     (gms) : 324,13
label    (gcms) : 324,13

lineedit   (gs) : 0,0
lineedit  (gms) : 46,23
lineedit (gcms) : 46,23

label last size : 324,13
lineedit last size : 46,23

This was a result of a PR that was reverted recently, it's not happening any longer, so closing.


improve widget selection for long widgets

will add explicit navigation

This would introduce a lot of complexity which won't guarantee the desired outcome.
This problem is considered fixed by overriding an interactive widgets navigation.


Launching the driver causes the arm to go to HOME position (all joints equal to 0)

Hello,
When the driver is launched the arm, goes to the HOME joints configuration (all zero) in a dangerous way.
How can I launch the driver and keep the arm in the current configuration? In other words, I want to launch the driver without moving the arm.
Thanks

Please clarify which branch you have built: master or kinetic-devel.

I am actually using this branch: https://github.com/plusone-robotics/ur_modern_driver/tree/ur_moderner_driver
I am using: roslaunch ur_modern_driver ur5e_ros_control.launch robot_ip:=...
Using a UR5e arm with Polyscope 5.3.1

I am actually using this branch: https://github.com/plusone-robotics/ur_modern_driver/tree/ur_moderner_driver

Then I'm rather confused as to why you are posting an issue here.
We do not support forks of this repository.

I am using: roslaunch ur_modern_driver ur5e_ros_control.launch robot_ip:=...

Ah. ros_control mode.
It's possible that fork does not include #213, which could cause this.
But I have no idea, as I don't use that fork.

As you are using a fork and not the package in this repository, I'm going to close the issue.
Please go to the maintainers of the fork for support.
Feel free to keep commenting on this issue of course.

Commenting just to thank you and to say that #213 solved the problem.


Feature request - pass current battery SOC to dayahead-optim to improve optimization

I find it that dayahead-optim quite often get my battery strategy wrong since the battery has a different SOC than dayahead-optim seems to assume. For different reasons, my battery level might not be what the optimization expects due to e.g. unexpected load, or unexpected PV power. As of now it always seems to assume that the battery has SOCtarget charge at the beginning of an optimization period.
Allow me to pass a parameter to dayahead-optim where I can send current battery SOC to help the optimization make the right decisions.

I just treated this, you will be able to pass the SOCtarget during runtime. This will be available later today after the new release is published.

I've just published the new release with this added improvement.

This didn't turn out as expected. Now I can pass SOCtarget, but unfortunately dayahead-optim uses this value both as start value and target value.
The issue I have is that I want to have a target SOC of 60%, but at the time I call dayahead-optim, the current battery SOC is, e.g., 90%. How can I tell the optimization that the battery already has 90% SOC when I start the optimization? Right now it assumes that the current battery SOC is the same as I want it to be in 24 hours, which is rarely the case.
Or did I just miss something here?

Oh yes for the day-ahead optimization a hard condition is SOCinit = SOCfinal.
What you want to do can be achieved by just using the MPC call. You can set the prediction horizon to 24h for the MPC to achieve what you want.


How LDAP Users logged into CAS Server

I have been working on CAS SSO web LMS and basing LDAP as a database. I configured CAS properly to get and authenticate LDAP users perfectly based on this article http://jasig.github.io/cas/4.0.x/installation/LDAP-Authentication.html and I didn't get any error on Catalina out. But when I tried to login into CAS Server via my created LDAP user CAS server doesn't let me enter and displays me "Invalid Credentials". I tried everything using DN, userID, userID+email ...etc. What value must be entered in username field in CAS Login page in order to login into CAS via LDAP User.

Hey, this kind of question is much better suited for Stack Overflow or Glitter (see our (CONTRIBUTING.md)[https://github.com/angular/protractor/blob/master/CONTRIBUTING.md]).


TODOs

TODO:

[ ] remove lists (mutable from arguments) so that flake8 passes
[ ] add layer_stack, thickness and zmin for each LayerLevel
[ ] bring DRC and LVS, so that we can call it from python
[ ] demo python PySpice, Ngspice integration with python

@mabrains
@atorkmabrains
@proppy

Hey @joamatab @proppy,
I am trying to install this on my mac. I get the following error. Perhaps this is my own computer flaring up? The install worked on my linux cloudtop.

Which python are you using? That looks like python2

@joamatab We need to discuss the changes you want. Let's plan on meeting to discuss that.

@joamatab @atorkmabrains I would be happy to join to give my thoughts. Adding multiple ports for the transistor components would be very useful for auto-routing. For example, source, gate, drain, & bulk ports for the nfets and pfets.


Could not find schema node for xpath - rulebase

Describe the bug
panos_panorama_security_policy is unable to be applied due to the following error "Could not find schema node for xpath /config/devices/entry[@name='localhost.localdomain']/device-group/entry[@name='']/rulebase/security"
Expected behavior
Security Policy should be applied without error
Current behavior
The device groups are managed through terraform code, after successful creation of the DGs, the policy is attempted to be applied by terraform which results in the error
Possible solution
Only noticed the fact that "rulebase" is no longer in the /config/devices/entry[@name='localhost.localdomain']/device-group/entry[@name=''<REDACT>']/<NO LONGER HERE>/security path
This path seems to have been removed in PANOS v10 and should be removed from the documentation or noted in the field description
Steps to reproduce
on PANOS 10 attempt to apply policy to panos_panorama_security_policy rulebase in panorama using the terraform 1.8.0 provider.  Only when I designated post-rulebase it worked
Screenshots
only pre-rulebase and post-rulebase appear to be present in PANOS V10

Context
Unable to apply security policy to the rulebase section of panorama
Your Environment
panorama AWS

@ryanpodonnell1
The xpath is weird in your error...  The device_group param defaults to "shared"; did you set it to an empty string in your plan file?  device-group cannot be an empty string, it should either be "shared" or the name of a device group.
Also, the rulebase defaults to "pre-rulebase" but it seems to be set to "rulebase" in your config.  I am pretty sure that you can only configure rulebase="rulebase" if device_group="shared", otherwise device_group needs to be set to a real device group in Panorama and rulebase should be either "pre-rulebase" or "post-rulebase".
Please share a plan file that shows the error if the above doesn't resolve the issue for you.

@shinmog  gotcha yeah that empty string is me deleting my DG out as it had potentially sensitive naming in it. \
PLAN

# module.oci_external_hub.panos_panorama_security_rule_group.policies["post-rulebase"] will be destroyed
  - resource "panos_panorama_security_rule_group" "policies" {
      - device_group = "<REDACT>" -> null
      - id           = "<REDACT>:post-rulebase:0::SU5CT1VORC1TU0gKT1VUQk9VTkQtSFRUUFMKamZyb2cKZ2l0aHViLmNvbQpxdWFudGhvdXNlCnRlbXAtYWxsb3dhbGw=" -> null
      - rulebase     = "post-rulebase" -> null

      - rule {
          - action                             = "allow" -> null
          - applications                       = [
              - "ssh",
            ] -> null
          - categories                         = [
              - "any",
            ] -> null
          - destination_addresses              = [
              - "any",
            ] -> null
          - destination_zones                  = [
              - "TRUST",
            ] -> null
          - disable_server_response_inspection = false -> null
          - disabled                           = false -> null
          - hip_profiles                       = [
              - "any",
            ] -> null
          - icmp_unreachable                   = false -> null
          - log_end                            = true -> null
          - log_start                          = false -> null
          - name                               = "INBOUND-SSH" -> null
          - negate_destination                 = false -> null
          - negate_source                      = false -> null
          - negate_target                      = false -> null
          - services                           = [
              - "any",
            ] -> null
          - source_addresses                   = [
              - "<REDACT> Bastion Host",
            ] -> null
          - source_users                       = [
              - "any",
            ] -> null
          - source_zones                       = [
              - "UNTRUST",
            ] -> null
          - tags                               = [] -> null
          - type                               = "universal" -> null
        }
      - rule {
          - action                             = "allow" -> null
          - applications                       = [
              - "ssl",
            ] -> null
          - categories                         = [
              - "any",
            ] -> null
          - destination_addresses              = [
              - "any",
            ] -> null
          - destination_zones                  = [
              - "UNTRUST",
            ] -> null
          - disable_server_response_inspection = false -> null
          - disabled                           = false -> null
          - hip_profiles                       = [
              - "any",
            ] -> null
          - icmp_unreachable                   = false -> null
          - log_end                            = true -> null
          - log_start                          = false -> null
          - name                               = "OUTBOUND-HTTPS" -> null
          - negate_destination                 = false -> null
          - negate_source                      = false -> null
          - negate_target                      = false -> null
          - services                           = [
              - "any",
            ] -> null
          - source_addresses                   = [
              - "any",
            ] -> null
          - source_users                       = [
              - "any",
            ] -> null
          - source_zones                       = [
              - "TRUST",
            ] -> null
          - tags                               = [] -> null
          - type                               = "universal" -> null
        }
      - rule {
          - action                             = "allow" -> null
          - applications                       = [
              - "ssl",
              - "jfrog-artifactory",
            ] -> null
          - categories                         = [
              - "any",
            ] -> null
          - destination_addresses              = [
              - "<REDACT>",
            ] -> null
          - destination_zones                  = [
              - "UNTRUST",
            ] -> null
          - disable_server_response_inspection = false -> null
          - disabled                           = false -> null
          - hip_profiles                       = [
              - "any",
            ] -> null
          - icmp_unreachable                   = false -> null
          - log_end                            = true -> null
          - log_start                          = false -> null
          - name                               = "jfrog" -> null
          - negate_destination                 = false -> null
          - negate_source                      = false -> null
          - negate_target                      = false -> null
          - services                           = [
              - "any",
            ] -> null
          - source_addresses                   = [
              - "any",
            ] -> null
          - source_users                       = [
              - "any",
            ] -> null
          - source_zones                       = [
              - "TRUST",
            ] -> null
          - tags                               = [] -> null
          - type                               = "universal" -> null
        }
      - rule {
          - action                             = "allow" -> null
          - applications                       = [
              - "ssl",
              - "ssh",
              - "web-browsing",
              - "git-base",
              - "github-base",
            ] -> null
          - categories                         = [
              - "any",
            ] -> null
          - destination_addresses              = [
              - "github.com",
            ] -> null
          - destination_zones                  = [
              - "UNTRUST",
            ] -> null
          - disable_server_response_inspection = false -> null
          - disabled                           = false -> null
          - hip_profiles                       = [
              - "any",
            ] -> null
          - icmp_unreachable                   = false -> null
          - log_end                            = true -> null
          - log_start                          = false -> null
          - name                               = "github.com" -> null
          - negate_destination                 = false -> null
          - negate_source                      = false -> null
          - negate_target                      = false -> null
          - services                           = [
              - "any",
            ] -> null
          - source_addresses                   = [
              - "network-dev-cmp-lb",
            ] -> null
          - source_users                       = [
              - "any",
            ] -> null
          - source_zones                       = [
              - "TRUST",
            ] -> null
          - tags                               = [] -> null
          - type                               = "universal" -> null
        }
      - rule {
          - action                             = "allow" -> null
          - applications                       = [
              - "any",
            ] -> null
          - categories                         = [
              - "any",
            ] -> null
          - destination_addresses              = [
              - "<IP_ADDRESS>/32",
            ] -> null
          - destination_zones                  = [
              - "UNTRUST",
            ] -> null
          - disable_server_response_inspection = false -> null
          - disabled                           = false -> null
          - hip_profiles                       = [
              - "any",
            ] -> null
          - icmp_unreachable                   = false -> null
          - log_end                            = true -> null
          - log_start                          = false -> null
          - name                               = "<REDACT>" -> null
          - negate_destination                 = false -> null
          - negate_source                      = false -> null
          - negate_target                      = false -> null
          - services                           = [
              - "<REDACT>-6051",
            ] -> null
          - source_addresses                   = [
              - "any",
            ] -> null
          - source_users                       = [
              - "any",
            ] -> null
          - source_zones                       = [
              - "TRUST",
            ] -> null
          - tags                               = [] -> null
          - type                               = "universal" -> null
        }
      - rule {
          - action                             = "allow" -> null
          - applications                       = [
              - "any",
            ] -> null
          - categories                         = [
              - "any",
            ] -> null
          - destination_addresses              = [
              - "any",
            ] -> null
          - destination_zones                  = [
              - "UNTRUST",
            ] -> null
          - disable_server_response_inspection = false -> null
          - disabled                           = false -> null
          - hip_profiles                       = [
              - "any",
            ] -> null
          - icmp_unreachable                   = false -> null
          - log_end                            = true -> null
          - log_start                          = false -> null
          - name                               = "temp-allowall" -> null
          - negate_destination                 = false -> null
          - negate_source                      = false -> null
          - negate_target                      = false -> null
          - services                           = [
              - "any",
            ] -> null
          - source_addresses                   = [
              - "network-dev-cmp-lb",
            ] -> null
          - source_users                       = [
              - "any",
            ] -> null
          - source_zones                       = [
              - "TRUST",
            ] -> null
          - tags                               = [] -> null
          - type                               = "universal" -> null
        }
    }

  # module.oci_external_hub.panos_panorama_security_rule_group.policies["rulebase"] will be created
  + resource "panos_panorama_security_rule_group" "policies" {
      + device_group = "<REDACT>"
      + id           = (known after apply)
      + rulebase     = "rulebase"

      + rule {
          + action                             = "allow"
          + applications                       = [
              + "ssh",
            ]
          + categories                         = [
              + "any",
            ]
          + destination_addresses              = [
              + "any",
            ]
          + destination_zones                  = [
              + "TRUST",
            ]
          + disable_server_response_inspection = false
          + disabled                           = false
          + hip_profiles                       = [
              + "any",
            ]
          + icmp_unreachable                   = false
          + log_end                            = true
          + log_start                          = false
          + name                               = "INBOUND-SSH"
          + negate_source                      = false
          + services                           = [
              + "any",
            ]
          + source_addresses                   = [
              + "QEP Bastion Host",
            ]
          + source_users                       = [
              + "any",
            ]
          + source_zones                       = [
              + "UNTRUST",
            ]
          + type                               = "universal"
        }
      + rule {
          + action                             = "allow"
          + applications                       = [
              + "ssl",
            ]
          + categories                         = [
              + "any",
            ]
          + destination_addresses              = [
              + "any",
            ]
          + destination_zones                  = [
              + "UNTRUST",
            ]
          + disable_server_response_inspection = false
          + disabled                           = false
          + hip_profiles                       = [
              + "any",
            ]
          + icmp_unreachable                   = false
          + log_end                            = true
          + log_start                          = false
          + name                               = "OUTBOUND-HTTPS"
          + negate_source                      = false
          + services                           = [
              + "any",
            ]
          + source_addresses                   = [
              + "any",
            ]
          + source_users                       = [
              + "any",
            ]
          + source_zones                       = [
              + "TRUST",
            ]
          + type                               = "universal"
        }
      + rule {
          + action                             = "allow"
          + applications                       = [
              + "ssl",
              + "jfrog-artifactory",
            ]
          + categories                         = [
              + "any",
            ]
          + destination_addresses              = [
              + "cglcloud.jfrog.io",
            ]
          + destination_zones                  = [
              + "UNTRUST",
            ]
          + disable_server_response_inspection = false
          + disabled                           = false
          + hip_profiles                       = [
              + "any",
            ]
          + icmp_unreachable                   = false
          + log_end                            = true
          + log_start                          = false
          + name                               = "jfrog"
          + negate_source                      = false
          + services                           = [
              + "any",
            ]
          + source_addresses                   = [
              + "any",
            ]
          + source_users                       = [
              + "any",
            ]
          + source_zones                       = [
              + "TRUST",
            ]
          + type                               = "universal"
        }
      + rule {
          + action                             = "allow"
          + applications                       = [
              + "ssl",
              + "ssh",
              + "web-browsing",
              + "git-base",
              + "github-base",
            ]
          + categories                         = [
              + "any",
            ]
          + destination_addresses              = [
              + "github.com",
            ]
          + destination_zones                  = [
              + "UNTRUST",
            ]
          + disable_server_response_inspection = false
          + disabled                           = false
          + hip_profiles                       = [
              + "any",
            ]
          + icmp_unreachable                   = false
          + log_end                            = true
          + log_start                          = false
          + name                               = "github.com"
          + negate_source                      = false
          + services                           = [
              + "any",
            ]
          + source_addresses                   = [
              + "network-dev-cmp-lb",
            ]
          + source_users                       = [
              + "any",
            ]
          + source_zones                       = [
              + "TRUST",
            ]
          + type                               = "universal"
        }
      + rule {
          + action                             = "allow"
          + applications                       = [
              + "any",
            ]
          + categories                         = [
              + "any",
            ]
          + destination_addresses              = [
              + "<REDACT>"
          + destination_zones                  = [
              + "UNTRUST",
            ]
          + disable_server_response_inspection = false
          + disabled                           = false
          + hip_profiles                       = [
              + "any",
            ]
          + icmp_unreachable                   = false
          + log_end                            = true
          + log_start                          = false
          + name                               = "<REDACT>"
          + negate_source                      = false
          + services                           = [
              + "<REDACT>",
            ]
          + source_addresses                   = [
              + "any",
            ]
          + source_users                       = [
              + "any",
            ]
          + source_zones                       = [
              + "TRUST",
            ]
          + type                               = "universal"
        }
      + rule {
          + action                             = "allow"
          + applications                       = [
              + "any",
            ]
          + categories                         = [
              + "any",
            ]
          + destination_addresses              = [
              + "any",
            ]
          + destination_zones                  = [
              + "UNTRUST",
            ]
          + disable_server_response_inspection = false
          + disabled                           = false
          + hip_profiles                       = [
              + "any",
            ]
          + icmp_unreachable                   = false
          + log_end                            = true
          + log_start                          = false
          + name                               = "temp-allowall"
          + negate_source                      = false
          + services                           = [
              + "any",
            ]
          + source_addresses                   = [
              + "network-dev-cmp-lb",
            ]
          + source_users                       = [
              + "any",
            ]
          + source_zones                       = [
              + "TRUST",
            ]
          + type                               = "universal"
        }
    }

Error: Could not get schema node for xpath /config/devices/entry[@name='localhost.localdomain']/device-group/entry[@name='<REDACT>']/rulebase/security/rules/entry[@name='INBOUND-SSH']

  on modules/config-oci/security_rule_groups.tf line 1, in resource "panos_panorama_security_rule_group" "policies":
   1: resource "panos_panorama_security_rule_group" "policies" {

@ryanpodonnell1
Oh, I think I understand what you're saying.  You redacted the device group from the initial error message, but didn't populate it with REDACT like you did below.
So then that's the problem:  There is no "rulebase" for a specific device group, it's only pre-rulebase / post-rulebase.  rulebase="rulebase" is valid however for the shared scope:  device_group="shared".
I could update the docs to make this more clear, but this is not a bug with either the provider or PAN-OS.

Err, I posted that before I saw your response, GitHub having issues today.

@shinmog Yeah that all makes sense thank you we probably can close this out then


Add best practice how to store results

Based on issue https://github.com/Open-EO/openeo-processes/issues/59 and a recent discussion:

Currently, users have no knowledge of how many files they will receive (and what exactly will be in it/them) after using save_result, as the behavior of this process is left to the back-end.
Let's assume that the job output is composed by more than one raster, i.e. it is a datacube with dimensions (x,y,A,B, ...) where dimensions A, B, ... have more than one element (a typical example is a timeseries with multiple bands).
We agreed on the following:

the back-end freely decides how to save and return job outputs, but it MUST expose on /output_formats information on how datacubes with mutliple dimensions will be offered to the user (e.g. one file per timestamp per band; one file per timestamp with n bands in each, etc ...)
generally we define best-practice to save one file per timestamp (each file may contain multiple bands, or whichever other dimension)

Quote from @lforesta

Is there still a desire to work on this @lforesta?

Thanks for the reminder :)
'desire' is a big word but I think it would be useful if backends add this information for users. My idea would be to have an additional field at GET /file_formats under output, maybe called output-structure.
Depending how strict we want to be we can make this field non-nullable.
If the idea sounds fine I can put together a PR

API changes are bit harder to do nowadays. They can't be breaking and we won't release a new version in the openEO project runtime any more. So we only have the description field for now.
I think at some point we discussed to make this only a best practice (that's why it's likely an issue at openeo.org, no openeo-api). In this case we just need a write-up on how file should be stored/made available by back-ends. Or is this not required any longer as we have STAC now for results, which can transfer a lot of information per asset/file?

Yes actually now this information may be provided by the backend in properties/description when sensing a request to GET /jobs/{job_id}/results, so no need to add that to openeo.org I think

And we may even extend STAC with more information, for example it can describe the bands and gsd per asset already and it is planned to add information such as datatype, min/max values etc. So I think we are fine with that approach. Even better :-)

After trying the sample process graph with climatological_normal, I've noticed that in the process graph there's save_result with the palette option, how do you actually apply this? I do not understand what is mapping with 0 -> #2166AC 1 -> #4393C3 . Is the value 0 in the result mapped to the color #2166AC? What to do with values which are not mapped with a color?

@clausmichele This is earthengine driver related and needs to be discussed there.


按照困难的安装教程报错

命令：sudo pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
报错：
Running setup.py develop for paddlespeech
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/lizhaohui/PaddleSpeech-develop/setup.py'"'"'; file='"'"'/home/lizhaohui/PaddleSpeech-develop/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' develop --no-deps
cwd: /home/lizhaohui/PaddleSpeech-develop/
Complete output (149 lines):
fatal: not a git repository (or any of the parent directories): .git
__version__ = '0.0.0'

__commit__ = ''

write_version_py done
running develop
running egg_info
writing paddlespeech.egg-info/PKG-INFO
writing dependency_links to paddlespeech.egg-info/dependency_links.txt
writing entry points to paddlespeech.egg-info/entry_points.txt
writing requirements to paddlespeech.egg-info/requires.txt
writing top-level names to paddlespeech.egg-info/top_level.txt
reading manifest file 'paddlespeech.egg-info/SOURCES.txt'
writing manifest file 'paddlespeech.egg-info/SOURCES.txt'
running build_ext
Creating /usr/local/lib/python3.8/dist-packages/paddlespeech.egg-link (link to .)
paddlespeech 0.0.0 is already the active version in easy-install.pth
Installing paddlespeech script to /usr/local/bin
Installing paddlespeech_client script to /usr/local/bin
Installing paddlespeech_server script to /usr/local/bin

Installed /home/lizhaohui/PaddleSpeech-develop
Post Install...
apt update -y

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

命中:1 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64  InRelease
命中:2 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu focal InRelease
命中:3 https://download.docker.com/linux/ubuntu focal InRelease
命中:4 https://apt.repos.intel.com/mkl all InRelease
命中:5 http://mirrors.aliyun.com/ubuntu focal InRelease
命中:6 http://mirrors.aliyun.com/ubuntu focal-security InRelease
命中:7 http://mirrors.aliyun.com/ubuntu focal-updates InRelease
命中:8 http://mirrors.aliyun.com/ubuntu focal-proposed InRelease
命中:9 http://mirrors.aliyun.com/ubuntu focal-backports InRelease
正在读取软件包列表...
正在分析软件包的依赖关系树...
正在读取状态信息...
有 396 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
apt install -y bc flac jq vim tig tree sox pkg-config libsndfile1 libflac-dev libogg-dev libvorbis-dev libboost-dev swig python3-dev

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

正在读取软件包列表...
正在分析软件包的依赖关系树...
正在读取状态信息...
bc 已经是最新版 (1.07.1-2build1)。
libboost-dev 已经是最新版 (<IP_ADDRESS>ubuntu2)。
libflac-dev 已经是最新版 (1.3.3-1build1)。
libogg-dev 已经是最新版 (1.3.4-0ubuntu1)。
libvorbis-dev 已经是最新版 (1.3.6-2ubuntu1)。
pkg-config 已经是最新版 (0.29.1-0ubuntu4)。
python3-dev 已经是最新版 (3.8.2-0ubuntu2)。
flac 已经是最新版 (1.3.3-1build1)。
sox 已经是最新版 (14.4.2+git20190427-2)。
swig 已经是最新版 (4.0.1-5build1)。
tig 已经是最新版 (2.4.1-1ubuntu1)。
tree 已经是最新版 (1.8.0-1)。
libsndfile1 已经是最新版 (1.0.28-7ubuntu0.1)。
vim 已经是最新版 (2:8.1.2269-1ubuntu5.7)。
jq 已经是最新版 (1.6-1ubuntu<IP_ADDRESS>)。
下列软件包是自动安装的并且现在不需要了：
  linux-headers-5.4.0-44 linux-headers-5.4.0-44-generic
  linux-image-5.4.0-44-generic linux-modules-5.4.0-44-generic
  linux-modules-extra-5.4.0-44-generic
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包，新安装了 0 个软件包，要卸载 0 个软件包，有 396 个软件包未被升级。
echo "check_certificate = off" >> ~/.wgetrc
touch apt.done
# Ubuntu 16.04 透過 apt 會安裝 boost 1.58.0
# it seems that boost (1.54.0) requires higher version. After I switched to g++-5 it compiles normally.
apt install -y --allow-unauthenticated build-essential cmake libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-test-dev libeigen3-dev zlib1g-dev libbz2-dev liblzma-dev

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

正在读取软件包列表...
正在分析软件包的依赖关系树...
正在读取状态信息...
cmake 已经是最新版 (3.16.3-1ubuntu1)。
libboost-program-options-dev 已经是最新版 (<IP_ADDRESS>ubuntu2)。
libboost-system-dev 已经是最新版 (<IP_ADDRESS>ubuntu2)。
libboost-thread-dev 已经是最新版 (<IP_ADDRESS>ubuntu2)。
libbz2-dev 已经是最新版 (1.0.8-2)。
libboost-test-dev 已经是最新版 (<IP_ADDRESS>ubuntu2)。
libeigen3-dev 已经是最新版 (3.3.7-2)。
liblzma-dev 已经是最新版 (5.2.4-1ubuntu1.1)。
zlib1g-dev 已经是最新版 (1:1.2.11.dfsg-2ubuntu1.3)。
build-essential 已经是最新版 (12.8ubuntu1.1)。
下列软件包是自动安装的并且现在不需要了：
  linux-headers-5.4.0-44 linux-headers-5.4.0-44-generic
  linux-image-5.4.0-44-generic linux-modules-5.4.0-44-generic
  linux-modules-extra-5.4.0-44-generic
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包，新安装了 0 个软件包，要卸载 0 个软件包，有 396 个软件包未被升级。
apt-get install -y gcc-5 g++-5 && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50  && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
正在读取软件包列表...
正在分析软件包的依赖关系树...
正在读取状态信息...
没有可用的软件包 g++-5，但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃，
或者只能在其他发布源中找到
然而下列软件包会取代它：
  gcc-10-test-results gcc-9-test-results:i386 gcc-10-test-results:i386
  gcc-9-test-results gcc-8-test-results:i386 gcc-8-test-results
  gcc-7-test-results

没有可用的软件包 gcc-5，但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃，
或者只能在其他发布源中找到

E: 软件包 gcc-5 没有可安装候选
E: 软件包 g++-5 没有可安装候选
make: *** [Makefile:37: kenlm.done] Error 100
/home/lizhaohui/PaddleSpeech-develop/setup.py:126: CMD: git rev-parse HEAD, Error: b''
/home/lizhaohui/PaddleSpeech-develop/setup.py:113: CMD: make, Error: None
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.10) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/lizhaohui/PaddleSpeech-develop/setup.py", line 331, in <module>
    setup(**setup_info)
  File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 144, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.8/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/lizhaohui/PaddleSpeech-develop/setup.py", line 176, in run
    self.execute(_post_install, (self.install_lib, ), msg="Post Install...")
  File "/usr/lib/python3.8/distutils/cmd.py", line 335, in execute
    util.execute(func, args, msg, dry_run=self.dry_run)
  File "/usr/lib/python3.8/distutils/util.py", line 303, in execute
    func(*args)
  File "/home/lizhaohui/PaddleSpeech-develop/setup.py", line 162, in _post_install
    check_call("make")
  File "/home/lizhaohui/PaddleSpeech-develop/setup.py", line 116, in check_call
    raise e
  File "/home/lizhaohui/PaddleSpeech-develop/setup.py", line 107, in check_call
    sp.check_call(
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make']' returned non-zero exit status 2.
/home/lizhaohui/PaddleSpeech-develop/tools
----------------------------------------

ERROR: Can't roll back paddlespeech; was not uninstalled
ERROR: Command errored out with exit status 1: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/lizhaohui/PaddleSpeech-develop/setup.py'"'"'; file='"'"'/home/lizhaohui/PaddleSpeech-develop/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' develop --no-deps Check the logs for full command output.

请仔细看报错信息，没有 gcc 和 g++, 请先安装 ：)

请仔细看报错信息，没有 gcc 和 g++, 请先安装 ：)
我有两个问题：1、我想问一下，就是安装paddlespeech需要gcc-5，我把我原来的gcc卸载，换成gcc-5，但是我再去跑pytorch的代码出现这样的问题，请问你们有遇到吗？后来我把gcc升级成gcc-9，仍然会报错，想问一下你们是否遇到此类问题，有没有什么解决方法。
2、还有一个就是，我不太了解docker，可以麻烦更新一下那个困难安装模式的docker的redeme，可以写的更加流程化的吗？感觉这样对新手更加友好一些，谢谢。

Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
Error executing job with overrides: ['experiment=audio-classify', 'trainer.gpus=4', '+trainer.strategy=ddp']
Error executing job with overrides: ['experiment=audio-classify', 'trainer.gpus=4', '+trainer.strategy=ddp']
Traceback (most recent call last):
File "train.py", line 24, in main
return train(config)
File "/home/lizhaohui/simpleaudio-audio-classifier/src/training_pipeline.py", line 88, in train
trainer.fit(model=model, datamodule=datamodule)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 770, in fit
self._call_and_handle_interrupt(
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 721, in _call_and_handle_interrupt
return self.strategy.launcher.launch(trainer_fn, *args, trainer=self, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/strategies/launchers/subprocess_script.py", line 93, in launch
return function(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 811, in _fit_impl
results = self._run(model, ckpt_path=self.ckpt_path)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1236, in _run
results = self._run_stage()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1323, in _run_stage
return self._run_train()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1345, in _run_train
self._run_sanity_check()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1413, in _run_sanity_check
val_loop.run()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 204, in run
self.advance(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py", line 154, in advance
dl_outputs = self.epoch_loop.run(self._data_fetcher, dl_max_batches, kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 199, in run
self.on_run_start(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py", line 88, in on_run_start
self._data_fetcher = iter(data_fetcher)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/utilities/fetching.py", line 178, in iter
self.dataloader_iter = iter(self.dataloader)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 368, in iter
return self._get_iterator()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 314, in _get_iterator
return _MultiProcessingDataLoaderIter(self)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 965, in init
self._reset(loader, first_iter=True)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 996, in _reset
self._try_put_index()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1241, in _try_put_index
self._index_queues[worker_queue_idx].put((self._send_idx, index))
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/multiprocessing/queues.py", line 88, in put
self._start_thread()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/multiprocessing/queues.py", line 173, in _start_thread
self._thread.start()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 857, in start
self._started.wait()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 558, in wait
signaled = self._cond.wait(timeout)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 302, in wait
waiter.acquire()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
_error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 194526) is killed by signal: Terminated.
Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
Error executing job with overrides: ['experiment=audio-classify', 'trainer.gpus=4', '+trainer.strategy=ddp']
Error executing job with overrides: ['experiment=audio-classify', 'trainer.gpus=4', '+trainer.strategy=ddp']
Traceback (most recent call last):
File "/home/lizhaohui/simpleaudio-audio-classifier/train.py", line 24, in main
return train(config)
File "/home/lizhaohui/simpleaudio-audio-classifier/src/training_pipeline.py", line 88, in train
trainer.fit(model=model, datamodule=datamodule)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 770, in fit
self._call_and_handle_interrupt(
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 723, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 811, in _fit_impl
results = self._run(model, ckpt_path=self.ckpt_path)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1236, in _run
results = self._run_stage()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1323, in _run_stage
return self._run_train()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1345, in _run_train
self._run_sanity_check()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1413, in _run_sanity_check
val_loop.run()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 204, in run
self.advance(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py", line 154, in advance
dl_outputs = self.epoch_loop.run(self._data_fetcher, dl_max_batches, kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 199, in run
self.on_run_start(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py", line 88, in on_run_start
self._data_fetcher = iter(data_fetcher)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/utilities/fetching.py", line 178, in iter
self.dataloader_iter = iter(self.dataloader)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 368, in iter
return self._get_iterator()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 314, in _get_iterator
return _MultiProcessingDataLoaderIter(self)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 965, in init
self._reset(loader, first_iter=True)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 996, in _reset
self._try_put_index()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1241, in _try_put_index
self._index_queues[worker_queue_idx].put((self._send_idx, index))
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/multiprocessing/queues.py", line 88, in put
self._start_thread()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/multiprocessing/queues.py", line 173, in _start_thread
self._thread.start()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 857, in start
self._started.wait()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 558, in wait
signaled = self._cond.wait(timeout)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 302, in wait
waiter.acquire()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
_error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 195006) is killed by signal: Terminated.
Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
Traceback (most recent call last):
File "/home/lizhaohui/simpleaudio-audio-classifier/train.py", line 24, in main
return train(config)
File "/home/lizhaohui/simpleaudio-audio-classifier/src/training_pipeline.py", line 88, in train
trainer.fit(model=model, datamodule=datamodule)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 770, in fit
self._call_and_handle_interrupt(
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 723, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 811, in _fit_impl
results = self._run(model, ckpt_path=self.ckpt_path)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1236, in _run
results = self._run_stage()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1323, in _run_stage
return self._run_train()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1345, in _run_train
self._run_sanity_check()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1413, in _run_sanity_check
val_loop.run()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 204, in run
self.advance(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py", line 154, in advance
dl_outputs = self.epoch_loop.run(self._data_fetcher, dl_max_batches, kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 199, in run
self.on_run_start(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py", line 88, in on_run_start
self._data_fetcher = iter(data_fetcher)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/utilities/fetching.py", line 178, in iter
self.dataloader_iter = iter(self.dataloader)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 368, in iter
return self._get_iterator()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 314, in _get_iterator
return _MultiProcessingDataLoaderIter(self)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 965, in init
self._reset(loader, first_iter=True)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 996, in _reset
self._try_put_index()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1241, in _try_put_index
self._index_queues[worker_queue_idx].put((self._send_idx, index))
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/multiprocessing/queues.py", line 88, in put
self._start_thread()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/multiprocessing/queues.py", line 173, in _start_thread
self._thread.start()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 857, in start
self._started.wait()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 558, in wait
signaled = self._cond.wait(timeout)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 302, in wait
waiter.acquire()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
_error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 194607) is killed by signal: Terminated.
Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
Traceback (most recent call last):
File "/home/lizhaohui/simpleaudio-audio-classifier/train.py", line 24, in main
return train(config)
File "/home/lizhaohui/simpleaudio-audio-classifier/src/training_pipeline.py", line 88, in train
trainer.fit(model=model, datamodule=datamodule)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 770, in fit
self._call_and_handle_interrupt(
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 723, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 811, in _fit_impl
results = self._run(model, ckpt_path=self.ckpt_path)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1236, in _run
results = self._run_stage()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1323, in _run_stage
return self._run_train()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1345, in _run_train
self._run_sanity_check()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1413, in _run_sanity_check
val_loop.run()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 204, in run
self.advance(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py", line 154, in advance
dl_outputs = self.epoch_loop.run(self._data_fetcher, dl_max_batches, kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 199, in run
self.on_run_start(*args, **kwargs)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py", line 88, in on_run_start
self._data_fetcher = iter(data_fetcher)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/utilities/fetching.py", line 178, in iter
self.dataloader_iter = iter(self.dataloader)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 368, in iter
return self._get_iterator()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 314, in _get_iterator
return _MultiProcessingDataLoaderIter(self)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 965, in init
self._reset(loader, first_iter=True)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 996, in _reset
self._try_put_index()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1241, in _try_put_index
self._index_queues[worker_queue_idx].put((self._send_idx, index))
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/multiprocessing/queues.py", line 88, in put
self._start_thread()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/multiprocessing/queues.py", line 173, in _start_thread
self._thread.start()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 857, in start
self._started.wait()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 558, in wait
signaled = self._cond.wait(timeout)
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/threading.py", line 302, in wait
waiter.acquire()
File "/home/lizhaohui/miniconda3/envs/py38/lib/python3.8/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
_error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 194527) is killed by signal: Terminated.

Shift + Enter 换行

看起来程序想用 4 块 GPU 跑程序，你机器上是否没有足够的 GPU? 可以根据自己的机器情况调整这些参数

error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [133 lines of output]
  Edit setup.cfg to change the build options; suppress output with --quiet.

  BUILDING MATPLOTLIB
    matplotlib: yes [3.3.2]
        python: yes [3.8.5 (Fri Jan 13 12:30:28 UTC 2023) [Graal, GraalVM CE, Java
                    17.0.5]]
      platform: yes [linux]
   sample_data: yes [installing]
         tests: no  [skipping due to configuration]
        macosx: no  [Mac OS-X only]

  /home/xud/.conda/envs/pp-asr/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/setuptools/__init__.py:81: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
  !!

          ********************************************************************************
          Requirements should be satisfied by a PEP 517 installer.
          If you are using pip, you can try `pip install --use-pep517`.
          ********************************************************************************

  !!
    dist.fetch_build_eggs(dist.setup_requires)
  /home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/dist.py:678: SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated.
  !!

          ********************************************************************************
          Please replace its usage with implicit namespaces (PEP 420).

          See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages for details.
          ********************************************************************************

  !!
    ep.load()(self, ep.name, value)
  running egg_info
  creating /tmp/pip-pip-egg-info-ilcqdxsj/matplotlib.egg-info
  writing /tmp/pip-pip-egg-info-ilcqdxsj/matplotlib.egg-info/PKG-INFO
  writing dependency_links to /tmp/pip-pip-egg-info-ilcqdxsj/matplotlib.egg-info/dependency_links.txt
  writing namespace_packages to /tmp/pip-pip-egg-info-ilcqdxsj/matplotlib.egg-info/namespace_packages.txt
  writing requirements to /tmp/pip-pip-egg-info-ilcqdxsj/matplotlib.egg-info/requires.txt
  writing top-level names to /tmp/pip-pip-egg-info-ilcqdxsj/matplotlib.egg-info/top_level.txt
  writing manifest file '/tmp/pip-pip-egg-info-ilcqdxsj/matplotlib.egg-info/SOURCES.txt'
  /home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/command/sdist.py:115: SetuptoolsDeprecationWarning: `build_py` command does not inherit from setuptools' `build_py`.
  !!

          ********************************************************************************
          Custom 'build_py' does not implement 'get_data_files_without_manifest'.
          Please extend command classes from setuptools instead of distutils.

          See https://peps.python.org/pep-0632/ for details.
          ********************************************************************************

  !!
    self._add_data_files(self._safe_data_files(build_py))
  Traceback (most recent call last):
    File "/home/xud/.conda/envs/pp-asr/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/numpy/core/__init__.py", line 23, in <module>
      from . import multiarray
    File "/home/xud/.conda/envs/pp-asr/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/numpy/core/multiarray.py", line 10, in <module>
      from . import overrides
    File "/home/xud/.conda/envs/pp-asr/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/numpy/core/overrides.py", line 6, in <module>
      from numpy.core._multiarray_umath import (
  ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/tmp/pip-install-v441jilq/matplotlib_69299f04fc004f5eb103186f08b50285/setup.py", line 299, in <module>
      cmdclass=cmdclass,
    File "/home/xud/.conda/envs/pp-asr/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/setuptools/__init__.py", line 104, in setup
      return distutils.core.setup(**attrs)
    File "/home/xud/.conda/envs/pp-asr/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 184, in setup
      return run_commands(dist)
    File "/home/xud/.conda/envs/pp-asr/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
      dist.run_commands()
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/dist.py", line 967, in run_command
      super().run_command(command)
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 321, in run
      self.find_sources()
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 329, in find_sources
      mm.run()
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 550, in run
      self.add_defaults()
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 588, in add_defaults
      sdist.add_defaults(self)
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/command/sdist.py", line 102, in add_defaults
      super().add_defaults()
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py", line 250, in add_defaults
      self._add_defaults_ext()
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py", line 334, in _add_defaults_ext
      build_ext = self.get_finalized_command('build_ext')
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 303, in get_finalized_command
      cmd_obj.ensure_finalized()
    File "/home/xud/.conda/envs/pp-asr/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 111, in ensure_finalized
      self.finalize_options()
    File "/tmp/pip-install-v441jilq/matplotlib_69299f04fc004f5eb103186f08b50285/setup.py", line 88, in finalize_options
      self.distribution.ext_modules[:] = [
    File "/tmp/pip-install-v441jilq/matplotlib_69299f04fc004f5eb103186f08b50285/setup.py", line 88, in <listcomp>
      self.distribution.ext_modules[:] = [
    File "/tmp/pip-install-v441jilq/matplotlib_69299f04fc004f5eb103186f08b50285/setupext.py", line 345, in get_extensions
      add_numpy_flags(ext)
    File "/tmp/pip-install-v441jilq/matplotlib_69299f04fc004f5eb103186f08b50285/setupext.py", line 469, in add_numpy_flags
      import numpy as np
    File "/home/xud/.conda/envs/pp-asr/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/numpy/__init__.py", line 140, in <module>
      from . import core
    File "/home/xud/.conda/envs/pp-asr/lib/jvm/graalvm-189e927686-java17-22.3.0/languages/python/lib/python3.8/site-packages/numpy/core/__init__.py", line 49, in <module>
      raise ImportError(msg)
  ImportError:

  IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

  Importing the numpy C-extensions failed. This error can happen for
  many reasons, often due to issues with your setup or how NumPy was
  installed.

  We have compiled some common reasons and troubleshooting tips at:

      https://numpy.org/devdocs/user/troubleshooting-importerror.html

  Please note and check the following:

    * The Python version is: Python3.8 from "/home/xud/.conda/envs/pp-asr/bin/python"
    * The NumPy version is: "1.23.5"

  and make sure that they are the versions you expect.
  Please carefully study the documentation linked above for further help.

  Original error was: No module named 'numpy.core._multiarray_umath'

  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.


(PUP-1209) Allow setting empty environment vars

Adds branch to logic to allow setting empty environment variable
For example, allows setting of HTTP_PROXY to empty for an exec

CLA signed by all contributors.

This PR hasn't been updated in some time, and it seems unlikely to get picked up in the near future. I'm going to close this for now, and we can re-open if/when PUP-1209 is prioritized for the 5.x series. We can track future conversation in that ticket.


Small fixes in averaging checkpoints

In this pull request (PR), I've made some minor enhancements related to the management of checkpoint averages. Specifically:

I've introduced a unittest to validate its proper functioning.
I've modified the recipes in the train.py file that had the number of checkpoints to average hard-coded.

Hi @Adel-Moumen,
I did the required fixes. As for the conformer transducer, I restored the number of averages to 1. I think, however, we can improve the performance with 5 or 10 averages just like other recipes. We can explore this in the future.


Correct syntax for using await to wait until streaming is complete?

What is the correct syntax for waiting until streaming a buffer is complete?
Currently, I have something like:

  let read = streamifier.createReadStream(imgBuffer)
  let upload = s3Stream.upload({
    Bucket: 'website.com',
    Key: 'website/' + filename
  })
  upload.on('error', function (error) {
    console.error(error)
  })
  await read.pipe(upload)

await upload.promise()?


mxnet.base.MXNetError

Note: Providing complete information in the most concise form is the best way to get help. This issue template serves as the checklist for essential information to most of the technical issues and bug reports. For non-technical issues and feature requests, feel free to present the information in what you believe is the best form.
For Q & A and discussion, please start a discussion thread at https://discuss.mxnet.io
Description
(Brief description of the problem in no more than 2 sentences.)
Environment info (Required)
What to do:
1. Download the diagnosis script from https://raw.githubusercontent.com/apache/incubator-mxnet/master/tools/diagnose.py
2. Run the script using `python diagnose.py` and paste its output here.

Package used (Python/R/Scala/Julia):
(I'm using ...)
For Scala user, please provide:

Java version: (java -version)
Maven version: (mvn -version)
Scala runtime if applicable: (scala -version)

For R user, please provide R sessionInfo():
Build info (Required if built from source)
Compiler (gcc/clang/mingw/visual studio):
MXNet commit hash:
(Paste the output of git rev-parse HEAD here.)
Build config:
(Paste the content of config.mk, or the build command.)
Error Message:
(Paste the complete error message, including stack trace.)
Minimum reproducible example
(If you are using your own code, please provide a short script that reproduces the error. Otherwise, please provide link to the existing example.)
Steps to reproduce
(Paste the commands you ran that produced the error.)

What have you tried to solve it?

There are no details here beyond the template.
@maomaochongchh - please update the issue with details, or otherwise please close the issue. Thanks!

@mxnet-label-bot add ['Pending Requester Info']

@mxnet-label-bot add [Pending Requester Info]

@maomaochongchh Closing the issue, due to inactivity, feel free to reopen the issue, with the requested information.
@sandeep-krishnamurthy Requesting to close this issue due to inactivity


kavm/: use file-level loggers

@tothtamas28 I think this change is more consistent with how we do logging in KEVM, and seems ilke the appropriate approach to me (so you get better messages about where the log entries are coming from).

Or should KEVM be changed to this pattern?


Added support for DashBoards API

Common API Handler now has a  CommonRequestParams Structure
Added support for DashBoards API

Anna can I GO AHEAD WITH RESULT TYPES by defining all the required code ?


navigation.push is not a function

How can I navigate to the same route when passing different params? navigation.navigate doesn't re-render the page.

Can you provide some code please?

Sure. I have such route:
const switchNavigator = createSwitchNavigator(   {     Details: { screen: DetailsScreen, path: 'details/:imdbId' }, ); const AppContainer = createBrowserApp(switchNavigator);
At the details screen user can click on some other recommended movie to see the details of it. So, for example, I need to go from /details/123 to /details/321.
navigation.navigate('Details', {         title: movie.Title,         imdbId: movie.imdbID,       })
Since I'm building on mobile and web at the same time, I'm trying to reuse as much code as possible. That's why I tried to use navigation.push, but it doesn't exist. navigation.navigate works in other cases, but here it doesn't re-render the page. movieId in the url changes, but screen doesn't. I've also tried passing an unique key with no success. Dispatching a push action also doesn't work.
Should I just check if the url changed and rerender the page, or is there a better way?


Fix catalog check for container publication

DallasCheckWorkload: preflight-green
Test-Hints: no-check
This PR is to change the Pyxis endpoint to have a working check. This change became needed because of the changes in the Pyxis BE logic. Details: CILAB-1445

I don't see the tasks modified in this PR showing in the job execution, is there a missing test-hint?

I don't see the tasks modified in this PR showing in the job execution, is there a missing test-hint?

Thank you for checking, @thekad , here is it, I only tested in Dallas.


Incorrect rotation error calculation

The function bench_utils.get_angular_error(R_gt, R_est) in the teaser_python_3dsmooth example doesn't compute the rotation error correctly. For example, if R_gt and R_est equal to:
[[ 0.47754719 -0.031702   -0.14449853]
[ 0.144925    0.00224509  0.47846407]
[-0.02969151 -0.49892495  0.01133455]]
the function returns  97.18351924664557, when it should be 0, because it is an angle between a rotation matrix and the same rotation matrix. I don't understand why it happens, because the implementation seems to be correct.

@superkirill Thanks for the feedback! I checked your matrix, and it seems like it's not a proper rotation matrix (its determinant is not 1). If I normalize the matrix to have the determinant be 1, then the function returns correct results.
Here is my Python interpreter output showing the matrix's determinant:
>>> import numpy as np
>>> R_gt = np.array([[0.47754719, -0.031702, -0.14449853], [0.144925, 0.00224509, 0.47846407], [-0.02969151,-0.49892495,0.01133455]])
>>> R_gt
array([[ 0.47754719, -0.031702  , -0.14449853],
       [ 0.144925  ,  0.00224509,  0.47846407],
       [-0.02969151, -0.49892495,  0.01133455]])
>>> R_est = R_gt
>>> np.linalg.det(R_gt)
0.12495212468418526

And here are the outputs if I normalize the matrix:
>>> A = R_gt
>>> R_gt = A / (np.linalg.det(A))**(1/3)
>>> np.linalg.det(R_gt)
0.9999999999999994
>>> R_gt
array([[ 0.95521635, -0.0634121 , -0.28903396],
       [ 0.28988701,  0.00449075,  0.95705034],
       [-0.0593906 , -0.99797733,  0.02267199]])
>>> R_est=R_gt
>>> R_est
array([[ 0.95521635, -0.0634121 , -0.28903396],
       [ 0.28988701,  0.00449075,  0.95705034],
       [-0.0593906 , -0.99797733,  0.02267199]])
>>> R_gt
array([[ 0.95521635, -0.0634121 , -0.28903396],
       [ 0.28988701,  0.00449075,  0.95705034],
       [-0.0593906 , -0.99797733,  0.02267199]])
>>> bench_utils.get_angular_error(R_gt, R_est)
1.7075472925031877e-06

Let me know if you have any more questions!

@jingnanshi Thanks for your reply! I indeed didn't think of normalizing the matrix, now everything seems to be fine.