Fall back to Resources for finding the Player shader

Since the Ashlands update, Shader.Find will not find the Custom/Player shader for some reason. Use null coalescing to fall back to Resources.FindObjectsOfTypeAll, which still finds it.
This fixes the purple error shader on models using the Valheim/Standard shader.

Bit of digging in, suspecting things became an issue with the move to SoftReferenceableAssets/"asset bundles": https://www.valheimgame.com/support/modding-faq-for-the-asset-bundle-update-0-217-40/
Finding references such as https://forum.unity.com/threads/shader-find-returns-null-for-asset-bundles-repro-included.573856/ , indicating that Shader.Find() doesn't really work with asset bundles.
Wondering if, from the blog post we should be doing something like the:

call Runtime.MakeAllAssetsLoadable() before the Soft Referenceable Assets system is initialized (before the EntryPointSceneLoader.Start() function in this case), the manifest_extended file is loaded too. You can then individually load any asset using SoftReference<T>.Load() or SoftReference<T>.LoadAsync() (and remember to unload it using SoftReference<T>.Release() when you no longer need it).

to get it to load up the given shader from the bundle. What exactly that might look like, I'm not 100% sure.
I'm assuming the asset in question (from  {game_dir}\valheim_Data\StreamingAssets\SoftReferenceableAssets\manifest_extended) would be the
- asset ID: 0ddedf6492e674317b18255c4db06013
  bundle: 5519b1b0
  path in bundle: Assets/Shaders/Player.shader

bit?
Google-fu failing me, trying to find any other documentation for SoftReference outside of that blog post, but might be able to figure out by poking around the assemblies...
Thinking, something like a:
var shader_ref = SoftReference<Shader>('0ddedf6492e674317b18255c4db06013');
var shader = shader_ref.Load().Asset;

though, might want to keep a reference to shader_ref around such that we can shader_ref.Release() it in the Unload()?

Took a shot at making use of the SoftReferenceableAssets stuff in https://github.com/Ikeiwa/ValheimPlayerModels/compare/main...dresklaw:ValheimPlayerModels:fix/shader-swap
It compiles!... but I haven't yet tried testing it in-game.


2D matmul with specific shapes gives bad PCC on a TG

Describe the bug
A 2D fractured matmul with specific shapes gives bad PCC when run on a galaxy.
Shape is for llama3-405B FF1 for prefill with sequence length = 512, both activation and weight are in DRAM interleaved format. The matmul works with lower sequence lengths (=M), e.g. 128 or 256.
M = 512, K = 16 * 1024, N = 52 * 1024
The PCC is (so far) always around zero but still non-deterministic, e.g. in three runs:
PCC: 0.0002399902230190794
PCC: -0.00038166219156071467
PCC: -0.00017789431408447355

To Reproduce
Steps to reproduce the behavior:

Reproduce on a TG
Checkout branch jrock/llama3-405b
Run unit test pytest tests/ttnn/multichip_unit_tests/test_multidevice_TG.py::test_galaxy_matmul_2d_fracture[silicon_arch_name=wormhole_b0-silicon_arch_wormhole_b0=True-Llama3-405B_prefill_seq512_FF1-4x8_grid]

Expected behavior
Passes the test with 0.99 PCC target.

I think this might be a di/dt issue @pavlepopovic mentioned that they are seeing similar behaviour for di/dt on galaxies.

@johanna-rock-tt is the grid size 8x4 (32 cores) ?
looping in @TT-BrianLiu and @tt-aho
is this related to ND PCC here https://github.com/tenstorrent/tt-metal/issues/10673 ?

also, is this a Galaxy-specific problem, does the same shape/config pass on N300?

I ran Johanna's test on 4x8 and 8x8 grids on TG with default program config, reproed ND PCC.
4x8 matmul_2d with subblock 1x1 passes 50 iterations of testing.
This test uses matmul_2d and https://github.com/tenstorrent/tt-metal/issues/10673 uses dram sharded matmul. They may be related if galaxy is fragile with matmul di/dt.
Note that when I first started testing, the 4x8 matmul_2d with default program config failed very consistently, >50% of the time. After the machine warmed up, I found the 4x8 failures to be much less frequent, about 5% of the time. Is there any systems explanation for this?

I ran Johanna's test on 4x8 and 8x8 grids on TG with default program config, reproed ND PCC.
4x8 matmul_2d with subblock 1x1 passes 50 iterations of testing.
This test uses matmul_2d and https://github.com/tenstorrent/tt-metal/issues/10673 uses dram sharded matmul. They may be related if galaxy is fragile with matmul di/dt.
Note that when I first started testing, the 4x8 matmul_2d with default program config failed very consistently, >50% of the time. After the machine warmed up, I found the 4x8 failures to be much less frequent, about 5% of the time. Is there any systems explanation for this?

Is the matmul running on 32x devices when it fails?
Would be great to run the same test on t3k, to see if it's a Galaxy specific issue

yes the matmul is running on 32 devices when it fails. I'll check on t3k

yes the matmul is running on 32 devices when it fails. I'll check on t3k

Would be great to see also what happen when it runs on 1, 2, 4, 8 on TG

I ran the failing 4x8 coregrid with default program config on T3K 8 chips and got deterministic good PCC.

I've managed to run this MM with exactly the same config as on galaxy this morning, non-determinism occurs every iteration:

Now, there's something odd that I've spotted while running this on Galaxy with tracy:

This runs a 13 core MM (not 32) (it appears that ttnn wants to do matmul1d, where width gets laid out on cores: (208 tiles in W dimension split over 13 cores)
ttnn choses these kernels to run the matmul with:

compute ['ttnn/cpp/ttnn/operations/matmul/device/kernels/compute/bmm_large_block_zm.cpp']
datamovement: ['ttnn/cpp/ttnn/operations/matmul/device/kernels/dataflow/reader_bmm_tile_layout.cpp'; 'ttnn/cpp/ttnn/operations/matmul/device/kernels/dataflow/writer_bmm_tile_layout.cpp']

I don't know about DM kernels, but the compute kernel seems fishy - it's using bmm_large_block_zm.cpp kernel, and I know that we usually are using this one: bmm_large_block_zm_fused_bias_activation.cpp
The one used seems like a simpler version of the bmm_large_block_zm_fused_bias_activation.cpp.
Attaching the entire tracy run for galaxy:
llama_nd_mm.csv

specify 1d/2d matmul config to fix

3. test_galaxy_matmul_2d_fracture

@pavlepopovic branch jrock/llama3-405b doesn't exist. Is the code in main now? If not, what steps did you use to reproduce the issue?

Couple of things:

Shouldn't draw any conclusions out of tests that have 0.000 PCC. The output is probably complete garbage. "ND" could come from reading/writing to undefined space which might change per run.
Try to use a specific variant instead of default matmul in models. You can bypass the automatic paths that ttnn.matmul takes. These paths become more and more involved as we try to support more behaviour.
Try to run your matmul for single chip (with properly scaled down specs) and see if that works. If PCC is good, then go to multi-chip

@pavlepopovic branch jrock/llama3-405b doesn't exist. Is the code in main now? If not, what steps did you use to reproduce the issue?

Talked to @pavlepopovic
The code is already in main in tests/ttnn/multichip_unit_tests/test_multidevice_TG.py
It's just commented out and the file needs to be updated. See
# pytest.param(
        #     512, 16 * 1024, 52 * 1024, ttnn.bfloat4_b, id="Llama3-405B_prefill_seq512_FF1"
        # ),  # PCC check failed, PCC: -0.00014127559109112134, see issue 10936

Also, we've started seeing similar behaviour in sweeps recently. See https://github.com/tenstorrent/tt-metal/issues/9059#issuecomment-2287186881

My current theory is that a fallthrough path of automatically choosing parameters that was added as a last resort is distributing tensors while ignoring their shard shapes (e.g. if the shard shape is 768 and m is 768, 768/32=24 cores will try to be used instead of 1) and the underlying kernels are not expecting such settings. I'm continuing to investigate.
@pavlepopovic
Regarding your comment: https://github.com/tenstorrent/tt-metal/issues/10936#issuecomment-2284052768 : "I've managed to run this MM with exactly the same config on t3k as on galaxy this morning, non-determinism occurs every iteration:"
Could you please

send me your test and how to run it?
if your matmul call has core_grid, remove the core_grid or if the matmul call does not have core_grid try to pass in something that takes into account the tensors' shard shapes?

When I tried to specify core_grid in tests/ttnn/multichip_unit_tests/test_multidevice_TG.py::test_galaxy_matmul_2d_fracture on Galaxy I got an exception Statically allocated circular buffers on core range [(x=0,y=0) - (x=7,y=0)] grow to 4191072 B which is beyond max L1 size of 1499136 B
I'm not sure if you'd get the same thing.

@johanna-rock-tt
You can use
something like the following for that specific set up:
            program_config=ttnn.MatmulMultiCoreReuseMultiCastProgramConfig(
                compute_with_storage_grid_size=(8, 8),
                in0_block_w=1,
                out_subblock_h=1,
                out_subblock_w=1,
                per_core_M=2,
                per_core_N=26,
                transpose_mcast=False,
                fused_activation=None,
            ),

E.g.
 # Llama FF1, FF2, FF3 in MLP with dram interleaved weights
@@ -146,6 +146,17 @@ def test_galaxy_matmul_2d_fracture(M, K, N, weights_dtype, mesh_shape, device_me
         act,
         weights,
         dtype=ttnn.bfloat16,
+        #core_grid=core_grid,
+        program_config=ttnn.MatmulMultiCoreReuseMultiCastProgramConfig(
+                compute_with_storage_grid_size=(8, 8),
+                in0_block_w=1,
+                out_subblock_h=1,
+                out_subblock_w=1,
+                per_core_M=2,
+                per_core_N=26,
+                transpose_mcast=False,
+                fused_activation=None,
+        ),
         compute_kernel_config=compute_kernel_lofi,
         memory_config=ttnn.L1_WIDTH_SHARDED_MEMORY_CONFIG if M == 32 else ttnn.DRAM_MEMORY_CONFIG,
     )

Leads to
...
2024-08-18 17:01:12.511 | DEBUG    | conftest:device_mesh:193 - multidevice with 32 devices is created
2024-08-18 17:02:29.534 | INFO     | tests.ttnn.multichip_unit_tests.test_multidevice_TG:test_galaxy_matmul_2d_fracture:168 - PCC value: Max ATOL Delta: 80.65719604492188, Max RTOL Delta: inf, PCC: 0.9931608583682504
PASSED2024-08-18 17:02:31.086 | DEBUG    | ttnn:manage_config:93 - Restored ttnn.CONFIG.report_name to None
...
PASSED tests/ttnn/multichip_unit_tests/test_multidevice_TG.py::test_galaxy_matmul_2d_fracture[silicon_arch_name=wormhole_b0-silicon_arch_wormhole_b0=True-Llama3_405B_prefill_seq512_FF1-8x4_grid]

I still need to investigate why the default is resulting in incorrect behaviour.

I also tried the following, which lead to nothing happening (probably a hang):
            ttnn.MatmulMultiCoreReuseMultiCast1DProgramConfig(
                compute_with_storage_grid_size=(2, 8),
                in0_block_w=1,  # K // 32
                out_subblock_h=4,  # 8 // (N // 32)
                out_subblock_w=2,  # N // 32
                per_core_M=16,  # M // 32
                per_core_N=13,  # N // num_cores(16) // 32
                fuse_batch=False,
                fused_activation=None,
                mcast_in0=True,
            ),

In terms of what the code chooses by default, I got the following debug output:
                     Op | DEBUG    | Auto generated program config: MatmulMultiCoreNonOptimizedReuseProgramConfig()
...
                     Op | DEBUG    |    0: Tensor(storage=DeviceStorage(memory_config=MemoryConfig(memory_layout=TensorMemoryLayout::INTERLEAVED,buffer_type=BufferType::DRAM,shard_spec=std::nullopt)),shape=ttnn.Shape([1, 1, 512, 4096]),dtype=DataType::BFLOAT16,layout=Layout::TILE)
                     Op | DEBUG    |    1: Tensor(storage=DeviceStorage(memory_config=MemoryConfig(memory_layout=TensorMemoryLayout::INTERLEAVED,buffer_type=BufferType::DRAM,shard_spec=std::nullopt)),shape=ttnn.Shape([1, 1, 4096, 6656]),dtype=DataType::BFLOAT4_B,layout=Layout::TILE)

for all 32 devices.
Next steps:

hopefully a specific program config can be used to bypass this issue - maybe the 2D one I suggested
@pavlepopovic's 1D test needs to be investigated
the 1D set up on Galaxy leading to a freeze / nothing happening should be investigated
the behaviour of MatmulMultiCoreNonOptimizedReuseProgramConfig should be investigated

Hopefully the 8x8 grid will not lead to di/dt issues. Maybe half the grid would work, although I haven't tested that.
In terms of why MatmulMultiCoreNonOptimizedReuseProgramConfig is chosen, the logic is:

input a is not sharded, therefore choose a simplified flow
the simplified flow just uses per_core_M and per_core_N of 16
the 1d multicast are not chosen because more than one core is used along x and y
the 2d multicast uOP is only chosen if the number of cores along x and along y fit within the chip
since N=6656, 13 cores would be required along x, which does not fit. Therefore 2d multicast is not chosen (6656=321613)
Mt % per_core_M == 0 and Nt % per_core_N == 0 is true
therefore MatmulMultiCoreNonOptimizedReuseProgramConfig is chosen since that should be the next fastest uOP that can handle the input

The following reproduces the hang I saw on Galaxy on WH:
import torch
import ttnn
import time
from tracy import Profiler
device_id = 0
device = ttnn.open_device(device_id=device_id)
a=ttnn.from_torch(25*torch.ones([1,1,512,4096], dtype=torch.bfloat16), layout=ttnn.TILE_LAYOUT, device=device)
b=ttnn.from_torch(125*torch.ones([1,1,4096,6656], dtype=torch.bfloat16), layout=ttnn.TILE_LAYOUT, device=device)
c = ttnn.matmul(a,b, program_config=ttnn.MatmulMultiCoreReuseMultiCast1DProgramConfig(
                compute_with_storage_grid_size=(2, 8),
                in0_block_w=1,
                out_subblock_h=4,
                out_subblock_w=2,
                per_core_M=16,
                per_core_N=13,
                fuse_batch=False,
                fused_activation=None,
                mcast_in0=True,
            ))
ttnn.close_device(device)
exit()

Talked with @pavlepopovic
He just extracted the dimensions of the tensors and created a unit test for 1 chip with those dimensions, that just calls ttnn.matmul() without a specified config.
Based on this info, the code would choose MatmulMultiCoreNonOptimized. in0 is pretty narrow, and fits within 16 tiles, and therefore it looks like a 1d matmul.

@johanna-rock-tt
are you sure the bad PCC is not just a function of using bfloat4_b with K=4096?
I replaced bfloat4_b with bfloat16 and the test passed:
pytest.param(
             512, 16 * 1024, 52 * 1024, ttnn.bfloat16, id="Llama3_405B_prefill_seq512_FF1"
        ),

Output:
=============================================================================== short test summary info ===============================================================================
PASSED tests/ttnn/multichip_unit_tests/test_multidevice_TG.py::test_galaxy_matmul_2d_fracture[silicon_arch_name=wormhole_b0-silicon_arch_wormhole_b0=True-Llama3_405B_prefill_seq512_FF1-8x4_grid]
============================================================================ 1 passed, 1 warning in 55.78s ============================================================================

Also, I tried first bfloat4_b and then bfloat16 with some local tests and the results are quite different.
...
>>> a=ttnn.from_torch(25*torch.ones([1,1,512,4096], dtype=torch.bfloat16), layout=ttnn.TILE_LAYOUT, device=device)
>>> b=ttnn.from_torch(125*torch.ones([1,1,4096,6656], dtype=torch.bfloat16), dtype=ttnn.bfloat4_b, layout=ttnn.TILE_LAYOUT, device=device)
>>> c=ttnn.matmul(a,b)
>>> print(c)
ttnn.Tensor([[[[130928957584814213481024995437613940736.00000,<PHONE_NUMBER>84814213481024995437613940736.00000,  ...,<PHONE_NUMBER>86921755544573091907473768448.00000,<PHONE_NUMBER>86921755544573091907473768448.00000],
               [130928957584814213481024995437613940736.00000,<PHONE_NUMBER>84814213481024995437613940736.00000,  ...,<PHONE_NUMBER>86921755544573091907473768448.00000,<PHONE_NUMBER>86921755544573091907473768448.00000],
               ...,
               [130264343586921755544573091907473768448.00000,<PHONE_NUMBER>86921755544573091907473768448.00000,  ...,<PHONE_NUMBER>86921755544573091907473768448.00000,<PHONE_NUMBER>86921755544573091907473768448.00000],
               [130264343586921755544573091907473768448.00000,<PHONE_NUMBER>86921755544573091907473768448.00000,  ...,<PHONE_NUMBER>91136839671669284847193423872.00000,<PHONE_NUMBER>91136839671669284847193423872.00000]]]], shape=Shape([1, 1, 512, 6656]), dtype=DataType::BFLOAT16, layout=Layout::TILE)
>>> b=ttnn.from_torch(125*torch.ones([1,1,4096,6656], dtype=torch.bfloat16), layout=ttnn.TILE_LAYOUT, device=device)
>>> c=ttnn.matmul(a,b)
>>> print(c)
ttnn.Tensor([[[[15400960.00000, 15400960.00000,  ..., 15400960.00000, 15400960.00000],
               [15400960.00000, 15400960.00000,  ..., 15400960.00000, 15400960.00000],
               ...,
               [15400960.00000, 15400960.00000,  ..., 15400960.00000, 15400960.00000],
               [15400960.00000, 15400960.00000,  ..., 15400960.00000, 15400960.00000]]]], shape=Shape([1, 1, 512, 6656]), dtype=DataType::BFLOAT16, layout=Layout::TILE)

One of the other tests that passes has smaller K and N half of the failing test:
pytest.param(512, 8192, 28 * 1024, ttnn.bfloat4_b, id="Llama3-70B_prefill_seq512_FF1"),

When N is 52 * 1024 then K has to be very small before the test passes. I had to set K to 128 for the failing test to pass.

For the 1D matmul, out_subblock_w needs to be 1.
I thought validate checked for that already. Will need to see why it didn't, but that part is working as expected.

validate did check for what I expected, but there was a bug in the code where validation was disabled when program cache is off. This bug has been fixed yesterday.
I verified with the following that this is a bfloat4_b precision issue.
    in0=1*torch.eye(1024)
    in1=1*torch.ones([1,1,1024,6656])
    a=ttnn.from_torch(in0, layout=ttnn.TILE_LAYOUT, device=device, dtype=ttnn.bfloat4_b)
    b=ttnn.from_torch(in1, layout=ttnn.TILE_LAYOUT, dtype=ttnn.bfloat4_b, device=device)
    c = ttnn.matmul(a,b)
    print(c)
    d = torch.matmul(in0,in1)
    print(d)

uses MatmulMultiCoreNonOptimizedReuseProgramConfig and both c and d are all 1s
I also verified MatmulMultiCoreProgramConfig is okay as well with the following:
    in0=1*torch.eye(4096)
    in1=1*torch.ones([1,1,4096,6656])
    a=ttnn.from_torch(in0, layout=ttnn.TILE_LAYOUT, device=device, dtype=ttnn.bfloat4_b)
    b=ttnn.from_torch(in1, layout=ttnn.TILE_LAYOUT, dtype=ttnn.bfloat4_b, device=device)
    c = ttnn.matmul(a,b)
    print(c)
    d = torch.matmul(in0,in1)
    print(d)

@johanna-rock-tt you'll need to use the program config or not have this specific shape+precision.

Thanks @bbradelTT
I verified that your proposed program config works!
However I'm still puzzled by bfp4 with this specific shape producing ~0.0 PCC while similar shapes in bfp 4 (e.g. M = 256, K = 16 * 1024, N = 52 * 1024) produce 0.99 pcc.

@johanna-rock-tt
I think once the tensors get big enough there is overflow and rounding happening, where order of operation has a big impact.
The tensor has some common info for bfloat4_b and bfloat8_b. Based on what I saw, probably at least for the mantissa.
E.g. I would get sets of values such as 0.50000,  0.25000,  ...,  0.12500,  0.25000 or 512.00000, 384.00000,  ..., 128.00000, 896.00000, with nothing between set boundaries.
If that common info is set based on inputs or some criteria that can't handle the right sets of ranges, and then there is enough addition, the values probably drift off.
It'd be good to have a reference for bfloat4_b, and then we could do more than speculate.

I see, thanks for the explanation!

bad pcc could be explained by overflows, but do we have an explanation for the ND pcc that was initially reported?

@uaydonat I don't see a fixed seed in the test. Wouldn't we always get slightly different pccs each time in that case?

@uaydonat I don't see a fixed seed in the test. Wouldn't we always get slightly different pccs each time in that case?

Yes, we would.
@johanna-rock-tt please check in your top comment, the test you mentioned is setting the seed or not. If not, please check the ND goes away with seed.

Just checked. We didn't have a manual seed set, but setting the seed (torch.manual_seed(1234)) still results in ND PCC for me:
PCC value: Max ATOL Delta: nan, Max RTOL Delta: nan, PCC: -0.00031071428310952017, PCC check failed
PCC value: Max ATOL Delta: nan, Max RTOL Delta: nan, PCC: -0.00024354556162184027, PCC check failed
PCC value: Max ATOL Delta: nan, Max RTOL Delta: nan, PCC: -0.00013977039323418247, PCC check failed

@johanna-rock-tt for random PCCs

what about the other test cases?
what if you use the program config that gives a good PCC?

I'm wondering if the remaining ND PCC behaviour is related to https://github.com/tenstorrent/tt-metal/issues/10673

The other shapes of the same test as well as the problematic shape with the program config that gives good PCC have deterministic PCC (tested with 3 runs each).

Interesting. The kernels used by MatmulMultiCoreNonOptimized may not be configured properly to handle bfloat4_b that shows up when rounding is involved.
I'll have to look into that.

I talked to @tt-aho
Turns out that mixed precision was not supported by the kernel.
@tt-aho created a commit https://github.com/tenstorrent/tt-metal/commit/a18426975e4d9f3348504b55e61a9f8d6c067ed1 that addressed this issue and I created a PR https://github.com/tenstorrent/tt-metal/pull/11947 to run all the pipelines, etc.
I verified that after this change the test passes and using torch.manual_seed(1234) and running a couple of times produces the same PCC:
2024-08-27 14:55:05.818 | INFO     | tests.ttnn.multichip_unit_tests.test_multidevice_TG:test_galaxy_matmul_2d_fracture:159 - PCC value: Max ATOL Delta:<PHONE_NUMBER>2070312, Max RTOL Delta: inf, PCC: 0.9926411554984379
2024-08-27 14:58:02.574 | INFO     | tests.ttnn.multichip_unit_tests.test_multidevice_TG:test_galaxy_matmul_2d_fracture:159 - PCC value: Max ATOL Delta:<PHONE_NUMBER>2070312, Max RTOL Delta: inf, PCC: 0.9926411554984379

@johanna-rock-tt the fix is merged. Please verify that everything works as expected and then you can uncomment the relevant test parameter combination.


[CSL-754] Factor core out

This commit does the following:

Split out into cardano-sl-core:

some modules from Pos.Crypto.*
some modules from Pos.Types.*
Pos.Script.Type (under the name of Pos.Types.Script)
Pos.Merkle
Pos.Data.Attributes
Pos.Binary.Class

Move Pos.Util.Binary into Pos.Binary.Class.

Get rid of Pos.Crypto.Arbitrary.Hash.

Get rid of the KeyPair type from Pos.Crypto.Arbitrary.

Thanks @mention-bot, going to review now

:D

Hmmmm, looks nice
Great job, @neongreen

though in the future please try to keep such changes in separate commits, there's no reason why e.g. “Move Pos.Util.Binary into Pos.Binary.Class” couldn't be in a different commit (and it makes reviewing harder)

ok

@neongreen btw, I totally agree with @neongreen 👍


Bug: Fail when using AWS profile with SSO with sso-session

Expected Behaviour
Supports SSO profiles using sso-session for authentication.
Current Behaviour
Credential chain fails
Code snippet
[sso-session SESSION_NAME]
sso_start_url = https://REDACTED.awsapps.com/start
sso_region = eu-west-1
sso_registration_scopes = sso:account:access

[profile PROFILE_NAME]
sso_account_id =<PHONE_NUMBER>00
sso_role_name = Administrator
region = eu-west-1
sso_session = SESSION_NAME

Possible Solution
No response
Steps to Reproduce

Install eksup
Setup your aws config like code snippet
Set AWS_PROFILE to your SSO profile
Try analyze like eksup analyze -c cluster-v2 -r eu-west-1

eksup version
latest
Operating system
Linux x86_64
Error output
eksup analyze -c cluster-v2 -r eu-west-1 -v
   WARN aws_config::profile::parser::normalize: profile `sso-session SESSION_NAME` ignored because `sso-session SESSION_NAME` was not a valid identifier
    at /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-config-1.1.3/src/profile/parser/normalize.rs:87

   WARN aws_config::meta::credentials::chain: provider failed to provide credentials, provider: Profile, error: the credentials provider was not properly configured: ProfileFile provider could not be built: profile `PROFILE_NAME` was not defined: `sso_region` was missing (InvalidConfiguration(InvalidConfiguration { source: "ProfileFile provider could not be built: profile `PROFILE_NAME` was not defined: `sso_region` was missing" }))
    at /cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-config-1.1.3/src/meta/credentials/chain.rs:90

Seems like a fix to this was released recently for the rust sdk https://github.com/awslabs/aws-sdk-rust/releases/tag/release-2024-01-25

Hi @Flydiverny, did you find temporary solution for this?


Use Hash#fetch instead of Hash#default_proc

Hash#default_proc can't be marshalled, it brokes chaching.

Hi @plus3x ! Can you tell me a bit more about what caching is being broken here? Do you have a test case handy for where the current code is breaking?

Simple way to reproduce:

Thanks for the example, @plus3x. Can you share more about in what context you're needing to do this Marshal.dump?

NewRelic::Agent::Transaction.wrap(NewRelic::Agent::TransactionState.tl_get, nil, nil) do
  Rails.cache.fetch('key') { Typhoeus.get 'https://google.com' }
end
#=> ETHON: performed EASY effective_url=https://google.com/ response_code=302 return_code=ok total_time=0.020555
#=> TypeError: can't dump hash with default proc

In my case it's  generates automatically on controller action.

Hello @plus3x, thanks again for your response.
In the above example, the value being stored in the cache is the return of Typhoeus.get, which is a Typhoeus::Response instance. This object shouldn't have any references to a NewRelic::Agent::TransactionMetrics instance; if that is what you are seeing, please let us know. In my investigations, I found what I believe you are seeing:
    591: def save_block_result_to_cache(name, options)
    592:   result = instrument(:generate, name, options) do
    593:     yield(name)
    594:   end
    595:
 => 596:   write(name, result, options)
    597:   result
    598: end

[1] pry(#<ActiveSupport::Cache::MemoryStore>)> result.class
=> Typhoeus::Response
[2] pry(#<ActiveSupport::Cache::MemoryStore>)> Marshal.dump(result)
TypeError: can't dump hash with default proc
from (pry):2:in `dump'

In this case, I believe the default_proc you are running into is from typhoeus. Again, please let us know if you have tracked this down to TransactionMetrics in some other way.

Hi @plus3x based on the information we have so far, it looks like this change would not fix the issue you're having, so we'll be closing this PR. If new information comes to light though, please do let us know!


[BEAM-13271] Bump errorprone to 2.10.0

In preparation for upgrading to errorprone 2.11.0 when it comes out, I went ahead and made the jump from 2.3.4 -> 2.10.0 so we can go ahead and address those issues.
This exposed an issue in the new ArgumentSelectionDefectChecker (https://github.com/google/error-prone/issues/2745). I was able to resolve this for some projects by bumping autoservice to 1.0.1 (from 1.0-rc6), but a few projects that have transitive dependencies on old guava versions still run into the issue, so I disabled the check for now.
For most of the remaining new checks I've just disabled them (56af3f1d5d7dec51a9ad54ead06677a7f704c679). Others I've gone ahead and addressed. I tried to split out the trivial  changes (d5f9a05cbb8594971d7819e348df1589d9b6eee1) from those that are more involved and may require more scrutiny (5de18c7d454c26ad523580b0b14a041b1946a813).

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @kileys

Looks like there's a few more errorprone warnings in the tests too

Looks like there's a few more errorprone warnings in the tests too

Yeah, I think I only addressed checks raised by compileJava, and not compileTestJava

Run Java PostCommit

Run Java_Examples_Dataflow_Java11 PreCommit

Run Java PreCommit

Run Java PostCommit

Run Java_Examples_Dataflow PreCommit

Run Java PreCommit

Run Website PreCommit

Run Java_Examples_Dataflow PreCommit

Run Java PostCommit

PostCommit is timing out right now (BEAM-13456), I don't feel great submitting this without a green PostCommit run since it changes several IOs.

Run Java PostCommit

This has merged conflicts with Rollback PR #16257. I'm going to put this on hold until we can get that rolled forward, see https://github.com/apache/beam/pull/16257#issuecomment-996235116

I rebased onto master and resolved merge conflicts. The only new (unreviewed) change is in 03b93ef667379aa3c193c1efc8e7913e2cd80d82. I had to explicitly ignore some return values (CC @robertwb in case you intended to actually inspect these return values).

I will go ahead and merge when CI passes

Run Website_Stage_GCS PreCommit

Run Java_Examples_Dataflow_Java11 PreCommit

Run Java_PVR_Flink_Docker PreCommit

Run PythonDocker PreCommit

Run SQL_Java11 PreCommit

Run Website_Stage_GCS PreCommit

Run Java PreCommit

Website_Stage_GCS failure is a known issue and unrelated to this change: https://lists.apache.org/thread/jw0l6bxdzxs3bvl7ls24slbbwxl262ky

Run Website_Stage_GCS PreCommit


Update iscsi_installation.md

What this PR does / why we need it:
"I updated a Longhorn link that was returning a 404 error."
Special notes for your reviewer:
https://longhorn.github.io/longhorn-tests/manual/release-specific/v1.1.0/iscsi_installation/

Thanks @Vinaum8 but why I don't see any changes in the commit?

@khushboo-rancher sorry for this, i'll close this pr.


Nested object field do not use Field.alias value in ExpressionField

When executing an expression of a nested object field of a Document class, the value of the aliases is not used to create the expression string for the mongo query.
E.g.
class HeaderObject(BaseModel):
    header_id: str = Field(alias="headerId")

class Header(Document):
    class Collection:
        name = "test-header"

    header: HeaderObject

print(Header.header.header_id == 1) # actual => {'header.header_id': 1}; expected => {'header.headerId': 1}

So the solution is that beanie during the class init, check the type of the field, if it is object, so go inside it to get the alias.

I have the same problem, this happens also using alias_generator inside the Model.Config. It is quite upsetting because alias is called on a plain object but not inside a nested.


satellite overlay objects

For overlaying goes data, and perhaps other satellites, there are some helper functions, which I think should be part of pyorcestra.   For instance I use the following from Divya:
from goes2go.data import goes_nearesttime, goes_latest
import xarray as xr
def _create_GOES_variable(
        goes_object: xr.Dataset, variable: str, gamma:float = 1.2
        ):
    GOES_PRODUCT_DICT = {
        "AirMass": goes_object.rgb.AirMass,
        "AirMassTropical": goes_object.rgb.AirMassTropical,
        "AirMassTropicalPac": goes_object.rgb.AirMassTropicalPac,
        "Ash": goes_object.rgb.Ash,
        "DayCloudConvection": goes_object.rgb.DayCloudConvection,
        "DayCloudPhase": goes_object.rgb.DayCloudPhase,
        "DayConvection": goes_object.rgb.DayConvection,
        "DayLandCloud": goes_object.rgb.DayLandCloud,
        "DayLandCloudFire": goes_object.rgb.DayLandCloudFire,
        "DaySnowFog": goes_object.rgb.DaySnowFog,
        "DifferentialWaterVapor": goes_object.rgb.DifferentialWaterVapor,
        "Dust": goes_object.rgb.Dust,
        "FireTemperature": goes_object.rgb.FireTemperature,
        "NaturalColor": goes_object.rgb.NaturalColor(gamma=gamma),
        "NightFogDifference": goes_object.rgb.NightFogDifference,
        "NighttimeMicrophysics": goes_object.rgb.NighttimeMicrophysics,
        "NormalizedBurnRatio": goes_object.rgb.NormalizedBurnRatio,
        "RocketPlume": goes_object.rgb.RocketPlume,
        "SeaSpray": goes_object.rgb.SeaSpray(gamma=gamma),
        "SplitWindowDifference": goes_object.rgb.SplitWindowDifference,
        "SulfurDioxide": goes_object.rgb.SulfurDioxide,
        "TrueColor": goes_object.rgb.TrueColor(gamma=gamma),
        "WaterVapor": goes_object.rgb.WaterVapor,
    }
    return GOES_PRODUCT_DICT[variable]

With this it is pretty easy to get GOES data and overlay it.. I just thought that the above is a bit more general purpose and perhaps should be added to the pyorcestra tools, but did not have an obvious suggestion as to where.
With this definition to overlay a BAHAMAS flight track on GOES is just a matter of the following
from orcestra.flightplan import  LatLon, path_preview
import matplotlib.pyplot as plt
import seaborn as sns
import cartopy.crs as ccrs
sns.set_context("talk")

flight_name = 'HALO-20240811a'
flight_date = flight_name[5:9]+'-'+flight_name[9:11]+'-'+flight_name[11:13]
g2g_0811_16utc = goes_nearesttime(flight_date+'T16:00', satellite=16, product="ABI", domain = "F")
goes_variable  = _create_GOES_variable(g2g_0811_16utc, "TrueColor")
tracks = xr.open_dataset('/Volumes/ORCESTRA/'+flight_name+'/bahamas/QL_'+flight_name+'_BAHAMAS_V01.nc')
path   = LatLon(lat=tracks['IRS_LAT'], lon=tracks['IRS_LON'], label=flight_name)
f
ig, ax = plt.subplots(
   figsize=(15, 8),
   facecolor='white',
   subplot_kw  ={"projection": ccrs.PlateCarree()}
)
path_preview(path,ax=ax,show_waypoints=False,color='#FF5349')
ax.imshow(goes_variable, transform=g2g_0811_16utc.rgb.crs, regrid_shape=3500,
             interpolation='nearest')
fig.savefig(flight_name+'-track.png',bbox_inches='tight')

Yes, I think this feature would be a nice addition!
At the moment we have orcestra.sat which mainly deals with satellite tracks and orcestra.weathermaps which so far only plots satellite images... I see where your confusion comes from 😬
For now, I would suggest putting it next to the MODIS function in orcestra.weathermaps, but expect the location to change in the future.

Closed in #43


question: is there a way to disable autoformat on save in the current buffer?

currently, i have stylua set as the formatter_by_ft for lua, and also have lsp_fallback enabled in format_on_save.
I sometimes do not want to format, thus i would like to disable formatting on save. But to do that, right now, i have to manually change the configuration and delete stylua in formatter_by_ft and set lsp_fallback in format_on_save as false.
Is there a way to disable all formatting on save happening in the current buffer?
If not, I think it would be a really useful feature

:h noautocmd (use with w).

damn, i feel stupid now. I just spent hours trying to think about how to do that lol.
Altough i do would still like to have a way to temporarely disable formatting on save, thus allowing me to only write :w instead of :noautocmd w everytime i want to save. Especially since this disables all autocmd run with :w, i have other things which rely on that autocmd.
But yeah it's already a good partial fix to my problem. Thanks


getAction() undefined because Android Intent is 'null'

When sharing a file to the app, the intent is null.
Thus, I get the error Attempt to invoke virtual method 'java.lang.String android.content.Intent.getAction()' on a null object reference - not sure why the intent is null. I reviewed the AndroidManifest.xml, and it seems to be correct for sharing files.
Here's the code in ReceiveSharingIntentModule.java that's sending the 'null' intent to 'sendFileNames':
  @ReactMethod
  public void getFileNames(Promise promise){
    Activity mActivity = getCurrentActivity();
    if(mActivity == null) { return; }
    Intent intent = mActivity.getIntent();
    receiveSharingIntentHelper.sendFileNames(reactContext, intent, promise);
    mActivity.setIntent(null);
  }

same problem https://github.com/ajith-ab/react-native-receive-sharing-intent/issues/110#issuecomment-971612714

@ajith-ab


[Bug] Crash on neoforge 21.1.61

geckolib-neoforge-1.21.1-4.6.6 crashed neoforge 21.1.61 with no other mods installed
https://pastebin.com/raw/XzKcguYD

Does this issue still happen with latest NeoForge?

Yes i'm getting the same issue on NeoForge 21.1.37:
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Callback method geckolib$wrapArmorPieceRender(Lnet/minecraft/client/renderer/entity/layers/HumanoidArmorLayer;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/EquipmentSlot;ILnet/minecraft/client/model/HumanoidModel;FFFFFF)Z in geckolib.mixins.json:client.HumanoidArmorLayerMixin from mod geckolib failed injection check, (0/1) succeeded. Scanned 0 target(s). No refMap loaded.

I can't seem to replicate this?
It's working fine for me in neoforge 21.1.71, using geckolib 4.6.6

Try neoforge 21.1.61 or older

I mean that defeats the purpose lol
If it only has errors on old versions, then don't use old versions


Landing page design comments

Landing page comments:
Logged in issues (high priority)
If you are already logged in, or after you log in, if you go to the root url again it takes you to the landing page still with the login prompt and no way to get to your projects.
After you log in / if you are already logged in the root URL should redirect you to your projects page - as you can create a project from there, but also open existing ones.
General

Button Icons need to be exported with the internal 'white space'' included, aka the buttons should be 1:1 svgs when exported. They can be exported here
The buttons are misaligned vertically
With the link button - should the link be inside a button?

Maybe we should do it like the project site one so its just a link styled as a button - storybook
Current implementation has focusing issues as the keyboard focuses the button (which doesn't do anything when actioned) before the link. This is also an issue with mouse interaction as you have to exactly click the text rather than the button as a whole.

The footer seems to be a tad broken visually on dark mode. Maybe it should just have the same background colour as the page.

Originally posted by @maxelkins in https://github.com/RaspberryPiFoundation/editor-ui/issues/493#issuecomment-1612845362
Notes
Have removed button comments from this ticket
Will tackle specific button related issues more generally and hopefully in tandem with implementing the design system.

closed with merge


Chime dataset link is wrong

Hi I tried your github code. but I had some error message.
but I coundn't solve error message.
I think Chime dataset link is something wrong.
Maybe, Chime dataset github link updated.
The json_files of the chime dataset has a dev folder and a train folder, but no eval folder.
if you try to 'run_models_on_chime.ipynb', you can get error message.
plz check your github datset thanks!
and got bless you.

Hey, probably I will think about removing this notebook since it is not actually very useful for anyone, it was just meant to be as a debug tool. The CHiME dataset generation is not actually so relevant with this repo.
Have a great day!


PART stand alone clarification

Dear Zeyu Zheng,
thank you for developing such a good merging tool.
I am trying to use the PART stand alone to first merge between different variant callers but same sample, and later to merge the output vcfs from this first part to get a multi-sample vcf.
From your paper, 'The PART method is applied twice to merge SVs from different callers, either for individual analysis or for multiple individuals within large populations'. I cannot find a way to input more than one vcf to the stand alone PART.
I looked at your example on Ocean, and here it seems to me that you have provided an already merged (with bcftools merge) vcf file. So, I guess I should merge different samples with bcftools merge, but how do I merge between different variant callers and same sample? How do you suggest to proceed?
Thanks in advance.
Kind regards,
Riccardo Rossi

Hi, Rossi.
Ths input file of "PART stand alone mode" must be one VCF file with multiple samples.
If multiple VCF needs to be processed, such as from "different variant callers but same sample", you need to merge all those VCFs into one VCF file firstly. Each samples in this VCFs represents result of one variant callers. This process can be done by using bcftools merge -m none -o OUT.vcf.gz IN1.vcf.gz IN2.vcf.gz .... Noted that the parameter of -m none is necessary to avoid the extra process of bcftools.
If you need to merge mulitple samles with mulitple variant callers, you need to merge variant callers for each samples separately. Then, you can merge SVs of multiple samples.

Thank you very much


Update documentation for Package Manager 1.3 client

Updates the Package Manager docs with changes from the latest 1.3 client.

@ryfu-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@KevinLaMS,
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@mattwojo : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ryfu-msft - It looks like this PR will update the issue this customer filed: https://github.com/MicrosoftDocs/windows-uwp/issues/3969 ..but can you take a look to confirm?

@ryfu-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ryfu-msft - It looks like this PR will update the issue this customer filed: #3969 ..but can you take a look to confirm?

Yes, I believe this PR will resolve issue 3969 as my changes now include documentation for winget upgrade

@denelon, I updated the settings file json example in the settings.md file as well as documented that experimental features are only available in preview builds.

Looks good!


javascript error

hi
im getting JS error:
Error: Invalid value for  attribute r="NaN"      d3.v2.min.js:2131
ES version: 0.20.6
bigdesk version: well master, dunno where to find your versioning
installed ES and bigdesk out of the box, no data indexed yet.

I am archiving this repository now. Thanks for contributions.


Fix indentation of external_includes

This wasn't happening in the loop

missed in a95424548c494470258a23128f70244f7a79dac2 i think

Thanks!


find_max sign bug

Expected Behavior
When using find_max and you end up in a situation where objective function does not change, the objective delta stop strategy should stop the search.

Current Behavior
when using the dlib::find_max function with dlib::newton_search_strategy and dlib::objective_delta_stop_strategy(1e-7) I end up in a case when the step increment (alpha variable) is zero, but in the stop_strategy.should_continue_search, this is not detected since the f_value sign is toggled with each iteration. The result is an infinite loop.

Steps to Reproduce
Provide a non-converging function to find_max with dlib::newton_search_strategy and dlib::objective_delta_stop_strategy where the max != 0.

Version:
19.18
Where did you get dlib:
dlib.net
Platform:
windows 10, 64-bit (not OS dependent)
Compiler:
msvc 19.16.27034 (not compiler dependent)

I'm not sure I see how this can happen. Can you provide a short and complete example that when executed reproduces the problem?

I would love to give you a simple example or just fix the code for you (I normally try to with libraries I use), but I’m unfortunately to pressed for time right now. I solved the problem by using find_min instead of find_max.
I can however explain in greater detail what happens. In the find_max function stop_strategy.should_continue_search should stop the case I got into (where the alpha variable is 0 and the algorithm is struck), but in this case, the following lines:
if (std::abs(funct_value - _prev_funct_value) < _min_delta)
return false;
do not return false because funct_value and prev_funct_value have different signs, and in every iteration of the loop in find_max they both swap signs so that one is always positive and the other negative. It’s a problem only in find_max implementation not present in find_min.
It is an artifact of the sign switching done in the find_max. The alpha is 0 so you’re stuck, and every loop you call:
f_value *= -1;
switching signs on the function value and in each iteration that is compared to the previous value stored in the stop strategy which has opposite sign.
I hope this is enough to help. I’m sincerely sorry that I don’t have time to just push a fix for you.

Yes, I see what you mean.  Thanks for reporting this.  I just pushed a fix
to github.
On Thu, Oct 31, 2019 at 3:10 AM DavidGEklund<EMAIL_ADDRESS>wrote:

I would love to give you a simple example or just fix the code for you (I
normally try to with libraries I use), but I’m unfortunately to pressed for
time right now. I solved the problem by using find_min instead of find_max.
I can however explain in greater detail what happens. In the find_max
function stop_strategy.should_continue_search should stop the case I got
into (where the alpha variable is 0 and the algorithm is struck), but in
this case, the following lines:
if (std::abs(funct_value - _prev_funct_value) < _min_delta)
return false;
do not return false because funct_value and prev_funct_value have
different signs, and in every iteration of the loop in find_max they both
swap signs so that one is always positive and the other negative. It’s a
problem only in find_max implementation not present in find_min.
It is an artifact of the sign switching done in the find_max. The alpha is
0 so you’re stuck, and every loop you call:
f_value *= -1;
switching signs on the function value and in each iteration that is
compared to the previous value stored in the stop strategy which has
opposite sign.
I hope this is enough to help. I’m sincerely sorry that I don’t have time
to just push a fix for you.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/davisking/dlib/issues/1908?email_source=notifications&email_token=ABPYFRY4ENUMPLVYFY4D6MTQRKAGPA5CNFSM4JGVHJJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECWYL2Y#issuecomment-548242923,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPYFR4B5L4WAKLW2NXACZLQRKAGPANCNFSM4JGVHJJQ
.

Glad to be of help.


Toggle context help

@git-marijus I'm not sure if this pull request includes your help button behavior updates or not, but at least the admin setting to toggle the context help works.

@anaqreon the help button is not there... and there seems to be a bug: clicking the help button triggers the contextual menu and at the same opens a new window/tab with the help...
I'll have a closer look this evening...

This is precisely what should have been fixed by this commit. Caching problem again? Because I took code out of redbasic.js.


It's not easy to get Weather Underground API key anymore

It seems we need local weather station to get API Key. Shall we change sample API to something different?

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

ID: 3191ff31-64ac-2a62-d460-1cef5ceddf7f
Version Independent ID: 2f286018-f0d6-b7a2-beaa-fa32c7720a4d
Content: Monitors in Durable Functions - Azure
Content Source: articles/azure-functions/durable/durable-functions-monitor.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: azfuncdf

@kenakamu Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

reassign:anthonychu

Duplicate of https://github.com/MicrosoftDocs/azure-docs/issues/12943
#please-close

thanks for linking to duplicate but the linked one already closed without any change yet?


use new branch for the product

use the new branch to add crop mask

hmm, maybe I should ask how do we plan to use this for ows layer style development?

For the description, we might not want to include all the details on features because they might change. I suggest the detailed model description or identifier goes into the json produced with the mask.
For the produce description: annual crop land map, produced from Sentinel-2 observations and ancillary information.

hmm, maybe I should ask how do we plan to use this for ows layer style development?

For the styling, we'll have a binary mask layer and an integer percent probability layer. We haven't designed how they should look like yet. Do we have something similar for Australia?

For the styling, we'll have a binary mask layer and an integer percent probability layer. We haven't designed how they should look like yet. Do we have something similar for Australia?

@alexgleith , @whatnick I think only you two could answer this.

It's crops, so maybe it's green for crops, and transparent for non-crop?
Want me to pick a shade of green?

Not relevant for the product, but relevant for OWS presentation.

add crop mask eastern africa


Snapshot publication for native library

Expected behavior
Snapshot version of kqueue available at Sonatype snapshot.
Actual behavior
For 4.1.26.Final-SNAPSHOT, the kqueue artifact with classifier osx-x86_64 is not published (the one with the META-INF/native), whereas it seems ok for epoll.
Steps to reproduce
sbt update
Minimal yet complete reproducer code (or URL to code)
https://github.com/cchantep/netty-native-shading
Netty version
4.1.26.Final-SNAPSHOT
JVM version (e.g. java -version)
1.{8,9}
OS version (e.g. uname -a)
OS X (high sierra)

these days we publish

@normanmaurer I don't think the issue is fully resolved: the snapshots repository does contain a jar with osx-x86_64 classifier for 4.1.43.Final-SNAPSHOT, but only one.
Newer versions with a newer timestamp don't include the native library nor classifier 😢
Compare just the filenames of kqueue vs epoll and notice epoll consistently has the linux-x86_64 classifier, while kqueue doesn't.


Timeout to begin dragging

Is it configurable? I'm now implementing ng-mousedown/up to handle this :-1:  :(

Note, I'm using this on Android.

I found the solution, I was using 1.3.2 version and was not including longTouch option there. Using the last version I solved this. Thanks.


Add cost examples to resource limits and fees page

What problem does your feature solve?
It would benefit readers if there were a cost examples in https://developers.stellar.org/docs/reference/resource-limits-fees
What would you like to see?
A table with costs for frequently executed transactions such as:

Scenario
Approximate Cost (XLM)

Upload a new 64KB Wasm (includes 120 day rent)
0.7385

1 year of 64KB Wasm storage rent
269.551

Bump 64KB Wasm rent by 1 day
0.00202

Modify 64 KB contract data entry without increasing the size
0.7385

Create 100 byte contract data entry (includes 120 day rent)
0.00115

1 year of 100 byte storage rent
0.4212

Modify 100 byte contract data entry without increasing the size
0.00115

What alternatives are there?
Users may calculate costs themselves.

The plan here is embed another helpful dashboard


ModuleNotFoundError: No module named 'ratelim'

Hi there !
I tried to use geocoder.google(~, method='reverse').
It happened this error. for detail below,
~ geocoder/freegeoip.py", line 8, in  ~
Should I install 'retelim' also for using geocoder ?

If it tells you this, you should install 'retelim'. If it doesn't work, reinstall geocoder.

Thanks for communication, Vihaan.
I tried install retelim and the other modules.
But 'geocoder.google' could not run.
Isn't it need to register google API ?
So I tried 'geocoder.osm', and it worked !

Nice to hear that the problem is fixed. Please close this issue.


Decrypt malfunction in Enigma class

The decrypt function has a problem I can't think of a way to solve.
def _decrypt(self):
        output = ""
        # Variable to store suspected sequences
        current_sequence = ""
        # Replacement dictionary for special characters
        replacement_dict = self._nulls
        # Boolean to know if the current_sequence variable is not empty
        in_sequence = False
        for char in self._lampboard:
            if not in_sequence and char in self._sequence_marker:
                # Start a sequence
                current_sequence += char
                in_sequence = True
            elif in_sequence:
                # Add a character to the current sequence if it's length is less than 3
                current_sequence += char
                if len(current_sequence) == 3:
                    # Current sequence has reached max length, so add the corresponding special character to the output if current_sequence is found in the dictionary else add all the letters in current sequence to the output
                    output += replacement_dict.get(current_sequence, current_sequence)
                    # Important reset
                    current_sequence = ""
                    in_sequence = False
            else:
                # Add character to output as character doesn't begin a null sequence and current_sequence is empty
                output += char
        return output

This function actually gets called after decryption though. It's purpose is to replace special sequences in decrypted text with a special character mapped to the sequence.
E.g
input: HELLOHRLWORLD
return value: HELLO WORLD

Problem

Test 1

input: JUSTHRLME
return value: JUSTHRLME

Test 2

input: THISHRLFOOD
return value: THI)LFOOD

At first I thought the sequence of nulls for special characters would be good. But that didn't seem to work out in my head. So I'd really appreciate help on this.

Yes it doesn't work as it supposed to. This is because my special character sequences are not unique.

So, does this mean you've figured it out already?

No.

In the test2 is that ) a typo

Wait, I just read what you said about your special character sequence not being unique.
If it is not unique, then what other property can be used to differentiate it from randomly occurring sequences of characters just like it?

I am thinking of using indicators like an exclamation perse to tell that i'm about to enter a special sequence.

Okay, are you gonna implement it, or it's just a thought?

Just a thought for now


Exception with material design version

When my using material version 1.1.0-alpha05, the snooper library crashes with the following exception:
Caused by: java.lang.ClassCastException: com.prateekj.snooper.networksnooper.activity.HttpCallActivity$setupUi$1 cannot be cast to com.google.android.material.tabs.TabLayout$BaseOnTabSelectedListener
09-24 11:41:47.662 11526 11526 E AndroidRuntime: 	at com.prateekj.snooper.networksnooper.activity.HttpCallActivity.setupUi(HttpCallActivity.kt:72)
09-24 11:41:47.662 11526 11526 E AndroidRuntime: 	at com.prateekj.snooper.networksnooper.activity.HttpCallActivity.onCreate(HttpCallActivity.kt:61)
Are there plans to update the library using material version 1.1.0 or later? Looks like it's using 1.0.0 which is quite old.

Yea, the style (@style/ThemeOverlay.AppCompat.Dark.ActionBar) is not compatible with com.google.android.material.tabs.TabLayout.
Per https://material.io/develop/android/components/tabs#theming-tabs, you'll need to have the parent set appropriately or the enforcement part of the layout will throw this exception.

@retsameht01 i could reproduce the crash using the material's version you suggested i.e. 1.1.0-alpha05. I've upgraded it to latest version now and working fine and release 1.5.6.
but if parent project is enforcing the dependency version you are using, it'll fail again for the same reason.

Version 1.5.6 is available on maven central. Closing this issue for now. Feel free to open it incase we face this issue again.
Thanks,

Appreciate the update. Thank you
On Wed, Oct 7, 2020 at 11:26 Prateek<EMAIL_ADDRESS>wrote:

Closed #25 https://github.com/jainsahab/AndroidSnooper/issues/25.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jainsahab/AndroidSnooper/issues/25#event-3851170459,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFT7PNL63CASKFSZPTWXIDSJSCEBANCNFSM4RYV6KPA
.


NUnit 3 Test Results - Incorrect Test Duration values

Agent version and platform
Version of your agent?
Tried both 2.110.0 and v2.111.1

OS of the machine running the agent?
OSX

VSTS type and version
VisualStudio.com or On-Prem TFS?
VisualStudio.com

What's not working?
The test duration values are not being populated correctly when using NUnit 3 test results.
The total duration seems to be populating the seconds correctly but it's ignoring the milliseconds.
It was 0:00:08.212 but it shows only 0:00:08.000. The individual tests are always showing 0s.
I ran the build once with all the sample test cases from the https://github.com/nunit/nunit.xamarin repository, and I also added 2 tests with Thread.Sleep to test the duration (test_duration - 3 seconds, failed_test_duration - 5 seconds).
Test Results: https://github.com/nunit/nunit.xamarin/files/706940/UnitTestsResults.xml.zip

@plneto Are you still getting this issue?
I ran some tests and it seems to be accurate to the millisecond:

I do see that yours says NUnit Test Runner, not sure how you had things setup. Mine is using NUnit3 and the VSTest Task.

@stephenmichaelf Yes, I'm still having this issue. I'm using https://github.com/nunit/nunit.xamarin to generate the test results.
Does the format from my test results file look different to yours?

@nigurr can you take look this issue?

@plneto @nigurr is this issue still going on?


check for vulnerability feature enabled

This should resolve issues with deploying an HTTPS load balancer where the Vulnerability Feature is set to False.
Settings:
ALB_PROTOCOL = "HTTPS"
ENABLE_VULNERABILITY_FEATURE = False
Result of Install:
Error: resource 'aws_lb_listener_rule.pacbot_app_alb_https_listener_VulnerabilityALBHttpsListenerRule' config: unknown resource 'aws_alb_target_group.pacbot_app_alb_target_groups_VulnerabilityALBTargetGroup' referenced in variable aws_alb_target_group.pacbot_app_alb_target_groups_VulnerabilityALBTargetGroup.arn
Explanation of Change:
The alb_https_listener.py does not use the same logic to decide whether or not to process the VulnerabilityFeature as the alb_listener_rules.py does. By using the same "need_to_deploy_vulnerability_service()" method from utils.py, we can expect the same behavior as we have when using the HTTP protocol setting.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Joshua Barton seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

This project doesn't seem active anymore