Windows user with CUDA 12.2 => panicking while loading diffuser

I'm trying to reproduce the example provided. Everything is downloaded and ready, but I can't seem to make it work. My Rust version is 1.71.1. Here's what I get in my windows powershell :
thread 'main' panicked at 'called Result::unwrap() on an Err value: Unknown("Unable to load record.\nError: Unknown("Io { inner: Error { kind: UnexpectedEof, message: \"failed to fill whole buffer\" }, additional: 2 }")")', src\bin\sample\main.rs:113:70
stack backtrace:
0:     0x7ff61c56ffec - std::sys_common::backtrace::_print::impl$0::fmt
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\sys_common\backtrace.rs:44
1:     0x7ff61c58831b - core::fmt::rt::Argument::fmt
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\core\src\fmt\rt.rs:138
2:     0x7ff61c58831b - core::fmt::write
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\core\src\fmt\mod.rs:1094
3:     0x7ff61c56d759 - std::io::Write::write_fmtstd::sys::windows::stdio::Stderr
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\io\mod.rs:1713
4:     0x7ff61c56fd9b - std::sys_common::backtrace::_print
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\sys_common\backtrace.rs:47
5:     0x7ff61c56fd9b - std::sys_common::backtrace::print
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\sys_common\backtrace.rs:34
6:     0x7ff61c5725a9 - std::panicking::default_hook::closure$1
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:269
7:     0x7ff61c57225f - std::panicking::default_hook
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:288
8:     0x7ff61c572aae - std::panicking::rust_panic_with_hook
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:705
9:     0x7ff61c57299d - std::panicking::begin_panic_handler::closure$0
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:597
10:     0x7ff61c570969 - std::sys_common::backtrace::__rust_end_short_backtracestd::panicking::begin_panic_handler::closure_env$0,never$
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\sys_common\backtrace.rs:151
11:     0x7ff61c5726a0 - std::panicking::begin_panic_handler
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:593
12:     0x7ff61c5f42c5 - core::panicking::panic_fmt
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\core\src\panicking.rs:67
13:     0x7ff61c5f47d3 - core::result::unwrap_failed
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\core\src\result.rs:1651
14:     0x7ff61c3cbaa7 - <burn_tch::backend::TchBackend as stablediffusion::backend::Backend>::qkv_attention::hdbe6096db726169c
15:     0x7ff61c3da1b6 - stablediffusion::model::autoencoder::Autoencoder::decode_latent::h3e800603716f0d65
16:     0x7ff61c3da1cc - std::rt::lang_start::{{closure}}::h34430c21a9efe000
17:     0x7ff61c568368 - std::rt::lang_start_internal::closure$2
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\rt.rs:148
18:     0x7ff61c568368 - std::panicking::try::do_call
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:500
19:     0x7ff61c568368 - std::panicking::try
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:464
20:     0x7ff61c568368 - std::panic::catch_unwind
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panic.rs:142
21:     0x7ff61c568368 - std::rt::lang_start_internal
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\rt.rs:148
22:     0x7ff61c3cda5c - main
23:     0x7ff61c5e5ba0 - invoke_main
at D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
24:     0x7ff61c5e5ba0 - __scrt_common_main_seh
at D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
25:     0x7ffdbd5d257d - BaseThreadInitThunk
26:     0x7ffdbe44aa78 - RtlUserThreadStart
Does anyone have a guess at what is going wrong?

My guess is that your system ran out of memory. SDXL needs about 12 GB of VRAM to run. How much CPU RAM and GPU VRAM do you have?

On Oct 7, 2023, at 7:26 AM, Cyril-Cf @.***> wrote:
I'm trying to reproduce the example provided. Everything is downloaded and ready, but I can't seem to make it work. My Rust version is 1.71.1. Here's what I get in my windows powershell :
thread 'main' panicked at 'called Result::unwrap() on an Err value: Unknown("Unable to load record.\nError: Unknown("Io { inner: Error { kind: UnexpectedEof, message: "failed to fill whole buffer" }, additional: 2 }")")', src\bin\sample\main.rs:113:70
stack backtrace:
0: 0x7ff61c56ffec - std::sys_common::backtrace::_print::impl$0::fmt
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\sys_common\backtrace.rs:44
1: 0x7ff61c58831b - core::fmt::rt::Argument::fmt
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\core\src\fmt\rt.rs:138
2: 0x7ff61c58831b - core::fmt::write
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\core\src\fmt\mod.rs:1094
3: 0x7ff61c56d759 - std::io::Write::write_fmtstd::sys::windows::stdio::Stderr
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\io\mod.rs:1713
4: 0x7ff61c56fd9b - std::sys_common::backtrace::_print
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\sys_common\backtrace.rs:47
5: 0x7ff61c56fd9b - std::sys_common::backtrace::print
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\sys_common\backtrace.rs:34
6: 0x7ff61c5725a9 - std::panicking::default_hook::closure$1
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:269
7: 0x7ff61c57225f - std::panicking::default_hook
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:288
8: 0x7ff61c572aae - std::panicking::rust_panic_with_hook
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:705
9: 0x7ff61c57299d - std::panicking::begin_panic_handler::closure$0
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:597
10: 0x7ff61c570969 - std::sys_common::backtrace::__rust_end_short_backtracestd::panicking::begin_panic_handler::closure_env$0,never$
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\sys_common\backtrace.rs:151
11: 0x7ff61c5726a0 - std::panicking::begin_panic_handler
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:593
12: 0x7ff61c5f42c5 - core::panicking::panic_fmt
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\core\src\panicking.rs:67
13: 0x7ff61c5f47d3 - core::result::unwrap_failed
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\core\src\result.rs:1651
14: 0x7ff61c3cbaa7 - <burn_tch::backend::TchBackend as stablediffusion::backend::Backend>::qkv_attention::hdbe6096db726169c
15: 0x7ff61c3da1b6 - stablediffusion::model::autoencoder::Autoencoder::decode_latent::h3e800603716f0d65
16: 0x7ff61c3da1cc - std::rt::lang_start::{{closure}}::h34430c21a9efe000
17: 0x7ff61c568368 - std::rt::lang_start_internal::closure$2
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\rt.rs:148
18: 0x7ff61c568368 - std::panicking::try::do_call
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:500
19: 0x7ff61c568368 - std::panicking::try
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panicking.rs:464
20: 0x7ff61c568368 - std::panic::catch_unwind
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\panic.rs:142
21: 0x7ff61c568368 - std::rt::lang_start_internal
at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library\std\src\rt.rs:148
22: 0x7ff61c3cda5c - main
23: 0x7ff61c5e5ba0 - invoke_main
at D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
24: 0x7ff61c5e5ba0 - __scrt_common_main_seh
at D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
25: 0x7ffdbd5d257d - BaseThreadInitThunk
26: 0x7ffdbe44aa78 - RtlUserThreadStart
Does anyone have a guess at what is going wrong?
—
Reply to this email directly, view it on GitHub https://github.com/Gadersd/stable-diffusion-xl-burn/issues/7, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7COZR2TGRLGVJJ45V3LCDX6E367AVCNFSM6AAAAAA5W3S7NCVHI2DSMVQWIX3LMV43ASLTON2WKOZRHEZTCMZRGM2DOMI.
You are receiving this because you are subscribed to this thread.

I have a Geforce RTX 4090 with 24Go RAM and 64Go CPU RAM, I thought my PC could handle that pretty well. I don't know what to try :'(

That is more than enough RAM to run SDXL. Try running SD instead https://github.com/Gadersd/stable-diffusion-burn https://github.com/Gadersd/stable-diffusion-burn.
If SD it doesn’t work then try running SD with webgpu instead of tch (see the readme at the link).
Hopefully that will illuminate the root cause.

On Oct 7, 2023, at 9:20 AM, Cyril-Cf @.***> wrote:
I have a Geforce RTX 4090 with 24Go RAM and 64Go CPU RAM, I thought my PC could handle that pretty well. I don't know what to try :'(
—
Reply to this email directly, view it on GitHub https://github.com/Gadersd/stable-diffusion-xl-burn/issues/7#issuecomment-1751711620, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7COZXLKUCPSFTIUCA4BJLX6FJJJAVCNFSM6AAAAAA5W3S7NCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJRG4YTCNRSGA.
You are receiving this because you commented.

It might be that your diffuser model file is corrupted. Run
sha256sum diffuser.bin

The hash should be<PHONE_NUMBER>27227fbbb936de88225cdc5cfd184da9ff0337b611f0e3c9b246db if the file is uncorrupted.


feat(kms): add samples for new rng and hmac kms apis

Add samples for new kms apis.

Hey @bcoe heads up that I don't have merge rights on this repo, so if you or someone on your team could click lé button, I would appreciate it 😄


still fixing BDD

IBM Cloud toolchain: Delivery Pipeline deployed shopcarts to prod, including commit c9a168f2c4729d2a60688cdb9bbde1a6ca238f3b

IBM Cloud toolchain: Delivery Pipeline deployed shopcarts to dev, including commit c9a168f2c4729d2a60688cdb9bbde1a6ca238f3b


Allow printing gas reports from contracts (debug mode)

We can calculate the amount of gas used, both by wasm as well as by external callbacks, upon any call to the vm.
When optimizing contracts, it would be good to expose this number. We don't need (can't really use) rust profiling tools, but we can get deterministic gas costs for every run. With this API as well as Api.debug we could build some tools to get insights into what parts of the code are expensive, using the same tools as normal integration tests.
It's been a while since I profiled and I wonder how much is used by JSON parsing, there have been some large impacts with improved parsing. This would be useful to see if #688 among others is worth pursuing.

I like it. I could work on it after what I'm doing now.

I like it. I could work on it after what I'm doing now.

Would it be sufficient to trigget printing a gas report from the contract? I think this is easy to do.
Returning the gas information to the contract is a whole different story. Api exists before the Instance and has no access to it. Changing this would be a huge venture.

Would it be sufficient to trigget printing a gas report from the contract? I think this is easy to do.
Returning the gas information to the contract is a whole different story. Api exists before the Instance and has no access to it. Changing this would be a huge venture.

Api exists before the Instance and has no access to it. Changing this would be a huge venture.

Hmmm.... would it fit better in Querier, which does have access to the gas meter?
On the other hand, the minimal I would need for performance tests is some external call print_gas_report(label: &str). This would print something like: <label>: used wasm gas: 1234567 used external gas: 54321 (and be controlled by the same print_debug flag). Maybe that is easier? It doesn't return anything, easy to mock away (no op) in unit tests.
That said, I think it would also be useful (longer term if this is much harder) to return gas_left, but we can deal with that after #691 is implemented.

Api exists before the Instance and has no access to it. Changing this would be a huge venture.

Hmmm.... would it fit better in Querier, which does have access to the gas meter?
On the other hand, the minimal I would need for performance tests is some external call print_gas_report(label: &str). This would print something like: <label>: used wasm gas: 1234567 used external gas: 54321 (and be controlled by the same print_debug flag). Maybe that is easier? It doesn't return anything, easy to mock away (no op) in unit tests.
That said, I think it would also be useful (longer term if this is much harder) to return gas_left, but we can deal with that after #691 is implemented.

I just looked into the implementation again, and it turns out the imports cannot access Instance, but Environment which has the gas information available:
E.g. here
/// Prints a debug message to console.
/// This does not charge gas, so debug printing should be disabled when used in a blockchain module.
pub fn native_debug<A: Api, S: Storage, Q: Querier>(
    env: &Environment<A, S, Q>,
    message_ptr: u32,
) -> VmResult<()> {
    if env.print_debug {
        let message_data = read_region(&env.memory(), message_ptr, MAX_LENGTH_DEBUG)?;
        let msg = String::from_utf8_lossy(&message_data);
        println!("{}", msg);
    }
    Ok(())
}

However, I would be very very (very very) careful exposing gas information to the contract. The moment we do that, someone starts writing contract code that makes assumtions on how gas works. And then everything blows up when gas metering changes or the contract is used on multiple chains with different pricing for CosmWasm gas or Cosmos SDK gas.

I just looked into the implementation again, and it turns out the imports cannot access Instance, but Environment which has the gas information available:
E.g. here
/// Prints a debug message to console.
/// This does not charge gas, so debug printing should be disabled when used in a blockchain module.
pub fn native_debug<A: Api, S: Storage, Q: Querier>(
    env: &Environment<A, S, Q>,
    message_ptr: u32,
) -> VmResult<()> {
    if env.print_debug {
        let message_data = read_region(&env.memory(), message_ptr, MAX_LENGTH_DEBUG)?;
        let msg = String::from_utf8_lossy(&message_data);
        println!("{}", msg);
    }
    Ok(())
}

However, I would be very very (very very) careful exposing gas information to the contract. The moment we do that, someone starts writing contract code that makes assumtions on how gas works. And then everything blows up when gas metering changes or the contract is used on multiple chains with different pricing for CosmWasm gas or Cosmos SDK gas.

Okay, updated the title to match the last comments

Okay, updated the title to match the last comments

Hey y'all. I was searching for this capability and @ethanfrey pointed me here.
I can't speak to the implications on the VM side, but from an app developer side this would be AMAZING.
If it's possible, a query or some way of poking and keeping the value would be better than just logging, of course. That way we can do things like accumulate the gas costs over certain regions of code, stuff like that.
I don't even want to share how many hours or days I have spent going through a process of recompiling and running tests just to look at changes in gas usage, trying to hunt down some elusive costs.
Anything I can do to help revive this issue?

Added to next milestone to revive it from forgotten hood

This is only possible for integration tests which are run by the VM. Unit tests do not have the inforation available. Given that the entire ecosystem is moving away from integration tests, I wonder if it worth investing time here right now.

Many people are running full stack tests. There is something called cosm-orc which provides a simple Rust interface to run your contract in a real Juno node and get gas reports. They only make sense on real nodes, not in cosmwasm-vm integration tests. Osmosis is also working on a similar tool for this as well.
If we run such a tool with a wasmd/junod/osmosisd binary configured to allow debug output, then providing a place to output "gas used up to this point" could be very useful when trying to optimize gas usage.

Note: using this requires setting up cfg.ContractDebugMode in the wasmd configuration to enable output of the debug info.
It can be set by running the node with --trace which should be quite easy to integrate into said tools.

Good. Printing the value to stdout (like deps.api.debug) is straight forward. However, the Go caller code has no way to direct the output somewhere. Is this good enough for a first step?

I think that is a good first step.
We should make sure it is normalised to be Cosmos SDK gas so people can compare easily.
I would like to get feedback from some other framework (like cosm-orc) how to format the output so they can do something useful with it. I see this example gas report they output.

Do we want them to include this?
Do we just want to trail the stdout for that?
Do we want to format this in some constant structure (at least for easy prepping)?
Do we want to include the filename/line of the triggering statement (maybe we need a macro here)?

Plenty of questions to iterate on. I would work on a good-enough version and hope other code can adapt to it. Or adjust later on. For now, I would propose something as follows. A user can type:
gas!(deps)
This will expand to something like:
deps.api.output_gas("{}: {}", filename!(), line!()); (or just have people type that)
The vm code would calculate gas used, convert to sdk gas and output something like:
{
  "gas_used": 123456,
  "message": "contract.rs:345"
}

We should make sure it is normalised to be Cosmos SDK gas so people can compare easily.

Hmm, cosmwasm-vm cannot do that. If this is needed we have to do the whole journey from contract into chain like we do with e.g. api.addr_humanize, just without a return value.

I don't quite see how cosm-orc would be able to capture this info, since it merely logs the final gasUsed via the execution result (same thing clients get with other clients like cosmjs)
More to the point - if these logs only appear on the Go side, that's understandable, but can someone please point me to where I can direct that debug output to a file? (stdout spits a lot of stuff! I'd like to be able to have a debug file with just debug messages)
In a pinch I've added my own file logging to wasmd, but I'm sure I was inventing this particular wheel and just missed it in the docs...

Thanks for the input @dakom these are open questions.
I think we agree on the need to do so, now we figure out how to do so in the best way.
Converting gas unit and figuring out where to output to be easily visible have proven to be important questions. Let's keep discussion in this issue, and you are welcome to make suggestions. Especially giving some idea of your ideal setup as a user of this.

Update: we cannot measure gas costs for contract execution as we run them in Rust (not wasm), so we don't meter instructions. We also have no hooks for gas metering in the existing framework

Update: we cannot measure gas costs for contract execution as we run them in Rust (not wasm), so we don't meter instructions. We also have no hooks for gas metering in the existing framework

Bummer... In the meantime, I was digging further into the codebase.
Is my understanding here at least correct-ish?

the vm crate exports do_debug()
the vm crate makes this available via an environment export
.... (I am not sure about this step! ... it seems the vm injects this export into std somehow, but I don't see it yet..)
the std crate binds to some FFI debug()
the std crate calls debug() in ExternalApi

Is my understanding here at least correct-ish?

Yes, pretty good. Just some hints that help better understand the codebase:

debug is not an export but an import In the sende of Wasm. The contract requires this import and the VM provides this import. An export is something else.
Point 3 is done here: https://github.com/CosmWasm/cosmwasm/blob/942a3460adcdc394e58a587fad66f47c2fe8a5f3/packages/vm/src/instance.rs#L230 The VM provides the import implementation to the contract when the contract is instantiated.
Nothing here is really FFI. We just need the extern "C" block in the Rust source code to tell the compiler to create an required import when compiling to Wasm. extern "C" { fn debug(source_ptr: u32); } compiled to the required import "env.debug".

I think we should track the deps.api.debug output separately. It is pretty straight forward and can be made configurable in Rust or Go code. This was requested by another project as well. I just did not touch this so far because I'd like to do it after the Wasmer 3 upgrade if it is not urgent.

Thanks for the tips @webmaster128
I am stopping for today... but to pick up tomorrow, is this roughly how to make local changes to the vm so I can hack around and try stuff out?
SETUP

in wasmd go.mod replace(github.com/CosmWasm/wasmvm => path/to/my/wasmvm
in wasmvm edit libwasmvm's Cargo.toml to point at a local cosmwasm-vm via path = ...

ITERATIVE DEV

Make changes in local cosmwasm-vm
recompile the libwasmvm (not sure how yet)
rebuild wasmd so it will use this new wasmvm build (make install)

?
No worries if y'all don't have time to walk me through this, I can try tomorrow and just see..

fwiw, I added this into do_debug() locally:
println!("GAS LEFT: {}", env.get_gas_left());
env.with_gas_state(|gas_state| {
    println!("GAS STATE: {:?}", gas_state);
});

and called deps.api.debug() at the beginning and end of the execution handler
In a contract that does pretty much nothing, the actual result gas used is 120_855, but we get here:
BEGIN EXECUTION
GAS LEFT:<PHONE_NUMBER>000
GAS STATE: GasState { gas_limit:<PHONE_NUMBER>000, externally_used_gas: 0 }

END EXECUTION
GAS LEFT:<PHONE_NUMBER>000
GAS STATE: GasState { gas_limit:<PHONE_NUMBER>000, externally_used_gas: 0 }

And when saving some item to storage, the actual result gas used is 126_806, but we get here:
BEGIN EXECUTION
GAS LEFT:<PHONE_NUMBER>000
GAS STATE: GasState { gas_limit:<PHONE_NUMBER>000, externally_used_gas: 0 }

END EXECUTION
GAS LEFT:<PHONE_NUMBER>000
GAS STATE: GasState { gas_limit:<PHONE_NUMBER>000, externally_used_gas:<PHONE_NUMBER>00 }

I am really not sure what to make of these numbers or if they correlate to anything meaningful

Welcome to the core of cosmwasm-vm @dakom you are brave 😄
Few people out of Confio have dug so deep. I can't dig more right now, just want to commend you for your perseverance. I'd be happy for a good solution and glad you can try to customise yourself to test this out.

Thanks @ethanfrey , that is very kind!

Btw while I am still not sure on what to make for the raw gas_left, the externally_used_gas comes very close to adding up to what I'd expect for the storage cost. Progress :)
Breakdown
config
WRITE_COST_FLAT = 2000
WRITE_COST_PER_BYTE = 30
GAS_MULTIPLIER = 140_000_000
on-chain result
externally_used_gas = 5720 SDK gas = 800_800_000_000 / GAS_MULTIPLIER
expectation
5840 SDK gas = 2000 + ((112 + 16) * 30)
expectation calculation

fn storage_binary_len(data: &impl Serialize) -> usize {
    // to_vec is ultimately a wrapper around serde_json_wasm::to_vec
    let bytes:Vec<u8> = cosmwasm_std::to_vec(data).unwrap();
    let bytes_len = bytes.len();

    // however, I think it gets written as base64, which adds a bit of extra bloat
    ((bytes_len as f32 / 3.0).ceil() * 4.0) as usize
}

let foo_size = storage_binary_len(&Foo::new()); // 112
let item_namespace_size = storage_binary_len("item-foo"); // 16
let store_foo_item_cost = WRITE_COST_FLAT + ((foo_size + item_namespace_size) * WRITE_COST_PER_BYTE); //5840

Two thoughts to jot down here before I forget...

What I said above about passing a closure is probably a bad idea since it could be used for non-determinism.
If it's at all possible to pass a callback, it should be a function pointer
However, even before kicking the tires on that, I am not sure it's possible to guarantee it on a type level, since it ultimately gets interpreted from a plain integer pointer on the VM side. So even if std guaranteed the signature of debug(), someone could replace that with a different debug()
More generally, having the VM interpret a pointer as a function and call it just feels like a security hazard to me.
So I'm in favor of just logging the gas alongside the string-message

more of a note to self: what bothers me about the difference in my external gas used calculation isn't that it's inexect, it's that the estimation which only accounts for the raw storage bytes is higher.. I'd expect it to be lower if there's a difference. Next step would be to find where the base64 encoding is actually happening, if it's happening, and use that to remove a bit of guesswork

Those calculations look write. This is running in a (forked) wasmd instance, right?
// however, I think it gets written as base64, which adds a bit of extra bloat
    ((bytes_len as f32 / 3.0).ceil() * 4.0) as usize

It does not. Only Binary fields are base64 encoded. We store them just as-is (raw JSON object in storage).
If we don't multiply with that factor, we get 2000 + (84 + 16) * 30 = 5000 Or 720 gas less than expected.
Did you calls deps.api.addr_verify() anywhere? (which also charges external gas) or make any other query?

There are charged for the response size and events returned. But I assume this measurement is inside the contract, so that wouldn't be there.
If you are forking, you could instrument the Basic GasMeter in cosmos-sdk to report every charge: https://github.com/cosmos/cosmos-sdk/blob/v0.45.9/store/types/gas.go#L90-L101

Interesting leads!

Did you calls deps.api.addr_verify() anywhere? (which also charges external gas) or make any other query?
Can you share ...

Here is the execute function:
pub fn execute(deps: DepsMut, _env: Env, _info: MessageInfo, msg: ExecuteMsg) -> Result<Response> {
    deps.api.debug(&format!("BEGIN {:?}", msg));
    match msg {
        //...
        ExecuteMsg::StoreItem {rounds} => {
            let foo = Foo::default();
            for _ in 0..rounds {
                STORE_ITEM.save(deps.storage, &foo)?;
            }
        }
        //...
     }
    deps.api.debug(&format!("END {:?}", msg));
    Ok(Response::new())
}

And I am calling it now with rounds: 1. I could try taking out the execute message, maybe that counts toward something?
Here is Foo. I deliberately made it somewhat complex, to cover the various use cases. Maybe I should simplify to just raw bytes as a starting point:
use serde::{de, ser, Deserialize, Deserializer, Serialize};
use std::fmt;
use cosmwasm_std::{StdError, StdResult};
use cw_storage_plus::{Key, KeyDeserialize, Prefixer, PrimaryKey};

/// Foo
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct Foo {
    pub string: String,
    pub int: u32,
    pub nested: Bar,
    pub custom: Custom
}

impl Foo {
    pub fn default() -> Self {
        Self {
            string: "Foo".to_string(),
            int: 42,
            nested: Bar::default(),
            custom: Custom::default()
        }
    }
}

/// Bar
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct Bar {
    pub string: String,
    pub int: u32,
}

impl Bar {
    pub fn default() -> Self {
        Self {
            string: "Bar".to_string(),
            int: 70
        }
    }
}

/// Custom
#[derive(Clone, Debug, PartialEq)]
pub struct Custom {
    pub string: String,
    pub int: u32,
}

impl Custom {
    pub fn default() -> Self {
        Self {
            string: "Custom".to_string(),
            int: 1337
        }
    }
}

/// Serializes as a string for serde
impl Serialize for Custom {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: ser::Serializer,
    {
        serializer.serialize_str(&format!("{}|{}", self.string, self.int))
    }
}

/// Deserializes as string for serde
impl<'de> Deserialize<'de> for Custom {
    fn deserialize<D>(deserializer: D) -> Result<Custom, D::Error>
    where
        D: Deserializer<'de>,
    {
        deserializer.deserialize_str(CustomVisitor)
    }
}

struct CustomVisitor;

impl<'de> de::Visitor<'de> for CustomVisitor {
    type Value = Custom;

    fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
        formatter.write_str("string-encoded custom data struct")
    }

    fn visit_str<E>(self, s: &str) -> Result<Self::Value, E>
    where
        E: de::Error,
    {
        let mut iter = s.split("|");
        let part_1 = iter.next().ok_or_else(||
            E::custom(format!("Error parsing custom '{}'", s))
        )?;
        let part_2 = iter.next().ok_or_else(||
            E::custom(format!("Error parsing custom '{}'", s))
        )?;

        let part_2:u32 = part_2.parse().map_err(|err| {
            E::custom(format!("Error parsing custom '{}', {}", s, err))
        })?;

        Ok(Custom {
            string: part_1.to_string(),
            int: part_2
        })
    }
}

/// CustomKey
#[derive(
    Debug, Clone, PartialEq, PartialOrd, Ord, Eq, Serialize, Deserialize, Hash,
)]
pub struct CustomKey(pub String);

impl<'a> PrimaryKey<'a> for CustomKey {
    type Prefix = ();
    type SubPrefix = ();
    type Suffix = Self;
    type SuperSuffix = Self;

    fn key(&self) -> Vec<Key> {
        let key = Key::Ref(self.0.as_bytes());

        vec![key]
    }
}

impl<'a> Prefixer<'a> for CustomKey {
    fn prefix(&self) -> Vec<Key> {
        let key = Key::Ref(self.0.as_bytes());
        vec![key]
    }
}

impl KeyDeserialize for CustomKey {
    type Output = CustomKey;

    #[inline(always)]
    fn from_vec(value: Vec<u8>) -> StdResult<Self::Output> {
        String::from_utf8(value)
            .map_err(StdError::invalid_utf8)
            .map(CustomKey)
    }
}

impl fmt::Display for CustomKey {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{}", self.0)
    }

Gotta go for now, happy to follow-up next week :)

I'm removing this from the milestone as it is currently not clear how to solve the issue

Another useful profiling / benchmarking tool: a trace() call that provides timestamp data from the system clock.
This can be enabled only with --trace, like debug(). Moreover: if the node is running in non-local (i.e. blockchain) mode, this can be made a no-op. So, to enable it, you require --trace along with the node local mode (if that can be determined easily).

The debug handler is now fully customizable (pretty much what Mauro suggested but without the need for a new API). See the current default in libwasmvm:
https://github.com/CosmWasm/wasmvm/blob/v1.5.2/libwasmvm/src/calls.rs#L476-L482
So if you set the debug print flag in wasmvm to true, you get the above printed to STDERR. If you fork libwasmvm, you can use your own handler. Changing cosmwasm-vm is not needed anymore.
From the contract you trigger a call to theis handler with deps.api.debug("note to myself").
Closing for now. If you need more than that, let's refine.


Backend setup docs

Will try to review and merge today, thank you ser!

At one point, I would like to set up CI and clean up the release process because it's bugging me. But it's so low priority.


Hot combination to create @embed inserts.

It would be cool to be able to directly transfer objects to the journal with @embed instead of @UUID, for example by holding ctr or alt.
This would simplify and speed up the layout of the various journals.

Since @embed is part of core in V12 it would better to direct this request to the Foundry core repo rather than the system.


Maximum number of static nodes with t265

Can someone from the dev team please specify what are the maximum number of static nodes that can be set with t265. And whats the maximum size of the map. I am mapping 20m x 20m space. Will t265's memory suffice for accurate relocalization in that area ?

Can anyone please provide any update on this thing. Thank you


Windows 10: scan() throws exception

Hi,
I'm using your plugin for scanning barcodes in a cordova application.
In Windows 8.1 it works like a charm but I had to upgrade my app to be executed in Windows 10 environment and your plugin stopped working. :(
I've upgraded to the latest version but still receive the following exception:
Exception is about to be caught by JavaScript library code at line 247, column 13 in ms-appx-web://.../www/plugins/phonegap-plugin-barcodescanner/src/windows/BarcodeScannerProxy.js

0xc00d36b3 - JavaScript runtime error: The stream number provided was invalid.

PreviewState

WinRT information: PreviewState

If there is a handler for this exception, the program may be safely continued.

Can anything be done about it? Or what am I doing wrong?
UPDATE:
Could it be somehow related to this:
Exception when rotating: The stream number provided was invalid
Thanks in advance

I have same problem. Since three weeks I try with last plugin under Windows 10.

I'm having the same issue, got this error message from the error callback: "WinRTError: The stream number provided was invalid". This is running the app in a Windows 10 Surface 3 tablet. However, tried in a different windows 10 tablet (a Dell Venue 11) and the barcodescanner works fine. Any clue?
Regards

Well, at least mine is solved...
Just re-created the cordova project with the latest CLI (currently 6.1.1) and the issue is gone.. Succeeded scanning barcodes in portrait and in landscape.
Hope, it'll help you too..

This issue has been fixed with a recent commit. " The stream number provided was invalid" error does not happen anymore. There might be a different issue with scanning which is tracked by https://github.com/phonegap/phonegap-plugin-barcodescanner/issues/188 . So, Closing this issue


StatusBar.setBarStyle is not a function

I upgrade from 1.1.7 to 1.3.0 then got this Error screen.
#d8d0f2332dc6442a6cab5fa6ec8bc377f1e153a5
console.log(StatusBar.setBarStyle) // got undefined

I've had the same issue. Arose this morning.

Fixed in 1.3.1

I installed 1.3.1 directly from github, and I'm still getting an error.
StatusBar.barStyle is not a function

@gm758 it requires react-native 0.21+. If you're using previous versions, please, downgrade to<EMAIL_ADDRESS>

hi. i solved this by changing
StatusBar.setBarStyle(data.style);
to
StatusBar.barStyle = data.style;
in node_modules/react-natinve-navbar/ index.js
might work for you too.


Restructure graph and ingestor

This restructures the graph and ingestor modules to follow the idea of modules/importer. Basically this means:

all functionality of the each module is confined to that module, including: their endpoints, model objects, services, server-loops
those modules have APIs which can be used by other modules (or components)
the current server crate becomes an empty wrapper, mounting endpoints from other modules and starting all server loops required.

The next step could be to create dedicated sub-commands in the trustd binary to only start certain modules (vs the one super-server right now).
I am sure there are other ways to do this. This is just one way that seems reasonable for the goal of preventing components which seem to belong together to be ripped apart into different locations of the project. And yes, sometimes the lines are a bit blurry.

And it looks like this needs to be rebased. But I'll only do this if we believe this is the correct layout.

Depending on your friskiness when rebasing, sorting out ingestors and importer to a single one or the other would be useful.  Or fine in a further PR.

Depending on your friskiness when rebasing, sorting out ingestors and importer to a single one or the other would be useful. Or fine in a further PR.

If the general direction is ok, we can do that in a follow up PR.
I would expect that ingestors would be more aligned with the graph stuff. importers is basically the management and execution of the import process. ingestors (to my understanding) is the process of adding new stuff to the graph. Then again, I am not too deep into that part. So I am only assuming.
Assuming (even more) that we need some "store to disk" feature for the actual content (which the graph stuff would not do I presume). Maybe it makes sense to keep the ingestor stuff, add some storage and keep it as dedicated module. graph + storage => ingestor?


replace the k8s scheduler with crane scheduler,new pod pending

I replace the k8s scheduler with crane scheduler, and then created a new pod. I found the new pod always “Pending”， also no related events info.
... ...
QoS Class:       Burstable
Node-Selectors:
Tolerations:     node-role.kubernetes.io/master:NoSchedule
node.kubernetes.io/disk-pressure:NoSchedule op=Exists
node.kubernetes.io/memory-pressure:NoSchedule op=Exists
node.kubernetes.io/not-ready:NoExecute op=Exists
node.kubernetes.io/pid-pressure:NoSchedule op=Exists
node.kubernetes.io/unreachable:NoExecute op=Exists
node.kubernetes.io/unschedulable:NoSchedule op=Exists
Events:
I can only found some useful info in logs, as as follows：
I0614 02:18:42.492977       1 eventhandlers.go:118] "Add event for unscheduled pod" pod="kube-system/kubernetes-dashboard-jqhhq"
I wonder if the new pod is pop  from the ‘SchedulingQueue’， and how I solved the problem

I replace the k8s scheduler with crane scheduler, and then created a new pod. I found the new pod always “Pending”， also no related events info.
... ... QoS Class: Burstable Node-Selectors: Tolerations: node-role.kubernetes.io/master:NoSchedule node.kubernetes.io/disk-pressure:NoSchedule op=Exists node.kubernetes.io/memory-pressure:NoSchedule op=Exists node.kubernetes.io/not-ready:NoExecute op=Exists node.kubernetes.io/pid-pressure:NoSchedule op=Exists node.kubernetes.io/unreachable:NoExecute op=Exists node.kubernetes.io/unschedulable:NoSchedule op=Exists Events:
I can only found some useful info in logs, as as follows： I0614 02:18:42.492977 1 eventhandlers.go:118] "Add event for unscheduled pod" pod="kube-system/kubernetes-dashboard-jqhhq"
I wonder if the new pod is pop from the ‘SchedulingQueue’， and how I solved the problem

which version of k8s are you using?

I replace the k8s scheduler with crane scheduler, and then created a new pod. I found the new pod always “Pending”， also no related events info.
... ... QoS Class: Burstable Node-Selectors: Tolerations: node-role.kubernetes.io/master:NoSchedule node.kubernetes.io/disk-pressure:NoSchedule op=Exists node.kubernetes.io/memory-pressure:NoSchedule op=Exists node.kubernetes.io/not-ready:NoExecute op=Exists node.kubernetes.io/pid-pressure:NoSchedule op=Exists node.kubernetes.io/unreachable:NoExecute op=Exists node.kubernetes.io/unschedulable:NoSchedule op=Exists Events:
I can only found some useful info in logs, as as follows： I0614 02:18:42.492977 1 eventhandlers.go:118] "Add event for unscheduled pod" pod="kube-system/kubernetes-dashboard-jqhhq"
I wonder if the new pod is pop from the ‘SchedulingQueue’， and how I solved the problem

which version of k8s are you using?

v1.20.12

If needed, i will reopen the issue.


How to find the HDMI 1 code for me TV

Describe the bug
I want add my Sony TV (model KDL55-HX855) to home assistant using smart ir. I have found that code 1020 works with my model but HDMI sources were not added. I would like to add them but i don't know where to find the codes. I found few codes online but they don't work. How could i find the codes for my TV?

Try the app "sure universal remote", if you have a smartphone with IR.
Check this blog's post (shorturl.at/zCQY2) for a list of Android phones with it.


add Chaos Engineering

https://github.com/dastergon/awesome-chaos-engineering
This list includes resources around Chaos Engineering. Chaos Engineering is the discipline of experimenting on a distributed system in order to build confidence in the system’s capability to withstand turbulent conditions in production.
By submitting this pull request I confirm I've read and complied with the below requirements.
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

I have read and understood the contribution guidelines and the instructions for creating a list.
This pull request has a descriptive title.For example, Add Name of List, not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with these requirements:

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Either fullwidth or placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Includes the Awesome badge.

Should be placed on the right side of the readme heading.
Should link back to this list.

Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of sub-lists, preferably none.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

The link and description are separated by a dash. Example: - [AVA](…) - JavaScript test runner.
The description starts with an uppercase character and ends with a period.
Drop all the A / An prefixes in the descriptions.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

Please read the guidelines more closely. Multiple points not followed from it. Try going through the list point for point and check that you follow it. :)

@sindresorhus  I have updated some of the inconsistent sentences. The logo is a work-in-progress. Generally, I don't feel that the some URLs need description, as the title is self-descriptive and generally adding a description to everything will make the list less readable (at least when having many items in each section). If you feel OK with the current format, I can rebase and send a fresh commit in the PR.

The entry in the Awesome list should:
Include a short description about the project/theme of the list. It should not describe the list itself.

This is not done.

GomJabbar - ChaosMonkey for your private cloud is missing a dot at the end.

The entries in the Twitter section should have a bio or how they're relevant to the list. A list of just names is not very useful.

Generally, I don't feel that the some URLs need description, as the title is self-descriptive and generally adding a description to everything will make the list less readable

Yeah, that's fine. But it could be useful to add commentary, not description to some of them. Like a short summary or your opinion.

Closing for lack of response.


Update SingleQubitGates.ipynb Description of Pauli Matrices

Changed Description of Pauli Matrices from just Self-Adjoint to Hermitian AND Unitary. A matrix has to be Hermitian AND Unitary to be equal to its own inverse. Being Hermitian is not enough.
I acknowledge Self-Adjoint and Hermitian are used interchangeably (I just prefer Hermitian :) )

I'm not sure this is a change I want to make.

For unitarity of Pauli gates, we say explicitly in the beginning of the tutorial that all gates are unitary, so Pauli gates have no choice but to be unitary :-)
After that, Hermitian and self-adjoint can be used interchangeably, and I prefer self-adjoint because this term is self-descriptive. If the tutorial says something is self-adjoint, the reader doesn't need to do the extra effort of recalling what Hermitian means - they can figure out right away that it's something that is adjoint to itself. A lot of our users don't have extensive practice with math terminology, so the fewer mental steps we make them do, the better

sounds good, np


ImportError: DLL load failed

To Reproduce
I used the command:
python VocalRemover.py
Screenshots

Desktop (please complete the following information):

OS: Windows 10 Home

Additional context
The app does not open

make sure that you installed it with, and are using python 3.7.
If that's not your main version then a conda environment will also work

Please upgrade to UVR 5.2 and use the installer.


Delete QR code image when QR code removed.

Title
Delete QR code image when QR code removed.

Narrative
    As a: database
    I want: to delete QR code image when its QRcode is removed
    so that: unnecessary data lingers

Acceptance criteria
    Given: user deletes QR code
    When: user deletes the QR code
    Then: its associated QR image is also deletd since it is no longer needed and all QRcodes are unique

Closed.
No longer relevant.
QR code now linked to box, so whenever user deletes a box, QR code is also deleted.


Add search by gene or transcript

If the user writes a transcript name, the search is by transcript. If the user search by a gene name, we get the added expression of all the transcripts.
This requires updating all the links. Now we have an explicit search_by field that resolves depending the type of search. If this parameter is setup, return the the corresponding transcript or gene according. If it is not set, search the best match for the query.
In the plots, the values are added on the server side, to avoid changing anything in the plot.

This also requires updating the results of the blast search, as the path is changed now.

The changes for this are added to master.
@Bijan-Ghasemi-Afshar, please merge back from master to your project. Once you do it, don't forget to do rake db:migrate. I added some indexes to improve the performance of the gene search.


Update manifest installation to support various types

In this PR I have updated the experimental manifest installation with various types for 0.6.2.

If this gets accepted, I can also merge the changes into the develop folder, though with KEP 18 this might be a different story anyway.
Preview: https://deploy-preview-570--keptn.netlify.app/docs/0.6.0/reference/manifest_installation/

I updated the instructions a little bit, and added instructions for OpenShift (I've successfully tested the manifest installation on minishift ;) ).


add read permissions to admin - enable settings view

Hi, thanks for the contributions but admins should not be able to access billing information.
Admins could be manager, developers etc. The purpose of this role is to manager project and have read/write permissions on most things + invite other members. It's on our roadmap to allow custom role creation for enterprise users though.

@hughcrt
Oh ok, so admin shouldn't be able to access settings page?
{hasAccess(user.role, "billing", "read") && (               <ActionIcon                 variant="default"                 size="sm"                 component={Link}                 href="/settings"               >                 <IconSettings size={14} stroke={1} />               </ActionIcon>             )}
I was trying to get the public/private keys, only owner should be able to access it?
Thanks 🙏

Actually, admins should have access to the settings page (top right of the navbar), but there's currently they can't, I'll fix it:

The billing page is access here:


ldtk: init at 1.1.3

Description of changes
Adds LDtk: A modern 2D level editor from the creator of Dead Cells, with a strong focus on user-friendliness.
Closes #168277
The AppImage is distributed within a zip file and I haven't found a way to use that with appimageTools.wrapType2, thus I'm using a wrapper which runs appimage-run instead.
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/944

Thank you for this! :)


Hotstar playlist not getting downloaded.

youtube-dl -v https://www.hotstar.com/in/tv/radhakrishn/1260000646/seasons/season-2/ss-8028
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.hotstar.com/in/tv/radhakrishn/1260000646/seasons/season-2/ss-8028']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.18362
[debug] exe versions: ffmpeg N-94567-gc294f38c91
[debug] Proxy map: {}
[hotstar]<PHONE_NUMBER>: Downloading webpage
ERROR: An extractor error has occurred. (caused by KeyError('title',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\common.py", line 534, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\hotstar.py", line 129, in _real_extract
KeyError: 'title'
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\common.py", line 534, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\hotstar.py", line 129, in _real_extract
KeyError: 'title'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\YoutubeDL.py", line 815, in wrapper
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\YoutubeDL.py", line 836, in __extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkqxnwl31\build\youtube_dl\extractor\common.py", line 547, in extract
youtube_dl.utils.ExtractorError: An extractor error has occurred. (caused by KeyError('title',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
All videos in a playlist are not getting downloaded. Although individual videos are getting downloaded. I am using ffmpeg as well.

Continued in #31333.


View size shouldn't be determined by world size

Currently the GameView preferred size is determined by world size. The issue is that most screens doesn't allow large range of numbers. Most common screen sizes are 1366x768, 1920x1080 etc.
https://github.com/moons-landing/TurretsLasersMore/blob/e5625487abf96d0eb5fdb2666a38d7062d565b10/src/main/java/io/github/moonslanding/tlm/engine/GameView.java#L12-L15
My proposal to the solution is that we separate the numbers of world size and screen dimensions, then in GameView, we translate the X, Y of the world to player's view.

@GToidZ  do you working on this now?

Closes by #6


Publish documentation for private configs

Updates RapidsConf.help to generate documentation for configuration settings exposed by the private jar.

JDK 11 builds are failing:
RapidsPrivateUtil.scala:29: method newInstance in class Class is deprecated

build


Provider is only overridden once the Hero animation finished

Describe the bug

I have a Provider of X
On Page1, I have a widget wrapped in a Hero and a button to go to Page 2
On Page2, I have a Hero with the same tag and I override the provider with a ProviderScope to Y

During the animation, one Page2 ref.watch(myProvider) will return X. It will only return Y once the animation is finished.
For basic types, it's not so much of an issue because the provider can just provide a default value. However, when it provides a more complex object, it's convenient to throw an Unimplemented error by default and override it when we have the value as what is shown in the docs: https://riverpod.dev/docs/concepts/scopes#initialization-of-synchronous-provider-for-async-apis
To Reproduce
Same code can also be found here: https://github.com/GP4cK/riverpod_provider_init_issue
On the home page, if you click 'Without Hero' > 'Go to page 2' no issue.
If you click 'With Hero' > 'Go to page 2', you will see an exception in the console.
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

void main() {
  runApp(const ProviderScope(child: MyApp()));
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(useMaterial3: true),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  void goToPage1(BuildContext context, {required bool withHero}) {
    Navigator.of(context).push(MaterialPageRoute(
      builder: (context) => Page1(withHero: withHero),
    ));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: [
            OutlinedButton(
              onPressed: () => goToPage1(context, withHero: false),
              child: const Text('Without Hero'),
            ),
            OutlinedButton(
              onPressed: () => goToPage1(context, withHero: true),
              child: const Text('With Hero'),
            ),
          ],
        ),
      ),
    );
  }
}

class Page1 extends StatelessWidget {
  const Page1({super.key, required this.withHero});
  final bool withHero;

  void goToPage2(BuildContext context) {
    Navigator.of(context)
        .push(MaterialPageRoute(builder: (context) => const Page2()));
  }

  @override
  Widget build(BuildContext context) {
    Widget child = OutlinedButton(
      onPressed: () => goToPage2(context),
      child: const Text('Go to page 2'),
    );
    if (withHero) child = Hero(tag: 'hero', child: child);

    return Scaffold(
      appBar: AppBar(title: const Text('Page 1')),
      body: Center(
        child: child,
      ),
    );
  }
}

final myProvider = Provider.autoDispose<String>((ref) {
  throw UnimplementedError('This should have been overridden');
});

class Page2 extends StatelessWidget {
  const Page2({super.key});

  @override
  Widget build(BuildContext context) {
    return ProviderScope(
      overrides: [myProvider.overrideWithValue('Hello')],
      child: Scaffold(
        appBar: AppBar(title: const Text('Page 2')),
        body: Center(
          child: Hero(
            tag: 'hero',
            child: Consumer(
              builder: (_, ref, __) {
                return Text(ref.watch(myProvider));
              },
            ),
          ),
        ),
      ),
    );
  }
}

Expected behavior
A clear and concise description of what you expected to happen.

This isn't a Riverpod problem. The issue is Hero.
It does funky things with the widget tree.
Move your ProviderScope under Hero and above your Consumer. That should fix it.

I see. I confirm that works. Thanks!


Abstract bigquery

I wanted to add a different warehouse type (HDFS), and noticed that there are some tightly coupled usages of BigQuery. This is my attempt to abstract it.
Please note that this is my first time using Spring Framework and I think things could have been done in a better way from my part. So please let me know if there are any suggestions or improvements on this PR and I will fix them.

/assign @thirteen37
/assign @woop

Hi @smadarasmi, thank you so much for the PR!
We are currently working on the 0.3-dev branch for the 0.3 release. Are you aware of the Feast 0.3 release? We will be making some significant changes to the Feast codebase, so we would need to assess where your PR would fit in. I am hoping that it can just be updated to the latest version.
Can you please join bit.ly/feast-group? Once you have joined the Feast Google Group you should have access to the Feast Google Drive which contains the latest RFC for Feast 0.3. That should give you an idea of the changes we are making.

@woop Hey, no I was not aware of that. I will take a look at it, thanks!

@woop I'm waiting for permission to be granted for the Feast Google Drive. Can you please help do that?

Closing due to no longer applicable for 0.3 release.

Closing due to no longer applicable for 0.3 release.

Let's see how much we can reuse after the release.


[DON'T MERGE] hook persistence to graceful shutdown

In debugging the persistent frontier load bug, I went ahead and fixed #3737 since it helped me find where the error was being introduced. As such, this PR now closes #3737 in addition to the original issue.


Must restart docker service when change nameserver.

The docker will cache the nameserver when start with system. If change the nameserver must be restart docker service.
The docker version is 0.7 with Ubuntu 12.04.

Could be related with https://github.com/docker/docker/issues/2938. Why not try to reboot your OS and clear dns cache?


Ignore node_modules folder

The goal of this PR is to ignore the node_modules folder to avoid checking in Node.js dependencies into the repository.
All files under node_modules has been deleted, as well as unused depencies in packages.json. As they have been removed from the repo, make has to install dependencies with a npm install command.
The README file include some instructions to install a tool installed with npm globally. Link to the CI server is fixed.

Hell, yeah! Thanks :)


DPL-931 Crawler to publish schemas on start

User story
As PSD developer I want to automatize the method of deploying the Redpanda schemas so we minimize mistakes in deployment as forgetting to deploy a schema is a possible risk that could stop the process
Who are the primary contacts for this story
Eduardo Martin
Who is the nominated tester for UAT
PSD
Acceptance criteria
To be considered successful the solution must allow:

[ ] Before the application start, make sure that the schemas are updated in Redpanda
[ ] If schemas are not up to date, update the schemas publishing the new version
[ ] If there is any problem with this, fail and notify the users to sort it out

Dependencies
This story is blocked by the following dependencies:

#<issue_no.>
sanger/#<issue_no.>

References
This story has a non-blocking relationship with:

#<issue_no.>
sanger/#<issue_no.>

Additional context
Add any other context or screenshots about the feature request here.

Archiving as project Heron is now complete


DEVEX-926 INTENG-4362

LGTM but I defer to rubin for the final thumb

👍 can we run regressions and branch micro against a build from this branch?


Requesting a pull to datastax:master from datastax:SPARKC-507-master

Write a message for this pull request. The first block
of text is the title and the rest is the description.
Changes:
885c7862 (Russell Spitzer, 30 minutes ago)
SPARKC-507: Change Async Method in JoinWithCasasndraTable
New concurrent.reads parameter allows users to limit read paralleism in the
same way they could limit write parallelism. This is only applied to
concurrent requests during direct join point lookups.

Previously joinWithCassandraTable would issue all futures using a toList
operation on the query iterator. This would end up putting all of the
futures in memory causing OOM if there were many keys in the partition.

To fix this we remove the list call and instead use a sliding iterator
which will always be pulling new futures from the iterator.

f95f84ba (Russell Spitzer, 3 hours ago)
SPARKC-507: Remove excess object creation
Previously there were several places in the read path which ended up
generating objects which were never used or could have been cached. In
particular we change the usage of CassandraRowMetadata which previously was
created for every query. Now only a single metadata will be made per task
in CassandraJoinRDDs.

273b689d (Russell Spitzer, 3 weeks ago)
SPARKC-507: Infinite Retries and  Mark all Idmepotent Queries
Changes our retry policy to retry all exceptions that are temporary. This
will move burden to users to detect when the system is beyond hope but will
allow a momentarily troubled cluster recover from issues.

Some queries will not be retried regardless of the retry policy. To fix
this we mark all of our idempotent queries so the driver will retry them.

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with failure


ClassLoaderLayeringStrategy IlegalArgumentException when extending test configuration

[x] I've read the CONTRIBUTING guidelines

steps
Derive a new configuration from an existing one. e.g.:
import sbt._

object SmokeTestPlugin extends AutoPlugin {
  object autoImport {
    lazy val SmokeTest = Configuration.of("SmokeTest", "smoke") extend (Runtime, Test)
  }

  import autoImport._

  override val trigger = allRequirements

  lazy val smokeSettings: Seq[Setting[_]] = inConfig(SmokeTest)(Defaults.testSettings)

  override def projectConfigurations: Seq[Configuration] = Seq(SmokeTest)

  override lazy val projectSettings: Seq[Setting[_]] = smokeSettings
}

And then use it:
lazy val foo = Project

problem
The following is output:
java.lang.IllegalArgumentException: Layering strategy TestDependencies is not valid for the classloader in Scope(Select(ProjectRef(file:/path/to/project/,foo)), Select(ConfigKey(smoke)), Zero, Zero). Valid options are: ClassLoaderLayeringStrategy.{ Flat, ScalaInstance, RuntimeDependencies }

expectation
A new configuration extending Test should just work. In this case extend (Runtime, Test) is important because any other variant and IntelliJ will not recognize the new configuration's source directories.
notes
sbt version: 1.3.0-RC1

@davidhoyt Thanks for the report!

And thanks to you and all the contributors for all the hard work that's gone into this release!

Fixed in https://github.com/sbt/sbt/pull/4729


Publishing updates with biddle broken

Problems:

https://github.com/prettydiff/biddle/issues/20
index.html not generated
publications directory included in zip files
there are no unit tests for publishing updates

Observations:

publish.json is updated correctly

Fixed with #20.

Executing PowerShell tasks on Windows through Node's child process is challenging to predict.
It appears that executing powershell command through the standard windows command shell is asynchronous much like executing Node.  It appears powershell synchronously creates a shell to execute its commands asynchronously from the primary windows shell.  Node is aware of when its child processes and its primary windows shell complete, but has no way of knowing when other shells complete their tasks particularly if they are also asynchronous.
The publish task uses the zip command internally, which in Windows means running a powershell task to execute 7zip.  Currently its a guess when the task completes.  The more zip files there are to create and the larger those files become the more inaccurate the guess becomes.  The problem is that a Node callback for this task will either fire too early or never at all.


Refactor Audit RPC (module instance IDs and defaults)

Fixes #3076, fixes #3071

update module summaries from module name -> module summary to module instance id -> module summary

includes the module kind in the summary so consumers can identify the module without additional network round trips
this update is necessary since multiple instances of a single module kind can exist (i.e. module kind is not guaranteed to be a singleton)

add a default placeholder for modules without AuditItems

Updated response payload
Starting devimint without peg-ins
bash-5.1$ fedimint-cli --our-id 0 --password pass admin audit
{
  "net_assets": 0,
  "module_summaries": {
    "0": {
      "net_assets": 0,
      "kind": "ln"
    },
    "1": {
      "net_assets": 0,
      "kind": "mint"
    },
    "2": {
      "net_assets": 0,
      "kind": "wallet"
    }
  }
}

Since this is a breaking API change, shall we get into the habit of bumping API versions? Not sure what our convention around that is yet.

Good point! Since we're getting close to cutting a release, I think that's a great idea.

☝ empty diff - force push to kick off another CI run. The code coverage step timed out after 45m

Since this is a breaking API change, shall we get into the habit of bumping API versions? Not sure what our convention around that is yet.

We need to discuss our policy. My intuition was master is unversioned and if we were to backport this change we'd bump the API version. Each consensus bump resets the API version anyway.

Since it is an API break I wouldn't want to backport it to v0.1, is it good enough if it's available in v0.2 @wbobeirne?

Since it is an API break I wouldn't want to backport it to v0.1, is it good enough if it's available in v0.2 @wbobeirne?

Yea I think that's fine.


improvement: change Route to RouteSpec

Coverage decreased (-0.08%) to 62.329% when pulling 9a3e50566767dc7772fcb23693785f0ea37e40ea on tianxiaoliang:master into 3b82d3bb78293cb4debf8acd8e778a750389eb25 on ServiceComb:master.


New recipe: Notify airplane passengers of a flight delay

I'm not sure the recipe really fits that template and still makes sense.

I'm not sure the recipe really fits that template and still makes sense.

For consistency it should be made to fit the template.  The explanations you've written aren't thrown away, they are just to be moved to ## Explanation section at the end.


Convert a clang::Module to non-const to account for a clang API change

An upstream clang changed ASTSourceDescriptor to not have a const
Module pointer. const_cast here to make this agree.
const_cast obviously isn't ideal, but the inverse direction (changing all the Swift APIs to not be const) used considerably more const_casts anyways. Doing this without const_cast would be a much bigger change.

@swift-ci please smoke test

I'd prefer the bigger patch actually that reflects the upstream change, but we can land this just to get things building again.


Added a Gobble build system to work with sane CSS. Plus, bower.json.

I like this Leaflet plugin a lot, but personally there are a couple of things I need to work with it in my code. One of them is using sane CSS without spurious vendor prefixes (thanks, autoprefixer!). The other is make a bower package for easier integration into big apps.

Thanks Ivan for code cleanup! ;)

Thanks for the merge :-)
I forgot to mention that this adds the need for running npm install when cloning the repo to get the dist/ files, and that releases here should have the dist/ files, but the master branch in the repo shouldn't (bower's best practices).


[Release-0.18] Pin deps to release-0.18

/assign @n3wscott
/assign @houshengbo

/test pull-knative-operator-integration-tests
/test pull-knative-operator-upgrade-tests

/lgtm
/approve


Geojson Visualization appears above navigation bar

The Geojson Visualization on the dataset details page currently appears above navigation bar. The nav bar should show up on top of/over the map.

FYI...
Setting the nav banner z index from 100 to 10,000 fixes the issue. =/

Fixed in https://github.com/SmartColumbusOS/discovery/pull/9


CI: fix installer deploy jobs

What does this PR do?
This PR introduces a specific template for installer deploy jobs, as we don't want to upload them into dd-release-artifacts/datadog-agent, but in dd-release-artifacts/datadog-installer instead.
The release management tooling expects the artifacts to live in a folder named as the product its deploying, meaning our installer jobs were broken since we split the installer as a dedicated product.

Motivation
Fixing our non-OCI deployment jobs

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge

/merge -c

/merge

/merge

/merge -p urgent


Apply visibility controls to custom buttons

integrate the work done here https://github.com/ManageIQ/manageiq/pull/15911#event-1256342779

Dup of https://github.com/ManageIQ/manageiq-ui-service/issues/948


Performance issues in trie

slower than std btreemap use in trie
index map
test tests::bench_trie_insert ... bench: 328,587,285 ns/iter (+/- 95,700,652)
test tests::bench_trie_search ... bench: 267,453,109 ns/iter (+/- 64,762,370)
std btreemap
test tests::bench_trie_insert ... bench: 169,694,058 ns/iter (+/- 21,693,177)
test tests::bench_trie_search ... bench: 133,411,341 ns/iter (+/- 5,039,801)

What trie implementation is that?

@cuviper this is my code https://github.com/franklucky001/pytrie/blob/master/trie_rs/src/lib.rs

Do you need the insertion-order or indexing properties of IndexMap? Otherwise, the standard HashMap will have more direct memory storage. They're both based on hashbrown's raw table underneath.
One thing jumps out at me in TrieNode::insert:
                node.children.entry(ch).or_insert(TrieNode::default());

That is always creating a default node, even if it's not needed. That includes a default children map, which for hash maps also has to initialize the hasher's random state. I would suggest or_default() instead, which will only create it for vacant entries. More generally, there's also or_insert_with(/* fn or closure */).

Your benchmark data has a lot of similar prefixes, which makes sense for testing a trie, but this also means that most of the nodes are going to have a small number of children. The standard library's BTreeMap has a capacity of 11 entries per node, so I think it's likely that most of your children maps are just a single btree node. It's entirely plausible that it could out-perform a hash map at this size, despite the O(log) versus O(1) algorithmic complexity.

@cuviper Thank you so much, i well modify the code as you suggest and retest some day :)


Fix issue if active portfolio is no longer valid

play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[CompletionException: com.lightbend.lagom.javadsl.api.transport.NotFound: Portfolio 0b1f1917-59c6-412a-8563-5af30708df9c not found. (TransportErrorCode{http=404, webSocket=1008, description='Policy Violation/Not Found'})]]

This also happens after a server restart. Continuing to use the UI will begin to cause these errors if the portfolio ID is not found.
We could solve this in Vue in the mounted() hook, potentially.


determineTransactionType: Moved parseStandardTokenTransactionData call and made it more readable

Explanation
Moved the call to parseStandardTokenTransactionData closer to where it gets used and clarified the use of the name variable.
References

Fixes #1968

Changelog
Checklist

[ ] I've updated the test suite for new or updated code as appropriate
[ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
[ ] I've highlighted breaking changes using the "BREAKING" category above as appropriate

@OGPoyraz, @vinistevam: I have gone ahead and modified transaction-controller/CHANGELOG.md

Could we also fill Changelog section in the PR description? It helps other people to identify what changed in this PR and mostly those explanations are included in the package changelog section while releasing.
A quick link for an example

fyi, the linked PR above does not modify CHANGELOG.md.


Odd rendering/colouring in the top bar

Describe the bug
See the screenshot, this was using firefox so it may be to do with the way browsers render colours. Or its a glitch across all browsers
You can see the words "User profile" under the name

This happens in all browsers if the image for the user profile cannot be loaded. The image comes from /api/catalogueUsers/{id}, so if that returns a 404 then the text you are seeing is the "Alt" label all <img> tags should have.
This is not necessarily a bug with the UI, this is standard browser behaviour. It just looks unusual due to the colour scheme used.


Authentication improvements.

Add support for XEP-0474
The upcoming ejabberd release supports XEP-0474 [1] wich requires support for
the d= parameter. Currently we fail if an unknown parameter is set and d=
is unknown.
Instead of just not failing when d= is set I added support for the downgrade
protection.
[1] https://xmpp.org/extensions/xep-0474.html

@mattn  What do you think about this? The XEP is currently experimental, but servers not supporting it would simply not set the d= part in the challenge and therefore it shouldn't have any negative impact for other servers.
I have succesfully tested the implementation against a server running the current development snapshot of ejabberd.
I'd like to get it also tested against this prosody module but I didn't get it to work on my server yet.

Also successfully tested with the prosody module now.

Ok, after some more testing I'm convinced this PR has no negative side effects. :)


Allows to see Groups tab for all users

Description
Fixes #1735
Notes (out of scope, known isues, hints for reviewing code, ...)  (optional)
...
Test cases

How come tests fail again?

[auto-generated message] E2E test report on: https://algorea-static.s3.eu-central-1.amazonaws.com/branch/feature/show-groups-for-all-cases/playwright-report/index.html

[auto-generated message] E2E test report on: https://algorea-static.s3.eu-central-1.amazonaws.com/branch/feature/show-groups-for-all-cases/playwright-report/index.html

[auto-generated message] E2E test report on: https://algorea-static.s3.eu-central-1.amazonaws.com/branch/feature/show-groups-for-all-cases/playwright-report/index.html


cmdlet queue blocked and flies locked by failed cmdlets

cmdlet queue will be blocked when there are dead cmdlet. There dead cmdlets cannot be finished correctly or be marked as DONE, their states are always PENDING. Worse more, these cmdlets will locked related files and caused Failed to submit cmdlet for file:.
Failed to submit cmdlet for file: /test123/test7

mysql> select * from cmdlets where state=1;
+-----+-----+------+-------+------------+---------------+--------------------+
| cid | rid | aids | state | parameters | generate_time | state_changed_time |
+-----+-----+------+-------+------------+---------------+--------------------+
|   5 |   1 | 5    |     1 | archive    |<PHONE_NUMBER>051 |<PHONE_NUMBER>051 |
|   9 |   2 | 9    |     1 | allssd     |<PHONE_NUMBER>660 |<PHONE_NUMBER>660 |
|  34 |   1 | 34   |     1 | archive    |<PHONE_NUMBER>608 |<PHONE_NUMBER>608 |
|  38 |   2 | 38   |     1 | allssd     |<PHONE_NUMBER>633 |<PHONE_NUMBER>633 |
+-----+-----+------+-------+------------+---------------+--------------------+
4 rows in set (0.00 sec)

Checked the log, somehow the Cmdlet status update message is lost or missing

Fixed in #659


[<IP_ADDRESS>] influxdb panic/crashed claiming no space left on device (which has lots of space)

High level summary:
[root@TPC-E9-05-011 influxdb]# grep panic influxd.log
panic: error writing the wal to the index: write /var/lib/influxdb/data/cs/default/12: no space left on device
[root@TPC-E9-05-011 influxdb]# df /var/lib/influxdb/data/cs/default
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       25736284 4490076  19935872  19% /
[root@TPC-E9-05-011 influxdb]# sudo service influxdb status
influxdb Process is not running [ FAILED ]

The thing is, once I restarted it (without doing anything else, like clearing any memory), it kept working for a while.
The panic details:
[root@TPC-E9-05-011 influxdb]# grep panic influxd.log
panic: error writing the wal to the index: write /var/lib/influxdb/data/cs/default/12: no space left on device
[root@TPC-E9-05-011 influxdb]# df /var/lib/influxdb/data/cs/default
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       25736284 4490076  19935872  19% /
[root@TPC-E9-05-011 influxdb]# sudo service influxdb status
influxdb Process is not running [ FAILED ]
[root@TPC-E9-05-011 influxdb]# vim influxd.log
[root@TPC-E9-05-011 influxdb]# grep -A100 panic influxd.log
panic: error writing the wal to the index: write /var/lib/influxdb/data/cs/default/12: no space left on device

goroutine 23 [running]:
github.com/influxdb/influxdb/tsdb/engine/wal.(*Partition).flushAndCompact(0xc20b566240, 0x2, 0x0, 0x0)
        /tmp/tmp.NZsW7kxYIE/src/github.com/influxdb/influxdb/tsdb/engine/wal/wal.go:1034 +0x88a
github.com/influxdb/influxdb/tsdb/engine/wal.(*Log).triggerAutoFlush(0xc20813a2a0)
        /tmp/tmp.NZsW7kxYIE/src/github.com/influxdb/influxdb/tsdb/engine/wal/wal.go:589 +0xe6
github.com/influxdb/influxdb/tsdb/engine/wal.(*Log).autoflusher(0xc20813a2a0, 0xc20b0d1b00)
        /tmp/tmp.NZsW7kxYIE/src/github.com/influxdb/influxdb/tsdb/engine/wal/wal.go:609 +0x167
created by github.com/influxdb/influxdb/tsdb/engine/wal.(*Log).Open
        /tmp/tmp.NZsW7kxYIE/src/github.com/influxdb/influxdb/tsdb/engine/wal/wal.go:241 +0x5ed

goroutine 1 [chan receive, 5 minutes]:
main.(*Main).Run(0xc20802d680, 0xc20800a010, 0x4, 0x4, 0x0, 0x0)
        /tmp/tmp.NZsW7kxYIE/src/github.com/influxdb/influxdb/cmd/influxd/main.go:96 +0x7b3
main.main()
        /tmp/tmp.NZsW7kxYIE/src/github.com/influxdb/influxdb/cmd/influxd/main.go:46 +0xdc

goroutine 6 [syscall, 5 minutes]:
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:21 +0x1f
created by os/signal.init·1
        /usr/local/go/src/os/signal/signal_unix.go:27 +0x35

goroutine 17 [syscall, 5 minutes, locked to thread]:
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 8 [IO wait, 5 minutes]:
net.(*pollDesc).Wait(0xc208010530, 0x72, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc208010530, 0x0, 0x0)
        /usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).accept(0xc2080104d0, 0x0, 0x7f9ac90d3e70, 0xc208092000)
        /usr/local/go/src/net/fd_unix.go:419 +0x40b
net.(*TCPListener).AcceptTCP(0xc208036188, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/tcpsock_posix.go:234 +0x4e
net.(*TCPListener).Accept(0xc208036188, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/net/tcpsock_posix.go:244 +0x4c
github.com/influxdb/influxdb/tcp.(*Mux).Serve(0xc20802dc00, 0x7f9ac90d57d0, 0xc208036188, 0x0, 0x0)
        /tmp/tmp.NZsW7kxYIE/src/github.com/influxdb/influxdb/tcp/mux.go:48 +0x54
created by github.com/influxdb/influxdb/cmd/influxd/run.func·003
        /tmp/tmp.NZsW7kxYIE/src/github.com/influxdb/influxdb/cmd/influxd/run/server.go:361 +0x9cd

goroutine 9 [chan receive, 5 minutes]:
github.com/influxdb/influxdb/tcp.(*listener).Accept(0xc208036190, 0x0, 0x0, 0x0, 0x0)
        /tmp/tmp.NZsW7kxYIE/src/github.com/influxdb/influxdb/tcp/mux.go:129 +0x80
github.com/influxdb/influxdb/meta.(*raftLayer).Accept(0xc22016/01/07 12:33:55 InfluxDB starting, version <IP_ADDRESS>, branch 0.9.6, commit 6d3a8603cfdaf1a141779ed88b093dcc5c528e5e, built 2015-12-10T23:40:23+0000
2016/01/07 12:33:55 Go version go1.4.2, GOMAXPROCS set to 2
2016/01/07 12:33:55 Using configuration at: /etc/influxdb/influxdb.conf
[metastore] 2016/01/07 12:33:55 Using data dir: /var/lib/influxdb/meta
[metastore] 2016/01/07 12:33:55 Node at localhost:8088 [Follower]
[metastore] 2016/01/07 12:33:55 Skipping cluster join: already member of cluster: nodeId=1 raftEnabled=true peers=[localhost:8088]
[metastore] 2016/01/07 12:33:57 Node at localhost:8088 [Leader]. peers=[localhost:8088]
[metastore] 2016/01/07 12:33:57 spun up monitoring for 1
[store] 2016/01/07 12:33:57 Using data dir: /var/lib/influxdb/data
[metastore] 2016/01/07 12:33:57 Updated node id=1 hostname=localhost:8088
[wal] 2016/01/07 12:33:57 WAL starting with 30720 ready series size, 0.50 compaction threshold, and 52428800 partition size threshold
[wal] 2016/01/07 12:33:57 WAL writing to /var/lib/influxdb/wal/_internal/monitor/1
[wal] 2016/01/07 12:33:57 WAL starting with 30720 ready series size, 0.50 compaction threshold, and 52428800 partition size threshold
[wal] 2016/01/07 12:33:57 WAL writing to /var/lib/influxdb/wal/cs/default/11
[wal] 2016/01/07 12:33:58 WAL starting with 30720 ready series size, 0.50 compaction threshold, and 52428800 partition size threshold
[wal] 2016/01/07 12:33:58 WAL writing to /var/lib/influxdb/wal/cs/default/12
[wal] 2016/01/07 12:33:58 reading WAL files to flush to index
[wal] 2016/01/07 12:33:58 writing 3302 series from WAL file /var/lib/influxdb/wal/cs/default/12/01.000031.wal to index
[handoff] 2016/01/07 12:33:58 Starting hinted handoff service
[monitor] 2016/01/07 12:33:58 'hh' registered for diagnostics monitoring
[handoff] 2016/01/07 12:33:58 Using data dir: /var/lib/influxdb/hh
[subscriber] 2016/01/07 12:33:58 opened service
[monitor] 2016/01/07 12:33:58 Starting monitor system
[monitor] 2016/01/07 12:33:58 'build' registered for diagnostics monitoring
[monitor] 2016/01/07 12:33:58 'runtime' registered for diagnostics monitoring
[monitor] 2016/01/07 12:33:58 'network' registered for diagnostics monitoring
[monitor] 2016/01/07 12:33:58 'system' registered for diagnostics monitoring
[monitor] 2016/01/07 12:33:58 Storing statistics in database '_internal' retention policy '', at interval 10s
[cluster] 2016/01/07 12:33:58 Starting cluster service
[shard-precreation] 2016/01/07 12:33:58 Starting precreation service with check interval of 10m0s, advance period of 30m0s
[snapshot] 2016/01/07 12:33:58 Starting snapshot service
[copier] 2016/01/07 12:33:58 Starting copier service
[admin] 2016/01/07 12:33:58 Starting admin service
[admin] 2016/01/07 12:33:58 Listening on HTTP: [::]:8083
[continuous_querier] 2016/01/07 12:33:58 Starting continuous query service
[httpd] 2016/01/07 12:33:58 Starting HTTP service
[httpd] 2016/01/07 12:33:58 Authentication enabled: false
[httpd] 2016/01/07 12:33:58 Listening on HTTP: [::]:8086
[retention] 2016/01/07 12:33:58 Starting retention policy enforcement service with check interval of 30m0s
[run] 2016/01/07 12:33:58 Listening for signals
2016/01/07 12:33:58 Sending anonymous usage statistics to m.influxdb.com
[query] 2016/01/07 12:34:00 SHOW DATABASES
[http] 2016/01/07 12:34:00 ::1 - root [07/Jan/2016:12:34:00 -0500] GET /query?db=cs&epoch=ns&q=SHOW+DATABASES HTTP/1.1 200 101 - InfluxDBClient d6cc70ff-b564-11e5-8001-000000000000 1.53078ms
[query] 2016/01/07 12:34:00 SHOW DATABASES
[http] 2016/01/07 12:34:00 ::1 - root [07/Jan/2016:12:34:00 -0500] GET /query?db=cs&epoch=ns&q=SHOW+DATABASES HTTP/1.1 200 101 - InfluxDBClient d6ccc44b-b564-11e5-8002-000000000000 281.204µs
[query] 2016/01/07 12:34:00 DROP DATABASE cs
[http] 2016/01/07 12:34:00 ::1 - root [07/Jan/2016:12:34:00 -0500] GET /query?db=cs&epoch=ns&q=DROP+DATABASE+cs HTTP/1.1 200 40 - InfluxDBClient d6cce005-b564-11e5-8003-000000000000 15.011155ms

I will update if I reproduce.

@bigKS what OS are you on and how was the database installed?

@bigKS inodes status, if relevant.

@bigKS You may have run into this https://github.com/influxdata/influxdb/issues/5207#issuecomment-167016885

@beckettsean
OS
[ksengal@TPC-E9-11-019 ~]$ uname -a
Linux TPC-E9-11-019.phaedrus.sandvine.com 2.6.32-573.12.1.el6.x86_64 #1 SMP Tue Dec 15 21:19:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[ksengal@TPC-E9-11-019 ~]$ cat /etc/release
CentOS release 6.7 (Final)
CentOS release 6.7 (Final)
CentOS release 6.7 (Final)
cpe:/o:centos:linux:6:GA
Installed using:
https://docs.influxdata.com/influxdb/v0.9/introduction/installation/

@bigKS I'd suggest upgrading to 0.10 and converting your shards to tsm1 using the conversion tool.  The bz1 engine is deprecated and won't be fixed going forward.
If you still encounter this issue with 0.10 and tsm1 engine, please open a new issue.


MSVC support

Lua uses ANSI C, so MSVC can compile it and Rust supports MSVC ABI.
Feature: Add possibility to compile library within Visual Studio environment.

This becomes trivial if we throw away the platform-specific configuration in Lua's makefile and let the gcc crate (which, despite its name, supports MSVC) be responsible for building the library.

Looks fine. Also we'll take full control over all defines. We should implement it :+1:

Is there any progress on this?

@Boscop Currently, you can compile using MSVC by running your cargo commands within the VS developer command prompt.
Sent from my Samsung SM-G955F using FastHub


added Codelikeagirl29 to projects

I added my project
#hacktoberfest

Most of the files does not match the tech stacks of this repo.
Also there's mixed content issue.
I'm closing this.


TypeScript: Make more types available via the main import

Currently I have to do this...
import { WebView, WebViewNavigation } from "react-native-webview";
import type { WebViewProgressEvent } from "react-native-webview/lib/WebViewTypes";

...in order to get my hands on the WebViewProgressEvent type. And then I need to configure ESLint to allow submodule imports for "react-native-webview".
But I'd rather do this instead:
import { WebView, WebViewNavigation, WebViewProgressEvent } from "react-native-webview";

Is there a chance all/most of the types found in ./lib/WebViewTypes.d.ts can be exported in ./index.d.ts, as was done already for a few other types?

You have 7 days until this gets closed automatically

Adding a comment as it's still an issue.

You have 7 days until this gets closed automatically

Adding a comment as it's still an issue.


Please add to the docs the VIM key bindings that are implemented.

Hello,
Please consider adding to the docs the VIM key bindings that are implemented.
This is very important for someone that is starting to use Lapse editor and is also starting to use VIM.
You could also ship Lapce with a VIM Tutor txt file for the VIM keys.
There are Open Source files that you could use.
Best regards,
João

Vim keybinds are available in settings

Ok I see it, and one can see that it's a VIM Mode Key if it is attributed to a mode, nice!
Best regards,
João


fix bug: #110

fix bug:
can't support null value  when value is array type(will nil pointer memory error) of input data.
its related to issue: #110

@vektah  updated commit, can you merge it ?


Add a User Task to Your Workflow - No App in App Finder

In Step 1: Add the workflow apps to your homepage, There is no app in the App finder in Launchpad.

Hi,
Please see the new tutorials at: https://developers.sap.com/group.cp-workflow-cf.html
Best regards,
Astrid


Asp.Net Core Identity Authentication With Cookies

If anyone is looking to use cookies based authentication with .net core Identity here is some config to get you going.
"ReRoutes": [{
        "DownstreamHostAndPorts": [
            {
                "Host": "localhost",
                "Port": 51876,
            }
        ],
        "DownstreamPathTemplate": "/",
        "UpstreamPathTemplate": "/",
        "UpstreamHttpMethod": ["Post"],
        "ReRouteIsCaseSensitive": false,
        "DownstreamScheme": "http",
        "AuthenticationOptions": {
            "AuthenticationProviderKey": "Identity.Application",
            "AllowedScopes": [
                "role-admin",
                 "role-user"
]
        }
    }]

The important thing to notice here is "Identity.Application" passed for "AuthenticationProviderKey".  I found this value at Microsoft.AspNetCore.Identity.IdentityConstants.ApplicationScheme in netcore 2.2
Startup.cs
//Startup.cs
//I repurpose AllowedScopes to be roles that I check on a per route basis.
   app.UseOcelot(p => p.AuthorisationMiddleware = Authorize
....
   private Task Authorize(DownstreamContext context, Func<Task> next)
        {
            var roles = context.DownstreamReRoute.AuthenticationOptions.AllowedScopes;
            bool authorized = false;
            foreach (var role in roles)
            {
                if (context.HttpContext.User.IsInRole(role))
                {
                    authorized = true;
                    break;
                }
            }

            if (authorized)
            {
                return next();
            }
            else
            {
                context.Errors.Add(new UnauthorizedError("Unauthorized", OcelotErrorCode.UserDoesNotHaveClaimError));
            }
            context.HttpContext.Response.StatusCode = 401;
            return Task.CompletedTask;
        }

AuthController
 [Route("/api/v1/[controller]"), AllowAnonymous]
    public class AuthController : Controller

    {
        private readonly SignInManager<GumshoeUser> _signInManager;
        private readonly UserManager<GumshoeUser> _userManager;

        public AuthController(SignInManager<GumshoeUser> signInManager,
                                      UserManager<GumshoeUser> userManager)
        {
            _signInManager = signInManager;
            _userManager = userManager;
        }

        [HttpPost("Login")]
        [Produces("application/json")]
        public async Task<AuthResponse> Login(string username, string password)
        {
            var user = await _userManager.FindByEmailAsync(username);
            if (user == null)
            {
                await HttpContext.SignOutAsync();
                return new AuthResponse { Status = 403, Name = username };
            }
            var result = await _signInManager.PasswordSignInAsync(username, password, false, false);

            if (result.Succeeded)
            {
                var roles = await _userManager.GetRolesAsync(user);
                var now = DateTime.UtcNow;

                var claims = new List<Claim>(){
                new Claim(ClaimTypes.Name, user.Email)
                };
                foreach (var item in roles)
                {
                    claims.Add(new Claim(ClaimTypes.Role, item));
                }

                return new AuthResponse { Status = 200, Name = username, Roles = roles.ToList() };
            }
            else
            {
                await HttpContext.SignOutAsync();
                return new AuthResponse { Status = 403, Name = username };
            }
        }

    }

Exactly what I was searching for!
Have you some github repo showing this setup in detail?

@tulde23 @Ewerton
Welcome to Ocelot world! :tiger:
Guys, you could create a PR with a sample to keep all files in samples folder.
If this solution really works then it can be converted to the bug fix and/or be a sample.
Why not to create a PR? :wink:

@Ewerton Why not to fork Ocelot repo into your account?
I didn't find a fork in your repos.

@tulde23 Hi Jason!
Please, keep in mind we work on PR #1666 now which has changes in related "AuthenticationProviderKey" logic.


refactor: migrate from vue/compiler-dom to parse5

Description
Fixes #5966
Fixes #5603
Vite has been using vue/compiler-dom to process HTML (for example to process inlined URLs). There are a few issues that are out of the scope of vue/compiler-dom, and although we could extend it, we discussed with the Team that migrating to a standard compliant HTML parser is better for the future.
This PR migrates to parse5, that is battle tested library used by many other projects like jsdom, Angular, and Lit.
I decided to keep the current approach of parsing and then use MagicString to do the changes. One difference is that the code locations for attrs are in the main node instead of in the attr token itself, and the info for attrs is the whole attr (foo="value") instead of the value as we had with compiler/dom. The rest is basically the same.
Remaining tasks:

[x] Bundle parse5
[ ] Should we issue warnings for the parse5 errors we are ignoring? I think we should for duplicate attributes. For the other two, our own playgrounds have these issues.switch (parserError.code) {
  case 'missing-doctype':
    // ignore missing DOCTYPE
    return
  case 'abandoned-head-element-child':
    // Accept elements without closing tag in <head>
    return
  case 'duplicate-attribute':
    // Accept duplicate attributes #9566
    // The first attribute is used, browsers silently ignore duplicates
    return
}

For the future:

We could expose parse5 to Vite users, there is a lot of value in having a standard parser for plugin and framework authors.

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[x] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

Vite Ecosystem CI is green for this PR (except for known glitches being solved on some projects): https://github.com/vitejs/vite-ecosystem-ci/actions/runs/2860308763
About issuing a warning for duplicate attributes, @surma mentioned that it could be noisy. I agree that without a way to turn these off, it may be bothersome if you can't fix your tooling.
I think we could move forward with this PR without warnings (to be merged in Vite 3.1), and then work on a feature to show warnings and allow users to disable them. We could even allow the user to ignore other parsing errors? Maybe html.ignoreErrors: [...].

Should we issue warnings for the parse5 errors we are ignoring? I think we should for duplicate attributes. For the other two, our own playgrounds have these issues.

I think we can skip all of them if we want to be lenient with the html being passed. Otherwise we should report all the warnings instead as it could be confusing if we only report some of it.

Thanks a lot for the review @sapphi-red! I now recall why I didn't add all these guards. If you check in the https://astexplorer.net/#/1CHlCXc4n4, you'll see that when there are duplicated attrs, parse5 will already only have the first one in the attr array. Maybe I'm not looking at this correctly? Did you hit an issue with duplicates?

Oh, I wasn't aware of that. Sorry. I should have checked this on astexplorer.


[Feat] Adding "DevOps Roadmap" page

Description
This project currently lacks a dedicated section that provides insights into DevOps and the pathway to becoming a DevOps Engineer. To bridge this gap, I plan to create a new page from scratch that will feature key sections, such as "What is DevOps?" and a comprehensive roadmap outlining the essential technologies and skills needed to embark on the journey of becoming a successful DevOps Engineer.
Screenshots
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

@Hamza1821 As of now, we do not need it. We will let you know in the future if there is a need. Please search for another issue and raise it, which I'm happy to assign to you.