Crash while running rubocop on an empty file w/ a - character in the name.

Expected behavior
I am running rubocop on an empty file that has a - character in it's name. I expect this to pass all cops w/o any complaint (or at least not crashing).
e.g.
`--> rubocop thing-a.rb
Inspecting 1 file
.

1 file inspected, no offenses detected

Actual behavior
The actual behavior is to crash
`--> rubocop config/deploy/testing-a.rb -d
For /home/bwinter/gametimesf/workspace/code: configuration from /home/bwinter/gametimesf/workspace/code/.rubocop.yml
Inheriting configuration from /home/bwinter/gametimesf/workspace/code/.rubocop_todo.yml
Default configuration from /home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/config/default.yml
Inheriting configuration from /home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/config/enabled.yml
Inheriting configuration from /home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/config/disabled.yml
Inspecting 1 file
Scanning /home/bwinter/gametimesf/workspace/code/config/deploy/testing-a.rb
An error occurred while Style/FileName cop was inspecting /home/bwinter/gametimesf/workspace/code/config/deploy/testing-a.rb.
undefined method `start_with?' for nil:NilClass
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/cop/style/file_name.rb:52:in `shebang?'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/cop/style/file_name.rb:36:in `investigate'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/cop/commissioner.rb:91:in `block (2 levels) in invoke_custom_processing'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/cop/commissioner.rb:97:in `with_cop_error_handling'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/cop/commissioner.rb:90:in `block in invoke_custom_processing'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/cop/commissioner.rb:87:in `each'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/cop/commissioner.rb:87:in `invoke_custom_processing'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/cop/commissioner.rb:57:in `investigate'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/cop/team.rb:65:in `inspect_file'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/runner.rb:194:in `inspect_file'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/runner.rb:164:in `block in do_inspection_loop'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/runner.rb:158:in `loop'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/runner.rb:158:in `do_inspection_loop'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/runner.rb:87:in `process_file'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/runner.rb:59:in `block in inspect_files'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/runner.rb:57:in `each'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/runner.rb:57:in `inspect_files'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/runner.rb:35:in `run'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/lib/rubocop/cli.rb:30:in `run'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/bin/rubocop:14:in `block in <top (required)>'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/2.2.0/benchmark.rb:303:in `realtime'
/home/bwinter/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubocop-0.37.2/bin/rubocop:13:in `<top (required)>'
/home/bwinter/.rbenv/versions/2.2.3/bin/rubocop:23:in `load'
/home/bwinter/.rbenv/versions/2.2.3/bin/rubocop:23:in `<main>'
.

1 file inspected, no offenses detected

1 error occurred:
An error occurred while Style/FileName cop was inspecting /home/bwinter/gametimesf/workspace//config/deploy/testing-a.rb.
Errors are usually caused by RuboCop bugs.
Please, report your problems to RuboCop's issue tracker.
Mention the following information in the issue report:
0.37.2 (using Parser <IP_ADDRESS>, running on ruby 2.2.3 x86_64-linux)
Finished in 0.10424702987074852 seconds

Steps to reproduce the problem
Create an empty file with a - character in the name:
`--> touch thing-a.rb

Then try to run rubocop on the file:
`--> rubocop thing-a.rb
Inspecting 1 file
An error occurred while Style/FileName cop was inspecting /home/bwinter/thing-a.rb.
To see the complete backtrace run rubocop -d.
.

1 file inspected, no offenses detected

1 error occurred:
An error occurred while Style/FileName cop was inspecting /home/bwinter/thing-a.rb.
Errors are usually caused by RuboCop bugs.
Please, report your problems to RuboCop's issue tracker.
Mention the following information in the issue report:
0.37.2 (using Parser <IP_ADDRESS>, running on ruby 2.2.3 x86_64-linux)

RuboCop version
Running 0.37.2
`--> rubocop -V
0.37.2 (using Parser <IP_ADDRESS>, running on ruby 2.2.3 x86_64-linux)

Can't reproduce on ruby 2.2.2 or 2.3.0. Please post your .rubocop.yml.

`--> ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]

inherit_from: .rubocop_todo.yml

Style/FileName:
  Exclude:
    - 'config/deploy/*.rb'

Hmm, I wonder if it's related to my OS.

This was fixed in 333ee950, which was after 0.37.2. The fix will be there in the next release.
Let's close this issue.


CyclopsConvexBlock can be manually created outside of a CyclopsBlocks parent, causing error spam

In 4.1.dev d6dde819b, adding a CyclopsConvexBlock node spams errors if done outside of a CyclopsBlocks parent:
res://addons/cyclops_level_builder/tools/tool_block.gd:238 - Invalid get index 'global_transform' (on base: 'Nil').
res://addons/cyclops_level_builder/cyclops_global_scene.gd:238 - Cannot call method 'get_children' on a null value.
res://addons/cyclops_level_builder/tools/tool_block.gd:238 - Invalid get index 'global_transform' (on base: 'Nil').
res://addons/cyclops_level_builder/cyclops_global_scene.gd:238 - Cannot call method 'get_children' on a null value.
res://addons/cyclops_level_builder/cyclops_global_scene.gd:238 - Cannot call method 'get_children' on a null value.

When creating the node, I suggest checking whether its parent is a CyclopsBlocks. If not, print a human-readable error message using push_error() (to let the user know about invalid usage) then queue_free() the node.
The error message could be:

Cannot create a CyclopsConvexBlock node outside of a CyclopsBlock parent. Create a CyclopsBlock parent first, then use the buttons in the 3D editor toolbar after selecting the CyclopsBlock node to create new CyclopsConvexBlocks.

I've updated the code to do some type checking to avoid this spam.  i;m hoping to replace the CyclopsBlocks node in the future so this is hopefully temporary.


Peer Review Rules

Thank you @mrmhodak for formulating this. I would like to add the below point too.
Any submitter can ask for access to a submission system to reproduce the submission. In case the reviewer is satisfied this process can be used to waive (need not be binding) the system from the official audit.

Arjun, that is an interesting proposition. I will bring it up for discussion in the WG leadership first.

Any submitter can ask for access to a submission system to reproduce the submission.

Very interesting idea. One clarifying question here: "can ask" implies that the submitter asked can say "no.". I think clarifying right of refusal here is helpful in evaluating the language. Is it true that submitters can say "no" when asked?

Any submitter can ask for access to a submission system to reproduce the submission.

Very interesting idea. One clarifying question here: "can ask" implies that the submitter asked can say "no.". I think clarifying right of refusal here is helpful in evaluating the language. Is it true that submitters can say "no" when asked?

Thank you @bitfort Yes, the submitter can say no. I just edited the comment to make this clear.

I have simplified the text per @bitfort.
Also, added @arjunsuresh  suggestion on granting access and avoiding audit

@bitfort :
I would like to merge this before Review Meetings start.
Excluding the last clause about audit, does the rest look good to you?

Pushed an update to remove the waiving audit clause. Too close to submission deadline to get an agreement.
To make it easy to find, the final version of the waiving audit clause was:

During the Peer Review Process, a reviewer can ask for access to a submission system to reproduce the submission. If the request is granted and the reviewer is satisfied with the results, this can be used to waive the reviewed system from the audit, subject to the approval of the review group

.


Update Proot

Karbon relies on an outdated and unverified Proot binary obtained from the internet.
To address this, I have decided to build Proot from the source available at Termux/Proot. However, as I only have an ARM32 device, I am unable to build for other architectures.
Please follow the instructions provided in the repository linked below to build the binary for the required architectures if you have the appropriate hardware:
RohitKushvaha01/Proot
Once built, kindly send me the generated Proot.tar.gz file.

[x] arm32/armv7*/armhf
[x] arm64/aarch64
[x] x86_64/amd64/x64
[ ] x86

I have arm64

@RohitKushvaha01 compile error

@RohitKushvaha01 compile error

Install the libtalloc library
pkg i libtalloc -y

Other error

Other error

You don't need to strip it
compilation is successful

I fixed strip by installing binutils

proot.tar.gz
Compiled

@AndroMaster436 could you compile the proot again for aarch64?

Question: where are the proot files?

Question: where are the proot files?

Download from here
http://bashupload.com/eKW5j/P0zWF.tar
It will expire after sometime

Question: where are the proot files?

After downloading the file
Move it into termux
Then

tar -xvf path/to/tarfile
cd karbon-proot
bash compile.sh

Attach the proot binary here
Or
Upload it using bashupload
curl bashupload.com -T proot

@RohitKushvaha01
http://bashupload.com/r1aBd/proot


Fix broken link in tensorflow/go/README.md

Fix broken link in tensorflow/go/README.md. This is related to #12145 (tensorflow/java/README.md) but is in go's README.md instead.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Can one of the admins verify this patch?

Thanks for the fix.

@tensorflow-jenkins test this please


pkgsMusl.nginx: fix build

pkgsMusl.nginx: fix build
Fixes:

error: #warning usage of non-standard #include <sys/cdefs.h> is deprecated [-Werror=cpp]

CC Musl: @yu-re-ka @alyssais @ulrikstrid
CC Nginx: @fpletz @raitobezarius @helsinki-systems

@OfBorg build nginx pkgsMusl.nginx

I think a very similar fix was already proposed half a year back in https://github.com/NixOS/nixpkgs/pull/263147 which was not accepted. Glad to see that we choose a churn friendly solution 😄

Glad to see that we choose a churn friendly solution 😄

Hi Sandro,
As always, nice to see you here.
I'm not sure what you mean by that. I didn't have a better solution at the time.
I proposed what I found to be working. I understand that it might not be a perfect solution.
But I don't have perfection information. I don't really know C/C++ well [haven't programmed in that]. So I'm not comfortable in fixing at upstream level.
Also, time is limited, and there's priorities too. It's just too much to be done.
There is also an information imbalance between different people. Sometimes people say something like that is obvious, while that isn't for others.
Anyway, if someone has a better solution, I'm all for it.
Thanks for your understanding.

Glad to see that we choose a churn friendly solution 😄

Hi Sandro, As always, nice to see you here. Thanks for the reference. I'm not sure what you mean by that. I didn't have a better solution at the time. I proposed what I found to be working. I understand that it might not be a perfect solution. But I don't have perfection information. I don't really know C/C++ well [haven't programmed in that]. So I'm not comfortable in fixing at upstream level. Also, time is limited, and there's priorities too. It's just too much to be done. There is also an information imbalance between different people. Sometimes people say something like that is obvious, while that isn't for others. Anyway, if someone has a better solution, I'm all for it. Thanks for your understanding.

I don't think he meant to criticize your approach, but instead was a bit disgruntled that his pull request was rejected. I would have probably fixed it in the same way.

But I don't have perfection information. I don't really know C/C++ well [haven't programmed in that]. So I'm not comfortable in fixing at upstream level.
Also, time is limited, and there's priorities too. It's just too much to be done.

Same, same for me. I totally didn't want to critique you and just say that I had the basically the same mindset a while ago and agree with the sentiment in this thread and that I am glad that I am not alone with this opinion.

@SuperSandro2000 can you elaborate please? Seems like the PR was closed by the original author and it was your suggestion in review that got rejected.

I think the original author and me had the same idea, to make musl maintenance easy and reduce churn with every update and compiler change but it got declined by the maintainer for reasons I do not follow. But everything alright, I don't think we need to change anything here codewise.


MXSPyCOM.exe where are it !?

I dont see MXSPyCOM.exe (

Release are available on the releases page: https://github.com/techartorg/MXSPyCOM/releases


❓[Question] Dynamic shape for ResNet-50

❓ Question
Hi, I try to convert ResNet-50 with dynamic shape:
   {
        "min": (1, 3, 224, 224),
        "opt": (1, 3, 224, 224),
        "max": (3, 3, 224, 224)
    }

, but i get this error:
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
ERROR: [TRTorch Conversion Context] - %x.21 : Tensor = aten::flatten(%x.19, %3, %81) # /root/.cache/torch/hub/pytorch_vision_v0.6.0/torchvision/models/resnet.py:214:12: at most one dimension may be inferred
Segmentation fault (core dumped)

Code:
import torch
import trtorch

torch_model = torch.hub.load('pytorch/vision:v0.6.0', 'resnet50', pretrained=False)
script_model = torch.jit.script(torch_model.eval().cuda())
trt_model = trtorch.compile(script_model, {
    "input_shapes": [{
        "min": (1, 3, 224, 224),
        "opt": (1, 3, 224, 224),
        "max": (3, 3, 224, 224)
    }],
    "op_precision": torch.float32,
})

What you have already tried
I run this code. It works correct.
Environment

Build information about the TRTorch compiler can be found by turning on debug messages

docker image: nvcr.io/nvidia/tensorrt :20.03-py3
PyTorch Version (e.g., 1.0): 1.6.0, installed with pip
CPU Architecture: x86
OS (e.g., Linux): Ubuntu 18.04
How installed TRTorch: pip install https://github.com/NVIDIA/TRTorch/releases/download/v0.1.0/trtorch-0.1.0-cp36-cp36m-linux_x86_64.whl
Python version: 3.6.9
CUDA version: 10.2
GPU models and configuration: RTX 2060 SUPER

Thanks for filing this. There was an issue in this converter where it assumed only dynamic shape and not dynamic batch. In the process we found another issue with dynamic batch and broadcasting so we are still working on that. You can track progress in #236

Hi , is there any updates on this issue? It would be nice to use dynamic batch size.

Hi , is there any updates on this issue? It would be nice to use dynamic batch size.


Add generateLinks instead of link and onError args

~Breaking change, but makes it more versatile.~
Not tested
Edit: There is a change in behavior when using customLink. But I think this is how it was intended to be implemented?

Feel free to make changes or make it backwards compatible.

@szilarddoro

Made some changes @szilarddoro
Not tested so you'll have to do that 😄
There is a change in behavior when using customLink. But I think this is how it was intended to be implemented?

Codecov Report

Merging #1830 (185bef8) into main (52ec6fe) will decrease coverage by 0.11%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #1830      +/-   ##
==========================================
- Coverage   87.23%   87.12%   -0.11%
==========================================
  Files          83       83
  Lines        9006     9052      +46
  Branches      537      537
==========================================
+ Hits         7856     7887      +31
- Misses       1150     1165      +15

see 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Thanks for your contribution @rikardwissing! 🙏🏼

Thanks for your contribution @rikardwissing! 🙏🏼

My pleasure @szilarddoro!


use dynrequire, clean up webpack config

Interesting failures

I think you should do
const dynRequire = typeof __webpack_require__ === "function"
  ? __non_webpack_require__
  : require;

in every module.

Alright, may I merge this?

If you think it's fine, sure :)

Thanks!


Update Dependencies and remove cxxopts

Some of these dependencies are over a year old or more, and should be updated

@cruktas is this alright?

@jaimecbernardo what was using cxxopts?
@AtariDreams i would have broken the remove and the update as separate personally.  Different items

I think the old installer bootstrapper used it.
@yuyoyuppe , it can be removed now, right?

yep, it could be removed


Bump ansible-lint to 3.5.1

Fixes #1525

Setting as v2.20 milestone (next release)

@gundalow automatic periodic version bump PRs can be done by pyup (demo: https://github.com/aio-libs/multidict/pull/300) or dependabot (demo: https://github.com/github/opensource.guide/pull/742)

This clearly needs to go in as it fixed a serious bug. I am not sure if pinning of ansible-lint is the best idea but this would deserve a new bug and consultation.
There are pros and cons for both approaches but maybe in the future we could go for a mixed approach: having unpinned versions in requirements.txt and and adding an extra named "pinned" that has the pinned versions. So users that want extra satbility can install molecule[pinned] and those that are more flexible can install molecule. Obviously that even the non pinned version would need ranged, at least >= if not even capped ones.
The way it was proposed in the tox.ini PR looks like a good traddeoff between safety and maintenance.

Hey @ssbarnea,
Let me add a few points to the discussion.

Let's not confuse environment dependencies and distribution package requirements. It's encouraged to pin deps for env, but not library-like things. The reason is that it breaks user's ability to install things with conflicting deps alongside or to pin them to versions they want within their (virtual)envs, for example.
OTOH setting a lower bound is a good idea and it's fine with me. Another thing we can do is to explicitly forbid certain faulty dependency versions, like ansible-lint>=x.y.z,!=x.y.a.
I like the idea of having "pinned" extra. Nice thing is that we could do post-releases only updating that pinned dependency (I mean like .post0, see PEP 440)

Hey @wilmardo, please rebase this PR.

@webknjaz Done :smile:

It looks like you hit an unstable job. I've restarted it to see what happens :)


Issue with obtening the lock

I'm having issue acquiring the lock file, either with decorator or context manager.
Here is how I'm proceeding :
from pid import PidFile

if __name__ == "__main__":

    with PidFile('deploy') as p:
        ideascube = initIdeascube()

        if ideascube.internet_is_up():
            ideascube.install_ansible()
            ideascube.run_deploy()

When I'm running the script /var/run/deploy is not always created. What am I missing ?

Could it be the script is running so fast you don't see the file appearing?
Could you perhaps use the following code in the PidFile context and
outcomment the ideascube stuff for now?
import time
time.sleep(15)
Barend
On Thu, 22 Apr 2021 at 15:43, Florian HESLOUIN @.***>
wrote:

I'm having issue acquiring the lock file, either with decorator or context
manager.
Here is how I'm proceeding :
from pid import PidFile
if name == "main":
with PidFile('deploy') as p:

    ideascube = initIdeascube()

    if ideascube.internet_is_up():

        ideascube.install_ansible()

        ideascube.run_deploy()

When I'm running the script /var/run/deploy is not always created. What
am I missing ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/trbs/pid/issues/37, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADGXQOPHQHFPZABN7P6ACDTKA73HANCNFSM43MXLTBA
.

--
Barend
Certified ScrumMaster

The method deploy() takes quite a lot of time to be executed. It actually use subprocess.Popen and spawn an ansible command that execute a playbook. I have seen some issue at this stage with the lock. But this is not always happening and sometime it works and some time the script does not care about the lock.
Here is the complete script : https://gitlab.com/bibliosansfrontieres/tm/factory_manager/blob/master/scripts/kea/deploy.py#L248-253
I'm probably missing something...

It seems like it "should-just-work(tm)"...
Can't quickly see why this would fail in your script...
Some things to try from the top of my head:

Try using PidFile(register_atexit=False) just in case...  (although since your using stock Python mostly I don't see why this would matter)
Try setting the debug log level (for PidFile Logger) and watch for the 'create pidfile' and 'closing pidfile' lines.
Is anything else maybe cleaning up the file ? (some tmpreaper type process on the machine ?) (in this case Barend's suggestion for little test script with time.sleep(...) should show the same behavior...)
If you suspect (or want to rule out) something else in the system you could try using Pidfile(piddir="/some/test/directory")

thanks @trbs for your help ! I managed to have my script behave as expected. I used piddir="/some/test/directory" to specify the directory. I guess the regular /run/user/%s/ did not work so well with my system (Ubuntu 16.04.7 LTS)

I am still very curious was the root cause of this would be.
This might be a caveat to warn other people about... or maybe even change the default piddir if need be...
@fheslouin if you might have some time could you make a simple test case that (as reliable as possible) triggers this ?

I tried individually each path from https://github.com/trbs/pid/blob/master/pid/utils.py#L26-L29, everything is working fine and I can not reproduce the issue I had, even whiteout specifying piddir it works.
I'll leave a comment if the issue re-appear.


Standard alone CloudOperationTest class. Added Cloud GetblobOperation Tests

Created MockCompositeNetworkClient to test Get Blob Operation together with Cloud Backed data center.
Added a couple of GetBlobOperationTest
Some limitations or comments:

Disk backed Server and Cloud backed Server have different mock implementations. May need unify mock layer interface for both of them. With unified mock layer, we can add more test cases.
So far we couldn't simulate different kinds of return error from cloud backed server, related to item 1.
Do we have standard alone test to verify that Cloud Backed data center will return status which is compatible with disk backed data center?
There are some "Jing TODO" in the code, need some discussion with the team. For example,
a. lifeVersion got back from cloud backed server and disk backed server is different.
b. hasFailedOnNotFound, discussion about the fix.

Previous PR at:
https://github.com/linkedin/ambry/pull/1999/

Codecov Report

Merging #2005 (c706522) into master (8652e08) will decrease coverage by 58.54%.
The diff coverage is 21.05%.

@@              Coverage Diff              @@
##             master    #2005       +/-   ##
=============================================
- Coverage     73.81%   15.27%   -58.55%
+ Complexity     9861     2289     -7572
=============================================
  Files           706      707        +1
  Lines         54156    54235       +79
  Branches       6732     6745       +13
=============================================
- Hits          39977     8286    -31691
- Misses        12052    45471    +33419
+ Partials       2127      478     -1649

Impacted Files
Coverage Δ

...om/github/ambry/router/SimpleOperationTracker.java
0.00% <0.00%> (-94.52%)
:arrow_down:

...va/com/github/ambry/clustermap/MockClusterMap.java
37.45% <33.33%> (-54.80%)
:arrow_down:

.../src/main/java/com/github/ambry/router/Router.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../src/main/java/com/github/ambry/store/Message.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/named/PutResult.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/quota/QuotaMode.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/quota/QuotaName.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/main/java/com/github/ambry/rest/RestMethod.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...c/main/java/com/github/ambry/config/KMSConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...c/main/java/com/github/ambry/config/SSLConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 564 more

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 8652e08...c706522. Read the comment docs.

you mean "standalone CloudOperationTest", right?


Topo fix

Small fi of _topological_sort when there is multiple equations and temporaries that needs to stat between equation.
Added test with it

I didn't forget about this, just have some patience and I'll get to it


Recording for Key Vault Keys

Updates the P&R (playback and recording) framework to remove code-duplication.
And creates recordings for Key Vault Keys
fix: https://github.com/Azure/azure-sdk-for-cpp/issues/3148

/azp run cpp - keyvault

/azp run cpp - keyvault

/azp run cpp - keyvault

/azp run cpp - keyvault

I see this PR having a lot of overlapping changes from https://github.com/Azure/azure-sdk-for-cpp/pull/3156. Pleae apply the same suggestions (warning suppression, avoiding using namespace in header declarations, plural name, etc)

I see this PR having a lot of overlapping changes from #3156. Pleae apply the same suggestions (warning suppression, avoiding using namespace in header declarations, plural name, etc)

This the other PR ( identity depends on this one ).   The other PR is a continuation.
I will take your comments for the other one and apply here ( to the applicable ).  Then, hold until this is merge to review the other one.

But I think it would've better to create draft for the other one instead.

You can turn it back into a draft PR if you want.


Missing ValidationMessage in Checkbox (Figma)

In Figma radio has an option to turn on "ErrrorMessage", but checkbox do not have this option. Should there be an ErrorMessage-option in checkbox as well?
### Tasks
- [ ] Add ValidationMessage as ComponentProperty to Checkbox in Figma
- [ ] Update the TestPage with errormessage on Checkbox

In the Storybook, I see that the checkbox component already includes an "ErrorMessage" message. I have created a boolean value in Figma to toggle the ErrorMessage, just like in the radio component.


Better option for documenting React?

Right now

nothing keeps documented properties in sync with real properties
exported docs talk about classes and methods instead of components

Some links:

https://www.reddit.com/r/reactjs/comments/3zfh3c/jsdoc_for_reactjsx/
https://www.nearform.com/blog/react-components-living-style-guides-overview/
https://github.com/reactjs/react-docgen
https://react-styleguidist.js.org/docs/documenting.html

Also: https://github.com/react-cosmos/react-cosmos
(Much more interactive that I would normally think of documentation, but that's ok.)

Ended up going with docz (#183):

free-form MD docs: Easy to read the code.
Nifty sandbox component will render react components, let the reader modify them, and link out to a third party if something deeper is necessary.
Nice output with the navigation bar on the side.

Caveats:

Spatial Component is not working right now in docs: DeckGL works, so I need to try to make a minimal reproducer. #184
Latest release uses html5 history instead of url hashes... so reload doesn't work. #181.


Apptentive Rating Prompt not shown for Event - version 2.0

My source code:
AppDelegate.m
application:didFinishLaunchingWithOptions:
[ATConnect sharedConnection].apiKey = APPTENTIVE_API_KEY;
[ATConnect sharedConnection].appID = appStoreID;

MyViewController.m
viewDidLoad:
 [[ATConnect sharedConnection] engage:kEventViewCity fromViewController:self];

Rating Prompt configuration:

Thanks for the detailed report.
To quickly get to the bottom of this, set a breakpoint on line 113 of ATInteractionInvocation.m, trigger your event, and when it hits the breakpoint, print a description of both the predicate and the [usageData predicateEvaluationDictionary] variables. You can then mentally substitute the values from the latter into the expression in the former and figure out what criteria aren't being met.
While I can't rule out a problem on our end, here are some things that might be causing the issue:

Make sure you're actually closing the app (using a real or simulated home button press) and leaving it inactive for 30 seconds or so (we have a floor on what sort of inactive time constitutes a "launch") before relaunching (tapping the app icon).
Set your device/Mac clock ahead one day to make sure you're not hitting the "Wait for n days after the first launch of the current app version" limit.
Make sure the prompt hasn't been shown before for that app version (i.e. delete the app before running it again).

Thanks for the quickly response from you.

It's working perfectly. Thanks for your support @frankus


Discussion: [Just call it WinUX]

From documentation at https://docs.microsoft.com/en-us/windows/apps/winui/:
The Windows UI Library (WinUI) is a native user experience (UX) framework. Since the UI acronym faded into obscurity, and UX took its place, isn't WinUX name more apt than WinUI? Rhyming with a name of another notorious OS is an added bonus.

Can this item be closed?

To be honest I think there's merit to the idea -- but as @MEK3DK mentioned, we need to focus more on fixing issues and making product progress.  It may be worth revisiting this in the future -- especially once the distinction between WinUI 2 and 3 becomes stronger in terms of features & capabilities.


Update components when analysis fails

Currently the components are not set in the case of analysis failure. In the attached image, T2Ramsey analysis failed (first line), and you can see that the Components column is empty:

Fix it.

Someone should try to run an intentionally failing analysis and check if it's still happening.

Did the analysis fail such that there are no analysis results? In that case, the components will be empty because this field is generated from the components of the analysis results. I double checked and this is still the current behavior. If we want to change this, there should be a compelling use case for why the components shouldn't be blank. In any case, this issue should be moved to the cloud experiment service instead of this repository.


Demo visualization and UI to Demo branch

Motivation and Context
This PR aims to seamlessly integrate the Demo visualization and user interface into the existing robot demo workflow. The integration is essential for enhancing the user experience and providing a more intuitive interaction with the robot demo.

Changelog

Integrated Demo visualization and UI into the robot demo workflow

How Has This Been Tested
To validate the changes, follow these steps:
Synchronize the demo/publishers/published_trajectory data.

Run the demo: python server.py
Open your web browser and navigate to http://<IP_ADDRESS>:8901/.
Click the Begin Streaming button to initiate the demo.

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have made changes to existing documentation where needed.
[x] I have added tests that show that the PR is functional.
[ ] I ran tests/hw_manual_test.py on hardware and observed that robot behavior looks normal.

LGTM


add k8s 1.26.x to be tested as well and drop 1.23 that is EOL

@hectorj2f @vaikas, if this is approved, i will update the github status check to remove the 1.23 and add the 1.26

I'll update the required checks.


Backup should save and restore Claim Name

Usability for creating a PV/PVC from a restored backup could be improved, if it used the original Claim Name

Realized, you create the name from the backup, so in the restore phase, it would be nice for it to restore it to the original ID


LabelWithCaption binding loop

Qaterial.LabelWithCaption {
    anchors.centerIn: parent
    horizontalAlignment: Qt.AlignHCenter

    spacing: 10 // Binding loop detected for property "y"

    text: "I'm a simple label"
    caption: "Here is my caption text"

    textFont: Qaterial.Style.textTheme.headline5
    captionFont: Qaterial.Style.textTheme.body1
}

LabelWithCaption.qml: 48:3: QML Label: Binding loop detected for property "y"
Same problems with CaptionWithLabel, OverlineWithLabel and "maybe" IconLabelWithCaption, but I haven't tested it because IconLabelWithCaption (sure IconLabel too) doesn't work for me. It says "Could not resolve the prototype for Qaterial.IconLabelImpl" :(

Are you sure you added qrc:/ to your import path.
QQmlApplicationEngine engine;
engine.addImportPath("qrc:/");

And binding loop seems to be cause by
https://github.com/OlivierLDff/Qaterial/blob/ee1a464cf13d4cc79ea6361c1b496cf1075d286f/qml/Qaterial/LabelWithCaption.qml#L58-L65
I guess solution to avoid the binding loop is to either move implementation to cpp, or to change approach to use a column

I just removed the spacing property for temporary fix the binding loop
I tested IconLabel again. It works and displays an icon, but QtCreator highlights it as an unresolved component
Adding the engine.addImportPath("qrc:/"); does not solve this problem. On the contrary, it gives me even more problems.
I am using Qaterial installed via CMAKE_INSTALL, and i put .qml files to Qt source folder C:\Qt\5.15.2\msvc2019_64\qml\Qaterial and if there is a warning in some qml file, QtCreator cannot open this file, because the location of this file is somewhere in the resource which I don't have qrc:/Qaterial/LabelWithCaption.qml:48:3: QML Label: Binding loop detected for property "y".
(sorry for bad english)

Easiest way to add Qaterial is using something like that : https://github.com/OlivierLDff/QaterialHotReload/blob/master/cmake/FetchQaterial.cmake
I think find_package is fine, but I'm not using this technique myself.
I'm also not using QtCreator so I can't give you any help on that sorry.
I think to have correct completation within QtCreator, you need to generate a qmltype file : https://doc.qt.io/qtcreator/creator-qml-modules-with-plugins.html


Guide content proposal

We need a very good guide for react-instantsearch that will explain basic and advanced concepts.
Here's a guide draft:

[ ] What is react-instantsearch
[x] Getting started
[ ] Widgets
[ ] Connectors
[ ] Default parameters
[ ] Wrapping 3rd party UI libraries
[ ] I18N
[ ] Styling
[ ] Conditionally displaying widgets
[ ] Displaying hits from different index
[ ] Url synchronisation
[ ] React-router usage (#1239)
[ ] Creating your own widget

What do you think?

What about making a concepts guide to explain the overall architecture? This group several aspects like:

what is instantsearch?
widgets
connectors

All in for an architecture overview item. As long as we are able to keep it simple. Even if we have multiple concepts in the library, once explained those should remain simple to understand.
Then how do we introduce that guide/link it? Just wondering because most of the time I tend to skip any "Architecture" link in a guide. Because I think "Well, that's your job to walk me through the API in a effective way, I don't want to read your architecture details.
In the proposal, we have " What is react-instantsearch" then "Widgets" and "Connectors" Maybe just filling those items without the need to create an - architecture link would better guide people to clicking/learning them?

updated the issue with better description on the next steps to be done

What do you think of a structure like this ?

Introduction

what's react-instantsearch
purposes of widgets
purposes of connectors

Styling
Connectors

How to use connectors (half the part that already exists in making your own widget)

Wrapping 3rd party libraries
Create your own widget

create connector api (used for conditional display)

Conditionally displaying widgets
FAQ

How to preselect values (virtual widgets)
How to add manual values to a Menu/RefinementList...
How to synchronize the url (this link being referenced within the InstantSearch component doc)

Also, do we want to keep the intro page for connectors/components?

It's taking shape! Some suggestions:
purposes of widgets
purposes of connectors (you do not yet know about them, you cannot ask their purposes)
Wrapping 3rd party UI libraries
FAQ Advanced topics

Some part have been done. Feedback are needed :)
we still miss: Configuring Algolia parameters (distinct use case)


Midi Downloading not working (User Script)

Was working yesterday albeit had to refresh the page a couple times to get it to download a midi from musescore, today can't get any to download. Clicked the download midi option and it just says processing for a couple seconds then nothing.
Using the tampermonkey with user script option

same issue

I think it's a MuseScore issue

It is a MuseScore issue. Run the JavaScript line in the console and then press one of the 3 download buttons. It's a timeout issue, but there's authentication errors below so I believe it's MuseScore rejecting the request due to authentication missing.

MuseScore has resolved their issue

MuseScore is broken again. Easiest way to tell is if only the first page loads

MuseScore has resolved their issue again


[bug] Vue JS | Settings component on create new WebviewWindow shows the component as Text

Describe the bug
When I try to set the window directly on creation to a component from the directory, it returns text instead.
const webview = new WebviewWindow('app-window', {       url: '/src/components/Sections.vue'     });
./ loads the App.vue fine...

Reproduction
No response
Expected behavior
A component from the app directory should get loaded into the WebView window at creation correctly.
Platform and versions
No errors given.
Stack trace
No response
Additional context
No response

You need to use a router like vue-router and point the new window to the route path not the component.


Enhancing UI for Better User Experience

In the Landing page of the website, there's too much blank space with no Content displayed that may look bad.

Also there's blank space in this Section is unneeded and can be reduced.

I'm willing to work on this issue.


[WIP DO NOT MERGE] server: allow admins to blacklist vm details that users should not see

Problem: The listVirtualMachines API response displays sensitive information which should not be visible to any other user which is not Root Admin.
Root Cause: There are currently no restrictions in place to control what
instance settings should be visible to Root Admin only.
Solution: The issue has been fixed by refactoring the response to filter details based on a global setting and also honour the cloud.user_vm_details table’s display field. The global setting used to hide details that Root admin can set is called user.vm.blacklisted.details with the following defaults;
• memoryOvercommitRatio
• cpuOvercommitRatio
• rootdisksize
• Message.ReservedCapacityFreed.Flag
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

@blueorangutan package

@borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2656

@blueorangutan test

@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3456)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 38469 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3213-t3456-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermittent failure detected: /marvin/tests/smoke/test_ssvm.py
Intermittent failure detected: /marvin/tests/smoke/test_vpc_redundant.py
Smoke tests completed. 70 look OK, 0 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

LGTM


Crash when opening Playgrounds - Xcode 7.0.1

Nice tool, I enjoy using it.
However, Xcode 7.0.1 is crashing 100% every time I try to open a playground.
I'm using XVim build from the develop branch, commit  125c207a73d9f7584d52c2b6bd217f17ef327e20.
Crashlog in a gist, because it's super long

I've played around a bit, and got it to at least not crash.  But hey, it's not crashing.
IDEPlaygroundEditor seems to be something new in Xcode 6, but not added yet to XVim.
It is a subclass of IDESourceCodeEditor, and so xvim_initWithNibName:bundle:document: gets called when it is loaded.
However, the contentViews are different in this new IDEPlaygroundEditor class. Instead of being [[obj view] contentView] it is actually at [[[objc view] contentView] contentView].
Then later when it gets the scrollView, that seems to have changed too. [self mainScrollView] returns nil. However, there is a scroll view at [[container subviews] objectAtIndex:0], assuming that container is the container we fetched up above.
I know this isn't complete, and I know it's pretty messy, but hopefully it will point someone in the right direction. I changed the xvim_initWithNibName... to begin with this:
- (id)xvim_initWithNibName:(NSString*)name bundle:(NSBundle*)bundle document:(IDEEditorDocument*)doc{
    id obj = [self xvim_initWithNibName:name bundle:bundle document:doc];
    NSView* container = [[obj view] contentView];
    if ([obj isKindOfClass:NSClassFromString(@"IDEPlaygroundEditor")]) {
        container = [[[obj view] contentView] contentView];
    }

    // Insert status line
    if( nil != container ){
        // TODO: Observe DVTFontAndColorSourceTextSettingsChangedNotification to change color of status bar
        DVTSourceTextScrollView* scrollView = [self mainScrollView];
        if ([obj isKindOfClass:NSClassFromString(@"IDEPlaygroundEditor")]) {
            scrollView = [[container subviews] objectAtIndex:0];
        }
        [scrollView setTranslatesAutoresizingMaskIntoConstraints:NO]; // To use autolayout we need set this NO
   ...

And it doesn't crash anymore. XVim still doesn't work in there. But it doesn't crash :)

It seems like this is working in Xcode 7.1!

Please test develop branch.

Excellent, it seems to be working on my machine.
Thanks!


Editor - Mobile support: navigation tabs

Issues

On both the navigation tabs (fig.1) and the open file tabs (fig.2) the border + background colour do not meet the contrast requirements for "Graphical Objects and User Interface Components"

This is particularly an issue with the navigation tabs, or when multiple file tabs are open as the border is the only signifier of what is selected.

On light mode the nonselected navigation tab is styled differently to dark mode. i.e. doesn't have a background. (fig3).

Solution
These issues are solved with the new design and colours of the file tabs, and navigation tabs.
If building the tabs to the new design is not in scope then the current colours should be updated to meet the "Graphical Objects and User Interface Components" contrast requirements. Suggestion for this below:
Dark mode

[x] Selected outline --> rpf-teal-400
[x] Selected background --> rpf-grey-600
[x] Unselected background --> rpf-grey-600

Light mode

[x] Selected outline --> rpf-teal-900
[x] Selected background --> rpf-grey-50
[x] Unselected background --> rpf-grey-50

fig1:

fig2:

fig3:

Design:

Task taken from #624

Can we sort this out as part of this ticket too? https://raspberrypifoundation.slack.com/archives/C02JBAA2NFP/p1693581742150969?thread_ts=1693568755.068239&cid=C02JBAA2NFP

I believe it was fixed by @PetarSimonovic which his PR - according to the Slack discussion above.

[ ] In dark mode correct border colour only shows when the tab is clicked

Before click (incorrect):

After click (correct):

PR: https://github.com/RaspberryPiFoundation/editor-ui/pull/635

closed with merge


Fix bullets in validating-admission-policy

Fix indentations in bullets.

Thanks, @windsonsea
Preview looks good to me: https://deploy-preview-41961--kubernetes-io-main-staging.netlify.app/docs/reference/access-authn-authz/validating-admission-policy/
/lgtm


NoMethodError: undefined method `vm_name'

Trying to create a basic server using chef-provisioning on azure.
Recipe:
require 'chef/provisioning/azure_driver'
with_driver 'azure'

machine_options = {
    :bootstrap_options => {
      # :cloud_service_name => 'chefprovisioning', #required - old
      :cloud_service_name => 'alexv_cloud_service_name01', #required
      # :storage_account_name => 'chefprovisioning', #required
      :storage_account_name => 'alexv_storage_acct_name01', #required
      :vm_size => "Small", #required
      :location => 'West US'#, #required
      # :tcp_endpoints => '80:80' #optional
    },
    :image_id => 'b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140927-en-us-30GB', #required
    # Until SSH keys are supported (soon)
    :password => "chefm3t4l\\m/" #required
}

machine 'alexv2' do
  machine_options machine_options
end

$ chef-client -z -r 'recipe[chef-provisioning-azure]'
[2015-03-23T08:16:32-07:00] INFO: Started chef-zero at http://localhost:8889 with repository at /Users/alexvinyar/Documents/Projects/chef-provisioning_all/chef-provisioning-azure
  One version per cookbook

[2015-03-23T08:16:32-07:00] INFO: Forking chef instance to converge...
Starting Chef Client, version 12.0.3
[2015-03-23T08:16:32-07:00] INFO: *** Chef 12.0.3 ***
[2015-03-23T08:16:32-07:00] INFO: Chef-client pid: 50707
[2015-03-23T08:16:34-07:00] INFO: Setting the run_list to [#<Chef::RunList::RunListItem:0x007fa16409eb30 @version=nil, @type=:recipe, @name="chef-provisioning-azure">] from CLI options
[2015-03-23T08:16:34-07:00] INFO: Run List is [recipe[chef-provisioning-azure]]
[2015-03-23T08:16:34-07:00] INFO: Run List expands to [chef-provisioning-azure]
[2015-03-23T08:16:34-07:00] INFO: Starting Chef Run for alexv
[2015-03-23T08:16:34-07:00] INFO: Running start handlers
[2015-03-23T08:16:34-07:00] INFO: Start handlers complete.
[2015-03-23T08:16:34-07:00] INFO: HTTP Request Returned 404 Not Found : Object not found: /reports/nodes/alexv/runs
resolving cookbooks for run list: ["chef-provisioning-azure"]
[2015-03-23T08:16:34-07:00] INFO: Loading cookbooks<EMAIL_ADDRESS>Synchronizing Cookbooks:
  - chef-provisioning-azure
Compiling Cookbooks...
Converging 1 resources
Recipe: chef-provisioning-azure::default
  * machine[alexv] action converge[2015-03-23T08:16:34-07:00] INFO: Processing machine[alexv] action converge (chef-provisioning-azure::default line 26)

    - Creating alexv with image b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140927-en-us-30GB in West US...Creating deploymnent...
Creating cloud service chefprovisioning.
ConflictError : The specified DNS name is already taken.

    ================================================================================
    Error executing action `converge` on resource 'machine[alexv]'
    ================================================================================

    NoMethodError
    -------------
    undefined method `vm_name' for #<String:0x007fa16a0f2180>

    Resource Declaration:
    ---------------------
    # In /Users/alexvinyar/Documents/Projects/chef-provisioning_all/chef-provisioning-azure/.chef/local-mode-cache/cache/cookbooks/chef-provisioning-azure/recipes/default.rb

     26: machine 'alexv' do
     27:   machine_options machine_options
     28: end

    Compiled Resource:
    ------------------
    # Declared in /Users/alexvinyar/Documents/Projects/chef-provisioning_all/chef-provisioning-azure/.chef/local-mode-cache/cache/cookbooks/chef-provisioning-azure/recipes/default.rb:26:in `from_file'

    machine("alexv") do
      action :converge
      retries 0
      retry_delay 2
      default_guard_interpreter :default
      chef_server {:chef_server_url=>"http://localhost:8889", :options=>{:client_name=>"alexv", :signing_key_filename=>"/Users/alexvinyar/Documents/Projects/chef-provisioning_all/chef-provisioning-azure/.chef/alexv.pem"}}
      driver "azure"
      machine_options {:bootstrap_options=>{:cloud_service_name=>"chefprovisioning", :storage_account_name=>"chefprovisioning", :vm_size=>"Small", :location=>"West US", :os_type=>"Linux", :deployment_name=>"chefprovisioning"}, :password=>"chefm3t4l\\m/"}
      declared_type :machine
      cookbook_name "chef-provisioning-azure"
      recipe_name "default"
    end

[2015-03-23T08:16:45-07:00] INFO: Running queued delayed notifications before re-raising exception

Running handlers:
[2015-03-23T08:16:45-07:00] ERROR: Running exception handlers
Running handlers complete
[2015-03-23T08:16:45-07:00] ERROR: Exception handlers complete
[2015-03-23T08:16:45-07:00] FATAL: Stacktrace dumped to /Users/alexvinyar/Documents/Projects/chef-provisioning_all/chef-provisioning-azure/.chef/local-mode-cache/cache/chef-stacktrace.out
Chef Client failed. 0 resources updated in 13.861303 seconds
[2015-03-23T08:16:45-07:00] ERROR: machine[alexv] (chef-provisioning-azure::default line 26) had an error: NoMethodError: undefined method `vm_name' for #<String:0x007fa16a0f2180>
[2015-03-23T08:16:45-07:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

Stackstace
Generated at 2015-03-23 08:16:45 -0700
NoMethodError: machine[alexv] (chef-provisioning-azure::default line 26) had an error: NoMethodError: undefined method `vm_name' for #<String:0x007fa16a0f2180>
/Users/alexvinyar/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-azure-0.2.1/lib/chef/provisioning/azure_driver/driver.rb:117:in `allocate_machine'
/Users/alexvinyar/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-0.19/lib/chef/provider/machine.rb:28:in `block in <class:Machine>'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:60:in `instance_eval'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:60:in `recipe_eval_with_update_check'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:45:in `block in action'
/Users/alexvinyar/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-0.19/lib/chef/provider/machine.rb:33:in `block in <class:Machine>'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:60:in `instance_eval'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:60:in `recipe_eval_with_update_check'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:45:in `block in action'
/Users/alexvinyar/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-0.19/lib/chef/provider/machine.rb:51:in `block in <class:Machine>'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:60:in `instance_eval'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:60:in `recipe_eval_with_update_check'
/opt/chefdk/embedded/apps/chef/lib/chef/provider/lwrp_base.rb:45:in `block in action'
/opt/chefdk/embedded/apps/chef/lib/chef/provider.rb:145:in `run_action'
/opt/chefdk/embedded/apps/chef/lib/chef/resource.rb:582:in `run_action'
/opt/chefdk/embedded/apps/chef/lib/chef/runner.rb:49:in `run_action'
/opt/chefdk/embedded/apps/chef/lib/chef/runner.rb:81:in `block (2 levels) in converge'
/opt/chefdk/embedded/apps/chef/lib/chef/runner.rb:81:in `each'
/opt/chefdk/embedded/apps/chef/lib/chef/runner.rb:81:in `block in converge'
/opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/resource_list.rb:83:in `block in execute_each_resource'
/opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
/opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
/opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
/opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
/opt/chefdk/embedded/apps/chef/lib/chef/resource_collection/resource_list.rb:81:in `execute_each_resource'
/opt/chefdk/embedded/apps/chef/lib/chef/runner.rb:80:in `converge'
/opt/chefdk/embedded/apps/chef/lib/chef/client.rb:315:in `converge'
/opt/chefdk/embedded/apps/chef/lib/chef/client.rb:400:in `block in run'
/opt/chefdk/embedded/apps/chef/lib/chef/client.rb:399:in `catch'
/opt/chefdk/embedded/apps/chef/lib/chef/client.rb:399:in `run'
/opt/chefdk/embedded/apps/chef/lib/chef/application.rb:261:in `block in fork_chef_client'
/opt/chefdk/embedded/apps/chef/lib/chef/application.rb:249:in `fork'
/opt/chefdk/embedded/apps/chef/lib/chef/application.rb:249:in `fork_chef_client'
/opt/chefdk/embedded/apps/chef/lib/chef/application.rb:215:in `block in run_chef_client'
/opt/chefdk/embedded/apps/chef/lib/chef/local_mode.rb:38:in `with_server_connectivity'
/opt/chefdk/embedded/apps/chef/lib/chef/application.rb:201:in `run_chef_client'
/opt/chefdk/embedded/apps/chef/lib/chef/application/client.rb:355:in `block in interval_run_chef_client'
/opt/chefdk/embedded/apps/chef/lib/chef/application/client.rb:345:in `loop'
/opt/chefdk/embedded/apps/chef/lib/chef/application/client.rb:345:in `interval_run_chef_client'
/opt/chefdk/embedded/apps/chef/lib/chef/application/client.rb:335:in `run_application'
/opt/chefdk/embedded/apps/chef/lib/chef/application.rb:58:in `run'
/opt/chefdk/embedded/apps/chef/bin/chef-client:26:in `<top (required)>'
/opt/chefdk/bin/chef-client:40:in `load'
/opt/chefdk/bin/chef-client:40:in `<main>'

The error log seems to indicate that 'chefprovisioning' was sent to Azure which is already registered as a cloud service (cloud service names are global). The below message is returned by the Azure API:
ConflictError : The specified DNS name is already taken.

Looking at the source, there's some leftover code that sets the cloud service name to 'chefprovisioning' if cloud_service_name is not set, same with storage_account_name.
Can you check your recipe and take out any extra spaces and comments, as everything else looks good.

Thanks. I got the box stood up after seeing all of the ||= inside the code. Oddly enough, none of the resources with default names actually existed in Azure account. May have been something local.

:+1: Glad you got going.  Yes, Cloud Service and Storage Account names are globally unique - as they are assigned a public URI (e.g. chefprovisioning.cloudapp.net).  The names are not specific to your subscription.
Technically we should check the name being requested is available before attempting to create it too. (i.e. use the API call documented at https://msdn.microsoft.com/en-us/library/azure/jj154116.aspx and https://msdn.microsoft.com/en-us/library/azure/jj154125.aspx)

After more poking around and more vm_name error, I started poking around with pry.
seems this line is not getting necessary info -
vm = azure_vm_service.create_virtual_machine(params, bootstrap_options)
   - Creating chef-server-alexv with image b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_1-LTS-amd64-server-20140927-en-us-30GB in West US...
From: /Users/alexvinyar/.chefdk/gem/ruby/2.1.0/gems/chef-provisioning-azure-0.2.1/lib/chef/provisioning/azure_driver/driver.rb @ line 116 Chef::Provisioning::AzureDriver::Driver#allocate_machine:

    111:         }
    112:         # require 'pry';binding.pry
    113:         action_handler.report_progress "Creating #{machine_spec.name} with image #{image_id} in #{location}..."
    114:         vm = azure_vm_service.create_virtual_machine(params, bootstrap_options)
    115:       end
 => 116:       require 'pry';binding.pry
    117:       machine_spec.location['vm_name'] = vm.vm_name
    118:       action_handler.report_progress "Created #{vm.vm_name} in #{location}..."
    119:     end
    120:
    121:     # (see Chef::Provisioning::Driver#ready_machine)

2.1.4 (#<Chef::Provisioning::AzureDriver::Driver:0x007fd6411b24d8>):0 > vm.vm_name
NoMethodError: undefined method `vm_name' for #<String:0x007fd6429b0530>
from (pry):1:in `allocate_machine'
2.1.4 (#<Chef::Provisioning::AzureDriver::Driver:0x007fd6411b24d8>):0 > machine_spec.location['vm_name']
=> nil
2.1.4 (#<Chef::Provisioning::AzureDriver::Driver:0x007fd6411b24d8>):0 > vm
=> "Unexpected method []= for MergedConfig with arguments [:os_type, \"Linux\"]"

If the storage of the VM name was not successful on a previous run but you do already have a VM created I could understand vm is only returned when a VM has actually been created. I assume you are running using chef-client in --local mode or on a real chef server so have node persistence across runs?

Yup. Running chef zero. Azure UI doesn't show any of the objects I call out for.
I cant figure out where :os_type is coming from..

It (should be) returned from Azure when the VM is created.

Hi,
I too ran into this issue. Check to see that you have not already reached the maximum number of cloud services (default is 20).

That's a great point, for anyone else finding this thread you can put a support call in to Azure to have the number increased.

I am trying to create 3 VMs under 1 cloud service. If I delete the cloud service and the VMs, it will create 1 of them only. Here is my code:
machine_batch do
1.upto(3) do |i|
	machine "test-toad#{i}" do
  		machine_options machine_options
	end
  end
end

After the run, if I try to run it again, it throws the undefined method 'vm_name' error. I am not trying to create a new cloud service. I'm trying to create machines under an existing one.

@aarsan As discussed in Gitter - this can happen if (for example) you specify something that is invalid to Azure, such as specifying the same public tcp_endpoint for all of the machines... :)

Closing this issue as there's nothing outstanding to investigate.

I'm not clear what the "cloud-service_name" and "storage_account_name" values are supposed to be...I'm also getting the same error...
   NoMethodError     -------------     undefined methodvm_name' for #String:0x51603f0
Resource Declaration:
---------------------
# In C:/GIT Repositories/cookbook-relativity_scaled-automation_azure/recipes/azuretest.rb

 56: machine "#{ClusterName}-test" do
 57:        machine_options machine_options
 58: end

Compiled Resource:
------------------
# Declared in C:/GIT Repositories/cookbook-relativity_scaled-automation_azure/recipes/azuretest.rb:56:in `from_file'

machine("rel9.3-KM-AzureTest-test") do
  action [:converge]
  retries 0
  retry_delay 2
  default_guard_interpreter :default
  chef_server {:chef_server_url=>"https://km-consilio-relativity-testing.centralus.cloudapp.azure.com/organizations/consilio_devops", :options=>{:

client_name=>"kxmoss", :signing_key_filename=>"C:/Azure/chef-repo/.chef/kxmoss.pem", :api_version=>"0"}}
driver "azure"
machine_options {:bootstrap_options=>{:vm_user=>"kxmoss", :cloud_service_name=>"km-consilio-relativity-testing.centralus", :storage_account_name
=>"consiliotest3343", :vm_size=>"Standard_D1", :location=>"Central US", :tcp_endpoints=>"3389:3389", :winrm_transport=>{"https"=>{:disable_sspi=>false
, :basic_auth_only=>false, :no_ssl_peer_verification=>true}}, :os_type=>"Windows", :deployment_name=>"km-consilio-relativity-testing.centralus"}, :pas
sword=>"P@$$word01", :image_id=>"a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-20160430-en.us-127GB.vhd"}
declared_type :machine
cookbook_name "@recipe_files"
recipe_name "C:/GIT Repositories/cookbook-relativity_scaled-automation_azure/recipes/azuretest.rb"
end`
I am currently using chef provisioning with vRa and it seems quite a bit different, currenlty, with vRa, my machine resources are set as such
`machine "#{ClusterName}-dist#{num}" do
tags 'Relativity', 'DB', 'MS-SQL'
machine_options(
bootstrap_options: {
catalog_id: '2f7a97cd-bff0-4408-b26f-2750344ec35e',
subtenant_id: '3de5fbd7-8968-495a-ac2b-93b731b3a729',
cpus: 2,
memory: 8192,
requested_for: ENV['VRA_USER'],
lease_days: 5
},
transport_options: {
is_windows: true,
username: ENV['KT_USER'],
password: ENV['KT_PASS']
},
convergence_options: {
chef_version: '12.7.2'
}
)
					files 'C:/chef/trusted_certs/km-consilio-relativity-testing.consilio.com.pem' => {
						content: km-consilio-relativity-testing
					}`

And I'm trying to test with azure and my test looks like this:
`machine_options = {
:bootstrap_options => {
:vm_user => 'kxmoss', #required if Windows
:cloud_service_name => 'km-consilio-relativity-testing.centralus', #required
:storage_account_name => 'consiliotest3343', #required
:vm_size => 'Standard_D1', #optional
:location => 'Central US', #optional
:tcp_endpoints => '3389:3389', #optional
:winrm_transport => { #optional
'https' => { #required (valid values: 'http', 'https')
:disable_sspi => false, #optional, (default: false)
:basic_auth_only => false, #optional, (default: false)
:no_ssl_peer_verification => true #optional, (default: false)
}
}
},
:password => 'P@$$word01', #required
:image_id => 'a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-20160430-en.us-127GB.vhd' #required
}
machine "#{ClusterName}-test" do
machine_options machine_options
end`

This is how I'm attempting this:
machine_options = {
		:bootstrap_options => {
			:vm_user => 'kxmoss', #required if Windows
			:cloud_service_name => 'km-consilio-relativity-testing.centralus', #required
			:storage_account_name => 'consiliotest3343', #required
			:vm_size => 'Standard_D1', #optional
			:location => 'Central US', #optional
			:tcp_endpoints => '3389:3389', #optional
			:winrm_transport => { #optional
				'https' => { #required (valid values: 'http', 'https')
					:disable_sspi => false, #optional, (default: false)
					:basic_auth_only => false, #optional, (default: false)
					:no_ssl_peer_verification => true #optional, (default: false)
				}
			}
		},
		:password => 'P@$$word01', #required
		:image_id => 'a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-20160430-en.us-127GB.vhd' #required
}

machine "#{ClusterName}-test" do
	machine_options machine_options
end


Need Clarification

I was a little lost on why this one article deviates from other CSPs, in that.. you list all Nodes and separately list the branches of the Nodes.  Sure they are replicated data sets, but for accuracy, it should be done.
I know it may seem Tedious.. but really not to spell it out, to minutia, is skirting the reason documentation exists in the first place.
I would suggest to actually represent the text, in the same format as the Visible Picture of the Nodes, and branches of URI paths, Underneath Each Node.

Please do not remove the automatically added information, because it is needed to trace the page you refer to when posting a question or suggestion for documentation improvements.

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

ID: e0eabb49-13ec-054a-c6cc-bdd12bfec8b2
Version Independent ID: 0764f670-5d02-f47d-f583-09a047c630c5
Content: RootCATrustedCertificates CSP
Content Source: windows/client-management/mdm/rootcacertificates-csp.md
Product: w10
Technology: windows
GitHub Login: @MariciaAlforque
Microsoft Alias: maricia

@officedocsbot assign @e0i

@Tdiwestyguy
The issue has been noted and the document will be revised in the light of your feedback.
You will be kept posted on updates.
Thank you for providing feedback.

@Tdiwestyguy : Could you provide a small sample of what you suggest, just so I know where to start if I want to create a PR for this change? Or do you want to open a PR yourself (if yes, feel free to do so) for this change?

@Tdiwestyguy
With the help of your feedback, the content has been updated with relevant changes accordingly. Thanks.


Looking for desktop and WASM support to let people develop Desktop apps and web-apps using flutter code

I have actually done a lot of programming on Windows platform (Windows, ASP.NET MVC for WEB). All the work I done in 2018 is depend on Winforms, WPF or Web browser control based Desktop apps (IE control).
None of them was impressive, Xamarin does helping making apps but taking too much time on debugging and compiling on a normal computer.
Flutter can be a good replacement for desktop apps programming, What I used that is from system is Web Browser Control, Which I think can be done with Chrome, Chrome will be used as Web Browser Control for browser embedded login.
Controls like rendered in Android can be used in Desktop environment, Actually I see a repos under Google organization but it say it's officially not supported.
If Flutter can be used on Windows, it can be used on Linux and Mac too. If this become reality people don't need to write apps in WPF, Winforms and limited to windows only.
If flutter can be deployed to WASM (Web Assembly).  This will be better solution than React. I can just use one framework that does it all.
This year I developed 15 apps in winforms ( I used framework that are on github but no one them supported, the person who make material winforms get job elsewhere). Everything regarding WPF and Winforms and Xamarin is so terrible. Even things are open-source now they are not getting community support.
I think it would be much better to use Skia for Desktop since It can be extend to multiple platform. For web I hear about Flutter few days ago that can be used for web too. If WASM kind of thing get supported in flutter, it would be great to make apps either native or PWA.
Is flutter team considering plan to make it work for web, Any unofficial repos who are trying to achieve it for Desktop or WASM.

See

https://github.com/google/flutter-desktop-embedding/notifications
https://medium.com/flutter-io/hummingbird-building-flutter-for-the-web-e687c2a023a8

As far as I know WebAssembly is mostly for non-UI code and Flutter is mostly just UI code.


fix(MockInstance): multi-token and multi-service #5585

closes #5585

v14.10.1 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


reproduce results matched figure 5 in paper

Hi, thanks for your great research first. May I have the seed to generate the source StyleGAN image which used in figure 5 of the paper?  And also the index of sorted eigen value corresponding to "Pose", "Eyeglasses" and "Smile" manipulation so that I can reproduce results in figure 5.
By the way, the InterFaceGAN result in qualitative comparison were produced in W space or W+ space?
Thanks.

For StyleGAN, pose, eyeglasses, smile are with index 1, 6, 37. Meanwhile, InterFaceGAN is using W space.


Can't lauch "Extension Debug" since update 1.50

Issue Type: Bug
Is it possible, that there is something wrong with the extension debug-host?
When I try to launch my Extension in Insider-Build  i get the following message:
The configured debug-type "pwa-node" is not supported
(translated from german).
Did I miss something?
 Did it get disabled at some point?

@connor4312  I was disabled!
Aw, thanx but how could that happen? Whatever, activating it did resolve the problem for me. Thank you!

Good to hear! It's possible you hit an issue before and tried out the nightly build which requires disabling the built-in version (and perhaps never finished installing it or uninstalled it later)

possible - I am gambling around with freatures a lot in the moment. Well thanx - "my users" will be happy to get the new version.
Regards


Identical duplicate combos

I believe I misclicked when choosing features and accidentally made a combo that already existed on the site.
Could we add a check to prevent this, with a notice that the combo already exists?

TODO

[ ] add a warning when saving a combo that is duplicate
[ ] forbid setting a combo as generator if it's a duplicate


Editor: Debugger displays wrong class names of object variables

You gonna hate me :)
Incorrect type (or class name) displays next to object name in debugger. See fix of issue https://github.com/godotengine/godot/issues/22454
if it helps.
Steps to reproduce:
See screen shots paused on last line of  _on_Button2_pressed()
Please note circled red. The allow object is of type Checkbox and self is of type Button.
GLES2

Also show different objects class names when using GLES3

Other than that seems great :)

CC @DualMatrix

Yup that's not right, I'll fix this asap.

I ve tested this but now shows ObjectID for all objects in both GLES2 and 3. So somehow you're not able to get the Object class and show it in the drop downs next to each name.

@wyattbiker. I just made it go back to the previous behaviour(Just showing object). I couldn't figure out how to get the actual name, I still have a theory on how to do it but I havent tested that yet.

Ok, could we re-open the ticket plz

That is not how it worked in the previous versions I think.

Sounds good. Future enhancement. Thanks


changing leader key to F13

In Spacemacs, I changed my global leader key to F13, which is mapped to my caps lock key via xmodmap, so that I could do things like describe-key (SPC h k) in Doom's default config. I already set doom-leader-key, but I have no idea how to tell Doom that this can be used in insert-state too. Any help would be appreciated, and thanks for a great Emacs configuration.
Edit: I am on the tip of the develop branch.

I think you need to bind F13 in global map to a function that mimic the leader key events. Not quite sure about the detail yet, but I think google might tell you the answer.

Thanks. I actually did search google before asking for help here. Still searching unsuccessfully for the correct recipe to allow me to use a non-printing leader key such as <f13> in all evil states.

Unfortunately, this isn't easy. The way Doom binds leader keys is rigid (they're only bound in normal and visual modes). I'm working on a revamp of Doom's keybinds and underlying system which should make this trivial to do, but for the time being your best bet is to map F13 to C-o SPC. It's a hack, but it may just work:
(map! :i "<f13>" (λ! (push 32 unread-command-events)
                     (push ?\C-o unread-command-events)))

@hlissner Thanks for the suggestion. That does work, however it also switches the state to normal state, first, so things like describe-key are useless. I guess I'll retry Doom at a later date when your refactor is complete if I can't work around this issue.

Thank you @hlissner. I am new here, and while this does change what I'm used to, I'm willing to stick around anyway. I'm a long time vim, vanilla Emacs (with my own extensive config atop), and Spacemacs user, and after using Doom for 2 days I can say it's snappy, has good defaults, consistent/declarative macros, looks great, and my favorite config for sure. I'll be sticking around!

@hlissner Can I use same principle to remap localleader key?
Currently this is  SPC m but I want to remap this to , just like a Spacemacs. I want this since I'm too laze to type more than one key stroke for leader key. ;)
If it needs a lot of work then I wish a feature that user can add alias for leader(or local leader)key, it would be really nice.

@sleepyeye Sorry for the late response. You can change the localleader by setting doom-localleader-key in ~/.doom.d/init.el.
(setq doom-localleader-key ",")

WIth general integrated into Doom now, the original issue should be resolved. Let me know if that isn't the case and I will reopen the issue.
To have F13 be your leader key in all states, insert states included, this should work:
;; in ~/.doom.d/init.el
(setq doom-leader-key "<F13>"
      doom-leader-alt-key "<F13>")

@hlissner Can I map localleader key both with , and SPC m?

@forrestchang Did you ever get an answer on whether localleader can be mapped to both , and SPC m?

@jrmiller82 Not yet.


[BUG] Impossible to select a custom bot on mobile device

Describe the bug
When I want to use the app on a mobile device, I cannot select a custom bot in the bot console. This is not possible to scroll laterally, I can only access to the "Edit" button
To Reproduce
Resize the window or simulate a mobile device > go to bot console.
Screenshots

Additional context

+1


Missing activities

Hello,
trying to analyze the log of my organization but I see several activities not listed here
technical names are not good for reporting nor for understanding that the activity actually is.
Could you please add them to the documentation?

regards!

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

ID: a0e8bce0-95c1-07f7-d3a3-a1c22bd21f29
Version Independent ID: dddd1e30-4a88-1293-1264-3214cc4b6dc8
Content: Track user activities in Power BI - Power BI
Content Source: powerbi-docs/admin/service-admin-auditing.md
Service: powerbi
Sub-service: powerbi-admin
GitHub Login: @kfollis
Microsoft Alias: kesharab

Thanks for your comment, @bernatagulloesbrina. This issue has been assigned to the doc author for review.

Re-assigning to get the correct writer assigned.


hash/crc32: Use "slice-by-8" for Castagnoli and smaller payloads.

We should add https://github.com/klauspost/crc32 which uses  "slicing by 8" optimization to Castagnoli tables which will speed  up CRC32 calculation on systems without assembler (all but AMD64).
In my tests, it is faster to use "slicing by 8" for sizes all down to
16 bytes, so the switchover point has been adjusted.
There are no benchmarks for small sizes, so I have added one for 40 bytes,
as well as one for bigger sizes (32KB).
Castagnoli, No assembler, 40 Byte payload: (before, after)
BenchmarkCastagnoli40B-4   10000000               161 ns/op         246.94   MB/s
BenchmarkCastagnoli40B-4   20000000               100 ns/op         398.01   MB/s

Castagnoli, No assembler, 32KB payload: (before, after)
BenchmarkCastagnoli32KB-4     10000            115426 ns/op         283.89   MB/s
BenchmarkCastagnoli32KB-4     30000             45171 ns/op         725.41   MB/s

IEEE, No assembler, 1KB payload: (before, after)
BenchmarkCrc1KB-4              500000              3604 ns/op           284.10 MB/s
BenchmarkCrc1KB-4             1000000              1463 ns/op           699.79 MB/s

Done in b212c68b if I understand correctly.


lib: libc: common: provide a common clock() implementation

The clock() function was originally part of ISO C89 and it is also a POSIX extension of the C standard.
Both newlib and picolibc have implementations of clock() that reference the POSIX times() function.  However, POSIX is optional in Zephyr while C is non-optional. Due to this, the newlib and picolibc implementations inadvertantly cause a layering violation that would otherwise not exist on full POSIX operating systems like Linux or BSD.
Provide a simple implementation here that is independent of POSIX.
At some future date, we should be able to require all platforms to provide a chosen RTC (whether hardware-based or emulated), which should be capable of providing better resolution. Tthe RTC API is capable of up to nanosecond granularity.
chosen {
    zephyr,rtc = &rtc0;
};

Fixes #51978
Compliance issue is a false positive

We'll see how this does in CI. @evgeniy-paltsev - I can add something here for ARC if you like as well.

used uint64_t for clock_t in the minimal libc
ensure clock() always succeeds in the common libc by rolling over (clock_t)-1

Note: in the future it may be possible for clock() to fail if there is an underlying hardware or software issue.

Coding guidelines check is currently failing due to this patch defining clock. Compliance checks are failing due to adding the clock_t typedef. Both are spurious.

We'll see how this does in CI. @evgeniy-paltsev - I can add something here for ARC if you like as well.

Thanks for the offer, though it would probably be hard for you to do so without access to MWDT toolchain.
I propose to skip MWDT part for now - I'll probably look at it later if I get some time.
I've tested these changes for ARC (GNU & MWDT) at least they are not breaking anyting (in case of MWDT it was tested against minimal libc).
Thanks!

@stephanosio - are there any specific additional changes that should be done here? Is this in line with the direction for Common C library code?
It seems kind of weird to me that we still have the libc time() function depending on the POSIX clock_gettime(). That's a layering violation for sure. I wonder if I should fix that here too.. 🤔

It seems kind of weird to me that we still have the libc time() function depending on the POSIX clock_gettime(). That's a layering violation for sure. I wonder if I should fix that here too.. thinking

It's only a layering violation because Zephyr doesn't offer a standard POSIX system interface. A POSIX OS which provides clock_gettime as a system API would naturally use that when defining the C library time interface.
You can't have a complete C library without some kind of OS support; a portable C library will likely use a portable OS interface. That includes picolibc and newlib which both use a POSIX OS interface underneath their implementations. A custom Zephyr C library could use a Zephyr OS interface, but the Zephyr community seems to require support for externally defined C libraries. So, you either get to replace all of the C library code which ultimately relies on whatever portable OS interface the C library uses or you get to implement that interface within Zephyr. So far, the latter course seems to be more common (hence all of the POSIX APIs present in the various libc-hooks and other places in the code).

rebased


Can't load the project on Ledger Nano S.

When I try to load the project n the Ledger Nano S device (without changes to the code), I get the following error:
nick-test@debian:~/rust-app-test/rust-app$ cargo-ledger load
   Compiling rust-app v0.2.0 (/home/nick-test/rust-app-test/rust-app)
    Finished release [optimized] target(s) in 0.63s
   text	   data	    bss	    dec	    hex	filename
  22480	      0	   1428	  23908	   5d64	/home/nick-test/rust-app-test/rust-app/target/thumbv6m-none-eabi/release/rust-app
thread 'main' panicked at 'fail: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/main.rs:143:14
stack backtrace:
   0: rust_begin_unwind
             at /rustc/2b862bed9889808b69629fd7246317189b9517a5/library/std/src/panicking.rs:517:5
   1: core::panicking::panic_fmt
             at /rustc/2b862bed9889808b69629fd7246317189b9517a5/library/core/src/panicking.rs:100:14
   2: core::result::unwrap_failed
             at /rustc/2b862bed9889808b69629fd7246317189b9517a5/library/core/src/result.rs:1617:5
   3: cargo_ledger::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

How do I resolve this error?

I've seen this issue and installed construct 2.10.61 using pip3 install construct==2.10.61, but I still get the same error.


Hotwire Turbo Support

Hi, is this gem support hotwire turbo(turbo-rails) which requires to replace ujs and turbolinks?

Yes, Rodauth returns non-200 statuses for error responses, so it should support Turbo automatically.


Fix translation of RWTexture subscript operations for Vulkan

Partially fixes #615
There's kind of a mess going on here, and it is difficult to be sure which of the changes here are strictly necessary.
Also, our testing isn't setup to run tests that use RWTexture2D, so the only testing I can really run is manual tests using Falcor.
The most basic issue here is that in an earlier change I added ref accessors for the subscript operation on various RW* types in the standard library, and that included RWTexture2D (and the other RWTexture* types). The compiler ended up favoring a ref accessor over a set accessor even when the set would suffice, but only the set accessor could be lowerd to GLSL/SPIR-V.
This change ends up implementing two different fixes for the same problem:

Logic has been added to try and favor a set accessor over a ref accessor in the cases where either could be used (but still require a ref accessor to be used when it is really needed)

The ref accessor for RWTexture* has been removed, since it turns out that the operations that might have benefited from it (atomics, and component-granularity stores) aren't actually allowed on typed UAVs anyway.

There is a deeper issue here that somebody needs to go through and rationalize our representation and handling of accessors like this, but I'm not going to be able to do that in the time I can put into this PR.

thanks for quick fix.

@KaChen3000 I will update you on issue #615 once this PR has been merged and incorporated into a release.


feat(forge): Invariant Testing v2

Alright, opening for review since it's growing too much. Let's iterate from here.
Summary:

Functions should start with invariant. eg: invariant_neverFalse()
Invariants have the following parameters on the config file

    /// The number of test cases that must execute for each property test
    pub fuzz_runs: u32,
    /// The number of calls executed to attempt to break invariants in one run.
    pub invariant_depth: u32,
    /// Fails the invariant fuzzing if a reversion occurs
    pub invariant_fail_on_revert: bool,
    /// Allows randomly overriding an external call when running invariant tests
    pub invariant_call_override: bool,

An invariant with depth of 15 and 256 fuzz_runs will have a total of 3840 calls (excluding the invariant checks), if everything succeeds.
We currently fuzz the sender_address, target_address and calldata.
3.1 This data is generated by different proptest::TestRunner.
3.2 The data is influenced by a dictionary that is filled with new values throughout the runs.
After each call we:
3.1 Collect stack/memory data to add to the fuzzing dictionary.
3.2 Collect newly created contracts and add them as potential target_address.
3.3 Make calls to the test contract invariant* functions. If any fails, we exit the run.
3.4 If all invariants have been broken, then exit asap.

Filtering
To better bound the test space there are certain filters that can be used:

targetContracts(): address[]: a contract address will be chosen from this list.
targetSenders(): address[]: 80% chance that a contract address will be chosen from this list.
targetSelectors(): (address, bytes4[])[]: adds to targetContracts list, and only the selectors provided will be called.
excludeContracts(): address[]: contract addresses from the setup process which are to be excluded from being targeted.

Unsafe/External call overriding
invariant_call_override allows for an external call to be overridden to simulate unsafe calls. This feature is false by default, since it requires some work, although it's already functional. (eg. testdata/fuzz/invariant/InvariantReentrancy.t.sol).
Examples
testdata/fuzz/invariant/
├── InvariantInnerContract.t.sol
├── InvariantReentrancy.t.sol
├── InvariantTest1.t.sol
└── target
    ├── ExcludeContracts.t.sol
    ├── TargetContracts.t.sol
    ├── TargetSelectors.t.sol
    └── TargetSenders.t.sol

1 directory, 7 files

old summary
However, since the repo diverged quite a bit from the `sputnik` times, I wanted to get some potential feedback, since I'm still getting acquainted with the fuzzing modules, and I'm probably missing some things and/or design choices.
Missing

[ ]  forgetest!()
[ ]  clean-up
[ ] ...

Summary

[x] invariant_depth
[x]  targetContracts(). if not found, then just fuzz every contract created at setUp
[x] targetSenders(). if not found, then just fuzz the sender
[x] excludeContracts()
[x] targetSelectors()
[x] invariant_fail_on_revert
[x]  identify created contracts and fuzz them too

Future/Now?

random msg.value

ref #849

also: update identified contracts after each call (instead of just after setup) < this would be nice to have. In general i think using targetContracts & targetSenders is mostly an antipattern. We should likely do unions for most of these with "random" from state/true random

In general i think using targetContracts & targetSenders is mostly an antipattern

Just chatted with @brockelmore about this and he had a good point that you're more likely to forget to include a contract in the targetContracts list, when often the reason to use it is there's just a handful you want to exclude from being called. So I think we should also add support for a function excludeContracts() external returns (address[]) as well.

Had a convo with @brockelmore and @joshieDo about how to handle reversions. I think there should be some sort of config option to fail on transaction reversions. If people want to constrict fuzz params in target contracts to ranges that they would expect to not revert, a reversion would be something that they'd want to investigate.
I was thinking that we could do something like this:
If fail_on_revert is set to true in the foundry.toml and a reversion occurs, the log output from the last invariant run can be printed so that the issue can be debugged. Thinking the same approach that was taking for fuzz log output on failure can be taken.

open for review

before I have a closer look, could you check if the summary is still up to date and revise it accordingly? it's been some time :)

Yeah, I actually updated it right before opening the PR

I skimmed it a bit, I really appreciate the docs, but please document all functions, especially those that make use of proptest/generate/select something

Will do!

Generate a sequence of calls

Still happens, but maybe in a different way? Initially @brockelmore had the whole sequence of calls generated at the start of the run. But that way, the program wouldn't be able to explore paths from its local context (eg. newly generated contracts). So, I changed it so it generates the sequence along the run after the initial seed call.
https://github.com/joshieDo/foundry/blob/ba8ba96ccd1cec5322d23caff491770e05bae4d7/evm/src/fuzz/invariant/executor.rs#L172-L177

Execute each call without discarding the state. Each call could then potentially update the state of the contract.
Between each call, check to see if the invariant is broken

It does happen like that.  We do call_raw only to have access to the changes (to enrich our dictionary), and then submit them.
https://github.com/joshieDo/foundry/blob/ba8ba96ccd1cec5322d23caff491770e05bae4d7/evm/src/fuzz/invariant/executor.rs#L104-L126
--

But it looks like this implementation also redirects internal calls to other random functions, is that correct? What's the advantage of that?

This is about call overriding, which is off by default.

invariant_call_override allows for an external call to be overridden to simulate unsafe calls. This feature is false by default, since it requires some work, although it's already functional. (eg. testdata/fuzz/invariant/InvariantReentrancy.t.sol).

--

But it looks like this implementation also redirects internal calls to other random functions, is that correct? What's the advantage of that?

This is about call overriding, which is off by default.

invariant_call_override allows for an external call to be overridden to simulate unsafe calls. This feature is false by default, since it requires some work, although it's already functional. (eg. testdata/fuzz/invariant/InvariantReentrancy.t.sol).

This is also the reason why there is a fuzzer (I'm open to name suggestions, since i really don't like it either...) inside the executor. One for the main general sequence (outside), another for when there is an overidden call (inside).

Still happens, but maybe in a different way? Initially @brockelmore had the whole sequence of calls generated at the start of the run. But that way, the program wouldn't be able to explore paths from its local context (eg. newly generated contracts). So, I changed it so it generates the sequence along the run after the initial seed call.

Ok that sort of makes sense to me, however it seems that the seed call is a random call to a test function, is that correct? Imo that should not be the behavior; we don't want calls to invariants to deploy contracts (I don't think this was allowed/valid in DappTools?) so you would be forced to deploy the contracts in setUp, and as such a call to setUp should be sufficient

It does happen like that. We do call_raw only to have access to the changes (to enrich our dictionary), and then submit them.

Ye it was just to complete my outline/reasoning

This is about call overriding, which is off by default.

Ok, makes sense, and also makes sense with your outline for what it could detect, seems like a good feature - but I'm still a little bit confused on the more practical implications. For example, would this not also have a chance to randomly just call token.burn without going through BalanceSum? In that case most invariant tests would probably have a high chance of failing when the feature is enabled - might just have it mapped incorrectly out mentally

Collecting stack/memory values which can't be collected from outside the executor might be valuable and it's been asked a few times before as well.

Makes sense, any way we can unify the invariant fuzzer/normal fuzzer a bit more? Some of the logic is somewhat the same, but you might have already explored doing that. Will take a closer look at the potential myself as well

Imo that should not be the behavior; we don't want calls to invariants to deploy contracts (I don't think this was allowed/valid in DappTools?)

I don't know what dapptools did, but IIUC then I disagree and think we do want to allow new contracts to be deployed during an invariant run. You can imagine a uniswap V3 factory invariant of "no contract deployed should have a fee other than the fee tiers specified by X"

any way we can unify the invariant fuzzer/normal fuzzer a bit more? Some of the logic is somewhat the same, but you might have already explored doing that. Will take a closer look at the potential myself as well

Yea it would be great if we could have the fuzz strategies (random + dict + edge biasing, which prob should be merged to just random + dict with the dict seeded with edge case values) apply to both property tests and invariant tests. I'm not sure if this is currently the case.
A few extra questions:

Just a sanity check that the invariant is checked up front, before any new calls are executed? This is to detect conditions where the invariant is broken from the start, since it's possible it's no longer broken after making a call
What is the format of traces for invariant tests? Does it show just the fuzzer calls, or also the logic/calls within the invariant test? If so the invariant test logic would be duplicated many times, so it'd be nice to visually differentiate the two in the trace, with a color or label.

I don't know what dapptools did, but IIUC then I disagree and think we do want to allow new contracts to be deployed during an invariant run. You can imagine a uniswap V3 factory invariant of "no contract deployed should have a fee other than the fee tiers specified by X"

Makes sense - however, if we are calling a random test function then I am still not sure that's a good idea. I think a call to setUp and the invariant test function should be sufficient? I worded it somewhat incorrectly, my point was that a contract deployed by the invariant test itself should not be called randomly, only the contracts in setUp should be. Not sure if that makes sense.
I think my main worry is that if we call random test functions, there are two implications:

Tests that fail for whatever reason might make invariant tests fail if the "fail on revert" option is enabled
The invariant tests are a lot cheaper if we only call random functions on contracts in setUp

I might be totally off base tho

Hey! I've been using this branch to write some invariant tests, really great stuff! Thanks for the hard work @joshieDo !
I just wanted to call out something I noticed:

The summary for the invariants tests within the same test contract always reports the same number of reverts for each test, which I'm thinking would be very unlikely.

@chad-js
Thanks for taking a look! Yeah I'm aware. It's a visual thing that needs to be improved.
When we're testing a contract with invariant tests, we execute all the invariant tests/checks at the same time.
So the information is technically correct, but has to be shown in a different way:
(...) InvariantSet (calls: 256, reverts: ...
PASS: invariantTest1()
PASS: invariantTest2()

@mds1

Just a sanity check that the invariant is checked up front, before any new calls are executed? This is to detect conditions where the invariant is broken from the start, since it's possible it's no longer broken after making a call

It's not, is this something that should really happen ? Does echidna also do it? Should be easy to add in any case.

What is the format of traces for invariant tests? Does it show just the fuzzer calls, or also the logic/calls within the invariant test? If so the invariant test logic would be duplicated many times, so it'd be nice to visually differentiate the two in the trace, with a color or label.

I'm not sure I understand. It does show the invariant test logic, but traces are only shown if the test fails. So it wouldn't actually show anything repeatedly.

It's not, is this something that should really happen ? Does echidna also do it? Should be easy to add in any case. Edit: added

Awesome, thanks for adding. I'm not sure what echidna does but I know dapptools does this check up front and the rationale (see https://github.com/foundry-rs/foundry/issues/69) was:

you should run the invariant func once before you do any txs
Because sometimes it doesn’t hold off the bat but then that changes after txs or if all the txs revert then the invariant will show as passed when it may have totally failed if ever called

I'm not sure I understand. It does show the invariant test logic, but traces are only shown if the test fails. So it wouldn't actually show anything repeatedly.
@onbjerg

Sorry not sure I follow the answer here 😅 Let me know if I should clarify the question

Tests that fail for whatever reason might make invariant tests fail if the "fail on revert" option is enabled

This should be okay:

it's disabled by default.
it's only there to better help limiting/optimizing the search space. However, @lucas-manuel (iirc)  should be able to explain better the reasoning behind it

When using contract wrappers for targetContracts, you can bound the fuzzed values to ranges that would be expected to always succeed, so in the case that they would fail it would be considered a test failure that would be good to investigate (e.g., https://github.com/maple-labs/revenue-distribution-token/blob/be9592fd72bfa7142a217507f2d5500a7856329e/contracts/test/accounts/Staker.sol#L56)
I think both approaches are valuable so its good that theres a boolean.
Just reviewed updates and ran against our RDT repo on main branch - ran well, just need to sort out some target contracts stuff.

We should make sure deterministic invariant testing is supported using https://github.com/foundry-rs/foundry/pull/1658

Yeah, should be there with the recent merge. I also added it to the invariant runner. But they're sharing... is that fine or would you wish a different var?

Sharing seems fine to keep it simple, I can't really think of a use case where you'd need them to be separate.
One oddity is we use fuzz_ and invariant_ prefixes in the config (which I like), so having it called fuzz_seed is a bit misleading. I'd propose either calling it rng_seed OR splitting into both fuzz_seed  and invariant_seed just to keep the config separation logical

@joshieDo whenever you feel good with this we can ship it

good to go!

@joshieDo just the merge conflicts remaining and good to go

Test failure seems unrelated? Also happening on master

Yeah, unrelated

merge whenever!

lfg