tests/crypto/rand32/crypto.rand32.random_hw_xoroshiro: Usage fault "Fatal fault in ISR! Spinning..."

To Reproduce
Steps to reproduce the behavior:

mkdir build; cd build
cmake -DBOARD=sam_e70_xplained -DARCH=arm
make
make run

Screenshots or console output
***** USAGE FAULT *****
Unaligned memory access
***** Hardware exception *****
Current thread ID = 0x00000000
Faulting instruction address = 0x403618
Fatal fault in ISR! Spinning...

Environment (please complete the following information):

OS: fedora29
Toolchain: zephyr
Commit SHA or Version used: 9c2c115716700da3279fd4ab541f0f598d0c4d6d

@cinlyooi-intel Please always specify what tests failed exactly, this project has multiple tests, the reproduction steps are not correct.
Also, -DARCH=arm are not needed.

more debug info:
DEVICE: [00:00:00.000,000] <dbg> mpu.arm_mpu_init: total region count: 16
DEVICE: [00:00:00.000,000] <dbg> mpu._region_init: [0] 0x00400000 0x07020028
DEVICE: [00:00:00.000,000] <dbg> mpu._region_init: [1] 0x20400000 0x110b0022
DEVICE: [00:00:00.000,000] <dbg> mpu._region_init: [2] 0x20440000 0x110b0020
DEVICE: [00:00:00.000,010] <dbg> mpu._arch_configure_dynamic_mpu_regions: configure thread 0x00000000's domain
DEVICE: [00:00:00.000,011] <dbg> mpu._arch_configure_dynamic_mpu_regions: configure domain: 0x00403441
DEVICE: [00:00:00.000,013] <dbg> mpu._arch_configure_dynamic_mpu_regions: configure domain: 0x00403441
DEVICE: ***** USAGE FAULT *****
DEVICE:   Unaligned memory access
DEVICE: ***** Hardware exception *****
DEVICE: Current thread ID = 0x00000000
DEVICE: Faulting instruction address = 0x403692
DEVICE: Fatal fault in ISR! Spinning...

@ioannisg @andrewboie any hints?

I cannot reproduce this on nRF52X boards, need a sam e70, which i am getting soon, actually. Perhaps @aurel32 could help with sending a log from e70, as well?

I am unable to reproduce the issue. I tried both commit 9c2c115716700da3279fd4ab541f0f598d0c4d6d and the current master with both the SDK 0.10.0 and the Debian toolchain. in all cases the test pass.

While attempting to recheck this issue, I cannot boot if xoroshiro enabled (#14244) .

Oh trying harder I realized that the xoroshiro random generator is not the default one when using the above instructions. Manually selecting the option after configuring the test, I am able to reproduce the issue. The crash happens in the MPU code, more precisely there:
        /* Populate internal ARM MPU region configuration structure. */
        region_conf.base = new_region->start;
        _get_region_attr_from_k_mem_partition_info(&region_conf.attr,
  40383a:       e9d1 4300       ldrd    r4, r3, [r1]
        /* in ARMv7-M MPU the base address is not required
         * to determine region attributes
         */
        (void) base;

The compiler considers that *new_region is 64-bit aligned, and try to fetch both base and rasr with a single instruction.

Could it be that we do not respect the 8 bytes stack alignment in an interrupt?

Could it be that we do not respect the 8 bytes stack alignment in an interrupt?

This is hard to believe, STKALIGN is set to 1 during initialization, I wrote this myself:
#if defined(CONFIG_STACK_ALIGN_DOUBLE_WORD)
	/* Enforce double-word stack alignment on exception entry
	 * for Cortex-M3 and Cortex-M4 (ARMv7-M) MCUs. For the rest
	 * of ARM Cortex-M processors this setting is enforced by
	 * default and it is not configurable.
	 */
#if defined(CONFIG_CPU_CORTEX_M3) || defined(CONFIG_CPU_CORTEX_M4)
	SCB->CCR |= SCB_CCR_STKALIGN_Msk;
#endif
#endif /* CONFIG_STACK_ALIGN_DOUBLE_WORD */

ARM Note for CM7:

In the Cortex-M7 processor CCR.STKALIGN is read-only and has a value of 1. This means that the exception stack frame starting address is always 8-byte aligned.

Oh trying harder I realized that the xoroshiro random generator is not the default one when using the above instructions. Manually selecting the option after configuring the test, I am able to reproduce the issue. The crash happens in the MPU code, more precisely there:
        /* Populate internal ARM MPU region configuration structure. */
        region_conf.base = new_region->start;
        _get_region_attr_from_k_mem_partition_info(&region_conf.attr,
  40383a:       e9d1 4300       ldrd    r4, r3, [r1]
        /* in ARMv7-M MPU the base address is not required
         * to determine region attributes
         */
        (void) base;

The compiler considers that *new_region is 64-bit aligned, and try to fetch both start and size with a single instruction.

Might be worth of bringing this up; in ARMv7-M we allow unaligned access, @aurel32. That's why we also don't enable the corresponding UsageFault trap.

The alignment constraints are the same for Cortex-M4. I wonder if GCC is right to believe that the structure is 64-bit aligned and we are doing something wrong somewhere or if it is a GCC bug.

The alignment constraints are the same for Cortex-M4. I wonder if GCC is right to believe that the structure is 64-bit aligned and we are doing something wrong somewhere or if it is a GCC bug.

This needs investigation, I agree.
However, I would like to stress once more that perhaps it is time to forbid unaligned access in ARMv7-M. This is a recommendation for having v7-M  backwards compatible (binary compatibility) with ARMv8-M:
https://developer.arm.com/docs/100235/latest/the-cortexm33-instruction-set/cortexm33-instructions/binary-compatibility-with-other-cortex-processors
Un-aligned access is also forbidden in ARmv6-M.
What do you think?

The alignment constraints are the same for Cortex-M4. I wonder if GCC is right to believe that the structure is 64-bit aligned and we are doing something wrong somewhere or if it is a GCC bug.

Digging more into address alignment: ARMv7-M requires address in LDRD, STRD to be word-aligned. Now, I wonder why an address of a stack object (struct k_mem_partition) wouldn't be word-aligned...

@aurel32 in the UsageFault handler, could you print the contents of the stacked R1, to see if it is word-aligned or not?

It's not even half-word aligned: r1 = 0x403575. This can be seen in the GDB backtrace:
#0  _mpu_configure_region (index=3 '\003', new_region=0x403575 <_isr_wrapper>) at /home/aurel32/git/zephyrproject/zephyr/arch/arm/core/cortex_m/mpu/arm_mpu.c:91
This is an address on the flash, which corresponds to _isr_wrapper with the lower bit set (thumb mode). I therefore guess it comes from a stack overflow somewhere.
Note that the problem doesn't happen on a nucleo l432kc board (i had to force the MPU to be enabled), despite having the same LDRD instruction.

Hm, interesting.
Could you compile with --no_unaligned_access option? I am curious about the result.

I guess you mean -mno-unaligned-access. In that case I have no output at all, using gdb the code seems to loop in printk related functions. A simple hello world work though.

The issue might be located in the SAM entropy driver. The problem disappears if I remove the call to k_yield() in entropy_sam_wait_ready(). Now I am a bit lost, as this call happens from a thread and because the STM32 driver does the same and do not have the issue (or at least I can't reproduce it).

There are other fishy things even after disabling the k_yield(). For example if I also enable the shell:
***** Booting Zephyr OS v1.14.0-rc1-1065-g0e7cb91b27b6 *****
Running test suite common_test
===================================================================
starting test - test_rand32
Generating random numbers
PASS - test_rand32
===================================================================
Test suite common_test succeeded
===================================================================
PROJECT EXECUTION SUCCESSFUL

uart:~$ kernel threads
***** USAGE FAULT *****
  Division by zero
***** Hardware exception *****
Current thread ID = 0x204004f0
Faulting instruction address = 0x403272
Fatal fault in thread 0x204004f0! Aborting.
ASSERTION FAIL [z_spin_lock_valid(l)] @ /home/aurel32/git/zephyrproject/zephyr/include/spinlock.h:76
        Recursive spinlock
***** HARD FAULT *****
  Fault escalation (see below)
***** Hardware exception *****
Current thread ID = 0x204004f0
Faulting instruction address = 0x40153a
Fatal fault in ISR! Spinning...

The division by 0 happens in stack_unused_space_get() because size is 0.

The issue might be located in the SAM entropy driver. The problem disappears if I remove the call to k_yield() in entropy_sam_wait_ready(). Now I am a bit lost, as this call happens from a thread and because the STM32 driver does the same and do not have the issue (or at least I can't reproduce it).

This makes more sense to me. The driver might be corrupting the kernel memory inside ISR...

This makes more sense to me. The driver might be corrupting the kernel memory inside ISR...

I have disabled userspace and reduced the driver to a simple constant number generator and the shell problem is still there...

Skipping the problematic division, I got:
uart:~$ kernel threads
Threads:
*0x20400498 shell_uart
        options: 0x0, priority: 14
        stack size 0, unused 0, usage 0 / 0 (0 %)

 0x20400034 logging
        options: 0x0, priority: 14
        stack size 0, unused 0, usage 0 / 0 (0 %)

 0x204005ec idle
        options: 0x1, priority: 15
        stack size 0, unused 0, usage 0 / 0 (0 %)

It seems the stack size happened because I didn't run a make clean after disabling the userspace.

I am now convinced the issue is due to k_yield() call during the initialization of the Xoroshiro random number generator through the SAM driver. I have replaced the driver by a very simple version:
diff --git a/drivers/entropy/entropy_sam.c b/drivers/entropy/entropy_sam.c
index d4593f3a12..9ea2204888 100644
--- a/drivers/entropy/entropy_sam.c
+++ b/drivers/entropy/entropy_sam.c
@@ -47,6 +47,11 @@ static int entropy_sam_get_entropy(struct device *dev, u8_t *buffer,
 {
        Trng *const trng = DEV_CFG(dev)->regs;

+       //k_yield();
+
+       buffer[0] = 42;
+       return 1;
+
        while (length > 0) {
                size_t to_copy;
                u32_t value;
@@ -72,6 +77,8 @@ static int entropy_sam_init(struct device *dev)
 {
        Trng *const trng = DEV_CFG(dev)->regs;

+       return 0;
+
        /* Enable the user interface clock */
        soc_pmc_peripheral_enable(DT_ENTROPY_SAM_TRNG_PERIPHERAL_ID);

Enabling the k_yield() line causes a crash.

It looks to me that the issue is in the SAM driver. The driver should provide a get_entropy_isr method which can be called from ISR and which doesn't call k_yield(). In addition it should respect the ENTROPY_BUSYWAIT flag and not wait if it is not passed.
This makes me realize that the driver is not thread safe. It looks tricky to provide a thread/ISR safe version of the driver without disabling the interrupts between check that entropy is available and the read of that entropy with the current way it is done. I guess the easiest way is to read the entropy in a single place from the TRNG interrupt and putting it in a k_msgq based entropy pool. From there it should be trivial to provide the various versions.

@erwango I have noticed that the STM32 RNG driver is also using k_yield() so it is likely affected by the same issue (although the condition to trigger it are probably different).

@aurel32  Is this issue root caused?

@nashif @aurel32 @cinlyooi-intel @wentongwu could we just initialize the xoroshiro device in POST_KERNEL? AFAIK, we can't properly use kernel APIs before the kernel is initialized....
If I set this to POST_KERNEL, the tests executes successfully.


G_loss_frecon = tf.zeros(1)???

@tranluan
Is G_loss_frecon missing?  I can't find the relevant code in this model_nonlinear_3DMM.py
can you share the code to me?
Thank you very much!

@tranluan
Is G_loss_frecon missing? I can't find the relevant code in this model_nonlinear_3DMM.py
can you share the code to me?
Thank you very much!

Hi, You're right. It seems that perceptual loss (loss_frecon) is missing in the code. Did you find it anywhere?

@tranluan
Is G_loss_frecon missing? I can't find the relevant code in this model_nonlinear_3DMM.py
can you share the code to me?
Thank you very much!

Hi, You're right. It seems that perceptual loss (loss_frecon) is missing in the code. Did you find it anywhere?

I just found this problem. For the model_non_linear_3DMM.py file, I didn't find the corresponding place.

It should be similar losses defined in model_non_linear_3DMM_proxy.py
You also need code and model from:
https://github.com/ZZUTK/Tensorflow-VGG-face

It should be similar losses defined in model_non_linear_3DMM_proxy.py
You also need code and model from:
https://github.com/ZZUTK/Tensorflow-VGG-face

Thank you! @tranluan i will  to try it.

It should be similar losses defined in model_non_linear_3DMM_proxy.py
You also need code and model from:
https://github.com/ZZUTK/Tensorflow-VGG-face

Thanks @tranluan .

It should be similar losses defined in model_non_linear_3DMM_proxy.py
You also need code and model from:
https://github.com/ZZUTK/Tensorflow-VGG-face

Thanks @tranluan .

@HOMGH hi, Have you written the part of the code about the perceptual loss frecon? Can you share the code with me?  Thank you very much!

It should be similar losses defined in model_non_linear_3DMM_proxy.py
You also need code and model from:
https://github.com/ZZUTK/Tensorflow-VGG-face

Thanks @tranluan .

@HOMGH hi, Have you written the part of the code about the perceptual loss frecon? Can you share the code with me? Thank you very much!

Hi,Sorry not yet.

@tranluan
Is G_loss_frecon missing? I can't find the relevant code in this model_nonlinear_3DMM.py
can you share the code to me?
Thank you very much!

It should be similar losses defined in model_non_linear_3DMM_proxy.py
You also need code and model from:
https://github.com/ZZUTK/Tensorflow-VGG-face

Thanks @tranluan .

@HOMGH hi, Have you written the part of the code about the perceptual loss frecon? Can you share the code with me? Thank you very much!

Hi,Sorry not yet.

Well, I tried to imitate the writing of proxy.py and modified it, but some errors appeared. I haven't solved it until now. If you want to see the part of the code I wrote, I can email you, and then we Let's discuss it together.

It should be similar losses defined in model_non_linear_3DMM_proxy.py
You also need code and model from:
https://github.com/ZZUTK/Tensorflow-VGG-face

Thanks @tranluan .

Hi,@HOMGH  Have you solved the perceptual loss function code in this model_nonlinear_3DMM.py？

它应该是model_non_linear_3DMM_proxy.py中定义的类似损失您还需要来自： https ://github.com/ZZUTK/Tensorflow-VGG-face
的代码和模型

谢谢@tranluan.

你好，@HOMGH 这个model_nonlinear_3DMM.py中的感知损失函数代码你解决了吗？

它应该是model_non_linear_3DMM_proxy.py中定义的类似损失您还需要来自： https ://github.com/ZZUTK/Tensorflow-VGG-face
的代码和模型

谢谢@tranluan.

你好，@HOMGH 这个model_nonlinear_3DMM.py中的感知损失函数代码你解决了吗？

Hi,did you solve the loss function code?


[SAI-P4] add ARP qualifier for ACL ingress on the ToR.     [SAI-P4]Remove duplicate #includes.     [sai][p4info] Add function to get Unioned IR P4info.     [SAI-P4] Allow ICMP_TYPE matches on ingress, and forwarding actions on egress.     [SAI-P4] Add meter and rate limit action to QoS table.     [SAI P4] Add a P4-Constraints integration test to SAI-P4.

[SAI-P4] add ARP qualifier for ACL ingress on the ToR.
[SAI-P4]Remove duplicate #includes.
[sai][p4info] Add function to get Unioned IR P4info.
[SAI-P4] Allow ICMP_TYPE matches on ingress, and forwarding actions on egress.
[SAI-P4] Add meter and rate limit action to QoS table.
[SAI P4] Add a P4-Constraints integration test to SAI-P4.
[SAI-P4] Model multicast dmac drop
Build and UT :
rkavitha@9e478a70a357:/sonic/src/sonic-p4rt/sonic-pins$ bazel build  $BAZEL_BUILD_OPTS ...
INFO: Analyzed 282 targets (1 packages loaded, 2 targets configured).
INFO: Found 282 targets...
INFO: Elapsed time: 0.441s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
rkavitha@9e478a70a357:/sonic/src/sonic-p4rt/sonic-pins$ bazel test  $BAZEL_BUILD_OPTS ...
INFO: Analyzed 282 targets (0 packages loaded, 0 targets configured).
INFO: Found 178 targets and 104 test targets...
INFO: Elapsed time: 19.398s, Critical Path: 2.97s
INFO: 33 processes: 24 linux-sandbox, 13 local.
INFO: Build completed successfully, 33 total actions
//gutil:collections_test                                        (cached) PASSED in 0.2s
//gutil:io_test                                                 (cached) PASSED in 0.2s
//gutil:proto_matchers_test                                     (cached) PASSED in 0.3s
//gutil:proto_test                                              (cached) PASSED in 0.2s
//gutil:status_matchers_test                                    (cached) PASSED in 0.2s
//gutil:table_entry_key_test                                    (cached) PASSED in 0.0s
//gutil:testing_test                                            (cached) PASSED in 0.2s
//gutil:version_test                                            (cached) PASSED in 0.2s
//p4_fuzzer:constraints_util_integration_test                   (cached) PASSED in 0.3s
//p4_fuzzer:fuzz_util_test                                      (cached) PASSED in 0.4s
//p4_fuzzer:fuzzer_showcase_test                                (cached) PASSED in 0.5s
//p4_fuzzer:switch_state_test                                   (cached) PASSED in 0.4s
//p4_fuzzer:table_entry_key_test                                (cached) PASSED in 0.1s
//p4_pdpi:ir_tools_test                                         (cached) PASSED in 0.4s
//p4_pdpi:p4_runtime_matchers_test                              (cached) PASSED in 0.3s
//p4_pdpi:sequencing_util_test                                  (cached) PASSED in 0.3s
//p4_pdpi/netaddr:ipv4_address_and_network_address_test         (cached) PASSED in 0.2s
//p4_pdpi/netaddr:ipv6_address_test                             (cached) PASSED in 0.2s
//p4_pdpi/netaddr:mac_address_test                              (cached) PASSED in 0.2s
//p4_pdpi/packetlib:packetlib_fuzzer_test                       (cached) PASSED in 15.4s
//p4_pdpi/packetlib:packetlib_matchers_test                     (cached) PASSED in 0.2s
//p4_pdpi/packetlib:packetlib_test                              (cached) PASSED in 0.1s
//p4_pdpi/packetlib:packetlib_test_runner                       (cached) PASSED in 0.0s
//p4_pdpi/packetlib:packetlib_unit_test                         (cached) PASSED in 0.9s
//p4_pdpi/string_encodings:bit_string_test                      (cached) PASSED in 0.2s
//p4_pdpi/string_encodings:byte_string_test                     (cached) PASSED in 0.2s
//p4_pdpi/string_encodings:decimal_string_test                  (cached) PASSED in 0.1s
//p4_pdpi/string_encodings:decimal_string_test_runner           (cached) PASSED in 0.0s
//p4_pdpi/string_encodings:hex_string_test                      (cached) PASSED in 0.1s
//p4_pdpi/string_encodings:hex_string_test_runner               (cached) PASSED in 0.0s
//p4_pdpi/string_encodings:readable_byte_string_test            (cached) PASSED in 0.2s
//p4_pdpi/testing:helper_function_test                          (cached) PASSED in 0.4s
//p4_pdpi/testing:info_test                                     (cached) PASSED in 0.1s
//p4_pdpi/testing:info_test_runner                              (cached) PASSED in 0.1s
//p4_pdpi/testing:main_pd_test                                  (cached) PASSED in 0.0s
//p4_pdpi/testing:mock_p4_runtime_server_test                   (cached) PASSED in 0.3s
//p4_pdpi/testing:packet_io_test                                (cached) PASSED in 0.1s
//p4_pdpi/testing:packet_io_test_runner                         (cached) PASSED in 0.0s
//p4_pdpi/testing:rpc_test                                      (cached) PASSED in 0.1s
//p4_pdpi/testing:rpc_test_runner                               (cached) PASSED in 0.1s
//p4_pdpi/testing:sequencing_test                               (cached) PASSED in 0.1s
//p4_pdpi/testing:sequencing_test_runner                        (cached) PASSED in 0.1s
//p4_pdpi/testing:sequencing_util_test                          (cached) PASSED in 0.0s
//p4_pdpi/testing:sequencing_util_test_runner                   (cached) PASSED in 0.0s
//p4_pdpi/testing:table_entry_gunit_test                        (cached) PASSED in 0.3s
//p4_pdpi/testing:table_entry_test                              (cached) PASSED in 0.1s
//p4_pdpi/testing:table_entry_test_runner                       (cached) PASSED in 0.1s
//p4_pdpi/utils:annotation_parser_test                          (cached) PASSED in 0.2s
//p4_pdpi/utils:ir_test                                         (cached) PASSED in 0.3s
//p4rt_app/event_monitoring:app_state_db_port_table_event_test  (cached) PASSED in 0.6s
//p4rt_app/event_monitoring:app_state_db_send_to_ingress_port_table_event_test (cached) PASSED in 0.5s
//p4rt_app/event_monitoring:config_db_node_cfg_table_event_test (cached) PASSED in 0.5s
//p4rt_app/event_monitoring:config_db_port_table_event_test     (cached) PASSED in 0.5s
//p4rt_app/event_monitoring:debug_data_dump_events_test         (cached) PASSED in 0.5s
//p4rt_app/event_monitoring:state_verification_events_test      (cached) PASSED in 0.5s
//p4rt_app/sonic:app_db_acl_def_table_manager_test              (cached) PASSED in 0.4s
//p4rt_app/sonic:hashing_test                                   (cached) PASSED in 0.4s
//p4rt_app/sonic:packetio_impl_test                             (cached) PASSED in 0.3s
//p4rt_app/sonic:packetio_port_test                             (cached) PASSED in 0.3s
//p4rt_app/sonic:response_handler_test                          (cached) PASSED in 0.4s
//p4rt_app/sonic:state_verification_test                        (cached) PASSED in 0.2s
//p4rt_app/sonic:vrf_entry_translation_test                     (cached) PASSED in 0.4s
//p4rt_app/sonic/adapters:fake_sonic_db_table_test              (cached) PASSED in 0.0s
//p4rt_app/tests:api_access_test                                (cached) PASSED in 0.5s
//p4rt_app/tests:arbitration_test                               (cached) PASSED in 0.6s
//p4rt_app/tests:grpc_behavior_test                             (cached) PASSED in 5.0s
//p4rt_app/tests/lib:app_db_entry_builder_test                  (cached) PASSED in 0.0s
//p4rt_app/utils:event_data_tracker_test                        (cached) PASSED in 0.0s
//p4rt_app/utils:table_utility_test                             (cached) PASSED in 0.5s
//sai_p4/instantiations/google:clos_stage_test                  (cached) PASSED in 0.2s
//sai_p4/instantiations/google:sai_pd_proto_test                (cached) PASSED in 0.0s
//sai_p4/tools:p4info_tools_test                                (cached) PASSED in 0.3s
//p4rt_app/p4runtime:ir_translation_test                                 PASSED in 0.4s
//p4rt_app/p4runtime:p4info_verification_schema_test                     PASSED in 0.5s
//p4rt_app/p4runtime:p4info_verification_test                            PASSED in 0.6s
//p4rt_app/p4runtime:packetio_helpers_test                               PASSED in 0.5s
//p4rt_app/p4runtime:resource_utilization_test                           PASSED in 0.6s
//p4rt_app/sonic:app_db_manager_test                                     PASSED in 0.4s
//p4rt_app/sonic:app_db_to_pdpi_ir_translator_test                       PASSED in 0.4s
//p4rt_app/tests:acl_table_test                                          PASSED in 0.8s
//p4rt_app/tests:action_set_test                                         PASSED in 0.6s
//p4rt_app/tests:debug_data_dump_test                                    PASSED in 0.6s
//p4rt_app/tests:fixed_l3_tables_test                                    PASSED in 1.6s
//p4rt_app/tests:forwarding_pipeline_config_test                         PASSED in 2.5s
//p4rt_app/tests:p4_constraints_test                                     PASSED in 0.1s
//p4rt_app/tests:p4_constraints_test_runner                              PASSED in 0.1s
//p4rt_app/tests:p4_programs_test                                        PASSED in 1.0s
//p4rt_app/tests:packetio_test                                           PASSED in 2.9s
//p4rt_app/tests:port_name_and_id_test                                   PASSED in 1.5s
//p4rt_app/tests:resource_limits_test                                    PASSED in 1.1s
//p4rt_app/tests:response_path_test                                      PASSED in 1.8s
//p4rt_app/tests:role_test                                               PASSED in 0.6s
//p4rt_app/tests:state_verification_test                                 PASSED in 0.8s
//p4rt_app/tests:vrf_table_test                                          PASSED in 0.9s
//sai_p4/instantiations/google:fabric_border_router_p4info_up_to_date_test PASSED in 0.0s
//sai_p4/instantiations/google:middleblock_p4info_up_to_date_test        PASSED in 0.0s
//sai_p4/instantiations/google:sai_p4info_fetcher_test                   PASSED in 0.5s
//sai_p4/instantiations/google:sai_p4info_test                           PASSED in 0.7s
//sai_p4/instantiations/google:sai_pd_util_test                          PASSED in 0.6s
//sai_p4/instantiations/google:tor_p4info_up_to_date_test                PASSED in 0.0s
//sai_p4/instantiations/google:union_p4info_up_to_date_test              PASSED in 0.2s
//sai_p4/instantiations/google:wbb_p4info_up_to_date_test                PASSED in 0.1s
//sai_p4/instantiations/google/test_tools:test_entries_test              PASSED in 0.4s
//sai_p4/instantiations/google/tests:p4_constraints_integration_test     PASSED in 0.4s
Executed 32 out of 104 tests: 104 tests pass.
There were tests whose specified size is too big. Use the --test_verbose_timeoutINFO: Build completed successfully, 33 total actions
Keyword Check:
rkavitha@eonms3vm12:~/Google/Jun-05/sonic-buildimage/src/sonic-p4rt/sonic-pins$ ~/Google/tools/keyword_checks.sh .
Keyword check Passed.

Co-authored-by: Robert Halstead<EMAIL_ADDRESS>

@kishanps , could you please review.


Abstract docs for registering addons

Right now, there is a link to a gist that's specific to one addon. It would be handy to have this API abstracted for general reuse.
https://getstorybook.io/docs/addons/writing-addons

Actually, I see this: https://getstorybook.io/docs/addons/api

Okay. That's a good idea.

Added a section.

Thanks, @arunoda. Next one's on me. 👍


Add String() method to Packet interface

Description
Nearly all RTCP packet types already include String() methods, which are quite valuable for diagnostic and logging purposes. This PR updates the base Packet interface to include String() so that it can be used by applications without having to perform a complex set of type assertions.

@adamroach LGTM! This is so exciting :) I approved and you can merge w/e you are ready, I added you to the Pion org. feel free to tag (then pionbot will autobump for you)

Would you mind squashing into one commit? Not mandatory, just nice to have clean history IMO
We have tests that assert that all everything satisfies the packet interface. Would you mind moving // assert is a Packet  lines into _test.go seems wrong to me to have them in production code?

Would you mind squashing into one commit? Not mandatory, just nice to have clean history IMO. We also have a check for commit messages .github/lint-commit-message.sh sorry I know it is annoying, but it makes release notes easier.

Sure thing. I'm used to doing this with a "Squash and merge" after approval, but it looks like the linter rules make this trickier.

We have tests that assert that all everything satisfies the packet interface. Would you mind moving // assert is a Packet  lines into _test.go seems wrong to me to have them in production code?

Sure -- it's my preference not to have unrelated changes in a patch, but this is a pretty minor fix that I'm happy to roll up into it.


Fix the font-loading issue on responsive mobile pages

This addresses the font issue we just discussed on slack.

👍

Thanks!


feat(app): Robot Settings Design QA 2 and Create Select App Component

closes #10893
Overview
This PR addresses design QA on all 3 tabs in Robot Settings: Advanced, Calibration, and Networking.
Additionally, this PR creates a new shared Select and SelectFields components to live in the App/Atoms folder
Changelog

make changes to RobotSettingsCalibration, RobotSettingsAdvanced and RobotSettingsNetworking and associated components
create new Select and SelectFields as well as a Select.stories
add Create Select 5.4.0 to package.json in app

Review Requests

do these pages match the designs?
go to the networking tab and examine the Select component - do the buttons in the menu work as expected? Does it match designs?

Risk assessment
low

Round 3 feedback on Robot Settings page

[ ] (1) Didn't catch this before, but can we remove the text wrapping for the open menu? We can make this a site-wide thing if it's the same amount of time!
[ ] (2) Looks like the open menu overflow isn't closing when you click on the button again? Possible to fix? Loom video showing issue here.
[ ] (3) just got a wee bit of extra meat here

[ ] (1) Have we gotten rid of the green check marks? If so, can you let me know and also move the content to the left to align with the start of "calibration" above?

[ ] (1) We just need 40px margin above all the h2's (except the first one). I'm sorry, i know it's not quite clear what is a header and what is a subhead. Something I'm looking to fix in the future! So the h2's that need the 40px margin-top are: "Usage Settings", "Troubleshooting", "Legacy Settings".
[ ] (2) Looks like there's some extra meat here

Looking great. The only thing I'm catching is that the tertiary button's padding is a bit off. Should be .5rem padding top and bottom with 1rem l/right. It current is 6px top and bottom and 12px l/r. Not sure if it's this PR that should address that.


CLI-Wallet: Transaction Handling

DApp implements transaction handling logic in the web application to initiate UTXO-based transactions, including NFT-related transactions, on the Tuxedo blockchain. Provide feedback to users on transaction status and confirmations.
This was in the proposal.

This is implemented in cli-Wallet:
https://github.com/mlabs-haskell/Tuxedo/blob/4caa90a2cc88b70973427c55c154f5af224118b8/wallet/src/kitty.rs#L203-L205

If I need to implement the 2 step REST API implementation for talisman integration, I need confirmation from the @Winni- Then I will start my implementation.

This is done from webservice point of view.
The webservice code is submitted to https://github.com/mlabs-haskell/Tuxedo/tree/webservice-with-external-signing branch


add root ability when create dummy

Make dummy not need to turn when spell or attack.
This will allow dummy to cast spell on countless targets at the same time without missing.

LGTM

Yeah, thanks again @yefq 👍
The only issue is that dummies can't move anymore, but I think that shouldn't be expected in the first place.

@Cokemonkey11 @Frotty
:heart::heart::heart:

Did you see my edits?
Does this cause any issues with attacking?

Did you see my edits?
Does this cause any issues with attacking?

I ran a simple test, there is no problem.
Attack not need turn, and orb effect is work normal.
(Test with Orb 'Apoi' and 'ACvs')

👍 🍰

👍 🍰

👍  🍰


Remove eslint-plugin-flow-vars.

Summary
Drops eslint-plugin-flow-vars.  It doesn't seem to be used, or be a peerDependency.  Also, installing it gives the following warning.
warning<EMAIL_ADDRESS>eslint-plugin-flow-vars has been deprecated in favor of<EMAIL_ADDRESS>or higher

Test plan
Nothing should change.

The yarn.lock grows, but that's because eslint-plugin-react did a few things to fix support for<EMAIL_ADDRESS>and the polyfill they used has a significant dependency tree.

thanks!


[Question]: generate related questions from the context in the generated response

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
query_str = "here is the question?"
response = query_engine.query(query_str)
print(str(response))
How do I make use of the response or response metadata that is provided above and get N 'related questions' based on the response context, are there any inbuilt methods? This question generation should not search the vector store.

@ram510 there's no built in method, but here's a quick and easy way that I would use.
from llama_index import Document, SummaryIndex

response = query_engine.query("query")

sources = []
for node in response.source_nodes:
  sources.append(Document(text=node.text))

summary_index = SummaryIndex.from_documents(sources)
questions = summary_index.as_query_engine(response_mode="tree_summarize").query("Write a list of 5 related questions this text could answer.")


Rename to ASCIIgrid.jl ?

Possible a better name as Arc/Info call it. (while also possible I think AAIGrid is a confusing acronym)

Yeah why not ! It seems like the ArcGIS doc prefers "ASCII raster" and the GDAL doc prefers "ASCII grid" haha

Lol ok if they say ASCII raster I guess it's fine


[SPARK-49289] Fix docker-entrypoint.sh to quote the environment variables

What changes were proposed in this pull request?
This PR aims to fix docker-entrypoint.sh to quote the environment variables.
Why are the changes needed?
To protect Spark Operator by preventing any potential misuse of  OPERATOR_JAVA_OPTS or LOG_CONFIG variables
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Manual review.
Was this patch authored or co-authored using generative AI tooling?
No.

Oh, thank you, @viirya !  😄
Merged to main.


Fixbuildchain

Small fixes in cmake files to built radium from in distribution source to out distribution source

This PR is deprecated and has been replaced by #195.


Please give a exact example for test

example below is not enough. please  give a exact example for test code
Test
The test() function in the class Train() help you predict. It returns the softmax probability with shape [num_test_images, num_labels]. You need to prepare and pre-process your test data and pass it to the function. You may either use your own checkpoints or the pre-trained ResNet-110 checkpoint I uploaded. You may wrote the following lines at the end of cifar10_train.py file
train = Train()
test_image_array = ... # Better to be whitened in advance. Shape = [-1, img_height, img_width, img_depth]
top1_error, loss = train.test(test_image_array)
Run the following commands in the command line:
If you want to use my checkpoint.
python cifar10_train.py --test_ckpt_path='model_110.ckpt-79999'

how to test?please list detailed codes.thank you


Renaming to frees-rpc. Moves examples to its own repository

Fixes https://github.com/frees-io/freestyle-rpc/issues/39 .
Also, this PR is related to https://github.com/frees-io/freestyle-rpc/issues/34 .
All examples have been moved to https://github.com/frees-io/freestyle-rpc-examples for the sake of simplicity.

Codecov Report

Merging #40 into master will decrease coverage by 7.94%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #40      +/-   ##
==========================================
- Coverage   18.77%   10.83%   -7.95%
==========================================
  Files          20       20
  Lines         277      277
  Branches        0        1       +1
==========================================
- Hits           52       30      -22
- Misses        225      247      +22

Impacted Files
Coverage Δ

rpc/src/main/scala/proto/annotations.scala
0% <0%> (-100%)
:arrow_down:

rpc/src/main/scala/internal/service/service.scala
0% <0%> (-70%)
:arrow_down:

Continue to review full report at Codecov.

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


[BUG] [NIGHTLY] Fullscreen blocks windows from opening on top of it

Describe the bug
Normally, you can open windows ontop of any window that is fullscreen, even in exclusive full screen, or it will swap back to the desktop if you alt tab.
To Reproduce
Steps to reproduce the behavior:

set to full screen
open file explorer or another window/try to alt tab to a window to make it appear

Expected behavior
window should pop up
System Info (please complete the following information):
Windows 10

i will most definitely look at this in a bit
i've had to semi-jerry rig together something to make fullscreen work properly, and ive been meaning to redo it just to make it work better on both linux and, now, fix this issue
ty for reporting!

Seems like this was an issue with Raylib's fullscreen/borderless fullscreen functions. Will be fixed in the next commit.

Fixed in commit db30a1b


AutomaticComponentToolkit bundled in binary format, build fails on non x86

From https://github.com/3MFConsortium/lib3mf/issues/127

lib3mf now makes use of the https://github.com/Autodesk/AutomaticComponentToolkit/, an open-source code generator for shared library components that helps us save a lot of work when creating the interface, the language bindings and the documentation for lib3mf.

I've been trying to package lib3mf for Fedora and EPEL. The build fails on non x86 architectures with:
/bin/sh: /builddir/build/BUILD/lib3mf-2.0.0/AutomaticComponentToolkit/bin/act.linux: cannot execute binary file: Exec format error

And indeed, that file is x86-64:
act.linux: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=hlkMFUCo1Y79N7OkjxkH/i_Q3HNsrX-QdtWO3WMnu/mBFl89fbhhV-CV3j6Q6P/EASpsQGE3UU9jhuPwENX, not stripped

Can you please provide instructions on how to build this without that binary executable?
Do I need to build my own https://github.com/Autodesk/AutomaticComponentToolkit/ with Go?

There is some discussion of this gap here:
https://github.com/Autodesk/AutomaticComponentToolkit/issues/75
...including an ARM version of the ACT binaries

Adding more binary formats won't really scale. Also, using a pre-built binary is not really something we are allowed to do in Fedora.
I've ended up doing:
rm AutomaticComponentToolkit/bin/act.linux
ln -s /usr/bin/act AutomaticComponentToolkit/bin/act.linux

Maybe having a system installed version of AutomaticComponentToolkit could be supported somehow as a CMAKE option? Like -DACT_PATH=/usr/bin/act.
Sorry I won't submit a PR for that, I am really bad with cmake.

Same with Debian. Packaging will require removing the included binaries.


[Bug]: COUNT(*) cannot find table ref

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Version or Commit ID
c56ef5b
Other environment information
No response
Actual behavior and How to reproduce it
run such sql:
CREATE TABLE test_compact_big (c1 INTEGER, c2 BOOLEAN);
COPY test_compact_big FROM '/var/infinity/test_data//test_compact_big.csv' WITH ( DELIMITER ',' );
DELETE FROM test_compact_big WHERE c2 = False;
SELECT COUNT(*) FROM test_compact_big WHERE c2 = False;

throw unrecoverable error:
TableRef not found!@src/executor/physical_operator.cpp:49
Expected behavior
No response
Additional information
No response

Fixed


Crypto DllNotFoundException on OSX v. 1.0.0-preview2

I am running OS X El Capitan, I installed dotnet from the installer (as well as the latest openssl via homebrew). However, it seems I am missing the DLL for the Crypto package. Could this be tied to having the mono runtime installed? (I've already linked openssl libs with brew)
$ dotnet new

Unhandled Exception: System.TypeInitializationException: The type initializer for 'Crypto' threw an exception. ---> System.TypeInitializationException: The type initializer for 'CryptoInitializer' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'System.Security.Cryptography.Native': The specified module could not be found.
 (Exception from HRESULT: 0x8007007E)
   at Interop.CryptoInitializer.EnsureOpenSslInitialized()
   at Interop.CryptoInitializer..cctor()
   --- End of inner exception stack trace ---
   at Interop.Crypto..cctor()
   --- End of inner exception stack trace ---
   at Interop.Crypto.GetRandomBytes(Byte* buf, Int32 num)
   at System.IO.Path.GetCryptoRandomBytes(Byte* bytes, Int32 byteCount)
   at System.IO.Path.GetRandomFileName()
   at Microsoft.DotNet.InternalAbstractions.TemporaryDirectory..ctor()
   at Microsoft.Extensions.EnvironmentAbstractions.DirectoryWrapper.CreateTemporaryDirectory()
   at Microsoft.DotNet.Configurer.NuGetPackagesArchiver..ctor()
   at Microsoft.DotNet.Cli.Program.ConfigureDotNetForFirstTimeUse(INuGetCacheSentinel nugetCacheSentinel)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
   at Microsoft.DotNet.Cli.Program.Main(String[] args)
[1]    91638 abort      dotnet new
$ dotnet --version
1.0.0-preview2-003121
$ openssl version
OpenSSL 1.0.2h  3 May 2016
$ mono --version
Mono JIT compiler version 4.4.0 (tarball Wed Jun 15 18:28:03 BST 2016)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           normal
	SIGSEGV:       altstack
	Notification:  kqueue
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug
	LLVM:          supported, not enabled.
	GC:            sgen
$ find /Library/Frameworks/Mono.framework/Versions/Current -iname ".*crypto.*" -print
$

@AlyssaDaemon Did you do brew link --force openssl?  In particular, you're looking for /usr/local/lib/libcrypto.1.0.0.dylib.  (See https://github.com/dotnet/core/issues/173#issuecomment-229130612)

As I said in the beginning, yes, I did do brew link --force openssl before trying this. /usr/local/lib/libcrypto.1.0.0.dylib does exist on my system.
$ ls /usr/local/lib/libcrypto.1.0.0.dylib
/usr/local/lib/libcrypto.1.0.0.dylib

@AlyssaDaemon Sorry, just had to check; sort of like the IT question "have you tried turning it off and on again?".
I can't think of any reason why the presence of Mono would affect loading that library.  It needs

libcrypto.1.0.0.dylib, from rpath
libssl.1.0.0.dylib, from rpath
/usr/lib/libc++.1.dylib
/usr/lib/libSystem.B.dylib

The first two dependencies should be met by brew install/link of the OpenSSL package.  The second two should just be there on the Mac.
The library asserts that in addition to the standard rpath it includes loader_path; so it will first try the directory the library itself is in before falling back to system probing.
While the default probing path is $HOME/lib;/usr/local/lib;/usr/lib, it can be altered by some environment variables.  See https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryUsageGuidelines.html#//apple_ref/doc/uid/TP40001928-SW21 for more information.
The only things that I can think of at this point are:

Check that the /usr/local/lib symlinks are valid
Check that you don't have any of the rpath-changing environment variables defined (or, that if you do, you try unsetting them to diagnose the problem)

You're the first person who has reported that brew link --force openssl didn't fix everything for them, so I'm at a bit of a loss, advicewise.

Sorry that I came off a bit cross, thank you for helping me. I have been thinking about reinstalling El Capitan anyway, so perhaps that might fix things. I checked my symlinks, and my environment variables and they seemingly checkout (well $DYLD_FALLBACK_LIBRARY_PATH was defined and had mono's libs defined, but even unsetting it didn't help). See you on the other side as it were.
$ ls -l /usr/local/lib/libssl.1.0.0.dylib
lrwxr-xr-x  1 alyssadaemon staff  49 Jul  3 09:40 /usr/local/lib/libssl.1.0.0.dylib -> ../Cellar/openssl/1.0.2h_1/lib/libssl.1.0.0.dylib
$ ls -l /usr/local/lib/libcrypto.1.0.0.dylib
lrwxr-xr-x  1 alyssadaemon  staff  52 Jul  3 09:40 /usr/local/lib/libcrypto.1.0.0.dylib -> ../Cellar/openssl/1.0.2h_1/lib/libcrypto.1.0.0.dylib
$ ls /usr/local/Cellar/openssl/1.0.2h_1/lib/
engines               libcrypto.1.0.0.dylib libcrypto.a           libcrypto.dylib       libssl.1.0.0.dylib    libssl.a              libssl.dylib          pkgconfig
$ echo $LD_LIBRARY_PATH

$ echo $DYLD_LIBRARY_PATH

$ echo $DYLD_FALLBACK_LIBRARY_PATH
/Library/Frameworks/Mono.framework/Versions/Current/lib:/Users/alyssadaemon/lib:/usr/local/lib:/usr/lib
$ unset DYLD_FALLBACK_LIBRARY_PATH; dotnet new

Unhandled Exception: System.TypeInitializationException: The type initializer for 'Crypto' threw an exception. ---> System.TypeInitializationException: The type initializer for 'CryptoInitializer' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'System.Security.Cryptography.Native': The specified module could not be found.
 (Exception from HRESULT: 0x8007007E)
   at Interop.CryptoInitializer.EnsureOpenSslInitialized()
   at Interop.CryptoInitializer..cctor()
   --- End of inner exception stack trace ---
   at Interop.Crypto..cctor()
   --- End of inner exception stack trace ---
   at Interop.Crypto.GetRandomBytes(Byte* buf, Int32 num)
   at System.IO.Path.GetCryptoRandomBytes(Byte* bytes, Int32 byteCount)
   at System.IO.Path.GetRandomFileName()
   at Microsoft.DotNet.InternalAbstractions.TemporaryDirectory..ctor()
   at Microsoft.Extensions.EnvironmentAbstractions.DirectoryWrapper.CreateTemporaryDirectory()
   at Microsoft.DotNet.Configurer.NuGetPackagesArchiver..ctor()
   at Microsoft.DotNet.Cli.Program.ConfigureDotNetForFirstTimeUse(INuGetCacheSentinel nugetCacheSentinel)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
   at Microsoft.DotNet.Cli.Program.Main(String[] args)

I am sorry, I forgot to report what happened. Indeed reinstalling OS X fixed the issue. Sorry to trouble you all.


javascript

#JavaScript
##user story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I can see the four topics I learned listed along with a suggestion on what I should study first

good job


Fix XML report output location

Please branch from develop and submit a pull request back to develop.
Background
In the develop branch, the user can ask for an XML report by specifying a --report-format argument at the command line:
Fixie.Console.exe mytests.dll --report-format xUnit

or
Fixie.Console.exe mytests.dll --report-format NUnit

Unfortunately, the xml files are saved in a surprising location: right next to the test assembly (such as under ... bin/Release/net452/...) so the users will not easily find the output.
It would be better if the user could specify an additional argument, --report:
Fixie.Console.exe mytests.dll --report results.xml --report-format xUnit

Requirements

If the user does not specify a --report or a --report-format, do not generate any report.
If the user specifies only a --report-format, assume "TestResults.xml" at the current directory.
If the user specifies only a --report, assume xUnit format.

Implementation Details
The Options class has properties which correspond to the command line arguments.  --report-format, for instance, will populate the ReportFormat property.  We can define a new command line argument by adding a property to Options.
ExecutionProxy decides whether or not to include a ReportListener by looking at the options properties.  Right now, it looks at ReportFormat to decide whether to make a ReportListener<NUnitXml> or a ReportListener<XUnitXml>.  If the user didn't specify any report format, it just skips constructing a ReportListener of any kind.  This conditional logic will need to change so that we can also consider --report and the defaults suggested in the Requirements section above.
ReportListener.Save(Report) actually saves the generated XML to the filesystem.  This makes the silly assumption that we should save it to the test assembly (dll) location, and it assumes what the file name should be.  We should instead respect the new --report argument and save it in the same directory that the user was in when they started the console exe.

@najeraz Would you like to take this one?

Thanks, @najeraz! I've merged this into 'develop'.


fix(handler): Pass an empty list for all alliases with no handlers

I wish we would have put a default value of an empty list here in pollination-dsl @mostapharoudsari :
https://github.com/pollination/pollination-dsl/blob/master/pollination_dsl/alias/inputs.py#L42-L44

We can do that by adding a validator. You should probably reverse this change.


chore: add native toolchain libs

#38  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @AngelOnFira and the rest of your teammates on  Graphite


Bezel build from scratch hangs indefinitely

A brief description

Latest Bezel build on Oracle JDK 8 fails by hanging indefinitely at initial command. To reproduce clone Bezel repository and start build from scratch as described on Bezel website Installing Bezel

seems dupl https://github.com/Microsoft/BashOnWindows/issues/620

Closing out old issues. Much has changed since 2016, please reopen a new issue if you continue to have issues building bezel.


The SDP does not match the previously generated SDP for this type

it does not work...
I mean your program works, but then the rtc connection does not:
Failed to execute 'setLocalDescription' on 'RTCPeerConnection': The SDP does not match the previously generated SDP for this type

You are not supposed to use this with setLocalDescription, that takes the original SDP.

yep.. I solved that anyway... but the connection does not go thru... no errors now.. with the original sdp it works. (p.s. I am using google ice servers but I don't think that's the problem)


Any date for next release?

Hi, for some project we are waiting for commit https://github.com/flatpickr/flatpickr/commit/5116b013c2e74cfacb96ae73496333f311c84600 (stylesheet access error) to be released.
Do you plan do to new release soon?
Thanks.

And my question: Is there any further development planned?

@fmagaldea Yes, I plan to have a release out very soon! I have been busy and since the last release quite a bit of changes have accumulated.
I want to make sure everything is functioning perfectly before releasing to prevent any regressions.
@liborm85 Yes, although more focused on perfecting the features we already have and perhaps some plugins and integrations. At this point we're quite mature and I don't see any glaring feature omissions.

@chmln Thanks to anwser. There is still this bug that blocks library usage if is enabled allowInput https://github.com/flatpickr/flatpickr/issues/1271. You can look at it?

@liborm85 Absolutely

Hey, @chmln, any idea when will the new release come out?

@balabis within the next week as I finish up exams

Looking forward to it too, let me know if we can help you :)

@chmln Have you finished exams yet? Will be new release soon?

We are waiting for release

Waiting for release too. As a temporary resort for guys like me who needs the release right now I published today's version as a scoped NPM package https://www.npmjs.com/package/@koka58/flatpickr

Waiting for a release too..

We also need #2095 fix.
So please release a new version, you can make a pre-release to avoid breaking change for old users
Thank you very much 😄

v4.6.5 is out! :tada:
The next release will come out much sooner :)
Thank you all for being patient.


Feature Request: Suppress PF2e system damage notifications

I opened an issue with the system for this a while ago (https://github.com/foundryvtt/pf2e/issues/2196) but it doesn't seem like it's getting in any time soon, so I figured I'd try asking from the other direction. With this module these notifications become redundant; if the module could (optionally?) turn them off, that'd be excellent.

It might be possible to hide then with some CSS magic.  I'll take a look.

Unfortunately these messages are not tagged with a unique combination of classes, so they cannot be hidden with CSS.


Problem when rendering \underXXXarrow with fraction

Describe the bug:
The rendering of \underleftarrow{} and \underrightarrow{} when applied to a \frac{}{} AND used inside any kind of \left \right bracket is misplaced.
To Reproduce:
Steps to reproduce the behavior:

Go to https://katex.org/
put this code \left(\underleftarrow{\frac{value}{j}}\right) in the editor
put the same code in https://www.codecogs.com/latex/eqneditor.php
See the difference

Expected behavior:

got

Environment (please complete the following information):

KaTeX Version: 0.11.1
Device: Desktop
OS: ubuntu 16.04
Browser: Chrome, Firefox
Version: 73.0.3683.75(chrome), 65.0.1 (firefox)

@foretjerome Thank you for reporting this. I've turned in PR #2252, which fixes the problem.


Stale network values used when Bitcoin Cash or Simple Ledger Protocol is chosen

To reproduce issue:

Change Coin to "LTC - Litecoin"
Change Coin to "BCH - Bitcoin Cash"

Under Derived Addresses, if CashAddr or BitPay is selected, no addresses will be generated
If legacy is selected, addresses generated are based on the network values for Litecoin, which was the previously chosen coin

Should the network be reset to bitcoinjs.bitcoin.networks.bitcoin when BCH / SLP is selected?

Thanks for reporting this, I'll add a test and a fix for the next release.


build(deps): update Angular to 17.3.8

#477  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @davidlj95 and the rest of your teammates on  Graphite


Enable HAProxy if configured

What this PR does:
Enable HAProxy if configured as part of startup.
Checklist

[x] Changes manually tested
[ ] Automated Tests added/updated
[ ] Documentation added/updated
[x] CLA Signed: DataStax CLA

Can we add any tests?

Can we add any tests?

I will create a separate ticket to create a test case.


chore: Update zk_evm dependency

What ❔
Updates the zk_evm dependency to the latest published version.
Why ❔
It is impossible to publish the zksync_vm2 crate which depends on a git revision w/o a version specified.
Checklist

[x] PR title corresponds to the body of PR (we generate changelog entries from PRs).

@joonazan AFAIU, the 0.150.5 release incorporates the fix you've submitted. Please double-check.


HMM_LengthSquareRoot is poorly named

This is not a bug, exactly, but when I was integrating Handmade Math into my project I was confused by the naming of HMM_LengthSquareRoot. I expected HMM_LengthSquared, or something, since the function actually produces the length of the vector squared. (No square root has happened yet!)

Oh! That should be changed then!

Changing the name has the potential to break projects though. Are we ok with that since we're still in early release, or would we want to mark it as deprecated somehow...? (I vote for just breaking things.)

Were pre 1.0 were fine to break things as long as put a notice in that we broke something

Fixed in #37.


Security

No issue in the current code, I have gone through your course in udemy, If you could cover security aspects of the API that could be helpful and also a client app based on Angular.

Security aspects handle in other course you can check on udemy, but for angular you can follow below article from IS4;
https://identityserver4.readthedocs.io/en/latest/quickstarts/4_javascript_client.html?highlight=SPA#adding-a-javascript-client

Mehmet Özkaya
Thank you for the response.
Can you please share the security course udemy link
Regards
Venkat

From: Mehmet Özkaya<EMAIL_ADDRESS>Sent: Thursday, December 10, 2020 8:33 AM
To: mehmetozkaya/MicroservicesApp<EMAIL_ADDRESS>Cc: TS Software Solutions<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [mehmetozkaya/MicroservicesApp] Security (#1)
Security aspects handle in other course you can check on udemy, but for angular you can follow below article from IS4;
https://identityserver4.readthedocs.io/en/latest/quickstarts/4_javascript_client.html?highlight=SPA#adding-a-javascript-client
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/mehmetozkaya/MicroservicesApp/issues/1#issuecomment-742368029, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AI6CLQB6VG5AKIR5IYO62PDSUCBXFANCNFSM4UQQLWIQ.

of course;
https://www.udemy.com/course/secure-net-microservices-with-identityserver4-oauth2openid/?couponCode=06AAC5E2ED3909861FA7


Merge Dev to Master 8.11.17

Description of the change:
Reason for the change:
Link to original source:
@ksigler7

Pushing to merge MCON changes to the docs site for the release.


Indexer is does not roll back timed out requests

Subject of the issue
Requests for /v2/blocks (possibly others as well) leave "idle in transaction" connections when request CTX times out either because of HTTP circuit-breaker or internal write-timeout timeout. This leads to pg pool starvation.
Your environment
Indexer 2.8.3
Steps to reproduce

not sure yet - but set a small --write-timeout and do a bunch of /v2/blocks/ queries that timeout.
observe the /health endpoint starts returning 500 or 503

Expected behaviour
GetBlocks should be properly dispose of transaction when context cancellation happens.
Actual behaviour
IMHO the issue is the Rollback on expired context here:
// GetBlock is part of idb.IndexerDB
func (db *IndexerDb) GetBlock(ctx context.Context, round uint64, options idb.GetBlockOptions) (blockHeader bookkeeping.BlockHeader, transactions []idb.TxnRow, err error) {
    tx, err := db.db.BeginTx(ctx, readonlyRepeatableRead)
    if err != nil {
        return
    }
    defer tx.Rollback(ctx)
    row := tx.QueryRow(ctx, `SELECT header FROM block_header WHERE round = $1`, round)

This should be defer tx.Rollback(context.Background()) to make sure the TX is cleared and connection goes back to the pool

Will confirm with a test case tomorrow. Am falling asleep after 8h of debugging this in production where all my indexers started dying at the same.

Let's put this on hold until I find a working test case. No luck reproducing it in the lab.

So the indexer gets stuck here:
Goroutine 328147 - User: /opt/dev/indexer/idb/postgres/postgres.go:1011 github.com/algorand/indexer/idb/postgres.(*IndexerDb).yieldTxnsThreadSimple (0xfb23c8) [chan send 456024h25m11.15077698s]
This causes hanging PG connections in state ' idle in transaction'.
Indexer refuses to quit when killed with SIGTERM.
Not sure why this is so hard to replicate in a lab but happens so frequently in production (at least for me).
For now I can get into this state with low max-con (like 5) and a load generator siege -v -c 15 -b -f siege.urls2
where URLs just fetch random blocks. No write-timeout or circuit breaking is required for this to happen.
./algorand-indexer daemon --max-conn=5 --no-algod --server="<IP_ADDRESS>:8877"
http://localhost:8877/v2/blocks/10592379 http://localhost:8877/v2/blocks/16981457 http://localhost:8877/v2/blocks/17143574 http://localhost:8877/v2/blocks/888799 http://localhost:8877/v2/blocks/6359369


Stopping a receiver when other receiver is active

Hi @stjepang . I'm planning to write an mpsc abstraction over crossbeam channel to serialize data in the channel to disk when the channel is full. So my sender looks like this
struct Sender {
    tx: crossbeam_channel::Sender,
    rx: crossbeam_channel ::Receiver
}

struct Receiver {
   rx: crossbeam_channel::Receiver
}

When sender's try_send throws a channel full error, I want to use sender's rx to serialize data to disk. But to maintain ordering, I want the other receiver to block when the backup is going on. Is there a better way than using an atomic pointer to check if the queue backup is in progress?
Sorry if this is a wrong place for these questions

Sorry for the late reply!
Yeah, I think it'd be best to communicate the activity of backup going on through a separate atomic flag. There are surely multiple ways to do this. Did you figure out a good solution?

Sorry for the late reply!

No problem :). I know you are busy with tokio :)

Did you figure out a good solution?

Not yet. I haven't gone through the code thoroughly yet but one idea is to check if I can modify crossbeam-channel's internals to point Receiver::rx to the tail of internal queue when channel is full and backup the data using Sender::rx (Only works with spsc I guess) (Need to validate if the efficiency is much higher this way than other methods). Is this possible?

There are surely multiple ways to do this

Would love if you can give me some insights :)

if I can modify crossbeam-channel's internals to point Receiver::rx to the tail of internal queue when channel is full and backup the data using Sender::rx (Only works with spsc I guess)

Interesting. So it's basically like atomic .drain(). This is certainly possible if you're willing to fiddle with the internals of crossbeam-channel. You can basically load the head, then the tail and try doing CAS to swing head to the tail and take all elements from the queue. This should also work in MPMC scenarios - I don't see any problem with that.

Would love if you can give me some insights :)

Here's one quick idea. There'll be some overhead due to locking, but maybe not too bad:
struct Sender {
    tx: RefCell<Sender<Msg>>,
    rx: Arc<RwLock<Receiver<Msg>>>,
}

struct Receiver {
    rx: Arc<RwLock<Receiver<Msg>>>,
}

impl Sender {
    fn send(&self, msg: Msg) {
        let mut tx = self.tx.borrow_mut();
        select! {
            send(*tx, msg) => {},
            default => {
                let mut rx = self.rx.write();
                let messages = rx.into_iter().collect::<Vec<Msg>>();

                let (tx2, rx2) = channel::bounded(CAP);
                *tx = tx2;
                *rx = rx2;

                drop(rx);
                backup(messages);
            }
        }
    }
}

impl Receiver {
    fn recv(&self) -> Option<Msg> {
        self.rx.read().recv()
    }
}

Thanks. I'll try these ideas

Closing the issue. If there's anything else I could help with, do let me know!


Sign plaintext artifacts

closes #1
TODO:

[ ] document the signing workflow in the readme
[ ] ensure linter passes
[ ] add unit test for the signing workflow

Update: this PR now implements an end to end signing for a file, as a single command - similar to how docker trust sign [image:tag] works.
It initializes the repo, then adds the SHA256 sum of the target file, and publishes the repo to the trust server.


XMLParsedAsHTMLWarning

I see the following warning when inputting xml ofx file

XMLParsedAsHTMLWarning: It looks like you're parsing an XML document using an HTML parser. If this really is an HTML document (maybe it's XHTML?), you can ignore or filter this warning. If it's XML, you should know that using an XML parser will be more reliable. To parse this document as XML, make sure you have the lxml package installed, and pass the keyword argument features="xml" into the BeautifulSoup constructor.
warnings.warn(

Going through previous decisions and code behavior, I'm thinking it is intentional that HTML parser is used for XML (e.g. here)
I am thinking the warning shouldn't happen rather than me going in and specifying XML in the constructor - but might be misguided. Here is one more issue I saw related to this: https://github.com/EnergieID/entsoe-py/issues/180
My issue is not the same, I am actually using ofxparse in the context of beancount-reds-importers (FWIW)
Here's an example of what my input file is starting with:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?OFX OFXHEADER="200" VERSION="220"

Ditto. Curious if other users aren't hitting this?

So yes, it was intentional to parse the XML this way.  I don't recall this warning message appearing in the past, so one of the dependencies (BeautifulSoup?) must have added it.  I can take a look at silencing the warning, or if someone else happens to look at it first, I'd be happy to review the change.

Thank you, @jseutter! I haven't looked at ofxparse, but this commit  does exactly what is needed. I imagine you simply need to put it in the right file in ofxparse.


add learning resources to the website

e.g. links toward slides, blog posts, presentation

I propose that we also make sections for resources in different languages than english, I know that @aoiroaoino or @1ambda have some blog posts for example.

@julien-truffaut
I recently posted Monocle tutorial written in Korean (Scala Lens Library, Monocle). If you don't mind, I would like to add it to learning resource section

great I will add it

Please feel free to use my informations.
My blog posts written in Japanese.

Introduce of Monocle
(but, this contents is a little old...)
ApplyXXX Usage

Other Optics Libraries

Scala
https://github.com/jrudolph/json-lenses
https://github.com/adamw/quicklens
Scala (maybe, inactive)
https://github.com/gseitz/Lensed
https://github.com/retronym/macrocosm
https://github.com/akisaarinen/rillit
https://github.com/travisbrown/rillit
https://github.com/hexx/lenser
https://github.com/gseitz/Lensed

@1ambda @aoiroaoino @julien-truffaut I say we should add sections for Japanese and Korean, seperated from the other sections.

@aoiroaoino I don't think all of these are nessesary. We should include the ones that are used and  maintained.

We should include the ones that are used and maintained.

yep, I think so, too.


Added Awesome Books Summaries

[Insert URL to the list here]
[Explain what this list is about and why it should be included here]
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.
Requirements for your pull request

Don't open a Draft / WIP pull request while you work on the guidelines. A pull request should be 100% ready and should adhere to all the guidelines when you open it. Instead use #2242 for incubation visibility.
Don't waste my time. Do a good job, adhere to all the guidelines, and be responsive.
You have to review at least 2 other open pull requests.
Try to prioritize unreviewed PRs, but you can also add more comments to reviewed PRs. Go through the below list when reviewing. This requirement is meant to help make the Awesome project self-sustaining. Comment here which PRs you reviewed. You're expected to put a good effort into this and to be thorough. Look at previous PR reviews for inspiration. Just commenting “looks good” or simply marking the pull request as approved does not count! You have to actually point out mistakes or improvement suggestions. Comments pointing out lint violation are allowed, but does not count as a review.
You have read and understood the instructions for creating a list.
This pull request has a title in the format Add Name of List. It should not contain the word Awesome.

✅ Add Swift
✅ Add Software Architecture
❌ Update readme.md
❌ Add Awesome Swift
❌ Add swift
❌ add Swift
❌ Adding Swift
❌ Added Swift

Your entry here should include a short description about the project/theme of the list. It should not describe the list itself. The first character should be uppercase and the description should end in a dot. It should be an objective description and not a tagline or marketing blurb.

✅ - [iOS](…) - Mobile operating system for Apple phones and tablets.
✅ - [Framer](…) - Prototyping interactive UI designs.
❌ - [iOS](…) - Resources and tools for iOS development.
❌ - [Framer](…)
❌ - [Framer](…) - prototyping interactive UI designs

Your entry should be added at the bottom of the appropriate category.
The title of your entry should be title-cased and the URL to your list should end in #readme.

Example: - [Software Architecture](https://github.com/simskij/awesome-software-architecture#readme) - The discipline of designing and building software.

The suggested Awesome list complies with the below requirements.

Requirements for your Awesome list

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.
Run awesome-lint on your list and fix the reported issues. If there are false-positives or things that cannot/shouldn't be fixed, please report it.
The default branch should be named main, not master.
Includes a succinct description of the project/theme at the top of the readme. (Example)

✅ Mobile operating system for Apple phones and tablets.
✅ Prototyping interactive UI designs.
❌ Resources and tools for iOS development.
❌ Awesome Framer packages and tools.

It's the result of hard work and the best I could possibly produce.
If you have not put in considerable effort into your list, your pull request will be immediately closed.
The repo name of your list should be in lowercase slug format: awesome-name-of-list.

✅ awesome-swift
✅ awesome-web-typography
❌ awesome-Swift
❌ AwesomeWebTypography

The heading title of your list should be in title case format: # Awesome Name of List.

✅ # Awesome Swift
✅ # Awesome Web Typography
❌ # awesome-swift
❌ # AwesomeSwift

Non-generated Markdown file in a GitHub repo.
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate. Please search for existing submissions.
Only has awesome items. Awesome lists are curations of the best, not everything.
Does not contain items that are unmaintained, has archived repo, deprecated, or missing docs. If you really need to include such items, they should be in a separate Markdown file.
Includes a project logo/illustration whenever possible.

Either centered, 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.

Can be placed centered if the list has a centered graphics header.

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 nested lists, preferably none.
Must not feature Contributing or Footnotes sections.

Has an appropriate license.

We strongly recommend the CC0 license, but any Creative Commons license will work.

Tip: You can quickly add it to your repo by going to this URL: https://github.com/<user>/<repo>/community/license/new?branch=main&template=cc0-1.0 (replace <user> and <repo> accordingly).

A code license like MIT, BSD, Apache, GPL, etc, is not acceptable. Neither are WTFPL and Unlicense.
Place a file named license or LICENSE in the repo root with the license text.
Do not add the license name, text, or a Licence section to the readme. GitHub already shows the license name and link to the full text at the top of the repo.
To verify that you've read all the guidelines, please comment on your pull request with just the word unicorn.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.
It can optionally be linked from the readme in a dedicated section titled Contributing, positioned at the top or bottom of the main content.
The section should not appear in the Table of Contents.

All non-important but necessary content (like extra copyright notices, hyperlinks to sources, pointers to expansive content, etc) should be grouped in a Footnotes section at the bottom of the readme. The section should not be present in the Table of Contents.
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.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Does not use hard-wrapping.
Does not include a CI (e.g. GitHub Actions) badge.You can still use a CI for linting, but the badge has no value in the readme.
Does not include an Inspired by awesome-foo or Inspired by the Awesome project kinda link at the top of the readme. The Awesome badge is enough.

Go to the top and read it again.

Thanks for making an Awesome list! 🙌
It looks like you didn't read the guidelines closely enough. I noticed multiple things that are not followed. Try going through the list point for point to ensure you follow it. I spent a lot of time creating the guidelines so I wouldn't have to comment on common mistakes, and rather spend my time improving Awesome.

In your pull request description,

Add a link to the readme.
Explain what this submission is.
This pull request has a title in the format Add Name of List. It should not contain the word Awesome

A few other requirements that were not met:

Has been around for at least 30 days.
There are no items at all on the list readme.
Contribution guidelines should be in a separate contributing.md file.

The PR does not follow the guidelines as it is not filled with the requested information.
Additionally, the README file where should live the Awesome list is empty thus not following the guidelines on creating an Awesome list.

Beside the comments above, I'd suggest starting with awesome-lint in your repo as a CI pipeline. It helps with the initial addition as well as maintains the quality for the long run.

and the lint fails: https://github.com/sindresorhus/awesome/actions/runs/4358870274/jobs/7619991556?pr=2539#step:3:11


No credentials/login email form found

I had to recreate my containers, and I have the following error(s) preventing 'vwsfriend-vwsfriend' pod to start (with 0.23.7)
2023-03-01T15:15:09+0000:CRITICAL:vwsfriend_base:There was a problem when communicating with WeConnect. If this problem persists please open a bug report: No credentials form found
2023-03-01T15:15:12+0000:CRITICAL:vwsfriend_base:There was a problem when communicating with WeConnect. If this problem persists please open a bug report: No login email form found
2023-03-01T15:15:27+0000:CRITICAL:vwsfriend_base:There was a problem when communicating with WeConnect. If this problem persists please open a bug report: No credentials form found
2023-03-01T15:15:32+0000:CRITICAL:vwsfriend_base:There was a problem when communicating with WeConnect. If this problem persists please open a bug report: No login email form found

I guess you have to login at myvolkswagen and accept the terms and conditions

Indeed, new terms and conditions, again... Thanks !


17 enhancement to build

The following changes have been made:

Migrated from JavaScript to TypeScript
Migrated from Vite to Next.js
Routing handled by app router
Dynamic routing and fetching of project data
Next.js API routes for about, footer, offers, projects, resources, services and testimonials data
Migrated from Swiper.js to Splide.js for Testimonial carousel
API routes for author, service and project data
Implemented smooth scroll on scroll to top trigger
Server-side data fetching of about, project, resources and service data
SWR for client-side testimonial and footer data fetching (from API routes)
Abstracted away Framer Motion animations into FadeIn component for improve maintainability
Improvements to accessibility and semantic structure of header
Reduction in image file sizes with WebP delivery
CSS changes for improved UX
Refactoring of components
Improved organisation of dirs
Added Junior Developer Portfolio link to Free Resources page
Added CTA to Testimonials, Additional Services and Free Resources page
Integration of a11y and E2E testing w/ Playwright

This branch is ready for merge

Merge successful.


Add description field

Backend:

[x] Add field Description into FileInfo struct
[x] Add API method for changing of the Description field

Frontend:

[x] Define UI

Use title for display of description.


Readme example does not parse

Hi everyone. I tried to run parserFile from the example. To run an example i made own bench file (see #258).
Here is my code (i use circe for convenience):
val json      = """
{
  "some_flag": true,
  "some_number": 1,
  "some_thing": null
}
"""
val circeJson = circe.parser.parse(json).toOption.get
println(circeJson)  // it works since it is valid json

val r = parserFile.parse(circeJson.spaces2)
println(r)

This code prints:
// string json println
{
  "some_flag" : true,
  "some_number" : 1,
  "some_thing" : null
}

// parser println (all whitespaces and line breaks saved):
Left(Error(0,NonEmptyList(InRange(0,	,
), InRange(0,
,
), InRange(0, , ))))

I have this project with runnable scalatest example of error.

thanks for the report...
I do recall now that I noticed something that was left out, but I don't recall what it was now. :/
Here is a very similar code:
https://github.com/johnynek/bosatsu/blob/ebbcd537561b282d1c6e324b42bb9ad6928b707b/core/src/main/scala/org/bykn/bosatsu/Json.scala#L153
which is tested with scalacheck. That parser does work AFAIK. So, we just need to see what is wrong in this example.

oh... I think I recall: there was a PR that changed the separator to use surroundedBy but it needs to use .soft to be correct.
In the example:
    val listSep: P[Unit] =
      P.char(',').surroundedBy(whitespaces0).void

in mine:
    val listSep: P[Unit] =
      (whitespaces0.with1.soft ~ P.char(',') ~ whitespaces0).void

Can you try making that change? And see if it works?
Another thing we should do is actually test the parser we are using as an example in the current repo, and also make sure the readme copies the tested version.

Same try and can not work here.
Even with your fix @johnynek .

I have pretty solid tests for the parser in bosatsu:
https://github.com/johnynek/bosatsu/blob/master/core/src/test/scala/org/bykn/bosatsu/JsonTest.scala
There may be other differences, can you just copy the one there and try that?

@johnynek https://github.com/typelevel/cats-parse/pull/274 a fix.
I am also curious why the parse result would be Either[Parser.Error, (String, A)] and what is the String inside stands for.

The String inside is the rest of the string that was not parsed. You can use parseAll if you want to require parsing everything.

It works with the fix, thanks


ImportError: cannot import name 'functions'

Geting the following error when running the most recent release
[root@cpaneldev gekkoJaponicus]# python3.6 japonicus.py -g Traceback (most recent call last):   File "japonicus.py", line 9, in <module>     from evolution_generations import gekko_generations   File "/home/btctrader/gekkoJaponicus/evolution_generations.py", line 4, in <module>     import promoterz   File "/home/btctrader/gekkoJaponicus/promoterz/__init__.py", line 3, in <module>     from . import functions ImportError: cannot import name 'functions'

Sorry, should work now x}

@Gab0 Thanks!!!! One more error, you may want to put some logic in for those not wanting to use AWS:
[root@cpaneldev gekkoJaponicus]# python3.6 japonicus.py -g
Traceback (most recent call last):
  File "japonicus.py", line 66, in <module>
    gekko_generations(settings_, GenerationMethod)
  File "/home/btctrader/gekkoJaponicus/evolution_generations.py", line 28, in gekko_generations
    RemoteHosts = promoterz.evaluation.gekko.loadHostsFile(globalconf.RemoteAWS)
  File "/home/btctrader/gekkoJaponicus/promoterz/evaluation/gekko.py", line 80, in loadHostsFile
    H = open(HostsFilePath).read().split('\n')
FileNotFoundError: [Errno 2] No such file or directory: '../AmazonSetup/hosts'

Those bizarre bugs... thanks man

You're welcome! Thanks for putting this awesome  I've found a few more oddities, but i'll hold off on posting them as I think they may be related to these two issues i've opened.
As a work around, I created the /AmazonSetup/hosts below the git clone dir, and put in localhost as the remote server to connect to.


🎖 ✨ update readme

PR

Adds more badges

documentation badge, checks for docs uptime and links to the docs
black code style
helm badge
license badge

Adds logos to badges
updates to uses flat style (except for the total downloads, since it's not supported for that)
Centers main heading
Minor changes to content

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.038%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
289

Relevant Lines:
314

💛  - Coveralls


php

I spent about 5 hours failing to install docker on windows.   I do have a php webserver running on windows.
Can I get weserv to run on windows?

We stopped using PHP some years ago, nowadays this whole project is written in C++
Would advise you to use docker. But if you really want, we still have a copy of the PHP source code here: https://github.com/weserv/images/tree/3.x
Be careful, this is older code, and features may be different, missing or slower.


How to suppress opening launch.json when resolveDebugConfiguration wants to cancel launching?

@isidorn This is slightly related to https://github.com/Microsoft/vscode/issues/43133. Currently I set type=null if I want to force the launch.json open, but now I have a new user case.. In my resolve method, if a user doesn't have a mobile device connected, I ask them to either connect one or select an emulator to launch:

If the user hits <ESC> here, I'd like to just cancel the launch request (silently, with no message). However currently it creates and opens a launch.json. Since we generally encourage people to run without a launch.json now, having one created here feels clumsy.
Is it possible to have a way to suppress the creation/opening of launch.json? I'd be fine if it was done by type=null and I changed the other code paths to throw errors (or similar) where I do want to open the launch.json (though I don't know if that would be breaking for others).

This is currently not possible, in case we decide to do something here we would first need to specify and document the behavior so other debug adapter authors are not surprised.
Current behavior:

If resolveDebugConfiguration return a config with a type we start debugging
if resolveDebugConfiguration returns undefined, an error we automatically open the launch.json since this feels like an error that the user should fix

I understand that the second behavior does not work well with the no launch.json debug case and we could potentially improve it.
For example the extension could return undefined as a configuration and that would be a no-op.
On the contrast throwing an error could force the launch.json to be opened. I understand this is breaking behavior but just throwing ideas out there
fyi @weinand

The second bullet point should probably mention that an undefined type property triggers this (not just undefined return value).
I think your idea is good; an error should result in the error being shown to the user and the launch.json openings, and returning undefined signals a silent quit.

This has been addressed in https://github.com/Microsoft/vscode/issues/54213.
cc @ThadHouse since your https://github.com/Microsoft/vscode/issues/54702 was closed as a dupe of this one.

@DanTup thanks for finding this one and closing it, appreciate it!

Thanks! I'll go and implememnt this in my extension.


Keep the subscriptions nodes showing and expanded when a topic is refreshed

I have the subscription nodes expanded and showing for a topic. When I refresh a topic, the subscription nodes collapse and I have to expand them to notice the refresh. The nodes show stay expanded.

Try to develop this feature, implement this on topic subscriptions mode only?
If someone can give some guidance that will be nice. As different mode have different Treeview structure and have different refresh function.


RUM-6195: Allow ResourcesLruCache to work with any key

What does this PR do?
Modifies ResourcesLruCache to accept a caller-provided key as input rather than always generating the key from the resource. Add the customResourceIdCacheKey parameter to ImageWireframeHelper so that the key can be passed from the outside.
Motivation
This is necessary to support resources passed from Jetpack Compose and React Native.
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report
Attention: Patch coverage is 75.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 70.21%. Comparing base (4590058) to head (8743eb1).
Report is 2 commits behind head on develop.

Files with missing lines
Patch %
Lines

...sessionreplay/internal/recorder/resources/Cache.kt
0.00%
2 Missing :warning:

...internal/recorder/resources/BitmapCachesManager.kt
66.67%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2418      +/-   ##
===========================================
+ Coverage    70.12%   70.21%   +0.09%
===========================================
  Files          767      767
  Lines        28490    28492       +2
  Branches      4778     4781       +3
===========================================
+ Hits         19977    20003      +26
+ Misses        7170     7153      -17
+ Partials      1343     1336       -7

Files with missing lines
Coverage Δ

...onreplay/internal/recorder/resources/BitmapPool.kt
87.50% <100.00%> (ø)

...ay/internal/recorder/resources/ResourceResolver.kt
92.00% <100.00%> (+0.13%)
:arrow_up:

...y/internal/recorder/resources/ResourcesLRUCache.kt
67.57% <100.00%> (-6.12%)
:arrow_down:

...internal/recorder/resources/BitmapCachesManager.kt
95.65% <66.67%> (-4.35%)
:arrow_down:

...sessionreplay/internal/recorder/resources/Cache.kt
25.00% <0.00%> (ø)

... and 34 files with indirect coverage changes

Closed as the contents was squashed into this pr: https://github.com/DataDog/dd-sdk-android/pull/2448


Transcription and Comment frame encoding

I'm having an interesting issue with the Transcription and Comment frames. When I write them using this code:
            OutcastID3.Frame.CommentFrame(
                encoding: .utf8, language: "eng",
                commentDescription: "description",
                comment: "Comment Test"),
            OutcastID3.Frame.TranscriptionFrame(
                encoding: .utf8, language: "eng",
                lyricsDescription: "description",
                lyrics: "Lyrics Test")

And run this test:
            // ... test on StringFrame types
            } else if let isolatedFrame = frame as? OutcastID3.Frame.CommentFrame {
                XCTAssertEqual(isolatedFrame.language, "eng")
                XCTAssertEqual(isolatedFrame.commentDescription, "description")
                XCTAssertEqual(isolatedFrame.comment, "Comment Test")
            } else if let isolatedFrame = frame as? OutcastID3.Frame.TranscriptionFrame {
                XCTAssertEqual(isolatedFrame.language, "eng")
                XCTAssertEqual(isolatedFrame.lyricsDescription, "description")
                XCTAssertEqual(isolatedFrame.lyrics, "Lyrics Test")
            }

This is the result I see:

And the reason I'm including that as a screenshot is because when I try to cut/paste the test of the error, my posts on GitHub get cut off, because this is the actual text:

and GitHub apparently doesn't like that extra character at the beginning.
I've tried every kind of encoding I can think of and none of them improve the result. And that doesn't explain why the content of the TranscriptionFrame is being written to the CommentFrame.
It also looks like OutcastID3 may be having an issue with adding characters to tags written by other writers. This is what happens when I try to read a file written using ID3TagEditor with OutcastID3:
        for frame in outcastFrames {
            if let isolatedFrame = frame as? OutcastID3.Frame.StringFrame {
                if isolatedFrame.type == AudiobookTag.authors.outcastType {
                    XCTAssertEqual(isolatedFrame.str, "Artist")
                    print((isolatedFrame.str).unicodeScalars.map({ $0.value }))
                    print("Artist".unicodeScalars.map({ $0.value }))
                    }
                }
            }
        let id3TagEditor = ID3TagEditor()
        if let id3Tag = try id3TagEditor.read(from: Bundle.testMp3FullMeta.path) {
            print((id3Tag.frames[.Artist] as? ID3FrameWithStringContent)?.content.unicodeScalars.map({ $0.value }))

        }

^^^ this test gets me this result:
/OutcastID3Tests.swift:26: error: -[AudiobookTaggerTests.OutcastID3Tests testMP3AudiobookTag] :
XCTAssertEqual failed: ("Artist[X*]") is not equal to ("Artist")
[65, 114, 116, 105, 115, 116, 0]
[65, 114, 116, 105, 115, 116]
Optional([65, 114, 116, 105, 115, 116])

note*: X marks the extra character I removed so that the post wouldn't get cut off.

Just to confirm - does your pull request fix this issue?

As far as I can tell. I tried it in my own tests and got the right return when used it. It was a simple matter where something was referencing the Transcription frame when it should have said CommentFrame. Probably just an oversight using cut and paste since the code is pretty much identical.

That said, you should be aware that your Comment and Transcription frame aren't read properly by any other sources I tried. Your comment frame didn't show up in Comments or anywhere else in Itunes, Yate, Kid3, Fission (and audio editor) or MediaInfo. The transcription frame text appeared properly in Itunes and...I think Fission? But in MediaInfo, it displayed the description string, rather than the content string.

Actually, sorry, I misunderstood your question.
No, my pull request didn't fix this particular issue, except for the part about the Comment content string being the Transcription content string.
For this particular issue, I had to find a workaround, which was this:
        func fixString(string: String) -> String {
            var stringToTrim = string
            stringToTrim.unicodeScalars.removeAll(where: { $0.value < 0x20 })
            return stringToTrim
        }

and then call it here:
               if isolatedFrame.type == AudiobookTag.authors.outcastType {
                    XCTAssertEqual(fixString(stringToFix: isolatedFrame.str), "Author Write Test")
                }

Basically, it would add a null character to the end of every frame that wasn't written by OutcastID3 (I checked, the character wasn't there until it was read by Outcast) and it would add a null character (0x00) followed by an "end of text" character (0x03) to the beginning of the Comment and Transcription frames. So removing everything under 0x20 corrected for it.

Is there any chance we could work together to fix this? I'm more than willing to help, but I've only been coding for about six months and it's just beyond my skills. However, I have a personal project involving audiobooks I'm working on that requires pretty much all of the most complex of the ID3 frames: Comment, Lyrics, CTOC and CHAP, and finding a framework or library I have the skills to implement into a Swift project is proving to be a nearly impossible task.
The issues I've noted are, as I've said, OutcastID3 appears to be adding a null character to the end of most string frames that it doesn't write, and it appears to write 0x00 and 0x03 at the beginning of the Transcription and Comment frames. I fixed the small error in the Comment frame where it was writing the transcription frame content. I haven't had a chance to test the CTOC and CHAP frames.
My own project is stuck until I find a tool that can do these frames, so I'm very motivated to help, I just don't understand your code well enough to do so.
(also, I'd love to be able to use OutcastID3 as a SPM package instead of a CocoaPod)

I'll take a closer look soon, but a bit swamped at the minute. I initially created the library primarily to read chapter info - being able to write out ID3 tags was a secondary thing, but I'd like to have it all working right.
In regards to SPM, I haven't really looked at this yet in general for my own projects, but it's on my todo list.

Hi @NCrusher74 - I just committed a fix which addresses the issue.
In fact it looked like there were two separate issues that resulted in each writing the extraneous byte to those frames. Let me know if this works better for you, and if so I'll release to CocoaPods.

Thanks, I will put it through its paces and see if it works for me!

I created a SPM package of your code and invited you as a collaborator on it. I haven't fully put it through its paces yet, but so far it's working?

Ok - I don't have the bandwidth to work on the SPM package currently, but all in good time. Let me know how you go with the other fixes.

Well, assuming it works (and so far it does, but I haven't had a chance to fully test it yet) you shouldn't have to do anything. It's yours if you want it.

Thanks, appreciate it. I would like to merge it back and release it properly eventually.

Yeah I figured. But I figured for now I'd let you know it was there.
I had removed OutcastID3 from my project (with extreme prejudice toward
CocoaPods) so I've had to get things set up again on my end to test it out.
I'm almost there, but so far things are working well.
On Tue, Mar 17, 2020 at 3:31 PM Quentin Zervaas<EMAIL_ADDRESS>wrote:

Thanks, appreciate it. I would like to merge it back and release it
properly eventually.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CrunchyBagel/OutcastID3/issues/5#issuecomment-600331695,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANRMHJDKDWBACXMDPZGASU3RH725DANCNFSM4LD5YWZA
.

Okay, having run OutcastID through my own reading/writing tests, there are still a couple glitches.
First of all, if the .mp3 file you're writing to doesn't already have an ID3 tag on it, OutcastID3 will error out instead of creating one.
Unbeknownst to me back when I created my metadata-free test file, ffmpeg actually strips the ID3 tag off the file rather than just blanking out the values in the frames on the tag. OutcastID3 refuses to have anything to do with that file. I don't know if you intended it to work that way or not, but that's the way it is at present.
Second--and this could be user error--right now Outcast appears to be adding duplicate frames on a file with the frames already written instead of replacing the values in those frames.

The reason I say this could be user error is because this is how I'm doing it:
    private var outcastFrames: [OutcastID3TagFrame]?

    private mutating func set(_ tag: AudiobookTag, string: String) {
        let stringTags: [AudiobookTag] = [
            .authors,
            .bookTitle,
            .category,
            .copyright,
            .keywords,
            .mediaType,
            .narrators,
            .primaryAuthor,
            .publisher,
            .series,
            .title,
            .universe,
            .genre,
        ]
        if stringTags.contains(tag) {
                    let frame = OutcastID3.Frame.StringFrame(
                        type: tag.outcastType!,
                        encoding: .utf8,
                        str: string)
                    outcastFrames?.append(frame)
        }
    }

```swift
    public mutating func setAuthors(authors: String) throws {
        set(.authors, string: authors)
    }

    //MARK: Write
    public func write(outputUrl: URL) throws {
                 let mp3File = try OutcastID3.MP3File(localUrl: self.audiobookUrl)
                let outcastTag = OutcastID3.ID3Tag(
                    version: .v2_4,
                    frames: outcastFrames ?? [])
                try mp3File.writeID3Tag(tag: outcastTag, outputUrl: outputUrl)
    }

So, it could be the fact that the way I'm doing this involves appending to the frame array, but I'm pretty much you want it so that it overwrites instead of appends if there's a value that is supposed to be unique.

The library doesn't really do any checking of the frames, so if you have duplicate frames it will write them all.
Also, you need to handle the thrown error if there's no tag and create it accordingly. The library will insert a tag if there isn't one, or replace the tag if there already is one.

Well, it's not that I had duplicate frames. It's that the file already had frames and instead of replacing those frames, OutcastID3 created a new, duplicate frame.
I will see what I can do about handling the situation where the file doesn't have a pre-existing tag. I don't see what option Outcast gives to create a tag if one doesn't already exist aside from simply attempting to write the tag in the first place, but I'll try to see if I can find something.

Yea - this is expected behaviour. You need to filter out the old tags you don't want any more before writing back to the file.
Have a look at MP3File+WriteTag.swift, around line 82. You can see it removes the existing tag and then replaces it with the new tag.
There are no rules in the library as to what tags can or cannot appear multiple times - it's purely a utility to read/write the tags. You'll still need to manage the specific tags.


Issue from website page Continuous Delivery using Fastlane with Flutter

From URL: https://flutter.io/fastlane-cd/
These instructions are wholly inadequate. I am unable to get either Android or iOS to work at a "Hello World" level. iOS devolves into a morass of signing issues -- extremely confusing. Android instructions for me result in a "success", but the apk is visible nowhere in the dev portal.

please add the output of flutter doctor

@xster

@csmac3144, did @xster answer your question? Please weigh in if there were other issues you encountered. It sounds like the info above can be added to the page.

@xster, should this be added to the page? I'll close it out, otherwise.

I think looking for updated releases on the Google Play Console is standard Play Store usage and isn't Flutter specific. I don't think we need to add more info onto our website.


The repository was abandoned?

No pull request accepted since 2014. What's going on?
The npm release still in 0.2.0 version.

there is some fork of this repository who are still active.
I found these two :
https://github.com/CrackerakiUA/ngImgCropFullExtended
https://github.com/vogloblinsky/ngImgCropExtended
one is a fork of the other, but there are both active.
I don't know the difference between them.

The repo or CrackerakiUA is ahead of all forks.
Me and Denis implemented cool features and do most of the work on the amazing plugin.
I asked the owner to transfer the repo to me so i can develop it even better.
Give a +1 to help me with this task.