white status bar on android release

Summary:
Status bar color is white on apk release but it has no problem on development.

Hey @iamhaaamed, can you provide more details on the issue please, i am not sure how i can help in this case.
Probably using StatusBar  component explicitly inside you screen can fix your issue

Hello @yjose , StatusBar fixes the white color issue but the problem is that the header interferes with the status bar.

Header from react-navigation correct ?

Yes

Not sure if did you check this guide  from react-navigation docs, probably can help you fix the issue.
@iamhaaamed  Any way look like the problem has nothing to do with the template and related to react-navigation


Fix dev removed crash

@mikechristie
And the kernel also needed to be fixed about the device removing.
This PR could resolve the tcmu-runner's crash, but the kernel's ring buffer broken case still exist.

@mikechristie Would this be the one that fixes our kernel crashing problem? Because all of ours occur on device remove. https://github.com/open-iscsi/tcmu-runner/issues/255

@bgly Did your kernel crash log file has the ring broken logs?
The kernel has one bug: just before the remove nl sent to userspace, the ring has been released. But the userspace still doing IOs.
This PR couldn't fix/avoid the kernel's bug and could fix #255.

I just sent @pkalever a kernel patch for a similar problem.
Is tcmu runner still doing IOs because the cmd_time_out fired and so the kernel freed the cmd and drop the reference to the device? The tcmu runner handler or runner itself still is executing it though?
Do you hit this problem with cmd_time_out = 0?

I meant I sent him a patch to move the freeing of the ring to after the device is removed in user space.
We are seeing another problem with cmd time out disabled/0 and in that case IO should not be running. Are you by any chance also seeing kernel crashes in uio_poll or uio_read during dev removal?

Kernel Crash case 2：
BUG: unable to handle kernel NULL pointer dereference at<PHONE_NUMBER>000020
IP: tcmu_vma_fault+0xbe/0x1d0 [target_core_user]
PGD 202962f067
P4D 202962f067
PUD 202abc3067
PMD 0
Oops: 0000 [#1] SMP
CPU: 11 PID: 6639 Comm: tcmu-runner Not tainted 4.13.0-rc2+ #2Hardware name: Inspur NF5270M3/NF5270M3, BIOS CHEETAH_2.1.6 02/24/2014task: ffff9eafba7c1680 task.stack: ffffb0aa585dc000RIP: 0010:tcmu_vma_fault+0xbe/0x1d0 [target_core_user]
RSP: 0000:ffffb0aa585dfd68 EFLAGS: 00010246
RAX:<PHONE_NUMBER>000000 RBX: ffffb0aa585dfde0 RCX: ffff9e9f80000108
RDX: 000000202c087000 RSI:<PHONE_NUMBER>000000 RDI:<PHONE_NUMBER>000000
RBP: ffffb0aa585dfda0 R08: 00003ffffffff000 R09: ffffc00000000fff
R10:<PHONE_NUMBER>000000 R11:<PHONE_NUMBER>000001 R12: ffff9eaf7dd00000
R13:<PHONE_NUMBER>000000 R14:<PHONE_NUMBER>000000 R15: ffff9ebfb4cfc5c0
FS:  00007f8606017800(0000) GS:ffff9ebfbf2c0000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0:<PHONE_NUMBER>050033
CR2:<PHONE_NUMBER>000020 CR3: 000000202a13c000 CR4:<PHONE_NUMBER>1406e0
Call Trace:
__do_fault+0x1e/0x70
__handle_mm_fault+0xab1/0x1120
? call_rwsem_wake+0x1b/0x30
handle_mm_fault+0xd1/0x230
__do_page_fault+0x22a/0x4a0
? __audit_syscall_exit+0x209/0x290
do_page_fault+0x30/0x80
? do_syscall_64+0x147/0x150
page_fault+0x28/0x30
RIP: 0033:0x7f8605c00ba2
RSP: 002b:00007ffca27e7780 EFLAGS: 00010213
RAX: 00007f8477800000 RBX:<PHONE_NUMBER>000000 RCX: 00007f86045c1dca
RDX:<PHONE_NUMBER>cd16d0 RSI:<PHONE_NUMBER>800000 RDI:<PHONE_NUMBER>000000
RBP: 00007ffca27e78f0 R08:<PHONE_NUMBER>000032 R09:<PHONE_NUMBER>000000
R10:<PHONE_NUMBER>000001 R11:<PHONE_NUMBER>000246 R12:<PHONE_NUMBER>407b60
R13: 00007ffca27e7c90 R14:<PHONE_NUMBER>000000 R15:<PHONE_NUMBER>000000
Code: 24 40 93 00 00 44 89 e8 48 89 45 d0 48 89 f7 48 89 75 c8 48 89 c6 e8 b2 ba 21 c2 48 85 c0 49 89 c6 74 59 4c 89 ff e8 92 18 23 c2 <49> 8b 46 20 a8 01 75 43 4c 89 f0 f0 ff 40 1c 4c 89 73 48 48 83
RIP: tcmu_vma_fault+0xbe/0x1d0 [target_core_user] RSP: ffffb0aa585dfd68
CR2:<PHONE_NUMBER>000020

@mikechristie
The following kernel patch may fix the bugs above: https://www.spinics.net/lists/target-devel/msg15970.html

@mikechristie This bug can be reproduced 100% by following steps below:
On initiator, do some fio test on your tcmu device,
On target, remove your device when device is IO busy. targetcli /backstores/user:rbd delete yourdevice
Runner will crash.
If you restart runner again after former crash, kernel will crash due to reference to NULL pointer, which one xiubo's kernel patch intended to fix.

Tests okay and looks good to me.

I am going to assume another case of this occurring is:
[23980.220457] tcmu daemon: command reply support 1.
[23980.387336] TARGET_CORE[ibmvscsis]: Detected NON_EXISTENT_LUN Access for 0x00000002
[23980.484651] Unable to handle kernel paging request for data at address 0x00000020
[23980.484662] Faulting instruction address: 0xd00000000e0b1e14
[23980.484666] Oops: Kernel access of bad area, sig: 11 [#1]
[23980.484668] SMP NR_CPUS=2048 NUMA pSeries
[23980.484674] Modules linked in: hvcs(OE) hvcserver rpadlpar_io rpaphp mmfs26(OE) mmfslinux(OE) tracedev(OE) dccp_diag dccp tcp_diag udp_diag inet_diag unix_diag af_packet_diag netlink_diag target_core_pscsi(OE) target_core_file(OE) target_core_iblock(OE) iscsi_target_mod(OE) vport_vxlan openvswitch target_core_user(OE) uio binfmt_misc pseries_rng ibmvmc(OE) vmx_crypto rtc_generic xt_conntrack nf_nat_ftp nf_conntrack_ftp nf_conntrack_netlink nfnetlink nf_conntrack_netbios_ns nf_conntrack_broadcast nf_conntrack_ipv6 nf_defrag_ipv6 nbd br_netfilter bridge ib_iser rdma_cm iw_cm ib_cm ib_sa ib_mad ib_core ib_addr vhost_net vhost macvtap macvlan iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip_vs libcrc32c iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 iptable_mangle iptable_filter ipt_REJECT
[23980.484730]  nf_reject_ipv4 ipt_MASQUERADE nf_nat_masquerade_ipv4 nf_nat nf_conntrack ip_tables ip6table_filter ip6_tables ebtables x_tables dm_snapshot dm_bufio dm_multipath 8021q garp mrp stp llc autofs4 mlx4_en vxlan ip6_udp_tunnel udp_tunnel ses enclosure ibmvscsis(OE) target_core_mod(OE) configfs(OE) ibmveth(OE) lpfc mlx4_core ipr scsi_transport_fc
[23980.484757] CPU: 2 PID: 10360 Comm: tcmu-runner Tainted: G           OE   4.4.0-92-generic #115-Ubuntu
[23980.484760] task: c0000007ee2ae130 ti: c0000007ee35c000 task.ti: c0000007ee35c000
[23980.484763] NIP: d00000000e0b1e14 LR: d00000000e0b1e84 CTR: c0000000002854c0
[23980.484766] REGS: c0000007ee35f8f0 TRAP: 0300   Tainted: G           OE    (4.4.0-92-generic)
[23980.484769] MSR:<PHONE_NUMBER>009033 <SF,EE,ME,IR,DR,RI,LE>  CR: 28004828  XER: 00000000
[23980.484777] CFAR: c000000000008468 DAR:<PHONE_NUMBER>000020 DSISR: 40000000 SOFTE: 1
GPR00: d00000000e0b1e84 c0000007ee35fb70 d00000000e0be360<PHONE_NUMBER>000000
GPR04: c0000007ee35fc30<PHONE_NUMBER>000000<PHONE_NUMBER>000054<PHONE_NUMBER>000000
GPR08: c0000007ee35fcd0<PHONE_NUMBER>000000 c000000ff9180000 d00000000e0b5040
GPR12: c0000000002854c0 c00000000fb41300<PHONE_NUMBER>000000<PHONE_NUMBER>010560
GPR16:<PHONE_NUMBER>010390<PHONE_NUMBER>e538b0<PHONE_NUMBER>030a58 c00000043ac9c400
GPR20: c0000007f0661998<PHONE_NUMBER>000000 c00000043ac9c000<PHONE_NUMBER>000400
GPR24:<PHONE_NUMBER>000000<PHONE_NUMBER>000000<PHONE_NUMBER>001998 c0000007ee35fcd0
GPR28: c0000007edff0000 c0000007ee35fc30<PHONE_NUMBER>000054<PHONE_NUMBER>000000
[23980.484816] NIP [d00000000e0b1e14] tcmu_vma_fault+0x104/0x290 [target_core_user]
[23980.484819] LR [d00000000e0b1e84] tcmu_vma_fault+0x174/0x290 [target_core_user]
[23980.484822] Call Trace:
[23980.484825] [c0000007ee35fb70] [d00000000e0b1e84] tcmu_vma_fault+0x174/0x290 [target_core_user] (unreliable)
[23980.484833] [c0000007ee35fc10] [c000000000270be4] __do_fault+0x84/0x160
[23980.484837] [c0000007ee35fcb0] [c000000000276818] handle_mm_fault+0xd78/0x1920
[23980.484842] [c0000007ee35fd80] [c000000000b0fe44] do_page_fault+0x354/0x7f0
[23980.484846] [c0000007ee35fe30] [c000000000008664] handle_page_fault+0x10/0x30
[23980.484848] Instruction dump:
[23980.484850] e8410018 3b7b91e8 7bd90020 7f24cb78 7f63db78 48003181 e8410018 7c7f1b79
[23980.484856] 418200ac 7f43d378 480027bd e8410018  792a07e1 40820074 393f001c
[23980.484865] ---[ end trace 59a40520dd1b4690 ]---
Or is this one addressed via the kernel patch from Xiubo?
https://www.spinics.net/lists/target-devel/msg15970.html
Its hard for me to determine the cause of this crash since it was buried under automated tests that just do scale testing deploys and removes over and over. Something could've caused tcmu to crash while state was BUSY but I'm not 100% sure

@mikechristie This bug can be reproduced 100% by following steps below:
On initiator, do some fio test on your tcmu device,
On target, remove your device when device is IO busy. targetcli /backstores/user:rbd delete yourdevice
Runner will crash.

What is the cmd_time_out value being used?
The root question is why is IO still running in tcmu-runner when the targetcli delete is done, because every IO gets a reference to the device. You cannot remove a device while IO is running in runner unless commands have timed out. If commands have not timed out then we have another bug.
Or, is there a slight miscommunication? When you write that IO is busy, do you know if when the delete command is run IO is actually in the LIO and/or runner layer? Is there a bug where IO is not actually in those layers (IO is being sent by the initiator but IO running in the lio and runner layers had been completed so the refcount went to zero and we were able to delete the device), but the runner cmdproc thread is still accessing the ring buffer and doing uio read/write/poll calls when it shouldn't?

Let's summarize the bugs:

If cmd_time_out != 0, and a command has timed out then we definitely need these patches, and the kernel patch that moves the ring buffer code to fix the page fault crashes here.

Why do we need to change where uio_unregister_device is being called in this kernel patch:
https://www.spinics.net/lists/target-devel/msg15970.html
Did you do it because uio_write was in the trace in kernel crash 1?

If cmd_time_out 0 or > 0, then we should not be making uio calls after tcmu_netlink_event has been called successfully. In tcmu runner we will do dev_removed -> tcmulib_cleanup_cmdproc_thread -> cancel_thread  and on successful completion that should have stopped the thread doing uio calls and ring accesses. Is this not correct? Is there a bug in this code?
If runner crashes then we could be in a inconsistent state, and I do not know what will happen. If you start runner again we need more code to detect what is left open.

If cmd_time_out = 0, or if it is > 0 but no commands timedout, then why do we need this patches? The kernel should not be calling tcmu_destroy_device until all outstanding commands have completed. Is that a correct assumption? If not, then we need more fixes. For example target_free_device needs to move the destroy_workqueue to after the destroy_device call. It would also seem that all the backends are buggy and will free memory for outstanding commands.

@mikechristie
Sorry for late.
What is the cmd_time_out value being used?

It's the default value 30s.
The root question is why is IO still running in tcmu-runner when the targetcli delete is done, because
every IO gets a reference to the device. You cannot remove a device while IO is running in runner
unless commands have timed out. If commands have not timed out then we have another bug.

Or, is there a slight miscommunication? When you write that IO is busy, do you know if when the
delete command is run IO is actually in the LIO and/or runner layer? Is there a bug where IO is not
actually in those layers (IO is being sent by the initiator but IO running in the lio and runner layers had
been completed so the refcount went to zero and we were able to delete the device), but the runner
cmdproc thread is still accessing the ring buffer and doing uio read/write/poll calls when it shouldn't?

As we know, the udev's kref count will be equal to 2( open device + configure device).
Our crashes are caused by the following case:
1, IOs are running
2, try to remove the target device through the configfs
3, then the TCMU will release the cmd area and other memories in tcmu_destroy_device()
4, BUT NOW the page fault or write maybe running and will use the memories above.
5, then the TCMU will send a REMOVE netlink message to the runner in tcmu_destroy_device() and the kref count will be 1.
6, the runner receive the REMOVE nl message then try to remove the device and crash due to the tracker.
7, ....
If there hasn't any IOs when doing all these above, everything will works well and the step 7 will close the uio dev and then kref count will be zero.
And the following patch will release all the possible memories and resources only when the last user has kref_put the count to 0:
https://www.spinics.net/lists/target-devel/msg15970.html
For the kernel fix patch's I just copy it here:
See the following case if without :

uio_unregister_device(&udev->uio_info);

There should still be a bug:
1, IOs are running
2, try to remove the target device through the configfs
3, then the TCMU will send a REMOVE netlink message to the runner in tcmu_destroy_device().
4, since there maybe lots of IOs and the runner will wait for them being done, which will still use the UIO device.
5, the TCMU doesn't know what the runner's status and just called uio_unregister_device() to release the UIO device .
6, ....
And I am not very sure will the above case will cause the kernel's another crash ?

If runner crashes then we could be in a inconsistent state, and I do not know what will happen. If you start runner again we need more code to detect what is left open.

Currently, if the runner crashes, in kernel the CMD area and other resources has been released and some IOs are still running.
Though the uio_unregister_device() has already called, but when the runner still using the UIO device, will it success immediately? or just returns and wait for the user release it asynchronously? but when runner crash the wait reply message lost. I'm not very sure for now, but it works like this.
When we start the runner again, the runner will access the CMD area and then the kernel crashes.

For the page fault case:
Are you doing the sync or async tcmu removal calls? I am assuming sync.
I am not sure what IO running has to do with it.
In your cases you are saying that IO is running in runner when tcmu (target_core_user module) sends the remove nl event right? My question is how is that possible? Here is what I am saying is supposed to happen:

you are doing some IO test. IOs are in the iscsi layer, LIO core, tcmu, and tcmu-runner and rbd.c.
you do the targetcli removal command.
targetcli/rtslib first unlinks the tcmu device from the lun. This calls target_fabric_port_unlink() in the kernel which does:

core_dev_del_lun ->  core_tpg_remove_lun -> transport_clear_lun_ref
In that function we will wait for all outstanding IOs and will make it so new IOs cannot be sent to tcmu.

When IOs have completed, this will return and the LUN will be unlinked/unmapped.

targetcli/rtslib will then remove the tcmu device which will call tcmu_destroy_device and do the NL remove call. At this time, if no commands have timed out, then runner should be sitting in the poll call.

So I am sort of agreeing with you:

In general is a bug for tcmu to release the memory user space is using before we have removed the user space device.

if cmd_time_out has run and left commands running in runner, then the above code does not work since the refcount is dropped, so we can hit what you describe.

Did commands timeout and were freed by the kernel but left running in runner? If so, then the bug you hit makes sense.

If commands have not timed out then, how are we hitting your bug? Does this happen:

dev_removed -> tcmulib_cleanup_cmdproc_thread -> cancel_thread -> pthread_cancel
this then wakes tcmur_cmdproc_thread. Does poll then return that there are events and so we call  tcmulib_processing_start/tcmulib_get_next_command an extra time and we can hit your bug that way too? In this case, it would explain why we are seeing something similar with cmd_time_out=0.
In this case is poll supposed to return success and revents=POLLIN or is that a bug in the poll code? If that is how poll is supposed to work then I agree we need your patch for this case too.

For the uio case:
For this again, I have been assuming that you are using the sync nl interface.
In this case, targetcli/rtslib and kernel should work the same. If cmd_time_out has fired and left commands running in runner, I do see how the patch in this PR where we wait for running to stop processing IO helps.
However it is not clear how the uio_unregister_device move helps in the normal case.
For this:
1, IOs are running
2, try to remove the target device through the configfs
3, then the TCMU will send a REMOVE netlink message to the runner in tcmu_destroy_device().
4, since there maybe lots of IOs and the runner will wait for them being done, which will still use the UIO device.
5, the TCMU doesn't know what the runner's status and just called uio_unregister_device() to release the UIO device .
we should be doing
remove_device -> dev_removed -> tcmulib_cleanup_cmdproc_thread -> cancel_thread
We then wait for the cmd thread to stop. When that is done we know it is not accessing the uio device.
remove_device then does the final close() on the uio device and then we return back to the kernel which is waiting for our nl reply. We can then do the uio_unregister_device where we do today because user space has is no longer touching the UIO device.
If you are hitting a bug in the uio code, then is it something else? Is tcmur_cmdproc_thread still running? Did cancel_thread not cleanup properly?
For the non normal case, if runner crashes then I think I can see how we need your patch.

Oh yeah sync removal means using the newer tcmu runner and tcmu code where we send the NL event for removal/addition, then the kernel waits for a response.

@mikechristie
Yes, you are right.
It is doing the sync tcmu removal calls, the following is the kernel debug log:
Target_Core_ConfigFS: Releasing ALUA Target Port Group: alua/tg_pt_gps/tpg0, ID: 1
Allocated UNIT ATTENTION, mapped LUN: 0, ASC: 0x3f, ASCQ: 0x03
iSCSI_TPG[1]_LUN[0] - Removed ACL for InitiatorNode: iqn.2017-03.org.ceph:<IP_ADDRESS> Mapped LUN: 0
iSCSI_TPG[1] - Freeing ACL for iSCSI InitiatorNode: iqn.2017-03.org.ceph:<IP_ADDRESS> Mapped LUN: 0
iSCSI_TPG[1]_LUN[0] - Deactivating iSCSI Logical Unit from device object
sleeping for nl reply
close
genl cmd done got id 121 curr 2 done 2 rc 0
CORE_HBA[121] - Detached HBA from Generic Target Core
Started NOPIN Response Timer on CID: 0 to 5 seconds
For the kernel patch, the following code removal is no need:
-    uio_unregister_device(&udev->uio_info);
-

In this case, targetcli/rtslib and kernel should work the same. If cmd_time_out has fired and left

commands running in runner, I do see how the patch in this PR where we wait for running to stop
processing IO helps.
In kernel for the cmd_time_out, in our environment it hasn't been fired and the timer will be deleted in tcmu_destroy_device(). Then the kernel just frees all the CMD area and some other memories.
And then just before the REMOVE nl message has been sent out, maybe the tcmu-runner is doing the uio write or triggering the tcmu page fault then kernel will crash.
Without this PR, the runner maybe crash and the nl reply will lost ? So the kernel will wait it without has any chance to call uio_unregister_device(), and for this case the kernel will crash when we try to run the runner again.

@mikechristie
Sorry for missing your old patch about this:
https://www.spinics.net/lists/target-devel/msg15947.html

@mikechristie
I'd like to add more additional explanation that this crash only happened when our ceph cluster is overwhelmed
After expend our ceph cluster global size from 200G to 32T, this bug became hard to reproduce. And I setup a smaller ceph cluster that only 30G for analysing purpose, and create several 30G RBD blocks make it filled with fio test, this time the bug appeared again.

@zhuozh and @lxbsz are you guys hitting this code in tcmu_check_expired_cmd:

static int tcmu_check_expired_cmd(int id, void *p, void *data)
{
        struct tcmu_cmd *cmd = p;

        if (test_bit(TCMU_CMD_BIT_EXPIRED, &cmd->flags))
                return 0;

        if (!time_after(jiffies, cmd->deadline))
                return 0;

        set_bit(TCMU_CMD_BIT_EXPIRED, &cmd->flags);
        target_complete_cmd(cmd->se_cmd, SAM_STAT_CHECK_CONDITION);
        cmd->se_cmd = NULL;

        return 0;

If a commands has timedout meaning we passed the timer_after check and called target_complete_cmd then we can hit the bug you are describing. In that case the lun refcounts could be zero but tcmu-runner is still executing the command, and so we have to have the code in this PR.
We could hit this timeout more easily when the cluster is overworked.
Maybe just add a printk in that function to make sure that is the case and we are not hitting some other type of race.

@mikechristie
Yes, we are tring to add one log msg there and other places, but didn't have chance to do the test yet and will test it today.
Yesterday we were tring to reproduce the bugs again and again because our test environment has changed then the.bug disappeared.
We can make sure that, the runner has several log about cmd time out from the ceph because having no space.

@mikechristie
We just reproduce this bug again:
Follows the following reproduce steps will 100% to trigger the bug:
1, setup one ceph cluster which has 30G hole size.
2, create 10 rbd blocks and each size is 30G.
3, use dd to write block0 about about 28G.
4, use fio to write block1 about 100G.
5, if the ceph cluster is full and the ceph cluster will be HEALTH_ERR(from 'ceph -s') and the runner will try to recovery the blockX
6, then try to delete the block1 using targetcli and  the targetcli will stuck.
7, remove the rbd block0 in ceph cluster to make the ceph cluster become okay.
8, sometimes we can see the runner crash and then the kernel crash too.
9, if the runner and kernel doesn't crash, just restart the tcmu-runner again then the kernel should crash.
10, then it's about the page fault crash logs.
We have add one log msg in timedout function, but didn't find any of the logs when kernel crash:
diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c
index 942d0942..e358668 100644
--- a/drivers/target/target_core_user.c
+++ b/drivers/target/target_core_user.c
@@ -1037,6 +1037,9 @@ static int tcmu_check_expired_cmd(int id, void *p, void *data)
if (!time_after(jiffies, cmd->deadline))
return 0;
+       pr_err("cmd %d is expired for about %u msec\n",
+                id, jiffies_to_msecs(cmd->deadline - jiffies));
+
        set_bit(TCMU_CMD_BIT_EXPIRED, &cmd->flags);
        target_complete_cmd(cmd->se_cmd, SAM_STAT_CHECK_CONDITION);
        cmd->se_cmd = NULL;
@@ -1597,6 +1600,7 @@ static void tcmu_destroy_device(struct se_device *dev)
        idr_destroy(&udev->commands);
        spin_unlock_irq(&udev->commands_lock);
        WARN_ON(!all_expired);
+       printk("all_expired = %d\n", all_expired);

        tcmu_blocks_release(udev);

@mikechristie
My test is slightly different with Xiubo's procedure, and the cmd_time_out in kernel fired this time.
1, setup one ceph cluster which has 30G whole size.
2, create 10 rbd blocks and each size is 30G.
3, use dd to write block0 about 28G.
4, use fio randrw block1 about 100G.
5, run "watch ceph df" and 'watch ceph -s', the moment ceph cluster become HEALTH_ERR and ceph pool is 100%USED, try to delete the block1 using targetcli, recovery thread is not triggered, but runner crash immediately.
2017-09-06 14:35:12.288 3694 [DEBUG] handle_netlink:210 : cmd 2. Got header version 2. Supported 2. 2017-09-06 14:35:12.288 3694 [DEBUG] tcmu_cancel_recovery:135 block4: Waiting on recovery thread 2017-09-06 14:35:12.288 3694 [DEBUG] cmdproc_thread_cleanup:624 block4: cmdproc cleanup done tcmu-runner: /data/tcmu-runner/tcmur_aio.c:226: cleanup_aio_tracking: Assertion aio_track->tracked_aio_ops == 0' failed.
Aborted (core dumped)With Xiubo's printk msg added in timedout function, we get the cmd_time_out expired as expected:<3>[  914.910977] cmd 0 is expired for about<PHONE_NUMBER> msec
<3>[  914.913304] cmd 1 is expired for about<PHONE_NUMBER> msec
<3>[  914.915561] cmd 2 is expired for about<PHONE_NUMBER> msec
<3>[  914.917786] cmd 3 is expired for about<PHONE_NUMBER> msec
<3>[  914.919954] cmd 4 is expired for about<PHONE_NUMBER> msec
<3>[  914.922088] cmd 5 is expired for about<PHONE_NUMBER> msec
<3>[  914.924184] cmd 6 is expired for about<PHONE_NUMBER> msec
<3>[  914.926225] cmd 7 is expired for about<PHONE_NUMBER> msec
<3>[  914.928221] cmd 8 is expired for about<PHONE_NUMBER> msec
<3>[  914.930179] cmd 9 is expired for about<PHONE_NUMBER> msec
<4>[  914.933069] all_expired = 1`
7, then restart runner, we'll get the page fault crash logs.

My test is slightly different with Xiubo's procedure, and the cmd_time_out in kernel fired this time.
1, setup one ceph cluster which has 30G whole size.
2, create 10 rbd blocks and each size is 30G.
3, use dd to write block0 about 28G.
4, use fio randrw block1 about 100G.
5, run "watch ceph df" and 'watch ceph -s', the moment ceph cluster become HEALTH_ERR and ceph pool is 100%USED, try to delete the block1 using targetcli, recovery thread is not triggered, but runner crash immediately.
2017-09-06 14:35:12.288 3694 [DEBUG] handle_netlink:210 : cmd 2. Got header version 2. Supported 2.
2017-09-06 14:35:12.288 3694 [DEBUG] tcmu_cancel_recovery:135 block4: Waiting on recovery thread
2017-09-06 14:35:12.288 3694 [DEBUG] cmdproc_thread_cleanup:624 block4: cmdproc cleanup done
tcmu-runner: /data/tcmu-runner/tcmur_aio.c:226: cleanup_aio_tracking: Assertion `aio_track->tracked_aio_ops == 0' failed.
Aborted (core dumped)

With Xiubo's printk msg added in timedout function, we get the cmd_time_out expired as expected:
<3>[  914.910977] cmd 0 is expired for about<PHONE_NUMBER> msec
<3>[  914.913304] cmd 1 is expired for about<PHONE_NUMBER> msec
<3>[  914.915561] cmd 2 is expired for about<PHONE_NUMBER> msec
<3>[  914.917786] cmd 3 is expired for about<PHONE_NUMBER> msec
<3>[  914.919954] cmd 4 is expired for about<PHONE_NUMBER> msec
<3>[  914.922088] cmd 5 is expired for about<PHONE_NUMBER> msec
<3>[  914.924184] cmd 6 is expired for about<PHONE_NUMBER> msec
<3>[  914.926225] cmd 7 is expired for about<PHONE_NUMBER> msec
<3>[  914.928221] cmd 8 is expired for about<PHONE_NUMBER> msec
<3>[  914.930179] cmd 9 is expired for about<PHONE_NUMBER> msec
<4>[  914.933069] all_expired = 1

7, then restart runner, we'll get the page fault crash logs.

Ok.

I think @zhuozh is hitting the bug I mentioned where commands are still running in runner due to kernel timing them out, and I agree these patches and the memory related parts of https://www.spinics.net/lists/target-devel/msg15970.html will fix that problem.
@bgly, if you are also seeing timeouts then this would fix your bug in the aio tracking code.

There is another uio crash that we are debugging here (gluster and rbd teams at Red Hat), and in that case it does not require timeouts to have occurred. I wonder if you guys are also hitting that too.
I think your kernel patch will fix the problem, because it changes the refcounts, but I still think we should not need it.  We do not have an explanation for why when cancel_thread has returned successfully the last ref to the uio device has not been done. I am guessing we are just not understanding something about thread stoppage and if it is in the middle of sys calls at the time of the cancel.

@lxsbz I do not know what you are hitting if you are not seeing time outs. I do not think the shutdown code is correct, because for #2, we are hitting uio creates with no IO running in runner. I am going to assume you are hitting this too and just merge these patches, and we can continue to debug if we see it still.
For the kernel patch please handle the review comments and resubmit.

@mikechristie
The kernel patch has been updated, for my test case i will try it again if we can see the crash still in future.
Thanks.

@mikechristie
For the cmd_time_out fired runner crash case, If these on-the-fly requests in runner lose it's connection with handler, it will trigger recovery thread, and TCMUR_DEV_FLAG_IN_RECOVERY flag will be set which prevents cmdproc thread exit and stuck it on tcmu_cancel_recovery waiting for handler recovery.
This is another bug, we can't catch it becasue it hides behind tracked_aio_ops assert bug.
void tcmu_cancel_recovery(struct tcmu_device *dev)
{
        struct tcmur_device *rdev = tcmu_get_daemon_dev_private(dev);

        /*
         * Only file and qcow can be canceled in their open/close calls, but
         * they do not support recovery, so wait here for rbd/glfs type of
         * handlers to fail/complete normally to avoid a segfault.
         */
        tcmu_dev_dbg(dev, "Waiting on recovery thread\n");
        pthread_mutex_lock(&rdev->state_lock);
        while (rdev->flags & TCMUR_DEV_FLAG_IN_RECOVERY) {
                pthread_mutex_unlock(&rdev->state_lock);
                sleep(1);
                pthread_mutex_lock(&rdev->state_lock);
        }
        pthread_mutex_unlock(&rdev->state_lock);
}

after add the following code:
@@ -813,6 +832,9 @@ static void dev_removed(struct tcmu_device *dev)
         * are getting invoked when shutting down the handler.
         */
        cleanup_io_work_queue_threads(dev);
+
+       if (aio_wait_for_empty_queue(rdev))
+               tcmu_dev_err(dev, "could not flush queue.\n");
        tcmulib_cleanup_cmdproc_thread(dev);

        cleanup_io_work_queue(dev, false);

I got the following log below, runner hang, targetcli delete stuck on waiting for nl reply.
2017-09-07 14:43:02.149 4722 [DEBUG] handle_netlink:210 : cmd 2. Got header version 2. Supported 2.
2017-09-07 14:43:02.149 4722 [DEBUG] aio_wait_for_empty_queue:102 block4: waiting for 10 commands
2017-09-07 14:43:02.489 4722 [ERROR] tcmu_rbd_handle_timedout_cmd:655 block4: Timing out cmd.
2017-09-07 14:43:02.489 4722 [ERROR] tcmu_notify_conn_lost:163 block4: Handler connection lost (lock state 1)
(-----------stuck here--------)
when device is removed and it's lifecycle ends, recovery is not needed, we can fix it by checking TCMUR_DEV_FLAG_STOPPING in tcmu_cancel_recovery, so I update this PR for reviewing purpose.

I can fix that issue. Working on it now.

@lxbsz for the uio read/poll related crashes you saw above I think I found the problem here:
https://github.com/open-iscsi/tcmu-runner/pull/290

Thanks for all the work put into this @zhuozh and @lxbsz!


commit on 'code-journey'

I added my code journey, followed the guidelines and also added my data to the Data.json
I made sure of the following:

My code follows the style guidelines of this project
I have performed a self-review of my own code
I have commented my code, particularly in hard-to-understand areas
I have made corresponding changes to the documentation
My changes generate no new warnings
Any dependent changes have been merged and published in downstream modules

I have commited the changes in the Data.Json file

I have commited the changes in the Data.Json file

Thank you!

Please commit changes requested at the earliest @Demilade-Ayoola

I have commited the changes in the typo and errors

@Demilade-Ayoola Please resolve conflicts in Data.json


IPv6/Multi: Remove extra MSS field from TCP sockets

Description
Just like we did recently in #288, this PR ( based on IPv6/multi ) will replace two fields with a single one:
-    uint16_t usCurMSS;        /**< Current Maximum Segment Size */
-    uint16_t usInitMSS;       /**< Initial maximum segment Size */
+    uint16_t usMSS;           /**< The Maximum Segment Size for the current connection. */

The fields are entirely private to the library, just like all contents of a socket structure.
They can be joined because in fact they always have the same value.
Test Steps
I tested the changes by running IPERF with a varying value for ipconfigNETWORK_MTU, which influence the MSS ( Maximum Segment Size ).
Related Issue
This PR doesn't have the intention to solve an issue.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

There are conflicts with 3 files because of other PR's which got merged. I think it's the easiest to recreade this PR, based on the current sources.


Fix/revert/done

Date: 9 Sep 2024

Developer Name: @skv93-coder

Issue Ticket Number

Closes #1238

Description
This PR applies dev flag for DONE status

Documentation Updated?

[ ] Yes
[x] No

Under Feature Flag

[x] Yes
[ ] No

Database Changes

[ ] Yes
[x] No

Breaking Changes

[ ] Yes
[x] No

Development Tested?

[x] Yes
[ ] No

Screenshots

Screenshot 1

Test Coverage

Screenshot 1

Additional Notes

wow, that decreased a lot of lines @skv93-coder LGTM!


Hide scripts from end-user

Currently we keep scripts in a raw text files inside Scripts folder. This makes it extremely easy for end-users to randomly edit those files. For now, when TEN is in beta stage, it's okay, but for future, it may be necessary to implement a way to "hide" scripts from player, so he won't mess with them.
I propose simply packing all scripts into single zlib archive (we can even call it SCRIPT.DAT) and unpack it into memory on start, and access scripts solely from memory. For debug purposes, we may keep direct script loading from text files, so TEN would search for Scripts folder first, and load files from it, and if such file is not found, SCRIPT.DAT is used (or vice versa).

After multiple discussions, it was decided that scripts should remain in open format for educational purposes.


[File Locksmith] Update context menu label

The current context menu label is something a long the lines of "See what's using this file?" which feels out of place compared to other context menu actions. It also shows this when right-clicking a folder, which is incorrect (see https://github.com/microsoft/PowerToys/issues/21775).
The proposal would be to update this string with something like:
"Find blocking processes"
But open for suggestions on this.
Another issue related to this is:l, for PowerRename: https://github.com/microsoft/PowerToys/issues/3904

@jay-o-ways I know you have strong opinions on this, so if you have any suggestions please post 'em here :)!
As you pointed out in #3904 having something like ACTION in/with APP would be best (the new "Edit in Notepad" that recently shipped in an Insider build does this as well - but might be a bit long and verbose?
Was thinking of taking also updating the context menu entries for PowerRename (#3904) and Image Resizer as well, so they are all consistent.
"Resize with ImageResizer"
"Rename with PowerRename"
"Find blocking processes with File Locksmith"
or maybe just:
"Resize"
"Rename"
"Find blocking processes"

Fist - I think grouping all PowerToys entries under a menu would be ideal. Both in Windows 10 and 11 --> #21719. Definitely would use the short version in that case. For the extended (W10) menu it would be better to be a bit more verbose, indeed. But not too much. Note that they/some also get translated. "Formaat van afbeeldingen wijzigen" is already lengthy without the name of the app.
Related:
https://github.com/microsoft/PowerToys/issues/13168#issuecomment-917592520
https://blogs.windows.com/windowsdeveloper/2021/07/19/extending-the-context-menu-and-share-dialog-in-windows-11/

Hi, this has been worked on for the 0.78 development cycle. 😄
Please update PowerToys to the latest: https://github.com/microsoft/PowerToys/releases


Update getting_started.md

Fix a layout issue

I found this tiny bug when I'm reading https://docs.nervos.org/cita/#/./chain/getting_started so just click "edit" then do this quick fix.
As your suggest, I clone Cita to trying fix English version, but I find big problems:
First, There have Latest and latest in one directory, macOS's filesystems case-insensitive by default, so I can only see one of them.
Second, https://docs.nervos.org/cita/#/./chain/getting_started using Latest and difference with latest one, that make me confusion.
Third, I roughly read English version of Latest and latest, they look the same, so English version doesn't have this bug.
Fourth, English version have problem on GH page.

Great! We will fix it soon.
And use the Latest directory. You can check the same path on develop branch, and you'll see.The latest dir should be deleted, there may be some wrong when updating the code cause we work on bitbucket.
thx for that


wip

WHAT
WHY
Related issue (if exists)

Codecov Report

Merging #74 (01965e7) into main (7b93fc0) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #74   +/-   ##
=======================================
  Coverage   83.78%   83.78%
=======================================
  Files          18       18
  Lines         592      592
=======================================
  Hits          496      496
  Misses         88       88
  Partials        8        8

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 7b93fc0...01965e7. Read the comment docs.


fix: List modal loading when clicking button or typing

PR Type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Context

[x] Closes #9623

Needs QA check

@kodadot/qa-guild please review

Did your issue had any of the "$" label on it?

[x] Fill up your DOT address: Payout

Screenshot 📸

[x] My fix has changed something on UI;

https://github.com/kodadot/nft-gallery/assets/44554284/39fac7e8-a0ba-4eb0-92ef-f5fbaa29ea8f

@preschian I was thinking we can reduce the number of times i'ts gettting the action tx fee and it's showing "checking balance" by only estimating the action tx fee when a new token is added / change in token length

and not every time we change the price, from what I've seen, changes in listing price do not affect the tx fee only amount of tokens do
wdyt?

and not every time we change the price, from what I've seen, changes in listing price do not affect the tx fee only amount of tokens do

nice info, i would like that

and not every time we change the price, from what I've seen, changes in listing price do not affect the tx fee only amount of tokens do
wdyt? Worth doing ?

sure, lets try with that 👍🏻

Thanks!
pay 50 usd

😍 Perfect, I’ve sent the payout
💵 $50 @ 10.29 USD/DOT ~ 4.859 $DOT
🧗 16faLfsywwNATaEfbH2ah75dn6ZmctQWpMS5G4KFhbmj5hnD
🔗 0xe469e5ecaaa26c9ccde7e50be67f50c9d7b0d846deef75cba15811ae52b236ca
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Migrate Moderation Commands

Moderation commands previously used a #log-channel to manage messages. Look into replacing with or also using the default discord audit log. Timeout command is also now a default feature of discord and should be converted to utilize this system.


Add (better) support for Home Assistant Long-Term Statistics

Long-term statistics for sensor values have been available in Home Assistant for some time. These long-term statistics are not affected by database purges, take up little space and are very useful for long-term analyses: https://data.home-assistant.io/docs/statistics/
It would be cool if the sensor values of the ha_toyota custom component were also included in these long-term statistics. As you can see in my screenshot from the "Developer Tools -> Statistics" section, only the current weekly, monthly and yearly statistics for my Corolla are currently included in the long-term statistics.
By the way, the "reichweite_corolla" sensor here is a self-made template sensor that determines the current remaining range based on the tank level according to the ha_toyota custom component ;-)
The inclusion of further ha_toyota senor values in these long-term statistics should not be a problem. All that needs to be done is to provide the sensors with a valid device_class, state_class and unit_of_measurement.
An overview of the valid device_class options can be found here: https://developers.home-assistant.io/docs/core/entity/sensor/#available-device-classes
An explanation of the state_class can be found here: https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics
I'll see if I can find the time to get back into ha_toyota to create a pull request. In any case, I wanted to record it here in case I don't get around to it. Are there any other opinions or ideas?

Better logterm statistics support with proper device classes will com with V2:
https://github.com/DurgNomis-drol/ha_toyota/pull/166


Depend upon tags

What is the goal of this PR?
We update dependencies on grakn core and client python to depend upon releases by specifying a tag rather than a commit.
What are the changes implemented in this PR?

Change from providing commit to providing tag for dependencies in dependencies/graknlabs/dependencies.bzl

Closing due to #75


new field objects for System

sorry, forgot to switch branch for Workorder, but will leave this here :)


SSL issue

Hello,
I'm getting this error in the logs when trying to connect a device at <IP_ADDRESS> via MQTT SSL:
1553966506: Client connection from <IP_ADDRESS> failed: error:1408F10B:SSL routines:ssl3_get_record:wrong version number.
Would you know what the problem is?
Thank you!

Looks like there is a mismatch with the SSL version on the client and the server, is your client using an old lib to connect?

I’m using the Tasmota firmware on the client — actually on most of my devices.

Le 30 mars 2019 à 19:37, Joakim Sørensen<EMAIL_ADDRESS>a écrit :
Looks like there is a mismatch with the SSL version on the client and the server, is your client using an old lib to connect?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Just tested the latest version, no issues with using SSL.
Jump on to discord or the forums if you need help troubleshooting your issue.


atProvider contains the full state

Description of your changes
Demonstrate upjet PR https://github.com/upbound/upjet/pull/164
I have:

[ ] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
make generate

Closing in favor of https://github.com/upbound/provider-aws/pull/672


react/boolean-prop-naming does not work when it's in function declare

Example
export type Props = {
  abcd: boolean;
};

const Component: FunctionComponent<Props> = ({
  abcd
}) => <div/>

Expected Behavior:
Underline abcd is not fullfil the format
Actual Behavior:
eslint bypassed

seems fixed by updated to latest
Sry abt that


Swagger UI on https with SSL offloading errors because of json url then uses http

I'm using @vitalybibikov fork (nuget: https://www.nuget.org/packages/AzureExtensions.Swashbuckle/) which is working great for me with Azure Functions v3.1 - but one issue in that I force https and the swagger ui is great but the json explore url defaults to http only, which errors as I don't allow non-https.

[Posting here as @vitalybibikov fork doesn't have issues enabled]
I'm not sure if this happens on this code base too but just wondering if anyone has seen this or better still solved it?

Hi @msivers
Can you create a repro?
I've checked and it works.

Tried this locally myself and works fine in that context... my production environment is AKS (Azure Kubernetes Service) and I use Azure Application Gateway (via AGIC ingress controller) which does SSL offloading, so that will be why.

As far as I know Application Gateway currently does not have ability to rewrite URL(things might have changed, as this feature was in developlement), but Azure API Management can do this, if it is an option.
On configuration: AKS + Ocelot (as a gateway) + TLS offload, Ocelot does not provide this ability as well, so we have used a workaraound: https://github.com/ThreeMammals/Ocelot/issues/161#issuecomment-370550860
I guess, the best option is to make both
swagger/json and swagger/ui endpoints available outside of the cluster.
while rerouting all th requests to their http versions via Gateway.

The Application Gateway Ingress Controller has an annotation - appgw.ingress.kubernetes.io/ssl-redirect: "true" which with redirect which I am now using which is great. This doesn't fix the problem though as the json url will still be 'http' because of the offload and it's then being blocked by the browser as it's mixed content.
We could do with a flag to be set in swashbuckle to ensure all urls are changed to https?

Ok, I got it.
Though it's not the best option to specify a flag, as there is a need to cover all the cases when domain name is different as well.
I have added new OverridenPathToSwaggerJson option,
            builder.AddSwashBuckle(Assembly.GetExecutingAssembly(), opts =>
            {
                opts.OverridenPathToSwaggerJson = new Uri("https://blablabla.azure-api.net/swagger/json");
            })

which is available in a preview version of the Nuget 3.1.2-beta. =>
Please, review the list of changes, as some of them might be breaking for you.
https://github.com/vitalybibikov/azure-functions-extensions-swashbuckle/tree/dev


Get All Project Class Path no longer tried to read library text file from lvlibp

fixes: #5

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Need to submit binary content through a multi part POST call in Starlark

Background & motivation
I'd like to upload a binary (a jar file) using PostHttpRequestRecipe but I can use it for several reasons:
While I can set the content_type to be a binary format, I cannot do a multi-part upload of a binary since the body is expected to String. While the returned content of the POST I need to make is a json structure, we should generally not always assume that to be the case. It's possible a service can return any type of data.
Desired behaviour
The PostHttpRequestRecipe supports POSTing and receiving back any form of data (to and from the endpoint).
How important is this to you?
Critical; Kurtosis is unusable for me without it.

We want to do this ticket but it's not so urgent that the on call must handle it. We can move it to the front burner


Update README.md

I added the item to readme.md.
Please contribute to my project if you can:
https://github.com/ton-na/AttractingContributors-HorseRacing

thank you for pr . I will contribute your repo.


Clean up old Jerrod 2021 file

There is an old Jerrod 2021 nest file that has a non-standard file name resulting in parsed years of 2021.shp. This gets dropped by more recent versions of the code but is still hanging around and getting added to bird and nest predictions.

Old flow files for nests are being completely replaced in #93


Different key types not explained in detail

In the Index Access section it mentions using different types of keys. For example, "For end-user access, you can structure query requests to connect using a query key". The query key supposedly has READONLY. However, actually creating and using a query key isn't really obvious to me. If its in another part of the documentation I can't find it. It would nice to either elaborate on how to create and use different types of keys right in this doc, or to at least link to something that explains it from this doc.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: cffc5753-1125-f6ee-de76-8ea460144c10
Version Independent ID: af3b7535-e78b-abb6-4a54-cdc55b6641bf
Content: Security overview - Azure Cognitive Search
Content Source: articles/search/search-security-overview.md
Service: cognitive-search
GitHub Login: @HeidiSteen
Microsoft Alias: heidist

@binbrain Thanks for the heads up! I'll add a link to the docs, but to unblock you right now, here are the steps: https://docs.microsoft.com/en-us/azure/search/search-security-api-keys

@binbrain  I added a link and the doc will be republished in a a few hours. Thanks for filing the issue!
#please-close


⚠ Bofrost.be has degraded performance

In 812329e, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1244 ms

Resolved: Bofrost.be performance has improved in be80265 after 311 days, 19 minutes.


Update link

Fixed link to Overview of the Microsoft 365 admin center

@MasonTorres
Hi, Mason,
Thank you for your submission!
This pull request was opened in the public repo. PMs and content developers should work in the private repo, as described in the authoring guide. We reviewed and merged this PR but encourage you to use the private repo for future contributions to Microsoft Docs.
Thanks!


fix Resolve the issue of failed internal schema table creation

Proposed changes
Resolve the issue of failed internal schema table creation
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Enable run.sh to talk via HTTPS if that's what Grafana is configured for

Grafana can be configured via environment variables to serve via HTTPS. Detect this in the run.sh script and update the curl endpoints accordingly.

I signed it!

lgtm


⚠ ClamAV has degraded performance

In 1a4e348, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 76 ms

Resolved: ClamAV performance has improved in 01da059.


Fix platformer warnings

Unsure if the removed comparison should be an assignment, it seemed to work...

I might need to add it back in as an assignment when I figure out walk cycle animation, right now it's trying to keep a state machine of character state in sync with input actions. Seemed to work well for Rainbow Ascent so I applied it here. We probably need better, teachable, canonical ways of doing stuff like this.
Thanks!


Feat/engine tvos

Description
Draft PR to be updated

[x] Add rn-engine-tvos as a separate engine
[x] Add react-native-tvos together with react-native and alias it depending on a engine
[x] Run ios/tvos on emulator with different engines
[ ] Run/export ios/tvos on device
[ ] Fix android, androidtv, firetv, androidwear as result of react native 0.63.4 upgrade
[x] Test web

Codecov Report

Merging #697 (d18e0e1) into develop (363ad04) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #697   +/-   ##
========================================
  Coverage    20.02%   20.02%
========================================
  Files           84       84
  Lines         5433     5433
  Branches      1201     1201
========================================
  Hits          1088     1088
  Misses        3249     3249
  Partials      1096     1096

Flag
Coverage Δ

rnvunittests
20.02% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

packages/rnv/src/core/engineManager/index.js
14.50% <ø> (ø)

packages/rnv/src/core/projectManager/index.js
7.52% <ø> (ø)

...s/rnv/src/core/schemaManager/schemaRenativeJson.js
100.00% <ø> (ø)

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 363ad04...d18e0e1. Read the comment docs.


CIS rke 1.5 config maps should not be available in Rancher

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

Deploy a cluster.
Go to System Project --> Config
na-rke-cis-1.5 and ds-rke-cis-1.5 should be removed as CIS 1.5 is not available anymore.

Expected Result:

na-rke-cis-1.5 and ds-rke-cis-1.5 should be removed as CIS 1.5 is not available anymore.

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-head - commit id: 500bc21f1
Installation option (single install/HA): single

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): rke/custom
Kubernetes version (use kubectl version):

1.17.4

There's no harm in having hte config maps of being able to run the scans even though it's not supported yet.

Closing the issue as per comments - https://github.com/rancher/rancher/issues/26147#issuecomment-601475439


Add-HTMLStyle -Link broken in many versions

I've used Add-HTMLStyle -Link <link> -Placement <header|footer> in a number scripts over the years and not sure how i missed that it was never working.  Generally the CSS I was adding was overkill so likely not noticeable.
Issue
It appears that this was first introduced in commit 1d42199
Where the <style> tag is added to anything going to the header or footer.
When using Add-HTMLStyle to add a CSS link to <head> or <footer>  the end result looks like this:
<style>
    <link rel="stylesheet preload prefetch" type="text/css"<EMAIL_ADDRESS>as="style"/>
</style>

Example code to reproduce
Add-HTMLStyle -Placement Header -Link<EMAIL_ADDRESS>
Note: -Placement Inline is not affected by this due to the code here:
https://github.com/EvotecIT/PSWriteHTML/blob/master/Public/Add-HTMLStyle.ps1#L87-L93
Possible Fix - modify Private\New-HTMLCustomCSS.ps1
I've modified the New-HTMLCustomCSS function with the below code in my $home\Documents\PowerShell\Modules\PSWriteHTML\1.1.0\PSWriteHTML.psm1 and ran various tests.  All appear to work without issue.
function New-HTMLCustomCSS {
    [CmdletBinding()]
    param(
        [System.Collections.IDictionary] $CSS,
        [switch] $AddComment
    )

    $Output = foreach ($Key in $CSS.Keys) {
        if ($AddComment) {
            "<!-- CSS $Key AUTOGENERATED on DEMAND START -->"
        }
        if ($CSS[$Key]) {
            #if ($CSS[$Key] -notlike "*<style *") {

            $CSS[$Key]

            #} else {
            #    $CSS[$Key]
            #}
        }
        if ($AddComment) {
            "<!-- CSS $Key AUTOGENERATED on DEMAND END -->"
        }
    }
    if ($Output) {
        $Output.Where({ $_ -like '<!-- CSS * START -->' })
        New-HTMLTag -Tag 'style' -Attributes @{ type = 'text/css' } {
            # $Output
            $Output.Where({$_ -notlike '<link *' -and $_ -notlike '<!-- CSS*'})
        } -NewLine
        $Output.Where({ $_ -like '<link *' })
        $Output.Where({ $_ -like '<!-- CSS * END -->' })
        # notate where this may impact other areas via html output.
        '<!-- MONKEYPATCHED_New-HTMLCustomCSS -->'
    }
}

Some noteworthy successful tests are:

[x] testing with multiple lines of Add-HTLMStyle
[x] using -Link  and -Content
[x] above tests along with -AddComment switch

Untested:

[ ] -Css
[ ] -FilePath

I can confirm the behavior, but rather then doing what you did I believe the change should be to remove the style tags


optimize: [PointerManager] multi-pointer logic optimization

Each Pointer encapsulates its own logic.
onPointerXXX carries Pointer information.
optimization logic.

#1005


pandoc-types-1.20 compatible

Is there a change for an update to be pandoc-types-1.20 compatible?

Sorry. Wrong repos.


Add a custom server selector

Since Meower Svelte supports custom servers by modifying localstorage values, I thought it would be more convenient for server developers (like myself) to have an option on the welcome screen (maybe a button on the bottom corners of the screen?) to type in a custom WebSocket / API server address, and apply immediately.

This is new in Dev branch, Hold down "Log in" Button for one second.


can't run styleguide from command line

Hello,
I've downloaded the app and is under my /usr/local/lib/node_modules directory.
When I run styleguide --kss-source "testguide/sass/.scss" --style-source "testguide/style/.css" --output styleguide --watch --server
I get the following error:
Generating style guide to output dir: styleguide
events.js:141
throw er; // Unhandled 'error' event
^
Error: File not found with singular glob: /usr/local/lib/node_modules/sc5-styleguide/lib/modules/overview.md
at Glob. (/usr/local/lib/node_modules/sc5-styleguide/node_modules/vinyl-fs/node_modules/glob-stream/index.js:39:11)
at Glob.g (events.js:260:16)
at emitOne (events.js:77:13)
at Glob.emit (events.js:169:7)
at Glob._finish (/usr/local/lib/node_modules/sc5-styleguide/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/glob.js:172:8)
at done (/usr/local/lib/node_modules/sc5-styleguide/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/glob.js:159:12)
at Glob._processSimple2 (/usr/local/lib/node_modules/sc5-styleguide/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/glob.js:652:12)
at /usr/local/lib/node_modules/sc5-styleguide/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/glob.js:640:10
at Glob.stat2 (/usr/local/lib/node_modules/sc5-styleguide/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/glob.js:736:12)
at lstatcb (/usr/local/lib/node_modules/sc5-styleguide/node_modules/vinyl-fs/node_modules/glob-stream/node_modules/glob/glob.js:728:12)
When I look at my directories it adds a styleguide directory at the same level where I'm calling the app from.. which is what I expect (I think?) but the error happens and I've been stuck here for about 6 hours and I'm out of ideas.
Any help would be appreciated.
Best,
-r

Same here. I guess I'll just try the gulp solution.

@VictorTolbert, @roderickmorales
touch overview.md
--overviewPath "overview.md"

https://github.com/SC5/sc5-styleguide/issues/868

Thank you @wellersam. Touching the missing file did it for me.

@wellersam I forgot to reply since this project went on the back burner for me but thank you! Your suggestion got it working for me and picking it up again now.


Surface Blazor @bind/@bind:event binding syntax

To change the binding event this page shows:
@bind-value:event="oninput"
but it doesn't work. From the talk of Steve at https://www.youtube.com/watch?v=Khn7sDUSEJM I've realized that it should be corrected into:
@bind:event="oninput"

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

ID: 8b1b6ad8-13ba-0195-8829-ade3b1b0b9cb
Version Independent ID: 6609ea68-a918-f3b9-8c9c-004a4436e350
Content: ASP.NET Core Blazor data binding
Content Source: aspnetcore/blazor/data-binding.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @curia-damiano ...
Both approaches should work:

@bind-value with @bind-value:event
@bind with @bind:event

References: https://github.com/dotnet/aspnetcore/issues/10893 (issue) and https://github.com/dotnet/aspnetcore-tooling/pull/687 (PR)
Artak ... If the team is going to use the former publicly (even if only rarely), then I think we need to call out both in docs. However, a sample app or tutorial will use just one approach, so which one is preferred?

Hi, I confirm that @bind-value:event doesn't work (with the latest beta of Blazor client and server)

It has to work ... it's in the tests ...
https://github.com/dotnet/aspnetcore/blob/0517745c08d1bc85009f1ca41a41d77176eeea60/src/Components/Blazor/Build/test/BindRazorIntegrationTest.cs#L116
Show your full component code.

In the test you link, you test OnChanged that is already the default.
You want to use with attribute with OnInput...

That was just an example of the syntax. I'm just saying that they didn't change the syntax and break the prior approach when https://github.com/dotnet/aspnetcore-tooling/pull/687 went in.
The examples and guidance was checked by engineering, and they approved of the topic's content. You'll either need to post your full component code here or on the engineering repo for us to look at or contact devs on a support channel ...

Stack Overflow
ASP.NET Core Slack
ASP.NET Gitter

BlazorBooks.zip
I attach a Visual Studio solution that doesn't compile because it uses @bind-value:event
If I replace it like Steve demo, i.e. with @bind:event, it compiles and it works perfectly at runtime.

Works here ...

Hi,
I have tried to compile with both VS 2019 16.4.5 and VS 2019 16.5.0 Preview 2.
In both cases, I get the compile time error below:

As said, I don't get this compile time error when using @bind:event.
I am available to Teams session, in case you want to look into my environment.

You can't mix and match the element attributes @bind with @bind-value:event. That's not supported, and the doc doesn't show doing it that way.
You have to use @bind-value:event with @bind-value ...
<input type="text" @bind-value="listFilter" @bind-value:event="oninput" />

... OR do this ...
<input type="text" @bind="listFilter" @bind:event="oninput" />

... but you can't mix @bind with @bind-value:event.

Ahhh now I get it, thank you! I see now that I was using @bind and then tried to use @bind-value:event, while the documentation is indeed coherent (again, I see it only now).
It would be nice if the documentation would explain this.
Also I see a bit redundant the possibility to use both @bind / @bind-value and/or @bind-value / @bind-value:event...
Meanwhile, thank you very much for your help!

I'll make changes to the doc after I hear back from engineering on their preferences. They usually look at these issues on Fridays.

@mkArtakMSFT ... I think we need to call out both approaches. However, a sample app or tutorial will use just one approach, so which one is preferred?

I think we can go with @bind with @bind:event in the sample, and mention in the docs, that you can add the property suffix there to cover non-default properties.


no reason to throw Error when 're'load from loader.add

I have read this  and this;
I thinks it is no any reason to throw Error, just call complete if resource exist or been loaded. let's take a look at one situation：
I have two separate module, they did't know each other and they are depend on same resource, for example :
Module A,
// here I don't know the loading state of resB, so I just load it
PIXI.loader.add(['resA', 'resB', 'resC']).load(function(){
// do some things ....
})
Module B,
// here I don't know the loading state of resB, so I just load it
PIXI.loader.add(['resX', 'resB', 'resY']).load(function(){
// do another things ....
})
programmer who using pixi.js should not care about the resource's loading state(not or been loaded).
should I ?
should I check resB if was beed loaded on every time when use it?
or
reset loader ?
sorry for my poor english.

does these resource would be re download from internet? or once complete the load, does PIXI would re parse xxx.json (atlas resource or animation resource)?
const images = ['resX', 'resB', 'resY'].filter(src => !PIXI.utils.TextureCache[src]);
PIXI.loader.add(images).load(function(){
 // do stuff
});

if 'resX' 'resB', 'resY' had all beed loaded, the function would not be call.

I believe resources will be downloaded again and re-parsed even if they exist in the Loaders resources. @englercj can confirm that.

Hey @loohoo thanks for your post.

I thinks it is no any reason to throw Error, just call complete if resource exist or been loaded.

I think there is a reason, and it is because adding an additional resource once loading has started doesn't make any sense from the point of view of the loader's state. If you add resB twice do we expose it twice in the results? How does that affect progress? Do we recalculate the progress data for everything when you add something like that? What behavior exists when you add things to a completed loader? Does it reset all state automatically?
There is a ton of ambiguity as to what the behavior should be if you allow additional resources to be added after starting the load process. If that is not allowed, then it is very clear to the user what the behavior will be. If there was no error, you would assume it behaved in some way (there are many choices) and that may not have been the choice I made in the library.
Additionally, the loader was made with the philosophy that it would be used to load some set of resources then either thrown away (or .reset()). It is not meant to live forever and act as your asset cache. It is meant to load resources from the network, and give them to you in a parsed way. It is then up to you to store them somewhere and do what you want.

programmer who using pixi.js should not care about the resource's loading state(not or been loaded).

I completely disagree. It is completely up to the programmer to know what the state of their loaded resources are. The loader is a loader, not an asset cache. If you want to dedupe loads, and pull assets out of memory when they are already loaded then you should be using an asset cache that falls back to using a loader when assets don't exist. Especially if you have multiple different places in your application loading data. Something needs to sit between them and manage the coordination of which resources need to be loaded. That thing is not the loader, it just loads stuff.
For your situation I'd have a class whose job it was to take a set of resources a module needs and create & start a new loader for the ones that are not cached (or are not already in-flight). Once all those loaded I would return control to the requesting module with the loaded versions of what it needed.

does these resource would be re download from internet? or once complete the load, does PIXI would re parse xxx.json (atlas resource or animation resource)?

Again, this is a loader, not an asset cache. It cannot know what you have loaded in your application, especially after you call .reset(). If you tell it to load a resource, then it will load the resource.
That being said, the browser will likely have the resource cached and there won't be any actual network communication. The loader will still make the XHR (or Image) request, and the resource will be parsed as if it had just been downloaded; even if the browser doesn't actually make any HTTP requests and instead just serves us the data from memory. We have no way of knowing that is what happens.

No problem, thanks for asking and for using PixiJS.


Add change detection since last sync in the list command

To do this we need to be able to compute a location agnostic hash for the patch in the stack and the copy of the patch in the rr branch. Once we have both we can compare them. If they are the same nothing has changed. If they are different then we know something has changed.

this has been integrated into mainline.


assign more attributes to configured_systems

the foreman host (ConfiguredSystem) has a number of fields similar to the Host record.
This fills out a few that will be used for linking the 2 managed entities specifically primary ip address and mac address.
Also, a host possibly overrides a ConfigurationProfile's value for the ptable and medium link (both a form of CustomizationScript records)
/cc @gmcculloug @brandondunne

:+1: LGTM

LGTM


AntiForgeryToken validation fail when open an asp.net core url from an angular application

I have an asp.core mvc aplication which is the identity server application (IdentityServer4 + ASP.Net core Identity). In my angular client which use this asp.core app to get the bearer token i call like: <a mat-menu-item [href]="/Manage/Index" target="_blank" rel="noreferrer noopener" referrerpolicy="no-referrer"> the Index page from ManageControler. When I open this url in two tabs and edit some values and press submit, in one is working and in one I got
2018-10-30 08:18:34.792 +00:00 [Information] Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter: Antiforgery token validation failed. The antiforgery cookie token and request token do not match.
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery cookie token and request token do not match.
at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateTokens(HttpContext httpContext, AntiforgeryTokenSet antiforgeryTokenSet)
at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateRequestAsync(HttpContext httpContext)
at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter.OnAuthorizationAsync(AuthorizationFilterContext context)
If I enter the same url manual in two tabs is function without any problems.
Any Idea?
Thanks
Ioan Toader

Did you remember to refresh the token after login? The anti-forgery token is linked to the authenticated user, this changes during login.

are two applications one pure angular (not asp.net core + angular template) and one asp.net core MVC which is the oauth2 server (use identity server4). Angular application uses implicit flow to authenticate. After the angular application is authenticated, in one page is a anchor  which is the link to "user profile". When press two times on this link in one tab is working and in one not to save the changes.  If I enter the same link (mcvapp/Manage/Index) manual in several tabs is workink

These multiple tabs? Are they on different URLs? If not, then that's going to be the problem, you have one tab with the old, pre-authenticated token, and one with the new.
If not, how is the angular app saving the authenticated user? You say oauth2, but how are you authenticating? Where is the api you're trying to call located? Is it in the MVC app? Another project? How is the angular app getting the CSRF token?
A sample stripped down repo which demonstrates the problem would be a great help here.

If I start skype calls with one person, honestly it'd never end with everyone else, so I'd like to avoid that. If you're logging in as two different people in two different tabs in your angular app that's simply not supported once you click through to the MVC app.

No is not login with two different people. Angular is using the asp.net core app for login. When the user starts the angular app which uses oidc-clint.js library will be redirecting to asp .net  core app login form and after back to angular (oauth2 protocol with the implicit flow). After login in one page of angular is just a link to a page from asp.net core which contains also the login form. When the user clicks on this link no login form is open the authentification was already done and is used cookies. If this link is open twice in two tabs from angular in one is working to submit the form in one not.

So you're opening the same page from a single, logged in angular app, twice? Or are there two angular app pages first?

one is angular app and on is the identity server app implemented in asp.net core + identiyserver4 (this contain the login form and the managing controller)
Angular app get a bearer token using implicit flow .
A1 - Angular App (www.a1.net)
IS - Net asp.net core + IndentityServer4 framework (www.is.net) (contain login form and ManageControler)
1)now start A1
2) redirect to IS app which displays the login form (part of oath2 implicit flow)
3) enter credentials redirect to A1 (part of oath2 implicit flow)
4) A1 in one page contains
5) click twice on this link
6) change something in both tabs and press Save
7) in the last opened tab save ok, in the first tab AntiForgeryTokenValidation Exception
2018-10-30 08:18:34.792 +00:00 [Information] Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter: Antiforgery token validation failed. The antiforgery cookie token and request token do not match.
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery cookie token and request token do not match.
at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateTokens(HttpContext httpContext, AntiforgeryTokenSet antiforgeryTokenSet)
at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateRequestAsync(HttpContext httpContext)
at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter.OnAuthorizationAsync(AuthorizationFilterContext context)

I added
s2.zip
a screen capture

But can me somebody explain why if I enter the same url with the hand or copy paste in the browser is working, but when I open via click on the anchor ( ) is not working?
Thanks


Generic Issues

Missing backer_name
Missing unit_number
Stack portion of GUI should be re-written to not show if not item-entity

Missing entity.ghost_name
Missing entity.ghost_type

ty, will be added soon.

gui.top should follow unofficial standards   (Most of the top mods are pretty close to this)
.top should be button 32x32 - any windows opened from gui.top should open on gui.left or gui.center
This keeps gui.top clear and organized.

"Stack portion of GUI should be re-written to not show if not item-entity" is already fixed in 2.x,
then i dont understand what are you talking about gui positions, yes is huge and ugly the button, and is on top, then the window opened from that button is gui.center, and variables are gui.left.
what of all of those dont follow the "standars"?, and there is a thread talking about that?, ty!

what of all of those dont follow the "standars"?, and there is a thread talking about that?, ty!

Mostly related to the height and width of a mods "main" button.   A while back I ran a push for consistency and most of the popular mods complied
I'll try and dig up some screen shots and conversations soon. Basicly what it boils down to is all the mods using gui.top limit themselves to 32px in height, and 32px in width (or the minimal width needed)

This is an example of a "mostly" consistent gui.top layout

in last version 0.2.4 i leave just the button on top, added ghost_name, and ghost type

Missing backer_name
Missing unit_number

added in 0.2.5


CUDA out of memory

$ torchrun --nproc_per_node 1 export_meta_llama_bin.py

initializing model parallel with size 1
initializing ddp with size 1
initializing pipeline with size 1
Traceback (most recent call last):
File "export_meta_llama_bin.py", line 85, in
generator = Llama.build(
File "/home/tseng/workspace/project/llama/llama/generation.py", line 96, in build
model = Transformer(model_args)
File "/home/tseng/workspace/project/llama/llama/model.py", line 259, in init
self.layers.append(TransformerBlock(layer_id, params))
File "/home/tseng/workspace/project/llama/llama/model.py", line 221, in init
self.attention = Attention(args)
File "/home/tseng/workspace/project/llama/llama/model.py", line 136, in init
self.cache_v = torch.zeros(
RuntimeError: CUDA out of memory. Tried to allocate 32.00 MiB (GPU 0; 5.93 GiB total capacity; 5.23 GiB already allocated; 17.00 MiB free; 5.24 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 5031) of binary: /home/tseng/miniconda3/envs/open-mmlab/bin/python
Traceback (most recent call last):
File "/home/tseng/miniconda3/envs/open-mmlab/bin/torchrun", line 33, in
sys.exit(load_entry_point('torch==1.10.1', 'console_scripts', 'torchrun')())
File "/home/tseng/miniconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/distributed/elastic/multiprocessing/errors/init.py", line 345, in wrapper
return f(*args, **kwargs)
File "/home/tseng/miniconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/distributed/run.py", line 719, in main
run(args)
File "/home/tseng/miniconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/distributed/run.py", line 710, in run
elastic_launch(
File "/home/tseng/miniconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 131, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/tseng/miniconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 259, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
============================================================
export_meta_llama_bin.py FAILED

Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2023-07-27_21:36:51
host      : tseng-TUF-GAMING-FX504GM-FX80GM
rank      : 0 (local_rank: 0)
exitcode  : 1 (pid: 5031)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
How to solve this problem?

Hi @ts-eng , please share hardware & os specs on you system

Hi @ts-eng , please share hardware & os specs on you system

CPU: Intel Core i5-8300H(2.3GHz/L3 8M), 16GB memory
GPU: NVIDIA GeForce GTX 1060, 6GB memory
OS: Ubuntu 20.04


Update pandas dependency

Is there anything breaking with pandas right now? I believe we can update it to allow pandas == 2.1.1

I would also think that we can update without breaking anything. The current pandas specification is definitely too restrictive. Do you want to open a PR? Else I can do it this weekend.

... and it's on PyPi: link =)


[1470] allow mcb user audit to use email or sign-in id

Context
This was done for mcb user show and mcb user list in a previous PR, but forgot to do it with audit.
Changes proposed in this pull request
Allow users to be specified by email address or sign-in user id with the mcb user audit command.
Checklist

[ ] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

 List users in mcb


Ideas for features

It will be very useful to have count of used tokens, cost and timing of indexing and quiring.
Ability to get list of UNKNOWN from graph and their description
Ability to get not connected nodes from graph and their description
Clear way how to load created graph from disk (now I should provide all parameters in constructor event if it's not needed)

Hello! These are great ideas.
In particular, for point 1 it should be enough to modify the llm interface to track the token and information.
Can you please elaborate what do you mean for point 4? Currently the data loading is completely managed by the library, so you don't have to worry about anything related to it.

Hi!
Yes, it's correct, but I have to provide all parameters event if I want to load graph:
grag = GraphRAG(
    working_dir="./book_example",
    domain=DOMAIN,
    example_queries="\n".join(EXAMPLE_QUERIES),
    entity_types=ENTITY_TYPES
)

But I think, for example, example_queries is not required for query. It's needed only to build graph.
In general, I see use case as "build graph" once and use it later many times.
Of course we should think also about adding new files into graph, so that maybe you can save all information provided during graph building into special file and load it.

And one more idea is to create special simple prompt like "give me noun(s) for entity(entities) based on descriptions. It can be useful for scenario:

build graph
find all UNKNOWN and their descriptions
ask to build new entity_types based on descriptions
add new entities
re-build graph
check if I still have UNKNOWN
....
check if I have not connected nodes
...
save graph

Also maybe good to add cache as it's in langchain to avoid re-calculation if I have the same prompt during re-build graph, because I guess it will be 4-5 cycles.

What can be very useful in enterprise solution is to add metadata for connections to have ability to delete file from graph, but I'm not sure that it's possible at all, because connections can be extracted from multiple sources. Maybe better to re-calculate full graph with cached data for each prompt.

Hi!
Yes, it's correct, but I have to provide all parameters event if I want to load graph:
grag = GraphRAG(
    working_dir="./book_example",
    domain=DOMAIN,
    example_queries="\n".join(EXAMPLE_QUERIES),
    entity_types=ENTITY_TYPES
)

But I think, for example, example_queries is not required for query. It's needed only to build graph. In general, I see use case as "build graph" once and use it later many times. Of course we should think also about adding new files into graph, so that maybe you can save all information provided during graph building into special file and load it.

This makes a lot of sense, indeed all those infos are not used when using a graph for query. I will make this clear in the examples.

And one more idea is to create special simple prompt like "give me noun(s) for entity(entities) based on descriptions. It can be useful for scenario:

build graph
find all UNKNOWN and their descriptions
ask to build new entity_types based on descriptions
add new entities
re-build graph
check if I still have UNKNOWN
....
check if I have not connected nodes
...
save graph

Also maybe good to add cache as it's in langchain to avoid re-calculation if I have the same prompt during re-build graph, because I guess it will be 4-5 cycles.

I see, these functionalities make sense but they are a bit out of scope of what we are amining to provide right now (something completely automatic). What we can do is try to expose methods that allow contributions in the directions you are suggesting.

What can be very useful in enterprise solution is to add metadata for connections to have ability to delete file from graph, but I'm not sure that it's possible at all, because connections can be extracted from multiple sources. Maybe better to re-calculate full graph with cached data for each prompt.

This is indeed quite challenging, but it is exaclty what we have been working on in the past month, it is going to be a major update, but hopefully should be ready in a week or so (re calculating is not an efficient option so we are excluding it).


Docs: update the documentation for cookiecutter

fixes pipenv part of #3888

Can I ask you to rebase against the docs-v3.1 branch?


Change list view

What do you think about merging the % and Action columns so that it takes up less width? I.e. it's still labeled '%' but there's a Bet or Resolve button next to the percent.

Would it be possible to put the Bet button on mobile below the percent? Kind of wish you could bet from that screen.


[AFLNET][FIX] if timeout>1s

Allow socket timeout to exceed 1s.

Thanks @remiparrot . This PR looks interesting to me. Could you explain to me a bit more about your rationales behind the changes?


Hashie::Extensions::IndifferentAccess breaks merge on sub-hashes

hashie 3.5.7
class HashWithI < Hash
  include Hashie::Extensions::IndifferentAccess
end

hi = HashWithI.new
hi[:hash_value] = { "one" => "one value"}

# as expected the sub-hash is indifferent too, which is cool
hi[:hash_value][:one]
# => "one value"
hi[:hash_value]["one"]
# => "one value"

# And we can still use 'merge' with an ordinary hash on top-level
hi.merge("new top level" => "new top level value")
#
=> {"hash_value"=>{"one"=>"one value"}, "new top level"=>"new top level value"}

# But we CAN NOT use merge on the sub-hash, which is a problem
hi[:hash_value].merge("new sub-key" => "new sub-value")
# NoMethodError: undefined method `convert!' for {"one"=>"one value", "new sub-key"=>"new sub-value"}:Hash
# from /Users/jrochkind/.gem/ruby/2.4.2/gems/hashie-3.5.7/lib/hashie/extensions/indifferent_access.rb:137:in `merge'

hi['hash_value'].merge("new sub-key" => "new sub-value")
# NoMethodError: undefined method `convert!' for {"one"=>"one value", "new sub-key"=>"new sub-value"}:Hash
# from /Users/jrochkind/.gem/ruby/2.4.2/gems/hashie-3.5.7/lib/hashie/extensions/indifferent_access.rb:137:in `merge'

As a workaround for my particular use case, trying to figure out how to turn whatever magic thing the sub-hash is into an ordinary hash that I can merge on again... can't figure out how to do that either. neither #to_h nor #to_hash do it.

Still curious if there is any way to turn a Hash that has IndifferentAccess mixed-in into a plain old hash that does not.  That would have been a great workaround for me too, I don't actually need the result of the merge to be indifferent -- but I can not find any way to do that either, to turn the Hash with included IndifferentAccess back into a plain old ruby Hash.

(That is a fix to my problem, already on master. I monkey-patched it into my app using latest Hashie release).

I think a82c594 closes the original issue with #452 splitting off that second issue. I'm closing this one because I cannot replicate this on 3.6.0+.
Let me know if I'm wrong!


How to determine path of git working copy?

Like iceycake discusses in issue #147 I also need to push an XML file, in my case for a third-party service. I need to push this file, and potentially others in the future, as part of the solution. I want to leverage off all the hard work the config server already does for me with for property management. The idea is to place these files in the same github repo where the property configs live and then add a couple additional endpoints to a controller in the spring boot config server app that can look up what should be pulled and another to pull them down to client.
I may be missing something, but I don't see how from the context of the spring boot app that embeds my cloud config server I can determine the root path of the locally cloned repo (or repositories but I would likely stick to one for cm simplicity). Is this possible or is it possible that I can tell the config server to use local path x/y/z when cloning? I think this would be a useful mechanism regardless of my probably not so great current reason for the need of it.

There's a @Bean of type MultipleJGitEnvironmentRepository with a property called "basedir". That's the location of the working copy (if there is only one, otherwise the individual repos each have their own). You can set it with spring.cloud.config.server.git.basedir.


Remove Standard Surface approximation of coat darkening

This changelist removes the legacy Standard Surface approximation of the darkening and saturation of base colors under coatings.
In a future version of OpenPBR, our plan is to implement this coat darkening in a more subtle, physically based fashion, but the current approximation is too far from this ground truth to be useful.

Here's a simple OpenPBR Carpaint material rendered using this latest reference implementation of the model:

How about we instead just make the coat_affect_color value smaller than 1, say 0.5?

There were some great notes from @peterkutz in the related Slack thread that seem relevant here:

I have done these simulations in the past, although I haven't had a chance to do new tests in light of our recent discussions. I do know from the past that the magnitude of the effect depends on multiple factors, such as the roughness, IOR, color, viewing angle, etc. For example:

in some cases the base color appears darker and more saturated (e.g., if the coat has a higher IOR than the base surface and the base color has a medium brightness)
in some cases the base color is unaffected (e.g., if the base surface is black or white, or if the coat has the same IOR as the base surface)
in some cases the base color actually appears brighter (e.g., if the coat has a lower roughness than the base surface resulting in less multiple scattering and less reflection from the coat, or if the coat has a lower IOR than the base surface resulting in less overall specular reflection from the combination of the coat and the base surface (in this case, the coat functions as a graded-index anti-reflective coating))

Given our expectation that an accurate implementation will have a highly variable effect, sometimes darkening and sometimes lightening the underlying base color, perhaps our best short-term approach is to "do no harm" and remove the uniform squaring effect that was used in Standard Surface?
I'm definitely open to other ideas here, but the current approximation seems too far from the ground truth to be a "rough draft" of our future implementation, and I'm concerned about this unintuitive behavior leaving artists with a negative first impression of OpenPBR.


market_catalogue.runners not pulling data

When I run
 for runner in market_catalogue.runners:
            # prints runner id, runner name and handicap
            print(runner.selection_id, runner.runner_name, runner.handicap)

it doesn't return any data. I'm trying for football markets, am I missing something obvious?
Thanks,
Steve

Are you asking for it in the market_projection?
market_projection = [
    "RUNNER_DESCRIPTION",
]

https://docs.developer.betfair.com/display/1smk3cen4v3lu3yomq5qye0ni/Betting+Enums#BettingEnums-MarketProjection

Doh! That would help, thank you :)

👍 feel free to join the slack group btw as you might get a quicker response next time if I am not available.
https://betfairlightweight.herokuapp.com/

Will do, thanks again


Dbz 4999

Initial code donation

https://github.com/debezium/debezium-connector-informix/pull/4 and https://github.com/debezium/debezium/pull/4953 might be the solution to the blocking problem.

Merged via https://github.com/debezium/debezium-connector-informix/pull/4


Running on a separate machine from Home Assistant using NCS2

Hey there,
I just wanted to check and make sure before I got too 'into it', that this doesn't require the motion-ai portion to be installed on the same host as Home Assistant? I only run the basic install of HA on my Pi4, but all my services (MQTT, NodeRed, MariaDB, InfluxDB, etc) I run on a separate Ubuntu VM running on my Unraid server. I was planning on plugging an intel NCS2 into the server and passing it through to the VM. Is this type of setup supported as long as I have the appropriate addons installed in Home Assistant?
Thanks,
-MH

Yup; that works; you can also run the AI on separate machine; only have to share the MQTT broker


cloud-custodian: <IP_ADDRESS> -> <IP_ADDRESS>

Diff: https://github.com/cloud-custodian/cloud-custodian/compare/refs/tags/<IP_ADDRESS>...<IP_ADDRESS>
Changelog: https://github.com/cloud-custodian/cloud-custodian/releases/tag/<IP_ADDRESS>
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 303995 run on x86_64-linux 1

2 packages built:

cloud-custodian
cloud-custodian.dist


Crashs while connecting to ext. Bluetooth Audio Device (Speaker etc..)


Issues with PowerQuery documentation

Hello,
Not sure whether this is the correct project to report this, but I consider "Power Query" part of "PowerBI", so it might fit.
Overall problem
PowerQuery documentation links to not existing Github project
The "Contribute" links within the PowerQuery documentation (e.g. https://msdn.microsoft.com/en-us/query-bi/m/splitter-splittextbyanydelimiter) refer to an invalid Github project named "MicrosoftDocs/query-docs-temp-pr/".
Please fix these links so that users actually can contribute if they care to report errors in the docs…
Specific problem
Incorrect page content for a PowerQuery function
The actual issue I stumbled upon is on the page for the function "SplitTextByAnyDelimiter" as linked above.
The "About" section refers to "SplitTextByEachDelimiter" instead (note: "Each" instead of "Any"!). For both functions no example is given.
In my opinion the documentation for many PowerQuery functions generally lacks either clarity, consistency or completeness, but let's start with this one :smiley:

Thanks @engelhro for submitting your comment. I believe I have the correct author assigned to this issue.

@engelhro Thanks for your suggestion. The Power Query M reference is currently in a state of transition as we move this content from MSDN to Docs.microsoft.com. The Contribute feature on docs.microsoft.com uses Git Issues. It is a much more reliable platform than MSDN.
I fixed the syntax error you pointed out, but it will not appear until this content is live on docs.microsoft.com, which should be within the next week or two.
Please understand, this is a function reference. There are over 700 such articles that are automatically derived from files within the code. There are limits to size, format, and depth that can be included for each function.  We also simply do not have the staffing resources to provide more in-depth documentation for each function, which are often quite obscure compared to other more broadly used features. Other resources such as tutorials, blogs, forums, etc. often provide help for more specific scenarios.
#please-close


"Cafe Website" - Add social links in the footer

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Kindly Assign this issue to me


Issue while using Docker build

Hi ,
Trying to install the Apache Druid using docker .
docker build -t druid:tag -f distribution/docker/Dockerfile .
I am getting below error

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (generate-license) on project distribution: Command execution failed.: Process exited with an error: 127 (Exit value: 127) -> [Help 1]

Can anyone help me with this ?
Thanks,
Santosh

Does it work if you build from the druid-0.15.0-incubating tag? (Just wondering if something changed since the last release)

@santoshdvn I had the similar problem. This PR solved my issues regarding docker image. I hope they'll review and merge as soon as possible.


Sensor as the input for linear mode

Would be great to see a possibility of using just sensors which can feed percentage for linear mode to make the energy consumption sensor. Currently only fan and light are supported.
Examples of use

Electric heater/biler  (returning % of modulation)

Implemented with #530.
Here is the example from the readme:
sensor:
  - platform: powercalc
    entity_id: sensor.heater_modulation
    name: Heater
    linear:
      calibrate:
        - 1 -> 200
        - 100 -> 1650

Could you test this with installing the master branch?
Please let me know if this works for you.

Just wgeted const.py and linear.py on top of current custom components. Restarted HA through the web interface (all of this to get if i'm missing something)
Seems to be working except for one thing. It seems to be cumulative

is that the right behaviour?
Config.yaml
- platform: powercalc
  entity_id: sensor.vsr500_heater
  linear:
    calibrate:
      - 1 -> 200
      - 100 -> 1650

Energy sensors are always cumulative as they are kWh (which tracks consumption over time).
Power sensors have the actual current consumption in Watt.
You should also have a sensor.vsr500_heater_power.

Everything i working perfectly


Add CPR Generic Actions to Characters on import

Chris's Premades has a compendium folder, CPR Actions, with automated generic actions like, dash, dodge, help, shove, etc. It would be very useful if there was an option to import all of these on character import.

Duplicate/similar to #250