thread failed with: position out of bounds (phase 3)

get this at some point in phase 3, every single time without fail. Have not had a plot succeed yet using this.
spoken to a few other people with the same issue. not everyone gets it every time, but with frequency.

Same issue here

hmm that's a sanity check, basically an entry in one table is pointing to an entry that doesn't exist in the other...
I will try to figure it out later. But I've done >40 plots without an issue.

Try latest master, at least we'll know the position then.

I just added even more info, if it happens again please show logs of phase 3 (like OP), so we can compare to the number of entries written in previous table.

I've had something like that with original plotter with unstable RAM settings (set by the default XMP profile in BIOS). Found the fastest stable frequency/timings (memtest 1 pass no mistakes), and everything became alright.

I just added even more info, if it happens again please show logs of phase 3 (like OP), so we can compare to the number of entries written in previous table.

Synced about an hour ago, running 16 threads (on a 16 core 32 thread system):
Plot Name: plot-k32-2021-06-08-12-09-d80c9c350bf8b16f6443db24b83fe662622add8ce36d6c99091214d073d5ed9f
[P1] Table 1 took 12.3721 sec
[P1] Table 2 took 110.631 sec, found<PHONE_NUMBER> matches
[P1] Table 3 took 118.607 sec, found<PHONE_NUMBER> matches
[P1] Table 4 took 142.453 sec, found<PHONE_NUMBER> matches
[P1] Table 5 took 139.674 sec, found<PHONE_NUMBER> matches
[P1] Table 6 took 137.278 sec, found<PHONE_NUMBER> matches
[P1] Table 7 took 109.983 sec, found<PHONE_NUMBER> matches
Phase 1 took 771.011 sec
[P2] max_table_size =<PHONE_NUMBER>
[P2] Table 7 scan took 17.4629 sec
[P2] Table 7 rewrite took 47.6267 sec, dropped 0 entries (0 %)
[P2] Table 6 scan took 35.5224 sec
[P2] Table 6 rewrite took 72.3529 sec, dropped 581360985 entries (13.538 %)
[P2] Table 5 scan took 33.1653 sec
[P2] Table 5 rewrite took 70.7195 sec, dropped 762093332 entries (17.7451 %)
[P2] Table 4 scan took 31.3774 sec
[P2] Table 4 rewrite took 68.5294 sec, dropped 828879275 entries (19.2997 %)
[P2] Table 3 scan took 31.671 sec
[P2] Table 3 rewrite took 68.6792 sec, dropped 855113261 entries (19.9098 %)
[P2] Table 2 scan took 31.6745 sec
[P2] Table 2 rewrite took 68.405 sec, dropped 865598811 entries (20.1539 %)
Phase 2 took 595.253 sec
Wrote plot header with 268 bytes
[P3-1] Table 2 took 77.8985 sec, wrote<PHONE_NUMBER> right entries
[P3-2] Table 2 took 86.3875 sec, wrote<PHONE_NUMBER> left entries,<PHONE_NUMBER> final
[P3-1] Table 3 took 59.8152 sec, wrote<PHONE_NUMBER> right entries
[P3-2] Table 3 took 89.0155 sec, wrote<PHONE_NUMBER> left entries,<PHONE_NUMBER> final
[P3-1] Table 4 took 60.3178 sec, wrote<PHONE_NUMBER> right entries
[P3-2] Table 4 took 88.3687 sec, wrote<PHONE_NUMBER> left entries,<PHONE_NUMBER> final
[P3-1] Table 5 took 58.7819 sec, wrote<PHONE_NUMBER> right entries
[P3-2] Table 5 took 94.2765 sec, wrote<PHONE_NUMBER> left entries,<PHONE_NUMBER> final
terminate called after throwing an instance of 'std::runtime_error'
what():  thread failed with: position out of bounds<PHONE_NUMBER> + max(447658,447931))
Aborted (core dumped)

Interesting, we can see that<PHONE_NUMBER> left entries were written in the previous stage 2, and now it's trying to access index<PHONE_NUMBER> + 447931 =<PHONE_NUMBER>, which is 38 entries beyond the end of table 5.
Looking further back to phase 2 we can see that 762093332 entries were dropped from the initial<PHONE_NUMBER> matches of table 5 in phase 1. Subtracting those we can say there should be<PHONE_NUMBER> entries in table 5 after phase 2, however in phase 3 stage 1 only<PHONE_NUMBER> entries were written to table 5, which is exactly 4096 less than expected. 4096 is the size of the write cache.
Either the missing 4096 entries were lost when writing table 5 in phase 2, or they were lost when writing table 5 in phase 3 stage 1...

Dang, I found the issue, that's a serious mishap. Fix pending...

Dang, I found the issue, that's a serious mishap. Fix pending...

I blame math. Math always wins :(.
Interestingly, I started this back up on 4 threads instead of 16 to see if the amount of threads may for some reason be confusing something, and all throughout the first phase:
[P1] Table 1 took 29.6496 sec
[P1] Table 2 took 202.767 sec, found<PHONE_NUMBER> matches
[P1] Lost 27524 matches due to 32-bit overflow.
[P1] Table 3 took 214.641 sec, found<PHONE_NUMBER> matches
[P1] Lost 136634 matches due to 32-bit overflow.
[P1] Table 4 took 269.252 sec, found<PHONE_NUMBER> matches
[P1] Lost 214699 matches due to 32-bit overflow.
[P1] Table 5 took 265.492 sec, found<PHONE_NUMBER> matches
[P1] Lost 325441 matches due to 32-bit overflow.
[P1] Table 6 took 252.03 sec, found<PHONE_NUMBER> matches
[P1] Lost 336948 matches due to 32-bit overflow.
[P1] Table 7 took 200.589 sec, found<PHONE_NUMBER> matches
Phase 1 took 1434.44 sec
Although this was mentioned as "fine" in a previous thread, it's just interesting to see it here and not in the previous 16 thread run. I'm sure there's gotta be a reason for it.
Anyway, thanks a bunch!

The issue is fixed in latest master. The same bug could cause matches to get lost in phase 1 also. But in phase 3 any lost entries between stage 1 and 2 would lead to the error discussed here.
I suppose this issue only happened on certain OS or hardware, depending on the implementation of fwrite(), ie. if it's thread-safe internally or not. And of course with increasing thread count.
The bug was a missing synchronization when writing sort buckets, if two threads were writing at the same time the file offset could have been advanced in parallel, writing twice to the same location and thus losing data.

To anyone who had this issue at some point, check all your plots with ProofOfSpace check -f *.plot.

@madMAx43v3r tried running it on my machine beacause I was curious. But it failed and I am too dumb to fix it myself so if you have any ideas let me know xD
./tests/cpp/test.cpp:88: FAILED:
  {Unknown expression after the reported line}
due to a fatal error condition:
  SIGSEGV - Segmentation violation signal

===============================================================================
test cases: 2 | 1 passed | 1 failed
assertions: 6 | 5 passed | 1 failed

Segmentation fault (core dumped)

git clone https://github.com/Chia-Network/chiapos.git
cd chiapos
mkdir build
cd build
cmake ..
make -j8
./ProofOfSpace check -f /path/to/plot-k32-*.plot

sweet, thanks, gets all the way through a plot now!

The issue is fixed in latest master. The same bug could cause matches to get lost in phase 1 also. But in phase 3 any lost entries in phase 2 would lead to the error discussed here.
I suppose this issue only happened on certain OS or hardware, depending on the implementation of fwrite(), ie. if it's thread-safe internally or not. And of course with increasing thread count.
The bug was a missing synchronization when writing sort buckets, if two threads were writing at the same time the file offset could have been advanced in parallel, writing twice to the same location and thus losing data.
EDIT: The same applies to incrementing the num_entries counter, that was also not synchronized before. I missed that during a refactor at some point.

Hey just a couple updates. I have had zero issues generating plots with your newly pushed master branch.
NEW 16 NVME (3x3.84TB RAID0):
Phase 1 took 756.703 sec
Phase 2 took 590.655 sec
Phase 3 took 1068.7 sec, wrote<PHONE_NUMBER>3 entries to final plot
Phase 4 took 84.4367 sec, final plot size is<PHONE_NUMBER>07 bytes
Total plot creation time was 2500.56 sec
NEW 16 RAMD:
Phase 1 took 745.945 sec
Phase 2 took 606.673 sec
Phase 3 took 1063.5 sec, wrote<PHONE_NUMBER>1 entries to final plot
Phase 4 took 84.5115 sec, final plot size is<PHONE_NUMBER>51 bytes
Total plot creation time was 2500.69 sec
My poor RAM LOL!
Anyway, thanks for pushing that fix!

I'm glad it works now. Thanks for helping to fix it.
Those times are seriously close, are you sure you used the RAM disk?

I'm glad it works now. Thanks for helping to fix it.
Those times are seriously close, are you sure you used the RAM disk?

Thank you!
 This is an enterprise server so the RAM is sadly slower than 3 x NVMEs in RAID 0. Sadly. Sadface.

I'm still getting this today. I am running the latest code in Master. I'm using -r 12.
System
Ubuntu 20.04.1
Kernel 5.11.0-27-generic
Ryzen 5 5600x processor
16 GB RAM
1 TB FireCuda M.2 Drive (Used for Temp space)
Any ideas?

I compiled new version, same issue, reverting back to old one i have in backup


RAdam optimizer implemented

This PR attempts a RAdam implementation.
Doubts:

Is it ok to add it as a special case of the Adam Rule?

After discussion, it was decided that RAdam is not standard, so this does not belong in the base implementation of Chainer.


Correct typo

This small PR simply corrects a typo where the word "this" seems to accidentally have been appended to a sentence.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Fixed arrow controls on Carousel

Related issue
#1289
Closes #
#1289
Scope of work
Removed unnecessary classes from SfCarousel component.
Checklist

[x] No commented blocks of code left
[x] Run tests and docs
[x] Self code-reviewed

If applicable:

[x] I followed composition rules for my component
[x] I tested the component in most common device sizes (can be tested in Storybook from viewport addon in top menu)
[x] I accept Individual Contributor License Agreement

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

Thank you and congrats on your first contribution!


Issue 316 add elasticache support

Add in elasticache support

Use the hash to link the issues - not sure if if works in the title :)
Issue #316


uefi: Rename FileSystemIOErrorContext to IoErrorContext

It's already in the fs module, so the FileSystem part is redundent. Also, IO -> Io to match IoError.

Checklist

[ ] Sensible git history (for example, squash "typo" or "fix" commits). See the Rewriting History guide for help.
[ ] Update the changelog (if necessary)

Yikes, sorry! I missed that. My bad


Support rebuilding more than 1024 packages

For example, when I was rebuilding https://github.com/NixOS/nixpkgs/pull/101655, at the end of the build I got a few pages of errors like this:
bash: /nix/store/ny7vshs45d5k193ql3b51dak0hjwwqc2-findutils-4.7.0/bin/find: Argument list too long
bash: /nix/store/7fdm1ij6f7xwjmhpici1bh3xh08n0sp7-coreutils-8.31/bin/basename: Argument list too long
bash: /nix/store/4crjhnvd8yhk063r7pwxpw6kd8aq0rbv-gnugrep-3.5/bin/grep: Argument list too long
bash: /nix/store/7fdm1ij6f7xwjmhpici1bh3xh08n0sp7-coreutils-8.31/bin/basename: Argument list too long
bash: /nix/store/4crjhnvd8yhk063r7pwxpw6kd8aq0rbv-gnugrep-3.5/bin/grep: Argument list too long
bash: /nix/store/7fdm1ij6f7xwjmhpici1bh3xh08n0sp7-coreutils-8.31/bin/basename: Argument list too long
bash: /nix/store/7fdm1ij6f7xwjmhpici1bh3xh08n0sp7-coreutils-8.31/bin/basename: Argument list too long
bash: /nix/store/7fdm1ij6f7xwjmhpici1bh3xh08n0sp7-coreutils-8.31/bin/basename: Argument list too long
bash: /nix/store/7fdm1ij6f7xwjmhpici1bh3xh08n0sp7-coreutils-8.31/bin/basename: Argument list too long
bash: /nix/store/7fdm1ij6f7xwjmhpici1bh3xh08n0sp7-coreutils-8.31/bin/basename: Argument list too long
bash: /nix/store/7fdm1ij6f7xwjmhpici1bh3xh08n0sp7-coreutils-8.31/bin/basename: Argument list too long

I suspect that the derivations are passed as arguments, which exceeds the Linux max argument size of 1024.

[nix-shell:~/.../nixpkgs-review/pr-101655-4]$ nixpkgs-review --version
bash: /nix/store/dwkkfkkxlbpcvxy37b2mvg300qhhp48i-nixpkgs-review-2.4.2/bin/nixpkgs-review: Argument list too long

Increase your stack size :). Just kidding this is not the nix issue tracker. I suppose this restriction build inputs in nix-shell? Because nixpkgs-review generates a file for the package list.

It might be actually environment variables instead of argv. Both are stored on the stack.

Encountered this bug while building https://github.com/NixOS/nixpkgs/pull/105427 which only tries to build 24 packages.

These are operating systems limitations. I cannot solve this in nixpkgs-review really.

These are operating systems limitations. I cannot solve this in nixpkgs-review really.

Can you have it accept a file containing the names, rather than listing them all in argv?

I think that it's possible to split the work chunks of 1k elements, but it will require quite a bit of refactoring.

I think that it's possible to split the work chunks of 1k elements, but it will require quite a bit of refactoring.

I think the exact number is a bit fussy though. It depends on how many environment numbers can be loaded together into one nix shell.

This is solved in https://github.com/Mic92/nixpkgs-review/pull/162


Can i get the location of tweet?

Update to the latest version of GetOldTweets3 before committing the issue!
Describe the bug
A clear and concise description of what the bug is.
debug.log
Run GetOldTweets with the --debug option:
GetOldTweets ... --debug > debug.log

Upload debug.log to somewhere like http://gist.github.com or  https://pastebin.com and provide with the link to your debug.log.
For general issues with running GetOldTweets3
If you have a general question please provide with OS, Python version and the method you have used to install GetOldTweets3

Duplicate #32


RK-17812 - fix: existing resource group usage

Fixed the support of existing resource group usage

/jira open task

@gosharo did you test it in an azure environment?

@gosharo did you test it in an azure environment?

yes


handle missing 'terminated' key for tasksteps in get_error_message

CLOUDBLD-9865

Signed-off-by: Robert Cerven<EMAIL_ADDRESS>Maintainers will complete the following section

[x] Commit messages are descriptive enough
[x] Code coverage from testing does not decrease and new code is covered
n/a JSON/YAML configuration changes are updated in the relevant schema
n/a Changes to metadata also update the documentation for the metadata
n/a Pull request has a link to an osbs-docs PR for user documentation updates

no rn update, fix for unreleased change


Added DSL 2 features

Added workflow definition and also some new snippets.

This is is awesome! tx!

Merging it. If you want to give a try to the Atom version used by GitHub syntax highlighting is super welcome.
https://github.com/nextflow-io/atom-language-nextflow

👇
https://twitter.com/nextflowio/status/1306548807279292417


feat(theme-default): add toggleDarkMode locale option

This should fix #270

Just find out I format the rest of the docs when saving, but I think that's fine, if you refuse it I will revert and recommit the docs changes.

My fault, I tested before opening it, but I am lazy testing it after a refactor 🌚


Beta: Fix config profiles using "dev" in cargo test.

Backport of #8012 (so the new feature doesn't launch with this bug).

r? @Eh2406
(rust_highfive has picked a reviewer for you, use r? to override)

:warning: Warning :warning:

Pull requests are usually filed against the master branch for this repo, but this one is against rust-1.43.0. Please double check that you specified the right target!

@bors: r+

:pushpin: Commit a8fe057ad4fd4e4f344eaea0e9e7342f258b591d has been approved by alexcrichton

:hourglass: Testing commit a8fe057ad4fd4e4f344eaea0e9e7342f258b591d with merge 3532cf738db005a56d1fe81ade514f380d411360...

:sunny: Test successful - checks-azure
Approved by: alexcrichton
Pushing 3532cf738db005a56d1fe81ade514f380d411360 to rust-1.43.0...


Add maintenance mode

Description

Details
URL to issue
https://biomage.atlassian.net/browse/BIOMAGE-1928

Link to staging deployment URL (or set N/A)\
https://ui-martinfosco-ui729-api366.scp-staging.biomage.net/
Links to any PRs or resources related to this PR
https://github.com/hms-dbmi-cellenics/ui/pull/729

Integration test branch
master

Merge checklist
Your changes will be ready for merging after all of the steps below have been completed.

Code updates
Have best practices and ongoing refactors being observed in this PR

[ ] Migrated any selector / reducer used to the new format.

Manual/unit testing

[ ] Tested changes using InfraMock locally or no tests required for change, e.g. Kubernetes chart updates.
[ ] Validated that current unit tests for code work as expected and are sufficient for code coverage or no unit tests required for change, e.g. documentation update.
[ ] Unit tests written or no unit tests required for change, e.g. documentation update.

Integration testing
You must check the box below to run integration tests on the latest commit on your PR branch.
Integration tests have to pass before the PR can be merged. Without checking the box, your PR
will not pass the required status checks for merging.

[ ] Started end-to-end tests on the latest commit.

Documentation updates

[ ] Relevant Github READMEs updated or no GitHub README updates required.
[ ] Relevant Wiki pages created/updated or no Wiki updates required.

Optional

[ ] Staging environment is unstaged before merging.
[ ] Photo of a cute animal attached to this PR.

the intention is to remove the code and tests afterwards right?

yes


Workaround for missing type field in the schemas and support other media types

🚀 Snapshot Release (alpha)
The latest changes of this PR are available as alpha on npm (based on the declared changesets):

Package
Version
Info

fets
0.2.3-alpha-20230608151810-a0ad9d5
npm ↗ unpkg ↗

💻 Website Preview
The latest changes are available as preview in: https://62a39474.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://8b9c87ce.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://841ab26f.fets.pages.dev


Wheel and Track issue

Forge 1.20.1 1.0.1-beta, Diesiel+VS2&Clockwork mods
Wheels and Tracks can't deassemble properly. The block's physics remain but doesn't want to function.
Love this mod thank you the tracks look immaculate. It'd be awesome if this mod can spice up the survival gameplay with some smaller wheel variants? & perhaps a redstone link into the recipe of the wheel as a servo, takes building space when making smaller vehicles

Wheels and Tracks can't deassemble properly.
Disassembly is a nightmare. I recommend against doing it at all.

The block's physics remain but doesn't want to function.
I'm sorry but this doesn't make sense to me, how can it have physics when disassembled?

It'd be awesome if this mod can spice up the survival gameplay with some smaller wheel variants?
Planned, but far future.

& perhaps a redstone link into the recipe of the wheel as a servo
I'm still considering how to tackle this problem. What you suggested is an ok idea (and I have thought of it) but doesn't solve a bunch of other issues that become very apparent with trackwork.

Closing inactive thread


nixos-anywhere does not export ZFS pools before rebooting

Describe the bug
ZFS pools are (apparently) not exported prior to reboot, and may fail to import on first boot.
To Reproduce
Steps to reproduce the behavior:

Use a disko config with a ZFS pool imported during early boot, like <disko/example/zfs.nix>
Set boot.zfs.forceImportRoot = false; in the NixOS config.  This is “highly recommended” by NixOS' own docs
Run nixos-anywhere target

Observed behaviour
System installs successfully, reboots, then initramfs fails to import the zpool.
Expected behavior
Successful import and boot.
System information
Current nixos-anywhere HEAD (e516d378d6a)
Target was a Lenovo x230, booted on the current NixOS minimal install image (nixos-minimal-23.05.1950.fcc147b1e93-x86_64-linux.iso)
Additional context
Things work properly when running nixos-anywhere --no-reboot and manually running zpool export -a prior to rebooting.

I guess we can try to run zfs export -a everytime before the final reboot?

https://github.com/numtide/nixos-anywhere/pull/157

The disko pr was applied. Can we close this?

I currently still have this issue, despite that PR being merged into disko. Even with forceImportRoot set to true, I cannot import the ZFS root pool on boot.

Also you only ever need forceImportRoot set to false for network-based block devices like iscsi. Otherwise your local nvme never gets accidentally used twice. iscsi was also the primary use case of this check.

I currently still have this issue, despite that PR being merged into disko. Even with forceImportRoot set to true, I cannot import the ZFS root pool on boot.

That's a different issue than. Check that your hardware-configuration.nix has all required kernel modules to set up your block device driver, i.e. the nvme driver for nvme.

@nbraud Curious if https://github.com/nix-community/nixos-anywhere/pull/239 changes anything here?


[WFLY-18055] Investigate how to consume upstream Mojarra directly

https://issues.redhat.com/browse/WFLY-18055
Remove com.sun.faces dependency
Add org.glassfish:jakarta-faces dependency
Modify modules to reflect dependency changes

/retest


Time Needed to Inform All Employees - Depth First Search

[. ] Added problem & solution under correct topic.
[ .] Specified Space & Time complexity.
[ .] Specified difficulty level, tag & Note(if any).

n employees with a unique ID. Each employee has one direct manager given in the manager array where manager[i] is the direct manager of the ith. He will inform his direct subordinates, and they will inform their subordinates, and so on until all employees know about the urgent news. Return the number of minutes needed to inform all the employees.
My solution : Made an adjacency list which contains all employee under the manager. Found the max time required by each manager by running a DFS. Final ans would be maxTime+informTime of head.

[ .] Test A
Input: n = 6, headID = 2, manager = [2,2,-1,2,2,2], informTime = [0,0,1,0,0,0]
Output: 1
[ .] Test B
Input: n = 15, headID = 0, manager = [-1,0,0,1,1,2,2,3,3,4,4,5,5,6,6], informTime = [1,1,1,1,1,1,1,0,0,0,0,0,0,0,0]

Make sure all below guidelines are followed else PR will get Reject:

[ .] My code follows the style guidelines of this project
[ .] I have performed a self-review of my own code
[ .] I have commented my code so that it is easy to understand
[ .] I have made corresponding changes to the documentation
[ .] My changes generate no new warnings
[ .] Any dependent changes have been merged and published in downstream modules

Thanks for the contribution @POORVI111


Add additional G-Suite Admin Audit types.

to:
cc: @airbnb/streamalert-maintainers
related to:
resolves:
Background
When configuring the GSuite collector I noticed a number of additional audit endpoints had been added and upon investigation I noticed some further additions by Google not present in SA, The following PR adds these.
Changes
Addition of the following Audit endpoints.

GCP
Meet
SAML

Testing
Deployed confirmed ingestion, no rules written around these yet.

Should add some documentation for this but to setup the Gsuite collector.
Create a GSuite Service account with G-Suite delegation rights
In the above guide replace the scopes with
https://www.googleapis.com/auth/admin.reports.audit.readonly


Ignore `font' groups when determining base elements, fixes #390

@mathijshenquet what problem is this solving?

@mathijshenquet thanks for fixing https://github.com/Khan/KaTeX/issues/390.  Could you add a screenshot test?  You'll need to add a test case to https://github.com/Khan/KaTeX/blob/master/test/screenshotter/ss_data.yaml and then run make screenshots.

@mathijshenquet sorry for not seeing the update.  Thanks for adding screenshots, they look great!  Before I can merge this though can you sign our contrinbutor license agreement?
www.khanacademy.org/r/cla

@mathijshenquet friendly ping about signing our CLA.

@kevinbarabash I signed the agreement. Sorry for not responding earlier (I was away on holiday).


Detail install to local directory vs. global in README

Signed-off-by: Matt Bacchi<EMAIL_ADDRESS>Description
How Has This Been Tested?

Add more detail to documentation to describe how to install to a local directory vs. global /usr/local/bin location. This mirrors the documentation in the inlets README.
How are existing users impacted? What migration steps/scripts do we need?
Checklist:
I have:

[ ] updated the documentation and/or roadmap (if required)
[x] read the CONTRIBUTION guide
[x] signed-off my commits with git commit -s
[ ] added unit tests

We have a few open issues, do you feel like taking any of them up? Some Golang skills required

We have a few open issues, do you feel like taking any of them up? Some Golang skills required

I do see that there are a few. At the moment I'm just getting familiar with the tool, haven't played with it before now. Then I'll consider looking at some of them, I immediately noticed there was an EC2 provider, but not an AWS LightSail provider. Maybe I'll look into adding that. I haven't done anything beyond basic tutorials in Golang but I should be able to pick it up fairly quickly.

How about https://github.com/inlets/inletsctl/issues/47 ?

How about #47 ?

I had a fix ready to go just now, and then noticed @kadern0 beat me to it.
As an aside, regarding the doc change in this PR, I left what I thought was overly verbose usage of the raw githubusercontent URL in place. I would have removed that but wanted to respect what was there. I think it should be removed and just point to the inletsctl.inlets.dev url. If you want to do this I also think we should still include the local/global options for folks who don't want to install it to their system directories.


Different backends for inspectr

The current backend for inspectr is the qcodes database format. We would like to use other sources of datasets as well. Can the plottr\apps\apps\inspectr.py be updates so that the inspectr code is separated from the qcodes database backend and it is better documented what would have to be implemented to create a new backend?

Hi Peter, sorry for the delay, i just got back from vacation -- this is an excellent suggestion! i was thinking of implementing something like this actually for spyview files in folders. Let me think a few days about how to move forward with this. inspectr is at the moment a somewhat poorly documented convenience tool, but I should clean this up a little. I'll get back to you!

@peendebak
Hi Pieter -- i was pretty busy during the summer with other stuff, but i'd like to pick this up again soon.
For the purpose of just the plotting i've implemented a


Test importing data

Test importing data.  Use this tutorial as the basis of the test.

Closed by #14


Expose sendTransaction endpoint

Faucet should expose a basic API so it can be called from a frontend service (website) to make Transactions.
The endpoint POST /send?recv=KEY&amount=1234 sends amount BOA to KEY, using owned UTXOs.
The API picks one owned UTXO from the storage. If amount  <= UTXO amount then the amount is drawn.
If amount > UTXO amount then a new UTXO is attached and drawn. This repeats until there is a remainder.
Part of #15

UTXO[Hash] owned_utxos and getOwnedUTXOs are now part of the State.
Ready for review.


How to use 24-bit color depth mode

Hello. I have recently got 2.1 inch full circle display form Lilygo:
https://www.lilygo.cc/products/t-rgb
One of the main reasons why I have decided to try this display because I thought it supports 24 bit color depth (RGB888) mode.
I have been trying to test 24 bit color depth using LVGL v9 (latest master branch but not officially released yet):
https://github.com/lvgl/lvgl
I have been discussing about this with LVGL creator int the git issue below:
https://github.com/lvgl/lvgl/issues/4422
I have used esp-idf example code provided by Lilygo:
https://github.com/Xinyuan-LilyGO/T-RGB/tree/main/examples/esp-idf-example/T-RGB
I just stripped it down by removing unnecessary functions and changed the LVGL api slightly to make sure it compiles without any issues with LVGL v9. You can find my project source code here:
https://github.com/krupis/Round_RGB
It should build and run without any issues with esp-idf v5.0.3
In order to get the 24 bit color mode working. I have only made a couple of code modifications:
Modification1
Change color depth to 24 (RGB888) in menuconfig:

Modification2
Replace one line in st_init_cmds that sets the COLMOD register according to ST7701 documentation:
https://focuslcds.com/content/ST7701.pdf

{0x3a, {0x66}, 0x01},

replaced with:
{0x3a, {0x70}, 0x01},

Despite my efforts, I cannot get the 24 bit color depth mode to work properly as the display is displaying weird things when trying to display LVGL pie chart:

Perhaps I am missing something else? I dont have much experience with displays.
I would really appreciate help getting 24 bit color depth working on this display to use it to its full potential.
Thanks in advance!
Additionally, I would like to understand why the following command COLMOD command is sent by default:
{0x3a, {0x66}, 0x01}

According to ST7701 documentation, it should set the display to 18 bit color mode. Why would that be the case and why it works with LVGL set to 16 bit color depth?

ESP32S3 only supports RGB565 mode
See ,  https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s3/api-reference/peripherals/lcd.html

As for why 0X3A is set to 666, it is because the screen itself only supports RGB666 mode.

@lewisxhe
Thanks for response.
I will contact esp-idf support directly regarding 24 bit color depth support.
As per the screen itself, the st7701 documentation suggests that it supports RGB888. I was under impression that the T-Display-RGB displatys are ST7701 based.
Can you clarify this to me please?

Yes, T-RGB is based on st7701, but this is only a driver chip. Screen manufacturers only support RGB666 mode, and sending other instructions is invalid. This is an internal limitation of the screen and cannot be changed through software.

RGB888 requires hardware connections of 24 GPIOs, while TRGB only connects 16 data cables. All other changes are invalid.

@lewisxhe
Oh fair enough... Didint realize that..
How can I know which particular screen is used? Is there a possibility to mount another screen, one that would support rgb888?
In short, what would be the easiest way to have a display that would support rgb888?
Perhaps you have any plans on releasing such product sometime soon? It would be really cool. Sometimes when I need to display complex gradients, rgb565 or rgb666 wont do it

Currently, there is no screen that supports RGB888, as ESP only supports 565


Fix appex's Runpath Search Paths under macOS target

Unlike other operating systems, macOS app is not a flat bundle, so appex is in a deeper hierarchy than other OSes.

macOS: Host.app/Contents/PlugIns/Widget.appex/Contents/MacOS/Widget (search path: ../../../../Frameworks)
Other OSes (e.g. iOS): Host.app/PlugIns/Widget.appex/Widget (search path: ../../Frameworks)

so, we must be specify LD_RUNPATH_SEARCH_PATHS for macOS target, or dyld can't find Framework (and fail to launch).

Thanks @rinsuki. Could you add a changelog entry as well

@yonaskolb Added!


Varun-Bhabhra.json

Add new volunteer Varun Bhabhra.

Add new volunteer Varun.

Thanks for volunteering Varun


Update GCSE question and guidance

This aims to give candidates some guidance (or warnings) in the scenario that they:

are currently (re)taking a GCSE, but are applying to a course which does not accept pending GCSE
do not have a GCSE C or above and are not currently studying for one, and are applying for a course which does not accept equivalency tests

We also reviewed the content of the existing GCSE pages.
The initial GCSE question has been simplified, to remove reference to the C/4 grade, as this is caught later:

If candidates select that they do not yet have this qualification, they get asked if they are currently studying for one:

If they say yes, they can give details, as before:

If they say no, they are show some guidance, and offered the chance to explain how they otherwise meet the standard:

Depending on these answers, some guidance is shown in the Course Choice review pages:

or

One possible addition to this would be that IF you give your GCSE as a D/5 or below, then perhaps instead of just the free text box, we should first ask you the question of whether you're currently studying for a qualification (ie a resit / redo GCSE?).  That would then let us give the appropriate guidance in the course choice.

One possible addition to this would be that IF you give your GCSE as a D/5 or below, then perhaps instead of just the free text box, we should first ask you the question of whether you're currently studying for a qualification (ie a resit / redo GCSE?). That would then let us give the appropriate guidance in the course choice.

I've done this now, with the question currently being "Are you currently studying to re-take your GCSE in [subject]?"


sqlfluff: 2.0.2 -> 2.0.3

Diff: https://github.com/sqlfluff/sqlfluff/compare/refs/tags/2.0.2...2.0.3
Changelog: https://github.com/sqlfluff/sqlfluff/blob/2.0.3/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

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

2 packages built:

sqlfluff
sqlfluff.dist


Tooltip params are not passed properly when the value of one of the series is null, undefined or NaN

Version
5.2.1
Reproduction link
https://codepen.io/htr3n/pen/BaZVPGe
Steps to reproduce

Create a simple ECharts line graph with two value-based data series
Configure ECharts option so that the tooltip is triggered and define a custom tooltip formatter function called tooltipFormatter
Assign the first series data with data: [null], data: [undefined] or data: [NaN]
Assign the second series data with any valid number, e.g. data: [0]
Pass the options to ECharts engine.

function tooltipFormatter(params) {
  console.log(params[1]?.seriesName);
  console.log(params[0]?.seriesName);
}

const option = {
  tooltip: {
    trigger: "axis",
    formatter: tooltipFormatter
  },
  xAxis: {
    data: [1]
  },
  yAxis: {
    show: true
  },
  series: [
    {
      type: "line",
      name: "first",
      data: [null]
      // data: [NaN]
      // data: [undefined]
    },
    {
      type: "line",
      name: "second",
      data: [0],
    }
  ]
};

What is expected?
The tooltip formatter function tooltipFormatter should receive two series and their corresponding values: the first one with null (or undefined, NaN, respectively) and the second with 0.
What is actually happening?
The tooltip formatter function tooltipFormatter receives only one series which is the second, the first series is not passed in (perhaps due to its value is null, undefined, or NaN).

If the first series data is assigned with a valid number such as data: [1], the tooltip formatter receives correctly two series with their corresponding values.
The use case is that, I would want the two series and their values passed into the custom tooltip formatter function regardless so that I can render them according to my application requirements. As the first data series is not passed in if its value is null, undefined, or NaN), the tooltip formatter cannot handle it normally in generic case but has to use some dirty workarounds.

+1 for this issue. We also want to show tooltips when the value is null/undefined.

This also applies to zero values, right? I don't get those in my tooltip.


Chrome 58+: NET::ERR_CERT_COMMON_NAME_INVALID when using generated cert

Browser: Google Chrome 74.0.3729.157 (Official Build) (64-bit) (cohort: Stable)
OS: Windows 10 OS Build 17134.765
Looks like an issue which begun with Chrome 58. Is there a recommended workaround that still make use of mkcert's wonderful simple UX? :)
Repro Steps
Make and install cert:

Open Command Prompt as Administrator
choco install mkcert
mkcert -install
Select "Yes" when prompted about installing

Run web server and visit webpage:

cross-env NODE_ENV=development webpack-dev-server -d --hot --config webpack.config.js --watch --https --cert=C:\Users\myuser\AppData\Local\mkcert\rootCA.pem --key=C:\Users\myuser\AppData\Local\mkcert\rootCA-key.pem
Open https://localhost:8080

Expected: page loads OK with green lock
Actual: NET::ERR_CERT_COMMON_NAME_INVALID error (see below)

You are using the root CA (rootCA.pem) as a server certificate, which is not going to work.
You need to generate a new certificate for the hostname you are going to use, like mkcert localhost.

You are using the root CA (rootCA.pem) as a server certificate, which is not going to work.
You need to generate a new certificate for the hostname you are going to use, like mkcert localhost.

I'm seeing this when I use a wildcard certificate, with expanded message:
This server could not prove that it is test.localhost; its security certificate is from *.localhost. This may be caused by a misconfiguration or an attacker intercepting your connection.

And the internet seems to think this is because Chrome wants the site name in the  Subject Alternative Name.
https://serverfault.com/questions/559537/wildcard-certificate-causes-warning-on-google-chrome-only
I don't see in documentation for mkcert how to set the Subject Alternative Name to test if this fixes it, but wanted to mention all of this as this is the only issue for the repo that mentions the ERR_CERT_COMMON_NAME_INVALID error.

I am also having this problem with a wildcard certificate.

*.localhost is a 2nd level wildcard, which is not accepted, since it's technically the same as creating a cert for *.com.
however, there's a workaround for localhost wildcards, see https://github.com/FiloSottile/mkcert/issues/383#issuecomment-1937455068


Allow setting a default calendar when adding an event

Please allow to choose default calendar for adding new events.
Right now the default is one of the calendars, in my case one that is not even chosen to be presented.
Thanks
System Information:

Version: 2.1
Language: en-US
Timezone Offset: -04:00
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36

What steps will reproduce the problem?
Add event
What is the expected result?
Event added to a pre-chosen default calendar
What happens instead?
Default calendar is just one of the calendars, not clear how its chosen
Screenshot URL:
Logs:

Presumably the calendars in the dropdown menu are displayed in alphabetical order, and it always defaults to the first one in the list. If someone else's username comes before yours, it's a minor inconvenience to change it each time you want to add an event.
I've hidden all but one calendar where I have edit permissions. Being able to specify a default would be grand. However, a much simpler approach (that doesn't involve any new configuration options) would just be not to display hidden calendars in the #quick-add-calendar-list dropdown.


feat: Add directive to control set of GRPC flavors generated by gazelle plugin

This PR addresses #509 by introducing a new directive to control the set of GRPC flavors for which the gazelle plugin should generate targets. Currently it generates all three (client, client_stubs and server) but this is probably unnecessary for most people. In my case, I'm using Go on the server and Swift on the client and I don't use the client stubs so I really only need the client targets.
To test, I tried deleting the grpc_example generated BUILD file and regenerating it with just client,server and verified it only included those targets. I then added back client_stubs and verified it added that too. (That's why the order of the targets is now swapped in the BUILD file.)

@cgrindel okay I cleaned up the print statements and also added a second directive to control the proto library generation.
Now if you add:
# gazelle:swift_generate_proto_libraries false
# gazelle:swift_generate_grpc_libraries_with_flavors -

To your BUILD file, no swift proto libraries or grpc libraries will be generated.
I verified this by deleting the generated BUILD files in the grpc_example and regenerating them with those directives.
They only contained the proto_library from the main gazelle proto plugin.
I then added back:
# gazelle:swift_generate_proto_libraries true
# gazelle:swift_generate_grpc_libraries_with_flavors client,client_stubs,server

And verified it regenerated the targets as expected.
This is also the default behavior to preserve the existing functionality for any users who might have started relying on this already.

@AttilaTheFun It looks like the GRPC examples are failing and we may need to run //:tidy on the repo.


After wrapping a new asset, in AddLiquidity says "Insufficient Balance", need to refresh

Create a new asset or buy an asset outside of the list in StellarTerm
Add liquidity, wrap. Not it will say Insufficient Balance

Balance check checks balance in Soroban and not in Horizon?

Tested in testnet, It asked me to wrap twice while adding liquidity

El balance aparece bien pero igual me tira insuffient asset balance


adds set_max_host_connections and set_pipeline_length to multi

This PR is pretty self-explanatory, just exposing 2 more mopts that are useful when working with pipelined requests.

Thanks!

Can you also release a 0.4.13 :heart:

Sure thing, done now!


An lxc/lxd transport

Use Case
LXD containers require configuration management. They are so-called "system containers", where the philosophy is closer to VMs, but with all the lightweight-ness and speed of linux containers.
They need config management precisely because they are meant to be configured with scripts, cloud-init, etc.
Describe the Solution You Would Like
I would like to treat each of my LXD containers as a Bolt named target, and run commands, tasks, and plans inside them, just like i can do with virtual machine targets.
Describe Alternatives You've Considered
It's possible to ssh into individual containers, but this requires additional network configuration.
It would also be easy to use the "localhost" target in my bolt plans to wrap local invocations of the lxc tool, but this wouldn't give me the nice inventory features.
Additional Context
I believe that an lxd transport for bolt can be accomplished by wrapping the lxc command.
Relevant commands (there may be more)
lxc list
For example: lxc list [remote:][container] --format json - this can tell us if a target is "running", e.g. if the named container is online. Without --format json, the output looks like this.
❯ lxc list gf:
+---------+---------+----------------------+------+-----------+-----------+----------+
|  NAME   |  STATE  |         IPV4         | IPV6 |   TYPE    | SNAPSHOTS | LOCATION |
+---------+---------+----------------------+------+-----------+-----------+----------+
| gitea   | RUNNING | <IP_ADDRESS> (eth0) |      | CONTAINER | 0         | merc     |
+---------+---------+----------------------+------+-----------+-----------+----------+
| nats    | RUNNING | <IP_ADDRESS> (eth0)  |      | CONTAINER | 0         | breakout |
+---------+---------+----------------------+------+-----------+-----------+----------+
| vault   | RUNNING | <IP_ADDRESS> (eth0) |      | CONTAINER | 0         | merc     |
+---------+---------+----------------------+------+-----------+-----------+----------+

Note that the IP addresses will probably not be routable from where bolt is run. But that's totally fine because we have...
lxc exec
This is akin to docker exec and invokes a process inside the container. Given the nature of lxd, there is a very good chance that, at least, a root user and a shell will be available to this command. Here is the help for this command, so you get the idea
lxc exec --help
Description:
  Execute commands in instances

  The command is executed directly using exec, so there is no shell and
  shell patterns (variables, file redirects, ...) won't be understood.
  If you need a shell environment you need to execute the shell
  executable, passing the shell commands as arguments, for example:

    lxc exec <instance> -- sh -c "cd /tmp && pwd"

  Mode defaults to non-interactive, interactive mode is selected if both stdin AND stdout are terminals (stderr is ignored).

Usage:
  lxc exec [<remote>:]<instance> [flags] [--] <command line>

Flags:
      --cwd                    Directory to run the command in (default /root)
  -n, --disable-stdin          Disable stdin (reads from /dev/null)
      --env                    Environment variable to set (e.g. HOME=/home/foo)
  -t, --force-interactive      Force pseudo-terminal allocation
  -T, --force-noninteractive   Disable pseudo-terminal allocation
      --group                  Group ID to run the command as (default 0)
      --mode                   Override the terminal mode (auto, interactive or non-interactive) (default "auto")
      --user                   User ID to run the command as (default 0)

lxc file push/pull
The file push and file pull subcommands can satisfy the upload and download interfaces. This subcommand is actually quite nice in that it can recursively work with directories, and can set user and group attributes in one go.
The push help. (pull is pretty much the same, but in reverse).
lxc file push --help
Description:
  Push files into instances

Usage:
  lxc file push <source path> [<remote>:]<instance>/<path> [[<remote>:]<instance>/<path>...] [flags]

Examples:
  lxc file push /etc/hosts foo/etc/hosts
     To push /etc/hosts into the instance "foo".

Flags:
  -p, --create-dirs   Create any directories necessary
      --gid           Set the file's gid on push (default -1)
      --mode          Set the file's perms on push
  -r, --recursive     Recursively transfer files
      --uid           Set the file's uid on push (default -1)

Configuration
Given what we have available to us via the lxc command, we might imagine setting something like this inline in an inventory file
targets:
  - name: container1
    uri: "remote1:c1"
    config:
      lxd:
        # if remote is not appropriate for uri, perhaps we specify it in config
        user: 1000
  - name: container2
    uri: "remote2:c1"
    config:
      lxd:
        user: 2000
        group: 1000

The idea here is that a fully-qualified URI could be mapped to a simple name, in the same way that we can map an IP address to a target name with ssh. (I am actually unclear if this is how a URI could work)

Note that there is a ruby library for lxc, but given our use case here I would probably encourage wrapping lxc.

Also note: I would encourge using LXD as the name of the transport, since it is the system that allows easy remote use of the lxc container technology. The naming is quite confusing, I'll admit.

Regarding configuration, it seems like "uri" isn't correct for this transport. Perhaps it can remain unset for LXD targets.

Since testing will almost certainly require vagrant, here is a minimal install
❯ vagrant ssh
vagrant@ubuntu2004:~$ sudo apt-get install snapcraft
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  snapcraft
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 7,680 B of archives.
After this operation, 55.3 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 snapcraft all 3.0ubuntu1 [7,680 B]
Fetched 7,680 B in 1s (12.3 kB/s)
Preconfiguring packages ...
Selecting previously unselected package snapcraft.
(Reading database ... 110747 files and directories currently installed.)
Preparing to unpack .../snapcraft_3.0ubuntu1_all.deb ...
=> Installing the Snapcraft snap
==> Checking connectivity with the snap store
==> Installing the Snapcraft snap for ubuntu-20.04
2020-11-11T00:43:03Z INFO Waiting for automatic snapd restart...
snapcraft 4.3 from Canonical✓ installed
=> Snap installation complete
Unpacking snapcraft (3.0ubuntu1) ...
Setting up snapcraft (3.0ubuntu1) ...
vagrant@ubuntu2004:~$ sntal   ^C
vagrant@ubuntu2004:~$ snap install lxd
error: access denied (try with sudo)
vagrant@ubuntu2004:~$ sudo !!
sudo snap install lxd
lxd 4.7 from Canonical✓ installed
vagrant@ubuntu2004:~$ lxd init
Would you like to use LXD clustering? (yes/no) [default=no]: ^C
vagrant@ubuntu2004:~$ lxd init
Would you like to use LXD clustering? (yes/no) [default=no]: no
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]:
Name of the storage backend to use (lvm, ceph, btrfs, dir) [default=btrfs]:
Create a new BTRFS pool? (yes/no) [default=yes]:
Would you like to use an existing empty block device (e.g. a disk or partition)? (yes/no) [default=no]:
Size in GB of the new loop device (1GB minimum) [default=24GB]:
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]:
What should the new bridge be called? [default=lxdbr0]:
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
Would you like LXD to be available over the network? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]: yes
config: {}
networks:
- config:
    ipv4.address: auto
    ipv6.address: auto
  description: ""
  name: lxdbr0
  type: ""
  project: default
storage_pools:
- config:
    size: 24GB
  description: ""
  name: default
  driver: btrfs
profiles:
- config: {}
  description: ""
  devices:
    eth0:
      name: eth0
      network: lxdbr0
      type: nic
    root:
      path: /
      pool: default
      type: disk
  name: default
cluster: null

Still need to work out a script to do this in an unattended fashion.

This seems to work for an unattended install. We pipe the yaml preseed file to lxd init
lxd_provision = <<SCRIPT
apt-get install snapcraft -y
snap install lxd
echo 'config: {}
networks:
- config:
    ipv4.address: auto
    ipv6.address: auto
  description: ""
  name: lxdbr0
  type: ""
  project: default
storage_pools:
- config:
    size: 24GB
  description: ""
  name: default
  driver: btrfs
profiles:
- config: {}
  description: ""
  devices:
    eth0:
      name: eth0
      network: lxdbr0
      type: nic
    root:
      path: /
      pool: default
      type: disk
  name: default
cluster: null' | lxd init --preseed
SCRIPT

I am wondering how we might support two operating modes:

lxc runs on the bolt controller
lxc is run on a "proxy" target. For instance, lxc commands are run on a remote machine over ssh.

For bolt command run, supporting this seems possible, perhaps straightforward. For uploading files, however, I wonder what kind of behavior we'd expect.

Current status of this: I have a rough prototype of remote execution, and file and pull.
Still TODO (incomplete):

more transport config attributes. lxc exec allows setting user/group just like ssh does
general code cleanup
integration tests

Regarding tests, this is where I need to focus next. We will need Vagrant. In my WIP pr, I have added a provisioning script that will set up LXD in an Ubuntu VM. This means the lxd daemon is running inside the VM, and containers will be spawned inside the VM.
From here, we can proceed 1 of 2 ways:

We can run (via the bolt wrapper I am writing) the lxc command line tool on the bolt controller. This has the downside that the tool will need to be installed somehow. It's available in brew, fortunately, and via snap on linux, but it's another thing to install.
We can run lxc from the command line inside the VM. This is preferable. Is this how the integration tests for ssh run right now?

Regarding the Vagrant tests generally, I have been getting a lot of failures across the board, but perhaps I have a misconfigured local env.

Some good info is available to lxc info $INSTANCE
Name: container1
Location: lxd-infra-02
Remote: https://<IP_ADDRESS>:8443
Architecture: x86_64
Created: 2020/12/24 01:17 UTC
Status: Running
Type: container
Profiles: default
Pid: 10049
Ips:
  eth0:	inet	<IP_ADDRESS>	veth12aeea7d
  eth0:	inet6	fe80::216:3eff:fe53:dfc2	veth12aeea7d
  lo:	inet	<IP_ADDRESS>
  lo:	inet6	::1
Resources:
  Processes: 26
  CPU usage:
    CPU usage (in seconds): 129
  Memory usage:
    Memory (current): 477.02MB
    Memory (peak): 500.78MB
  Network usage:
    eth0:
      Bytes received: 145.12MB
      Bytes sent: 874.80kB
      Packets received: 13739
      Packets sent: 11911
    lo:
      Bytes received: 356.65kB
      Bytes sent: 356.65kB
      Packets received: 5652
      Packets sent: 5652

In particular, it would be useful to expose interfaces/ips, since this will often need to be extracted from one container and configured on another. Is this what facts are for?

A few questions:
I get this warning when setting a new config option "remote" on groups.
Unknown option 'remote' at 'groups.2.config.lxd' at /home/coleman/Code/infra/bolt/inventory.yaml.

How do I fix this properly? Here is my config class
Also, I see this on every task:
Skipping cleanup of tmpdir '/tmp/5a881469-0624-41b8-a462-a252f256abd3'

Clean seems like something I should do. How do I automatically clean up?
Finally, I got a strange error
<Encoding::UndefinedConversionError> "\xE2" from ASCII-8BIT to UTF-8

This might be because I ran bolt against a fresh arch linux container, and it's just locales being weird. I'm not sure. In any case, any advice on coding defensively for this would be appreciated. I've never seen it before and I've been hacking on and off on this for a couple of months.
 Logs

❯ bolt plan run consul::install -t consul
Unknown option 'remote' at 'groups.2.config.lxd' at /home/coleman/Code/infra/bolt/inventory.yaml.
Unknown option 'remote' at 'groups.3.config.lxd' at /home/coleman/Code/infra/bolt/inventory.yaml.
Starting: plan consul::install
Starting: task utils::installed_version on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/262ed215-dc2c-467c-87c2-27147608600e'
Skipping cleanup of tmpdir '/tmp/72586291-1191-4816-8899-06e2bcc57f2f'
Skipping cleanup of tmpdir '/tmp/bc5e3265-ac47-4a40-85fb-9c0aec148447'
Finished: task utils::installed_version with 0 failures in 18.29 sec
Starting: task consul::install on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/3d6ef1e7-6905-466f-86ac-9ebb7ae3df25'
Skipping cleanup of tmpdir '/tmp/631751df-7172-4e7c-b114-1896810ffc9b'
Skipping cleanup of tmpdir '/tmp/c2159a6c-b2ca-45ea-9003-99e8d66cffeb'
Finished: task consul::install with 0 failures in 21.07 sec
Starting: task utils::user on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/6a0eaafb-b5b3-4c34-bda7-94e8bf0c432e'
Skipping cleanup of tmpdir '/tmp/858a66a5-3fd2-46db-872c-6ca5951d8a1e'
Skipping cleanup of tmpdir '/tmp/84d927cb-3e74-4943-828b-88212ecf6fb3'
Finished: task utils::user with 0 failures in 19.95 sec
Starting: file upload from /home/coleman/Code/infra/bolt/modules/consul/files/consul.service to /etc/systemd/system/consul.service on consul-01, consul-02, consul-03
Finished: file upload from /home/coleman/Code/infra/bolt/modules/consul/files/consul.service to /etc/systemd/system/consul.service with 0 failures in 1.49 sec
Starting: task utils::mkdir on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/5a881469-0624-41b8-a462-a252f256abd3'
Skipping cleanup of tmpdir '/tmp/3980c258-c186-431a-954a-c76c89a40b6b'
Skipping cleanup of tmpdir '/tmp/ba736cb2-b148-4514-9b04-4750938eb5a8'
Finished: task utils::mkdir with 0 failures in 19.66 sec
Starting: file upload from /home/coleman/Code/infra/bolt/modules/consul/files/agent_config.json to /opt/consul/agent_config.json on consul-01, consul-02, consul-03
Finished: file upload from /home/coleman/Code/infra/bolt/modules/consul/files/agent_config.json to /opt/consul/agent_config.json with 0 failures in 1.46 sec
Starting: task utils::chown on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/1bfc41bb-ddf1-4623-8efc-ed6538075987'
Skipping cleanup of tmpdir '/tmp/18ea24d7-5fb3-449a-936e-f74c2b3e8195'
Skipping cleanup of tmpdir '/tmp/262c8134-151b-4886-af58-bfe925754ff2'
Finished: task utils::chown with 0 failures in 16.85 sec
Starting: task consul::bind_addr_file on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/de2bdd3d-a9b1-4b1f-8ddd-0773f82e5b86'
Skipping cleanup of tmpdir '/tmp/99cb78d1-9b01-4ae3-b19b-e540aae7f41f'
Skipping cleanup of tmpdir '/tmp/8582395c-407c-426c-a07a-6db31b0727f8'
Finished: task consul::bind_addr_file with 0 failures in 18.26 sec
Starting: task utils::chown on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/e42d7c0d-7c43-4961-b165-3ec208d90a36'
Skipping cleanup of tmpdir '/tmp/d30d4e61-43fb-4831-b0a4-d27881e6792d'
Skipping cleanup of tmpdir '/tmp/8b79cc12-748b-4992-8b29-707873828323'
Finished: task utils::chown with 0 failures in 19.99 sec
Starting: command 'systemctl enable consul' on consul-01, consul-02, consul-03
<Encoding::UndefinedConversionError> "\xE2" from ASCII-8BIT to UTF-8
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:263:in `with_node_logging'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:273:in `block (2 levels) in run_command'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:141:in `block (3 levels) in queue_execute'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:363:in `run_task'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `block (3 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `loop'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `block (2 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `catch'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/logging-2.3.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
<Encoding::UndefinedConversionError> "\xE2" from ASCII-8BIT to UTF-8
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:263:in `with_node_logging'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:273:in `block (2 levels) in run_command'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:141:in `block (3 levels) in queue_execute'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:363:in `run_task'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `block (3 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `loop'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `block (2 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `catch'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/logging-2.3.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
<Encoding::UndefinedConversionError> "\xE2" from ASCII-8BIT to UTF-8
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:263:in `with_node_logging'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:273:in `block (2 levels) in run_command'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:141:in `block (3 levels) in queue_execute'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:363:in `run_task'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `block (3 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `loop'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `block (2 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `catch'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/logging-2.3.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
Finished: command 'systemctl enable consul' with 3 failures in 5.75 sec
Finished: plan consul::install in 2 min, 23 sec
Failed on consul-01:
  "\xE2" from ASCII-8BIT to UTF-8
Failed on consul-02:
  "\xE2" from ASCII-8BIT to UTF-8
Failed on consul-03:
  "\xE2" from ASCII-8BIT to UTF-8
Failed on 3 targets: consul-01,consul-02,consul-03
Ran on 3 targets

A few questions:
I get this warning when setting a new config option "remote" on groups.
Unknown option 'remote' at 'groups.2.config.lxd' at /home/coleman/Code/infra/bolt/inventory.yaml.

How do I fix this properly? Here is my config class
Also, I see this on every task:
Skipping cleanup of tmpdir '/tmp/5a881469-0624-41b8-a462-a252f256abd3'

Clean seems like something I should do. How do I automatically clean up?
Finally, I got a strange error
<Encoding::UndefinedConversionError> "\xE2" from ASCII-8BIT to UTF-8

This might be because I ran bolt against a fresh arch linux container, and it's just locales being weird. I'm not sure. In any case, any advice on coding defensively for this would be appreciated. I've never seen it before and I've been hacking on and off on this for a couple of months.
 Logs

❯ bolt plan run consul::install -t consul
Unknown option 'remote' at 'groups.2.config.lxd' at /home/coleman/Code/infra/bolt/inventory.yaml.
Unknown option 'remote' at 'groups.3.config.lxd' at /home/coleman/Code/infra/bolt/inventory.yaml.
Starting: plan consul::install
Starting: task utils::installed_version on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/262ed215-dc2c-467c-87c2-27147608600e'
Skipping cleanup of tmpdir '/tmp/72586291-1191-4816-8899-06e2bcc57f2f'
Skipping cleanup of tmpdir '/tmp/bc5e3265-ac47-4a40-85fb-9c0aec148447'
Finished: task utils::installed_version with 0 failures in 18.29 sec
Starting: task consul::install on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/3d6ef1e7-6905-466f-86ac-9ebb7ae3df25'
Skipping cleanup of tmpdir '/tmp/631751df-7172-4e7c-b114-1896810ffc9b'
Skipping cleanup of tmpdir '/tmp/c2159a6c-b2ca-45ea-9003-99e8d66cffeb'
Finished: task consul::install with 0 failures in 21.07 sec
Starting: task utils::user on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/6a0eaafb-b5b3-4c34-bda7-94e8bf0c432e'
Skipping cleanup of tmpdir '/tmp/858a66a5-3fd2-46db-872c-6ca5951d8a1e'
Skipping cleanup of tmpdir '/tmp/84d927cb-3e74-4943-828b-88212ecf6fb3'
Finished: task utils::user with 0 failures in 19.95 sec
Starting: file upload from /home/coleman/Code/infra/bolt/modules/consul/files/consul.service to /etc/systemd/system/consul.service on consul-01, consul-02, consul-03
Finished: file upload from /home/coleman/Code/infra/bolt/modules/consul/files/consul.service to /etc/systemd/system/consul.service with 0 failures in 1.49 sec
Starting: task utils::mkdir on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/5a881469-0624-41b8-a462-a252f256abd3'
Skipping cleanup of tmpdir '/tmp/3980c258-c186-431a-954a-c76c89a40b6b'
Skipping cleanup of tmpdir '/tmp/ba736cb2-b148-4514-9b04-4750938eb5a8'
Finished: task utils::mkdir with 0 failures in 19.66 sec
Starting: file upload from /home/coleman/Code/infra/bolt/modules/consul/files/agent_config.json to /opt/consul/agent_config.json on consul-01, consul-02, consul-03
Finished: file upload from /home/coleman/Code/infra/bolt/modules/consul/files/agent_config.json to /opt/consul/agent_config.json with 0 failures in 1.46 sec
Starting: task utils::chown on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/1bfc41bb-ddf1-4623-8efc-ed6538075987'
Skipping cleanup of tmpdir '/tmp/18ea24d7-5fb3-449a-936e-f74c2b3e8195'
Skipping cleanup of tmpdir '/tmp/262c8134-151b-4886-af58-bfe925754ff2'
Finished: task utils::chown with 0 failures in 16.85 sec
Starting: task consul::bind_addr_file on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/de2bdd3d-a9b1-4b1f-8ddd-0773f82e5b86'
Skipping cleanup of tmpdir '/tmp/99cb78d1-9b01-4ae3-b19b-e540aae7f41f'
Skipping cleanup of tmpdir '/tmp/8582395c-407c-426c-a07a-6db31b0727f8'
Finished: task consul::bind_addr_file with 0 failures in 18.26 sec
Starting: task utils::chown on consul-01, consul-02, consul-03
Skipping cleanup of tmpdir '/tmp/e42d7c0d-7c43-4961-b165-3ec208d90a36'
Skipping cleanup of tmpdir '/tmp/d30d4e61-43fb-4831-b0a4-d27881e6792d'
Skipping cleanup of tmpdir '/tmp/8b79cc12-748b-4992-8b29-707873828323'
Finished: task utils::chown with 0 failures in 19.99 sec
Starting: command 'systemctl enable consul' on consul-01, consul-02, consul-03
<Encoding::UndefinedConversionError> "\xE2" from ASCII-8BIT to UTF-8
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:263:in `with_node_logging'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:273:in `block (2 levels) in run_command'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:141:in `block (3 levels) in queue_execute'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:363:in `run_task'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `block (3 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `loop'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `block (2 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `catch'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/logging-2.3.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
<Encoding::UndefinedConversionError> "\xE2" from ASCII-8BIT to UTF-8
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:263:in `with_node_logging'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:273:in `block (2 levels) in run_command'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:141:in `block (3 levels) in queue_execute'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:363:in `run_task'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `block (3 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `loop'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `block (2 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `catch'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/logging-2.3.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
<Encoding::UndefinedConversionError> "\xE2" from ASCII-8BIT to UTF-8
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/result.rb:183:in `to_json'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:263:in `with_node_logging'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:273:in `block (2 levels) in run_command'
	/home/coleman/Code/bolt/lib/bolt/executor.rb:141:in `block (3 levels) in queue_execute'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:363:in `run_task'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `block (3 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `loop'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in `block (2 levels) in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `catch'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block in create_worker'
	/home/coleman/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/logging-2.3.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
Finished: command 'systemctl enable consul' with 3 failures in 5.75 sec
Finished: plan consul::install in 2 min, 23 sec
Failed on consul-01:
  "\xE2" from ASCII-8BIT to UTF-8
Failed on consul-02:
  "\xE2" from ASCII-8BIT to UTF-8
Failed on consul-03:
  "\xE2" from ASCII-8BIT to UTF-8
Failed on 3 targets: consul-01,consul-02,consul-03
Ran on 3 targets

@lucywyman Advice on how I might get rid of the warnings and clean up the temp dirs?

@lucywyman Advice on how I might get rid of the warnings and clean up the temp dirs?

Hey @dontlaugh I'm so sorry it's taken so long to get back to you!
I put up a small diff of what you'll want to add to get remote config option working https://github.com/dontlaugh/bolt/compare/2311_lxd_transport...lucywyman:2311_lxd_transport - our config is definitely a little complicated!
The "Skipping cleanup of tmpdir" comes from the cleanup config option being set to false for a particular target. It should default to true for all the transports that support it, so I suspect it's being set somewhere...you might try bolt inventory show --detail -t <target_subset> to see if that config shows up at all?
I'll dig into ASCII error, not sure off the top of my head but wanted to make sure I got back to you!
Lastly, I've been doing some work refactoring the Docker transport that I think might relevant to you, which will make it work the same way our other transports do by using the Shell classes to execute commands and manage pipes. I know you've been working hard on this, and we're 100% fine with merging it as it is now (structurally at least) and then doing a similar refactor later. But just wanted to give you a heads as that refactor will definitely simplify a lot of things! I also didn't want you to see us update your classes in a few months and wonder what was happening. Happy to provide more details if you're interested.
Thanks so much for doing so much work on this!!

Hey @dontlaugh I'm so sorry it's taken so long to get back to you!
I put up a small diff of what you'll want to add to get remote config option working https://github.com/dontlaugh/bolt/compare/2311_lxd_transport...lucywyman:2311_lxd_transport - our config is definitely a little complicated!
The "Skipping cleanup of tmpdir" comes from the cleanup config option being set to false for a particular target. It should default to true for all the transports that support it, so I suspect it's being set somewhere...you might try bolt inventory show --detail -t <target_subset> to see if that config shows up at all?
I'll dig into ASCII error, not sure off the top of my head but wanted to make sure I got back to you!
Lastly, I've been doing some work refactoring the Docker transport that I think might relevant to you, which will make it work the same way our other transports do by using the Shell classes to execute commands and manage pipes. I know you've been working hard on this, and we're 100% fine with merging it as it is now (structurally at least) and then doing a similar refactor later. But just wanted to give you a heads as that refactor will definitely simplify a lot of things! I also didn't want you to see us update your classes in a few months and wonder what was happening. Happy to provide more details if you're interested.
Thanks so much for doing so much work on this!!

Thanks for the tips! They worked swimmingly.
I took a look at #2563 and I think I could accommodate that design. I think it makes sense because I did copy most of the class that inherited from Base directly from the docker transport.

Thanks for the tips! They worked swimmingly.
I took a look at #2563 and I think I could accommodate that design. I think it makes sense because I did copy most of the class that inherited from Base directly from the docker transport.

Okay I have started refactoring towards the Simple style you linked to. I have definitely broken something. For instance, when I try to do either of these on an lxd target (a consul-02 containr):
bolt command run -t consul-02 'uptime'
bolt file upload -t consul-03 foo /tmp/foo

I get
Failed on consul-02:
  undefined method `close' for "":String
  Did you mean?  clone
Failed on 1 target: consul-02

I'm not seeting this in my code. Is that from the Connection?
I've just started trying to refactor so maybe i just need to poke at it more. It does not seem too different from the docker scenario, and it will be less code in the long run.
My new branch:
https://github.com/dontlaugh/bolt/blob/2311_lxd_transport_refactor/lib/bolt/transport/lxd/connection.rb
https://github.com/dontlaugh/bolt/blob/2311_lxd_transport_refactor/lib/bolt/transport/lxd.rb
https://github.com/dontlaugh/bolt/blob/2311_lxd_transport_refactor/lib/bolt/config/transport/lxd.rb

Woohoo! Ok, I opened up a new PR based on your '2311_lxd_transport_refactor' branch. It includes all your commits, I just squashed them down to one commit and gave a more descriptive commit message (though my message can definitely be improved).
The issue with close is that the Shell class expected to receive pipes from Open3.popen3, which it then manages, as opposed to just getting the strings from Open3.capture3. Definitely easy to miss the one-word difference there!
I've still got some cleanup to do on https://github.com/puppetlabs/bolt/pull/2648 but if you want to try it out and make sure it works for your use case that'd be hugely helpful.
Sorry this took so long, but I think we're in the home stretch now!

Nice! Thanks so much for squashing that down. That was looking a bit gnarly, especially after all the progress in the project in the past two months.
I will test your branch shortly.

Test remote execution: seems to work just fine.
File upload kind of works, but there are some patch suggestions I added to your PR. Even after those, the destination path becomes a directory in a way I wouldn't expect
If I run this upload command against a group consul, the resulting /opt/test.txt is a directory.
bolt file upload test.txt /opt -t consul

Logs
infra/bolt on  lxd_testing [$!?] on ☁  (us-east-1) took 4s
❯ bolt file upload test.txt /opt -t consul --log-level debug
Analytics opt-out is set, analytics will be disabled
Loaded project from '/home/coleman/Code/infra/bolt'
Loading modules from /home/coleman/Code/bolt/bolt-modules:/home/coleman/Code/infra/bolt/modules:/home/coleman/Code/infra/bolt/.modules:/home/coleman/Code/bolt/modules
Loaded inventory from /home/coleman/Code/infra/bolt/inventory.yaml
Started with 100 max thread(s)
Starting: file upload from test.txt to /opt on consul-01, consul-02, consul-03
Uploading file test.txt to /opt on ["consul-01"]
Uploading file test.txt to /opt on ["consul-02"]
Uploading file test.txt to /opt on ["consul-03"]
Uploading: 'test.txt' to /opt on consul-01
Uploading: 'test.txt' to /opt on consul-02
Started on consul-01...
Started on consul-02...
Uploading: 'test.txt' to /opt on consul-03
Started on consul-03...
COMMAND OMG ["file", "push", "--recursive", "--create-dirs", "test.txt", "gf:consul-02/tmp/a23e524c-4f3c-4f61-98aa-966d9744a505/test.txt"]
COMMAND OMG ["file", "push", "--recursive", "--create-dirs", "test.txt", "gf:consul-03/tmp/c6c8a873-6bb2-448a-8a93-8873407938b6/test.txt"]
COMMAND OMG ["file", "push", "--recursive", "--create-dirs", "test.txt", "gf:consul-01/tmp/61f93427-4360-4d43-93fc-bf123cc64970/test.txt"]
{"target":"consul-02","action":"upload","object":"test.txt","status":"success","value":{"_output":"Uploaded 'test.txt' to 'consul-02:/opt'"}}
Finished on consul-02:
  Uploaded 'test.txt' to 'consul-02:/opt'
{"target":"consul-01","action":"upload","object":"test.txt","status":"success","value":{"_output":"Uploaded 'test.txt' to 'consul-01:/opt'"}}
Finished on consul-01:
  Uploaded 'test.txt' to 'consul-01:/opt'
{"target":"consul-03","action":"upload","object":"test.txt","status":"success","value":{"_output":"Uploaded 'test.txt' to 'consul-03:/opt'"}}
Finished on consul-03:
  Uploaded 'test.txt' to 'consul-03:/opt'
Finished: file upload from test.txt to /opt with 0 failures in 11.75 sec
Successful on 3 targets: consul-01,consul-02,consul-03
Ran on 3 targets in 11.75 sec

infra/bolt on  lxd_testing [$!?] on ☁  (us-east-1) took 12s
❯ bolt command run 'cat /opt/test.txt' -t consul
Started on consul-01...
Started on consul-03...
Started on consul-02...
Failed on consul-02:
  The command failed with exit code 1
  STDERR:
    cat: /opt/test.txt: Is a directory
Failed on consul-01:
  The command failed with exit code 1
  STDERR:
    cat: /opt/test.txt: Is a directory
Failed on consul-03:
  The command failed with exit code 1
  STDERR:
    cat: /opt/test.txt: Is a directory
Failed on 3 targets: consul-01,consul-02,consul-03
Ran on 3 targets in 2.88 sec

I think I initially wrote this without any of the upload-to-temp-and-then-move machinery, but now it needs to be made to work in the manner of the other transports.


Minor Tweaks

Minor changes to make things easier to find, cleaner, and avoid uploading my debug logs.
Mostly just verifying I can make changes to the repo.

Welcome 👍


wiring diagram?

I have wired an ld2410 with an esp32. Trying to use an esp32 s3 now. Also confused by the extra pins on the ld2412. Do I use 3v or 5v on the ld2412? Thank you

Hi,
I personally use 5V as when I use 3.3V with other sensors I have a strange behavior…

Thank you @benbox69! So to clarify, I only need to wire the 5v, 1 of the GND and the TX, RX pins and the out pin is optional

Yes, it’s how I connected it 👍🏻

Hi, I don't think is a good idea to write an issue about the wiring diagram here. If you have a generic question on need help, there is a conversation abount it in the home assistant community:
https://community.home-assistant.io/t/diy-human-sensor-l12-base-on-hlk-ld2412/758421/61
In the end, were you able to connect the sensor?

Yes i did thank you! Sorry for any confusion


Create UK maps of completion at Registration District Level

To enable researchers to see completeness of transcriptions at a glance, with a choice of views - country as a whole for one census year, or  one "ancient county" area for each of the census years (sequence of maps for 1841, 1851, 1861, 1871, 1881 and 1893, with potential to add more).
"Nice to have" would be to include also the statistic for "data not available" (where census return has been lost - showing the researcher that they won't find elsewhere).
Cf https://waffle.io/freeukgen/myopicvicar/cards/5411ab7782b317f7d9ae7709
Priority: E3 U3 P5 C0: P11

Possible source of data https://reshare.ukdataservice.ac.uk/852948/


Rewrite the documentation for Matrix4.inverse and Matrix4.inverseTransformation

Fixes #9594 , waiting on a consensus to change inverseTransformation to something more specific as well.

Thanks for the pull request @j9liu!

:heavy_check_mark: Signed CLA found.
:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

@ebogo1 and @ptrgags - I'm continuing the discussion from issue #9594 here. I reworded the documentation so that it says "rigid transformation" in the places where it used to say "affine." @ptrgags confirmed that the inverseTransformation calculation works for reflections as well as rotations, but even so, should we treat the input matrix as though it is strictly a rotation and a translation? In other words, even if these functions can handle reflections, is it their goal to? Or should we restrict their purpose to just rotation + translation?
I wasn't sure about the answer, but I mentioned reflections in the documentation for now. I guess this also ties into the new name for inverseTransformation -- you could rename it to inverseRigidTransformation, or be even more specific and name it inverseProperRigidTransformation. While rigid transformations include reflections, proper rigid transformations are ONLY rotation and translation (based on what Wikipedia says). At that point, though, it would be shorter to name it inverseRotationTranslation.

@ptrgags pointed out that some of the replacements of "affine" were invalid, so I reverted them, particularly the ones related to the scaling functions.

In other words, even if these functions can handle reflections, is it their goal to? Or should we restrict their purpose to just rotation + translation?

I would just mention rotation + translation in the doc as that's the intended use case for this function.

@ptrgags - will just respond in one overall comment instead of repeated replies on each code snippet. I know the technicality is that these work very generally, for any affine matrices, but are we trying to be general with that functionality or do we want to restrict it to just rotation and translation? That's what I'm trying to figure out. I went with the latter because of @lilleyse 's answer -- even if things work for affine matrices, if we just want to deal with rotation and translation, shouldn't we use more precise language?

@j9liu I talked with @lilleyse on Slack to clarify, he said

I was referring to just inverseTransform, I didn't really look closely at anything else

@ptrgags - got it. I adjusted the documentation in the areas that you quoted. Hope it looks better!

@j9liu this looks good, I pushed one small commit. I'll merge once CI passes

Travis CI has been having issues ever since the switch from travis-ci.org -> travis-ci.com.
We're going to proceed cautiously for now. I double checked that linting, tests, and the build-ts step (which uses the JSDoc comments) are working locally. I'll merge this now.
Thanks @j9liu!


Inclusion of sub_r_r rule at execution_times.csv file

The current version of OntCatOWL (commit 81ad2f4) provides the key sub_r_r at the time_register dictionary.  The value of this key is the total execution time of the rule "sub_r_r".
This time_register dictionary is used by the Tester for printing the execution_times_N.csv files. Hence, please add another column in the header (alphabetically sorted) and also add the value of this key for each new line in the file.

@mozzherina, please solve this issue before the re-generation of the dataset.

@pedropaulofb, could you, please have a look at this file
times_aguiar2018rdbs-o_tt001_ac_tx001.csv
(as an example). Is it correct or not?

I've implemented alphabetic sort for keys.

Thank you. It seems to be correct.

Sorry, I closed the issue without intention to.
Please evaluate and close it yourself if you concluded it.

Done.


Fix Linting Issues

This is a large meta-issue that has many problems. The problems should be divided up.

[ ] Uses do: instead of collect: or select: (Weight: 4) @BenBals
[ ] Dot After Return Consistency (Weight: 3) @robertkirsten
[ ] ifTrue:/ifFalse returns instead of and:/or: (Weight: 1) @phlprcks
[ ] intensive Coupling (Weight: 7) @sinnaj-r @BenBals
[ ] Law of Demeter (Weight: 9) @sinnaj-r @BenBals
[ ] Long Methods (Weight: 4) @sinnaj-r
[ ] Sends questionable message (Weight: 1) @kej-jay
[ ] Sends add:/remove: to external collection (Weight: 1) @BenBals
[ ] excessive number of arguments (Weight: 1) @phlprcks
[ ] Methods implemented but not sent (Weight: 1) @phlprcks
[ ] Inconsistent method classification (Weight: 3, easy) @phlprcks
[ ] Temporary Variables not read and written (Weight: 3) @robertkirsten
[ ] Instance Variable not read and written (Weight: 2) @robertkirsten
[ ] Refers to class name instead of "self class" (Weight: 0.1) @kej-jay
[ ] Unnecessary assignment to a temporary variable (Weight: 1) @robertkirsten
[ ] Unreferenced Variable (Weight: 3) @robertkirsten

The weight is so high, because the linter does not tell you which one (as far as I can tell)

Team Member
Points

@sinnaj-r
20

@robertkirsten
14

@phlprcks
6

@kej-jay
1.1

@BenBals
21

The weights are my subjective, imperfect measure of how time consuming and/or difficult a refactoring is as well as how much risk for escalation of time is involved. I suggest that each pair take on roughly equal amounts of weight. I welcome changes and more linting problems to be added.
This does not invalidate the "boy scout rule" that when you see one of these problems in the code you must fix it immediatly. That holds especially for simple refactorings like "Uses do: instead of collect: or select:".

While I refactored the long lines, I stumbled over the icon provider once again, in which the icons are stored as strings. Do you think we should leave it that way, or should we store them as image assets somehow?

That would be nice, but we will have to weigh cost and benefit. How long do you think this will take?

While I refactored the long lines, I stumbled over the icon provider once again, in which the icons are stored as strings. Do you think we should leave it that way, or should we store them as image assets somehow?

I think this is not a priority right now. It is not an extreme pain point in my opinion given that adding new icons is not frequently done.

That would be nice, but we will have to weigh cost and benefit. How long do you think this will take?

Hasn't any of you from SWA already had experience how to integrate images ? (@kej-jay Maybe ?)
I, for my part, would have to read into it first.

We also have to consider that users who want to use Algernon (and potentially Algernon will be included in the squeak image in the future) have access to the icons without any trouble (or additional steps such as downloading them). That is why this might be a bit more complicated and out of scope for now in my opinion, unless @kej-jay has a master solution of course :)

We also have to consider that users who want to use Algernon (and potentially Algernon will be included in the squeak image in the future) have access to the icons without any trouble (or additional steps such as downloading them). That is why this might be a bit more complicated and out of scope for now in my opinion, unless @kej-jay has a master solution of course :)

You might be right here. I also did some pointer chasing and found out the e.g. the Menu Items are Hardcoded as well.
For example have a look in MenuIcons class>>#fugueUserSilhouetteQuestionIconContents. Their style is a bit nicer, but ours should be okay too.

Notes (aka this is why not many changes were needed). Some of those issues there already refactored within #80 a while ago.

excessive number of arguments (one method left, which in my opinion needs no refactoring)
apart from accessing and exportAsSar, not sent methods were removed
inconsistent classification of methods. Many cases where the linter suggests bad classification are actually good. For instance a lot of accessing methods are classified as such, but the superclass on a very high object level (e.g. the kernel objects) does not classify such methods as accessing (many more similar cases exist). This is why the linter will always show a lot of mehtods.


chore: update all packages

:tada: This PR is included in version 1.1.5 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Support several configurations!

Currently it only loads a single config.

This is resolved in a recent commit, now we can load and merge several config files from a folder.


add the ability for users to delete their account

Asides user registration/login, add the ability for users to delete their accounts. This route should be protected with a JWT header token and a middleware should verify the user before deletion is effected

Done. Task has been pushed to my branch - kivel_debug

Nice job, would be closing this issue now!


DM False Negative?

Describe the bug
I'm not positive, but it seems to me that I received no driver monitoring alerts or warnings when I probably should have. DM camera was off, so no footage I'm afraid. But I've uploaded the logs and front video and hopefully that can help? The road was practically empty, so likely the most lax DM possible. I was looking off towards the left for probably in total 10 to 15 seconds. I was quickly glancing back at the road maybe every 4 seconds, so maybe that reset some kind of timer.
Device/Version information (please complete the following information):

Device: comma two
Dongle ID: f39975d916ed458a
Route: f39975d916ed458a|2021-08-12--06-46-02--22 and 23
Timestamp: 7:08::28 local time (it happened somewhere up or down that hill, like within that next minute and 10 seconds)
Version: master-ci 0.8.8
Car make/model: 2020 Toyota Corolla Hatchback

Additional context
I'd be very curious if there were any alerts or not. If not, then that is a major problem as I totally deserved some alerts.

We can't really look into this without the DM video. Feel free to reopen if you have a route with video.

Can you verify if there were alerts?

There were no events in those two segments.


Correct the travis encrypted token

Trying to solve why index.html is not deployed (see #29 and #25)

It works this time 🎉

Juhe!!!!
On Sep 1, 2016 11:17 AM, Bérénice Batut<EMAIL_ADDRESS>wrote:It works this time 🎉
—You are receiving this because you modified the open/close state.Reply to this email directly, view it on GitHub, or mute the thread.


Remove extra spaces

remove extra space from MonologExtension.php

The merge commit should be removed by rebasing on current master.