Make removed suggestion by a Biblio team member irrestorable

Enhancement
Make removed suggestion by a Biblio team member irrestorable.
Otherwise this will be a game of ping-pong.
e.g.

Just to make sure: if a curator rejects a suggestion, it doesn't get a "Restore" button but is still visible for 90 days?
Do we want to show the name of the Biblio team member here or rather "a Biblio team member"?

If a curator rejects a suggestion, it doesn't get a "Restore" button but is still visible for 90 days?
Correct, that would be great!

Do we want to show the name of the Biblio team member here or rather "a Biblio team member"?
"A Biblio team member" is perfect, we do not want people to contact specific staff members but go through the general Biblio helpdesk if they have questions. There is a contact button if they need help in the nav bar.

@mietcls I assume, biblio team member will still be able to restore rejections made by other biblio team members?

@verheyenkoen Yes, correct assumption.


[6.0] [Sema] Requestify pattern resolution

6.0 cherry-pick of #74387

Explanation: Fixes a crash that could occur when completing for a pattern argument
Scope: Affects code completion in patterns
Issue: rdar://128661960
Risk: Low, the fix is fairly straightforward
Testing: Added tests to test suite
Reviewer: Rintaro Ishizaki, Pavel Yaskevich

@swift-ci please test

@swift-ci please test Windows


GetWorkflowExecutionHistory returns invalid nextPageToken

Make token fields public so they can be serialized properly.
Also change integration test page size to force pagination path to be exercised.
Issue #282

Coverage increased (+0.2%) to 67.613% when pulling fdf9445ad9944bfa374514bd78deb6d0b27d6ae7 on tamer-eldeeb:pagination_bug into b5c2556b5b366e768e08180e546df76b4af07ed8 on uber:master.

Coverage increased (+0.1%) to 67.586% when pulling af0e74ce2a9cc9164c33e658344a38f8853ce002 on tamer-eldeeb:pagination_bug into b5c2556b5b366e768e08180e546df76b4af07ed8 on uber:master.


Table queries with backticks in a $filter argument fail

A popular storage provider for Microsoft Orleans sends table storage queries like the following:
GET /devstoreaccount1/OrleansReminders?$filter=((PartitionKey gt 'dev_') and (PartitionKey le 'dev`')) and ((PartitionKey gt 'dev_CC26AB93') and (PartitionKey le 'dev_E80BF780'))&timeout=3

Note how the second filter test includes a backtick. This fails on Azurite as it gets translated into the following, which throws a SyntaxError when eval'd:
... ( item.partitionKey <= `dev`` ) ...

Resolved with #807 pending PR


Verify that bare metal provisioning still works

It's probably been 3+ years since we've actually provisioned on bare metal.  I think we need to at least do this:

[x] Perform the operations we're doing for preparing templates (like relocating the sysadmin account to ID=1234)
[x] Change to secure SSH password early in provisioning.

We're also going to need this functionality when deploying to the cloud.

I've relocated most of the low-level node preparation from the neon prepare vm-template command implementation to KubeHelper.InitializeNode().  This will allow the cloud and bare metal hosting managers for to easily perform these operations on freshly minted VMs as well.
I did leave the code that network config and hypervisor initialization in the neon-cli command since that applies only to node templates.

Bare-metal provisioning is working now.
I also changed how I'm killing any sysadmin processes such that it will kill any open sysadmin SSH sessions as well when relocating this account to ID=1234.  This simplifies VM template creation by removing one step and will also ensure that anybody logged into a bare metal node with the sysadmin account will be kicked out during cluster prep, allowing sysadmin to be relocated without errors.

DONE for v2.2.0


Adding finalizedBlock endpoint

With v0.10.x, a new Websockets channel was introduced which is named finalizedBlock.

merged with v0.22.0


Update js-regexp-lookbehind.json

Support for Regexp-lookbehind added to Firefox 78 as per https://hacks.mozilla.org/2020/06/a-new-regexp-engine-in-spidermonkey/

Thanks!


[SUPPORT]

So I am using Ultra Permissions instaid of Luckperms I see that the plugin doesn't work when I haven't installed Luckperms but how can I use Uperms and not Luckperms?

GriefDefender requires LuckPerms.

Yea I have seen that but how can I use the migration of it because the plugin won't load


dmg: migrate changed path

This is follow-up #489. it should be rebased with #475, #489.
Before:

Use old path for compatibility.

/etc/td-agent/td-agent.conf
/var/log/td-agent/

After:

Use /etc/fluent and /var/log/fluent by default.
Keep /etc/td-agent, /var/log/td-agent as possible (only upgrading)

Moving content under /etc/td-agent to /etc/fluent/
Moving content under /var/log/td-agent to /var/log/fluent
Making symlink from /var/log/td-agent /var/log/fluent
Making symlink from /etc/td-agent to /etc/fluent

NOTE: just


extract common vocabulary. registry page and page menus

i18n Preparation
#352

can you make another empty commit or something to try and bounce the CLA?

can you make another empty commit or something to try and bounce the CLA?

okay let me try agin :)

okay let me try agin :)


Use the paths option of browserify to avoid relative paths hell

Based on your project, I've build some starter app structure (that I'll publish soon), to create Phonegap/Cordova apps using Gulp / Browserify / React...
What really bothered me with your project was the fact that in our app, the browserify components we create could not be required using module style but only relative paths.
This leads to things like `require("./../../../../MyModule") which is a real pain when we refactor, move files and need our brain to think about how much nesting we need or things like that...
One solution to this problem is to use the paths option of browserify.
In my case, I have just added some /js/ folder to this paths, because it is the folder in which I put all js files I develop:
    return browserify({
        entries: ['./src/js/app.js'],
        extensions: ['.jsx'],
        paths: ['./node_modules','./src/js/']
    })
        .transform('reactify')
        .bundle({debug: true})
        .on('error', handleErrors)
        .pipe(source('app.js'))
        .pipe(gulp.dest('./www'));

(for an unknown reasons, I had to put the ./node_modules or it wouldn't work, I opened some bug for that)
This way, instead of doing require("./../../common/MyUtil") or require("./../../../../../common/MyUtil") based on where I am currently in the path, I can simply do require("common/MyUtil") everywhere in my code.
Another option is that the build file can find all subdirectories of the /js/ directory and then add them all to the path, like shown here: https://gist.github.com/sbrekken/05937e81927802452f48
This way one can simply use require("MyUtil")
(maybe in this case it would worth trying to see how browserify handle naming conflicts in case your own filename already matches an existing npm module)

Moved to webpack, so closing this out. The option in webpack is: resolve-modulesdirectories

By chance is it explained somewhere why you choose to replace browserify with webpack?

Blog post forthcoming perhaps. In short, it's way more powerful. You can output multiple bundles, extract shared dependencies into a shared bundle, async module loading is silly easy, it's smart about dynamic requires, and more. Been using it for almost a year now and haven't looked back.

I'm having issues with babelify caching my src/node_modules files, does anyone know how to get around that?

hjk

Is there a command line version of this?

Hello, i'm also looking for a command line version for this path option. Any tips ?

yes @Heliodromel it's just and env variable


[Fix #9551] Fix a false positive for Style/UnlessLogicalOperators

Fixes #9551.
This PR fixes a false positive for Style/UnlessLogicalOperators when using || operator and invoked method name includes "or" in the conditional branch.
This is an issue due to string matching of source code instead of AST.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!

Thanks! Sorry I overlooked this in the original PR.


Basic usage failing import

Please see following sandbox: https://codesandbox.io/s/happy-meninsky-jf73z?file=/src/main.js
For some reason, the import is failing and component is not usable.
Any suggestion?

I fork it and test it, it's working fine: https://codesandbox.io/s/solitary-architecture-cy1fn

Neither your fork nor what I posted work for me:

Getting a similar error on local. The very idea we're getting something entirely different out of the sane codesandbox is somewhat unsettling. What could cause it to behave differently? I'm using a recent Chrome version Version 89.0.4389.128 (Official Build) (64-bit), on a windows 10 machine.

I fork it and test it, it's working fine

What's the purpose of stating something that's clearly not true? Your fork and mine have different package versions for multiple packages and a slightly different folder structure.
Admittedly, none of that should matter, as you seem to have copied everything relevant to the example from my codesandbox to yours. But I still don't understand why you would make an untrue statement.
What are you trying to imply? That the problem doesn't exist? That it happens randomly? How could anyone trust you when you are not telling the truth? And for no reason whatsoever.


Update salesforce-aura-objects.txt

Update Salesforce standard objects

Hi @cosad3s - is there a source to this?
How did you get these values?

It has been a while now, but it comes from personal researches and official doc https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_list.htm. I had another source but I cannot remember ...

Thanks @cosad3s !


Slight difference in joining could be made clearer in the docs

In Tidyverse, join works like this:
inner_join(df1, df2, "id")
or like this:
inner_join(df1, df2, by = "id")
but not like this:
inner_join(df1, df2, by = id)
In Tidier, join works like this:
@inner_join(df1, df2, a)
or like this:
@inner_join(df1, df2, "a")
But not like this:
@inner_join(df1, df2, by = "a")
@inner_join(df1, df2, by = a)
It also does not work like this:
@inner_join(df1, df2, :a)
There could be examples in the docs showing this.

Great point. We can clarify the docs for now and potentially fix in the future to make it work either way.


How can I use modified Assets php files ?

Hello,
Working with "jd-dotlogics/laravel-grapesjs": "^3" I need to extend data returned from server's requests.
I found that server's requests are implemented in
/vendor/jd-dotlogics/laravel-grapesjs/src/App/Repositories/AssetRepository.php
/vendor/jd-dotlogics/laravel-grapesjs/src/App/Editor/AssetManager.php
files.
I can not edit these files, as any file any “/vendor” subdirectory would be overwritten by composer.
If there is a way to use copied under project directories these files and use them, modifying where I need it ?
Thanks!

Hello, these classes are being resolved from the Larave container. So you can simply create your class, and extend your class from your respective editor class, then bind in the service provider. For example, to extend AssetRepository create a new file "app/Vendor/Editor/AssetRepository.php" (you can place it anywhere in your project )
<?php

namespace App\Vendor\Editor;

use Dotlogics\Grapesjs\App\Repositories\AssetRepository as BaseAssetRepository;

class AssetRepository extends BaseAssetRepository
{

//Override any method you want from the parent class

}

Then in the boot method of your AppServiceProvider bind your new class
use App\Vendor\Editor\AssetRepository;
use Dotlogics\Grapesjs\App\Repositories\AssetRepository as BaseAssetRepository;

/**
 * Bootstrap your package's services.
 *
 * @return void
 */
public function boot()
{
    $this->app->bind(BaseAssetRepository::class, AssetRepository::class);
}

Hopefully it resolved your problem.

Thanks for your feedback!
It was usefull and I found how to manage server part on laravel.
But I need to add additive parameter to url laravel-grapesjs.assets.upload_url from client side.
Any hint where on client side url above is fetched ?
I need to edit public/vendor/laravel-grapesjs/assets/editor.js file anyway - I can not do it in another way.
All images has category and editors page has selection category input.
I need to add selected category id to this assets.upload_url ...

@sergeynilov
There are multiple ways to override upload URL.

Add it to config laravel-grapesjs.assets.upload_url
There is a method called getUploadUrl in AssetRepository -- This method sends the upload URL to the editor. You can override that method.
Override editor config as described here https://github.com/jd-dotlogics/laravel-grapesjs/issues/18#issuecomment-1132712115


Karpenter Creates a new role, instead of using custom EC2 node class role

We are using this library with version 1.0.3, and we are facing an issue, where karpenter fails to scale up. On looking at the error messages, this is the error that we got:
{"level":"ERROR","time":"2024-01-12T11:35:33.053Z","logger":"controller","message":"Reconciler error","commit":"a70b39e","controller":"nodeclass","controllerGroup":"karpenter.k8s.aws","controllerKind":"EC2NodeClass","EC2NodeClass":{"name":"test-node-class-spec"},"namespace":"","name":"test-node-class-spec","reconcileID":"3d054015-5f0a-4ec2-8f1c-51359aaba044","error":"creating instance profile, adding role \"xxxx-xxxx-test\" to instance profile \"xxxxxx-test_10180655167987829993\", AccessDenied: User: arn:aws:sts::xxxxxxxxxxx:assumed-role/xxxxxxxxxxxxxxxxxxxxxxxxxxx-VURLFdcMJOnq/1705059316694610615 is not authorized to perform: iam:PassRole on resource: arn:aws:iam::xxxxxxxxxxx:role/xxxx-xxxx-test because no identity-based policy allows the iam:PassRole action\n\tstatus code: 403, request id: 6b879c29-3f3c-4084-9fb2-1177b0b1c751"}
xxxx-xxxx-test is the custom that we provide in role field for test-node-class-spec .
On deeper inspection of the policy, a new node role is getting created which has the permission for iam:PassRole, instead of using the custom role.
Below is the construct that we use in our cdk(python) block, for our node class definition
test_node_class_spec = {
	"subnetSelectorTerms": [
		{"id": subnet.subnet_id} for subnet in vpc.private_subnets
	],
	"securityGroupSelectorTerms": [
		{"tags": {"aws:eks:cluster-name": eks_cluster.cluster_name}}
	],
	"amiFamily": "Custom",
	"amiSelectorTerms": [{"id": worker_nodes.get("general_nodes").get("ami_id")}],
	"blockDeviceMappings": [
		{
			"deviceName": "/dev/sda1",  # '/dev/xvda' - for amazon linux
			"ebs": {
				"volumeSize": "1000Gi",
				"volumeType": "gp3",
				"deleteOnTermination": True,
				"encrypted": True,
				"kmsKeyID": key.key_id,
			},
		}
	],
	"userData": user_data,
	"metadataOptions": {
		"httpEndpoint": "enabled",
		"httpProtocolIPv6": "disabled",
		"httpPutResponseHopLimit": 2,
		"httpTokens": "required",
	},  # optional, configures IMDS for the instance
	"role": role.role_name, # This will resolve to custom role, created by our cdk deployment
}

Expected behavior: the library should re-use the provided custom role, instead of defining a new node role.
This was previously resolved, but has crept up again in the version change, probably when the support for Karpenter Beta release was added.

Hi @Anathema-Odious! Thanks for filing this issue. Could you share your more (redact info as needed) of the CDK details surrounding the node class spec? For example, where does role.role_name come from and resolve to, and I would also be interested in understanding what the created manifests k8s looks like to better understand the issue so if you can share that it would be helpful.

Hello @andskli The role.role_name is a custom worker role which we need to access different other services with a custom name as per our organization naming standards.
We have observed that even after adding it in the NodeClass, it creates a new role even though I have passed the role in EC2NodeClass. I did not add the role in nodeRole as before in karpenter definition since it created InstanceProfile which conflicts with EC2NodeClass Role which also creates Instance Profile and therefore doesn't work.
https://github.com/aws-samples/cdk-eks-karpenter/blob/main/src/index.ts#L628-L630
We will need to remove either one of the two implementations of InstanceProfile. In case EC2NodeClass already has Role, we will need to see how that can be managed.

created manifests k8s looks

Hi @andskli, I am not sure how to get the generated k8s manifest. But I think the issue that @badaldavda8 pointed out above more or less summarizes this. I will share the manifests as soon as I get my hands on them.

The addEC2NodeClass method just takes Record<string, any> and creates the k8s manifest based on your input, and does nothing else. To my understanding, when you then pass spec.role Karpenter will try to create an InstanceProfile for this role to attach to the owned nodes, see Karpenter docs.
I think the workaround here would be to create your custom Role and corresponding InstanceProfile outside of the construct, and specify spec.instanceProfile instead of spec.role in the NodeClass.
This should have the construct sort out the aws-auth ConfigMap with your custom Role, and add the IAM policy statement (i.e. PassRole) from L630 to that Role.

Sure, we will try this out.
But I am still thinking if it will modify the IAM Policy statement since we will not be passing any nodeRole at all. It will create the nodeRole  and then add it in the PassRole since we are not adding nodeRole in the Props.

You are right and I should've mentioned in my previous reply in the workaround section that you should also pass that role as the nodeRole

@andskli, following your above recommendation to pass in the same nodeRole, while instantiating the Karpenter object, as the one used in the spec.role for the node_class_spec, worked. I believe it forced the library to use the same node role for using the iam:PassRole action.
Below is a snapshot of the cdk diff output.

I didn't need to create an instance profile for this to work.

@Anathema-Odious glad to hear it worked out.
I believe this is a documentation issue for now, as the construct allows free-form NodeClass spec's. Given beta graduation of Karpenter API's, it may make sense to expose more of Karpenter's functionality through this constructs APIs in the future, but is yet to be explored.


Load search parameters from "Saved Search" or pre-built search

My application allow a user to "Save Searches" and then later load them up for editing, export, or whatever.
The save/load part works, and I can set $scope.searchParams. The assignment seems fine. If I display searchParams in the UI, it shows the expected json string:
{{searchParams | json}}
The search box doesn't update with the searchParams data that is loaded. Is there a way to make the input search box load up the search parameters that are assigned to $scope.searchParams?
Example "Load Saved Search" function that executes on button click:
$scope.loadSavedSearch = function () {
    $scope.searchParams = $scope.loadSavedSearchSelected.SearchParameters;
}

Thank you.

Hi,
this currently only works on the page load (e.g. restore from URL/routeParams, etc.)
I've also the use case to add one ore more params via mouse click after page load.
In my case the ng-model of the directive is right, but the extra added param is not visible.

Added support for adding or changing search parameters via ng-model in 3d58af7


10/15 PM Publish

Docs Build status updates of commit 154fa32:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

rd/rockford-lhotka.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Allow configurable subdomains

ansible-nas/templates/traefik/traefik.toml lines 181 onwards.
Currently traefik will be requesting certificates for all subdomains whether we require them or not. This is not good practice as we will be hitting the letsencrypt daily limits when initially setting up. It would be better to use an ansible task to create the traefik.toml file based upon the services loaded. This is a little beyond my ansible expertise though! Currently I can only think that a series of plays would be required to do it building onto a variable string if a task is enabled before using a sed command to merge into the traefik.toml file... Something like: (shameless copy/paste of code form elsewhere to save typing!)
        - name: Initialize an empty list for our strings
	  set_fact:
	    my_strings: []

	- name: Setup a string variable
	  set_fact:
	    my_name: "Max"

	- name: Append string to list

	  set_fact:
	    my_strings: "{{ my_strings + [ my_name ] }}"

	- debug: var=my_strings

	- name: Append another item to the list
	  set_fact:
	    my_strings: "{{ my_strings + [ 'Power' ] }}"

	- debug: var=my_strings

I'm not sure your assumptions are correct. Traefik only requests one certificate, and all of the various subdomains are requested as SANs - so there's no cost in having many subdomains.
That said, there is an open PR (#44) to initially request the LetsEncrypt cert as a staging cert rather than production - it just needs some work before I'm happy to merge it.

Ahhh, I've misread the code then!
Looking at #44 I can probably use that to make the subdomains editable through variables and only request the active containers too. I was unaware that I could pass variables from ansible straight into the traefik.toml like that. Shows how much I have to learn about the software still!

I'm not sure it needs changing from how it currently works, unless I'm
missing something?
Right now one cert is requested when Traefik starts - if you enable/disable
containers no new cert is required.
With what you're proposing a new cert would be requested every time you
enable/disable something, which could happen many times over a short period
of time - ending in you getting rate limited.
The only time a new cert is requested is if the existing cert is close to
expiry, or if a PR is merged with a new container that adds a new hostname
to the list of SANs.
On Wed, 17 Jul 2019, 18:40 animeai<EMAIL_ADDRESS>wrote:

Ahhh, I've misread the code then!
Looking at #44 https://github.com/davestephens/ansible-nas/pull/44 I
can probably use that to make the subdomains editable through variables and
only request the active containers too. I was unaware that I could pass
variables from ansible straight into the traefik.toml like that. Shows how
much I have to learn about the software still!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/davestephens/ansible-nas/issues/109?email_source=notifications&email_token=AAFDGMDKNXDEKYU4Z2SOB5DP75KQJA5CNFSM4IEQUGDKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2F252Y#issuecomment-512470763,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFDGMB7YJ67O2YWBFVC4O3P75KQJANCNFSM4IEQUGDA
.

Ahh I see what you mean actually. What I'm also proposing though is the ability to edit the subdomain names through all.yml variables alongside all of the other potential container variables one might wish to edit (restart policy, image, memory limit etc). It would make the package more flexible.
Is it just the documentation in #44 that needed work still?

It also needs some work mentioned at the bottom of the issue, something @C-J1 and I discussed but we never documented :)
Being able to change the hostnames would be nice I guess, in case someone doesn't like the ones I/contributors picked. That does come with the downside you're more likely to hit LetsEncrypt rate limits though...

Fixed with #178

Closing as this is now supported with the move to wildcard certs and ansible roles 👍

Closing as this is now supported with the move to wildcard certs and ansible roles 👍


Move to a new server

Hello,
I'm new to this docker world, do you have the Dockerfile of the LAMP? I'm trying to create a image from my pc to run in a server, is that possible? You can share it?
Thanks

Sorry this isn‘t the right place for this therefore Im going to close this sorry.


Milsestone#4 basicUI

Created app.rb
List all books.
List all people.
Create a person (teacher or student, not a plain Person).
Create a book.
Create a rental.

list all rentals for a given person id.
In your main.rb define the entry point, this will be a method called main that is invoked at the end of your file. This method should do the following:
Present the user with a list of options to perform.
Lets users choose an option.
If needed, ask for parameters for the option.
Have a way to quit the app.

Thanks @zainsadaqat fixed it

@t-yanick  Thank you for reviewing my project


Links /bin/sh to BusyBox like Alpine does

This makes the JDK 14+ image work like the 1.8 one, and unblocks health
checks.

thanks for the look @shakuzen and @anuraaga


gUM's provided media MUST include one track of each requested type.

Description
Shim gUM in Chrome and Firefox 48- to fail unless tracks exist for all requested media types.
Purpose
Comply with spec.

i'm worried that this will have a large unexpected impact on applications. Fortunately, I can tell you how big:
select count(*), calledgetusermediarequestingaudio as wantaudio, calledgetusermediarequestingvideo as wantvideo, firstaudiotracklabel != '' as gotaudio, firstvideotracklabel != '' as gotvideo from dataset where getusermediasuccess = 't' and getusermediaerror = '0' group by calledgetusermediarequestingaudio, calledgetusermediarequestingvideo, firstaudiotracklabel != '', firstvideotracklabel != '';
Basically I query how many GUM calls from a 100k call dataset of calls that requested audio and video and look whether I got a audio/video track label.
 count | wantaudio | wantvideo | gotaudio | gotvideo
-------+-----------+-----------+----------+----------
 88867 | t         | t         | t        | t
  1706 | t         | t         | f        | t
  9427 | t         | t         | t        | f

This would break the current behaviour in 11% of the cases. Which is a lot.
I don't particularly care for appear.in, we try again with different constraints when getting a NotFoundError.

@alvestrand WDYT?

This would break the current behaviour in 11% of the cases. Which is a lot.

@fippo Good point, though do we have a way of knowing if these applications are otherwise successful? I mean, do developers expect and handle the absence of these tracks, or does the app fail?
Not sure what to do about this since the spec mandates it. We can try to change the spec I suppose, but we're running out of time for that as this is shipping in Firefox 49!

@jan-ivar: I don't know, don't you have telemetry on this? @KaptenJansson likewise, does Chrome gather stats?
Maybe we should send an email to discuss-webrtc?

@fippo thanks for the numbers. Is there a way to break those numbers down by browser?
Unlike Firefox (<49), Chrome doesn't offer users a choice of what to share, so the only case it returns a single stream is when a user is missing either a camera or microphone.
Also, 11% seems awfully high. My sql is a bit rusty, are you positive this total is limited to requests for both?
We have telemetry in firefox, but only counts for media types requested, and separately for what plays, but no way to correlate sessions unfortunately, the way you are doing here. We'd basically need to have asked this specific question in telemetry ahead of time.

@jan-ivar we always request both in appear.in -- no enumerateDevices yet. While we have a fallback strategy that was elimiated by the getusermediaerror = '0'. Note to self: data set limited by
create or replace view dataset as select * from features_import where getusermediasuccess = 't' and getusermediaerror = '0' order by date desc limit 100000;
Earlier numbers grouped by browser type:
-------------+-------+-----------+-----------+----------+----------
 moz         |  6383 | t         | t         | t        | t
 moz         |   728 | t         | t         | f        | t
 moz         |  2568 | t         | t         | t        | f
 webkit      | 82484 | t         | t         | t        | t
 webkit      |  6859 | t         | t         | t        | f
 webkit      |   978 | t         | t         | f        | t

Total for Firefox is 9679, total for chrome 90321. So this would affect 8% of Chrome users but 34% of Firefox users?!
(and yeah, telemetry is not flexible enough to answer this. Asking the right questions here is really hard. Answering them with the right query even more so)

Wow, those are surprising numbers. Granted Firefox actually asks users and gives them a choice, whereas Chrome doesn't. But is that enough to explain a 26% difference? If so, then Firefox users sure seem to have a lot of shy or cautious people!

Taking a step back... I started gathering this data a while back to see what errors were most frequent. In Chrome, the second most common error was DevicesNotFoundError which seems to be thrown already when audio and video have been requested but not both are available? In that case we just need to shim the error code.
I have also seen a very small proportion of Firefox calls failing with NotFoundError when another GUM call succeeded, mostly in FF 49 and 50.
So maybe Chrome already behaves this way? @alvestrand @KaptenJansson?

@fippo My internal MBP cam is busted atm, so my system is microphone-only unless I plug in something USB, so I know for a fact that both Chrome and Firefox <49 give me an audio-only stream in response to a request for cam+mic in that configuration, no error (49+ gives me NotFoundError, following the spec).

I have also seen a very small proportion of Firefox calls failing with NotFoundError when another GUM call succeeded, mostly in FF 49 and 50.

What does "when another GUM call succeeded" mean?

...yet when I try it this morning I get DevicesNotFoundError. I could have sworn it worked differently just a few days ago. Did a Chrome update just land on me?

OK, I'm not crazy. The DevicesNotFoundError is a bug in Chrome that confused me (and @fippo I think). On my MBP with busted camera (i.e. mic-only), I can do this:

Plug in USB camera, do gUM call, and then block permission.
Now gUM fails with NotAllowedError.
Pull out USB camera.
Now gUM fails with DevicesNotFoundError :-P

In contrast, when things are unblocked, I get no error and an audio-only stream, so this patch (and @fippo 's analysis) still seem valid.

yes, i've seen these constraints
{"audio":{"optional":[{"sourceId":"default"}]},"video":{"optional":[{"sourceId":"default"},{"minWidth":640},{"maxWidth":640},{"minHeight":480},{"maxHeight":480},{"minFrameRate":25},{"maxFrameRate":25}]}}

result in a video-only stream: {"id":"zl5ffKUjrCaEn2T126OqduwvQVI1LCX8SQY7","tracks":[{"id":"60696a65-d9e3-48a8-8c2f-6eb1481d582f","kind":"video","label":"A4 TECH USB2.0 PC Camera E (0ac8:3450)","readyState":"live"}]}
(in Opera 38) which explains my numbers.

The test in the last comment is with { video: true, audio: true } fyi.

that mostly leaves us with the behaviour change. We need to make a major version anyway e.g. because of #338 so lets do it.

@alvestrand what is your take on it?

I think this is correct. We're violating the spec, and adapter.js should hide it.

LGTM. Should we do a patch, minor or major release for this? I think at least minor.

Every patch should have a patch release number change. I assume we don't push every patch version to the NPM repo, but some people might pull it from our working repo, so that helps sanity.
Major version pushes to NPM means that people with default setups for NPM packages stop tracking the current release train. Which is reasonable if we break compatibility and don't want them to call, but rather stay on the old version until they read the release notes.
Do we have enough accumulated incompatibiltiy that we should set them loose?

We did an incompatible push not long ago which got a major version. So guess no, if this is not deemed breaking, then patch will do.


TS-4743: parent use consistent_hash Strategy may cause crash while first parent is not set

parent use consistent_hash Strategy may cause crash while first parent is not set, due to the pRec is null.

@jrushford this doesn't pass clang-format.


[FLINK-15387] Expose missing RocksDB properties out via RocksDBNativeMetricOptions

What is the purpose of the change
Expose missing RocksDB properties out via RocksDBNativeMetricOptions, e.g block cache related properties.
Brief change log
Add is-write-stopped, block-cache-capacity, block-cache-usage and block-cache-pinned-usage.
Other string format rocksdb property is not added.
Verifying this change
This change is already covered by existing tests, such as RocksDBPropertyTest.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Please regenerate the document and include the update in the commit @Myasuka , now the travis build fails due to doc outdated: https://api.travis-ci.com/v3/job/272040846/log.txt

My travis CI on local branch passed.

Checked and confirmed the travis failure is due to FLINK-15247 and irrelative to the changes here

I'm planning to merge this and please let me know if still any concerns @zentol , thanks.


Lighting issues on Windows 10

The desk's lighting seems to be way too bright and is making icon captions very hard to read

I was just checking some things and it appears to be a transparent white surface with my standard background underneath.

I found that running in Windows XP compatibility mode fixed the problem (perhaps I should try under the context of a different user to the one currently logged on)


GX up to 0.16

Describe your changes:
Update Great Expectations to ~=0.16

I worked on ... because ...

Type of change:

[ ] Bug fix
[x] Improvement
[ ] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My PR title is Fixes <issue-number>: <short explanation>
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

Thank you for your contribution @VolkovGeoPhy!


styling in tabcreator does not allow for frameless titlebar

Probably has to do with the kalimba container. Might need to refactor TabCreator's styling

fixed in commit https://github.com/oakleyaidan21/kalimba-tabs/commit/ff9a19d315aea1bed2d240a9385e4e0327f63fbe


Storage Blob Service ContainerOperationFailure

PUT /subscriptions/.../resourceGroups/.../providers/Microsoft.Storage/storageAccounts/.../blobServices/default?api-version=2019-06-01

{"properties":{"cors":{"corsRules":[{"allowedOrigins":["http://www.example.com"],"allowedMethods":["GET","PUT","PATCH"],"maxAgeInSeconds":500,"exposedHeaders":["x-tempo-"],"allowedHeaders":["x-tempo-"]}]},"deleteRetentionPolicy":{"enabled":true,"days":300},"isVersioningEnabled":true,"changeFeed":{"enabled":true},"restorePolicy":{"days":5,"enabled":true}}}
200 OK

PUT /subscriptions/.../resourceGroups/.../providers/Microsoft.Storage/storageAccounts/.../blobServices/default?api-version=2019-06-01

{"properties":{"cors":{"corsRules":[{"allowedOrigins":["http://www.example.com"],"allowedMethods":["GET"],"maxAgeInSeconds":2000000000,"exposedHeaders":["x-tempo-","x-method-"],"allowedHeaders":[""]},{"allowedOrigins":["http://www.test.com"],"allowedMethods":["PUT"],"maxAgeInSeconds":1000,"exposedHeaders":["x-tempo-"],"allowedHeaders":["*"]}]},"deleteRetentionPolicy":{"enabled":true,"days":7},"isVersioningEnabled":false,"changeFeed":{"enabled":true},"restorePolicy":{"enabled":false}}}
413 Preconditional Failed
{
"error": {
"code": "ContainerOperationFailure",
"message": "The condition specified using HTTP conditional header(s) is not met.\nRequestId:13ccb51b-301e-006c-0f92-a3728a000000\nTime:2020-10-16T07:57:33.7722711Z"
}
}
It's wield if we directly set the second property, it could work. But if we set the first property, then set the second property, it fails.
x-ms-request-id e14b2950-e517-47e9-9456-8755b34d7860

@zfchen95
Would you please help to look at the 413 error?

On fact, after first update, the blob service could not be updated in 12 minutes or longer.

PUT /subscriptions/.../resourceGroups/acctestAzureRMSA-201028133158646092/providers/Microsoft.Storage/storageAccounts/unlikely23exst2acctqgubk/blobServices/default?api-version=2019-06-01 HTTP/1.1
{"properties":{"cors":{"corsRules":[{"allowedOrigins":["http://www.example.com"],"allowedMethods":["GET","PUT","PATCH"],"maxAgeInSeconds":500,"exposedHeaders":["x-tempo-"],"allowedHeaders":["x-tempo-"]}]},"deleteRetentionPolicy":{"enabled":true,"days":300},"isVersioningEnabled":true,"changeFeed":{"enabled":true},"restorePolicy":{"days":5,"enabled":true}}}

HTTP/2.0 200 OK
Cache-Control: no-cache
Content-Type: application/json
Date: Wed, 28 Oct 2020 05:34:47 GMT
Expires: -1
Pragma: no-cache
Server: Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000; includeSubDomains
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-Ms-Correlation-Request-Id: f347bf01-2468-bddd-5664-42986973def6
X-Ms-Ratelimit-Remaining-Subscription-Writes: 1191
X-Ms-Request-Id: 533d479d-9056-49a2-9cbf-a18fbf3b9c2b
X-Ms-Routing-Request-Id: SOUTHEASTASIA:20201028T053447Z:90f2e197-37fe-4673-a772-c88ba469c699
{"id":"/subscriptions/.../resourceGroups/acctestAzureRMSA-201028133158646092/providers/Microsoft.Storage/storageAccounts/unlikely23exst2acctqgubk/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"enabled":true},"restorePolicy":{"enabled":true,"days":5},"cors":{"corsRules":[{"allowedOrigins":["http://www.example.com"],"allowedMethods":["GET","PUT","PATCH"],"maxAgeInSeconds":500,"exposedHeaders":["x-tempo-"],"allowedHeaders":["x-tempo-"]}]},"deleteRetentionPolicy":{"enabled":true,"days":300},"isVersioningEnabled":true}}

PUT /subscriptions/.../resourceGroups/acctestAzureRMSA-201028133158646092/providers/Microsoft.Storage/storageAccounts/unlikely23exst2acctqgubk/blobServices/default?api-version=2019-06-01 HTTP/1.1
{"properties":{"cors":{"corsRules":[{"allowedOrigins":["http://www.example.com"],"allowedMethods":["GET"],"maxAgeInSeconds":2000000000,"exposedHeaders":["x-tempo-","x-method-"],"allowedHeaders":[""]},{"allowedOrigins":["http://www.test.com"],"allowedMethods":["PUT"],"maxAgeInSeconds":1000,"exposedHeaders":["x-tempo-"],"allowedHeaders":["*"]}]},"deleteRetentionPolicy":{"enabled":true,"days":7},"isVersioningEnabled":true,"changeFeed":{"enabled":false},"restorePolicy":{"enabled":false}}}

HTTP/2.0 412 Precondition Failed
Content-Length: 210
Cache-Control: no-cache
Content-Type: application/json
Date: Wed, 28 Oct 2020 05:46:00 GMT
Expires: -1
Pragma: no-cache
Server: Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Ms-Correlation-Request-Id: f347bf01-2468-bddd-5664-42986973def6
X-Ms-Ratelimit-Remaining-Subscription-Writes: 1199
X-Ms-Request-Id: 515221fd-ee3a-4697-a3d9-01c6537ace89
X-Ms-Routing-Request-Id: SOUTHEASTASIA:20201028T054601Z:ed275dc6-a00e-4531-af94-b4a86479a74e
{"error":{"code":"ContainerOperationFailure","message":"The condition specified using HTTP conditional header(s) is not met.\nRequestId:9630709c-101e-002e-01ed-ac9034000000\nTime:2020-10-28T05:46:01.0843639Z"}}

Is this already being addressed? Using the portal I'm able to change all kinds of settings within seconds, what is the difference?

@yupwei68 / @zfchen95 is there any work going on to look at this?
Thanks :)

hi, the error seems a bit old. It happened in 2020. Do you have a more recent repro?

Yes, here

This is still blocking https://github.com/hashicorp/terraform-provider-azurerm/issues/9020 which is a pretty important feature.
Any update on this?

@blueww could you please help involve the right contact in the Storage team? I am not with Microsoft anymore.

@HimanshuChhabra , @priyapansrp
Would you please help to look at this SRP server issue?

I am also encountering the same error. Though I am not using Terraform but Bicep which translates it to an ARM Template which is deployed using a Azure DevOps pipeline task.
The initial deploy of the storage account was successful. Another deploy after that I enabled PITR which was also successful. But the deploys after these, with no changes in the bicep/arm template are given me the same error now.
API Version: storageAccounts@2021-09-01
Bicep version: v0.9.1
Azure DevOps task: AzureResourceGroupDeployment@2


Script fails if /var/lib/streaming directory does not exist

install_rtsp() does not check that /var/lib/streaming exists before working with files in that directory.
Command executed:
sudo python3 streaming_setup.py --rtsp --compile-ffmpeg --run-as ron

Fixed in 1.5.1
PR merged to master, apologizes again for delay due to not getting notifications!


refactored usages of blacklist and whitelist

Fixes #5275  : Refactors the usage of the words Whitelist and Blacklist

Hello again @fakegithub01 - it really would be nice to have an actual conversation with you to understand who you are rather than wonder if you're somebody's AI experiment or bot. Particularly because this doesn't work at all - there are compilation errors all over the place (details at https://jenkins.terasology.io/job/Terasology/job/engine/job/PR-5276/2/console) as if some simple find & replace was used without actually testing the game.
You need to please:
a) be an obvious person who wants to contribute to the project like a human
b) have set up a Terasology code workspace where you can run the game from source and test
c) describe your changes, your reasoning in what you're doing, and show proof that it works using in-game screenshots or similar


Att vendas e marketing digital

@yasmindematos could you please migrate your files to be created in a branch direct in this repo?


Snap LXD 4.6 does not start - upgrade error for cluster database (instance is not in a cluster).

Required information

Distribution:Ubuntu
Distribution version: 18.04
The output of "lxc info" or if that fails:

Kernel version: 4.15.0-118-generic
LXC version: 4.6
LXD version: 4.6
Storage backend in use: zfs

Issue description
Server maintenance and 'lxc list' returned Error: Get "http://unix.socket/1.0": dial unix /var/snap/lxd/common/lxd/unix.socket: connect: no such file or directory". Error searches return similar results but dated years prior for solution and most seemed to be resolved via tarball to @stgraber. snap refresh and hello-world installs complete with no errors. apt lxd is/was not installed.....
Steps to reproduce
UNKNOWN - discovered problem after maintenance window
Information to attach
After running the following from other posts -
On one of the affected systems, please do (as root):
systemctl stop snap.lxd.daemon snap.lxd.daemon.unix.socket &
pkill -9 -f lxd.*logf
lxd --debug --group lxd
And post the output here.
#Output -
root@xpopl-kvmlxd-52:~# lxc list
Error: Get "http://unix.socket/1.0": dial unix /var/snap/lxd/common/lxd/unix.socket: connect: no such file or directory
root@xpopl-kvmlxd-52:~# systemctl stop snap.lxd.daemon snap.lxd.daemon.unix.socket &
[1] 28819
root@xpopl-kvmlxd-52:~# pkill -9 -f lxd.*logf
[1]+  Done                    systemctl stop snap.lxd.daemon snap.lxd.daemon.unix.socket
root@xpopl-kvmlxd-52:~# lxd --debug --group lxd
INFO[09-22|18:31:52] LXD 4.6 is starting in normal mode       path=/var/snap/lxd/common/lxd
INFO[09-22|18:31:52] Kernel uid/gid map:
INFO[09-22|18:31:52]  - u 0 0<PHONE_NUMBER>
INFO[09-22|18:31:52]  - g 0 0<PHONE_NUMBER>
INFO[09-22|18:31:52] Configured LXD uid/gid map:
INFO[09-22|18:31:52]  - u 0 1000000<PHONE_NUMBER>
INFO[09-22|18:31:52]  - g 0 1000000<PHONE_NUMBER>
INFO[09-22|18:31:52] Kernel features:
INFO[09-22|18:31:52]  - closing multiple file descriptors efficiently: no
INFO[09-22|18:31:52]  - netnsid-based network retrieval: no
INFO[09-22|18:31:52]  - pidfds: no
INFO[09-22|18:31:52]  - uevent injection: no
INFO[09-22|18:31:52]  - seccomp listener: no
INFO[09-22|18:31:52]  - seccomp listener continue syscalls: no
INFO[09-22|18:31:52]  - seccomp listener add file descriptors: no
INFO[09-22|18:31:52]  - attach to namespaces via pidfds: no
INFO[09-22|18:31:52]  - safe native terminal allocation : no
INFO[09-22|18:31:52]  - unprivileged file capabilities: yes
INFO[09-22|18:31:52]  - cgroup layout: hybrid
WARN[09-22|18:31:52]  - Couldn't find the CGroup memory swap accounting, swap limits will be ignored
INFO[09-22|18:31:52]  - shiftfs support: no
INFO[09-22|18:31:52] Initializing local database
DBUG[09-22|18:31:52] Initializing database gateway
DBUG[09-22|18:31:52] Start database node                      id=1 address= role=voter
INFO[09-22|18:31:52] Starting /dev/lxd handler:
INFO[09-22|18:31:52]  - binding devlxd socket                 socket=/var/snap/lxd/common/lxd/devlxd/sock
INFO[09-22|18:31:52] REST API daemon:
INFO[09-22|18:31:52]  - binding Unix socket                   socket=/var/snap/lxd/common/lxd/unix.socket
INFO[09-22|18:31:52]  - binding TCP socket                    socket=[::]:8443
INFO[09-22|18:31:52] Initializing global database
DBUG[09-22|18:31:52] Dqlite: attempt 0: server 1: connected
INFO[09-22|18:31:52] Updating the LXD global schema. Backup made as "global.bak"
DBUG[09-22|18:31:53] Updating global DB schema from 33 to 34
DBUG[09-22|18:31:53] Updating global DB schema from 34 to 35
DBUG[09-22|18:31:53] Database error: &errors.errorString{s:"failed to apply update 34: invalid ID"}
EROR[09-22|18:31:53] Failed to start the daemon: failed to open cluster database: failed to ensure schema: failed to apply update 34: invalid ID
INFO[09-22|18:31:53] Starting shutdown sequence
INFO[09-22|18:31:53] Stop database gateway
INFO[09-22|18:31:53] Stopping REST API handler:
INFO[09-22|18:31:53]  - closing socket                        socket=[::]:8443
INFO[09-22|18:31:53]  - closing socket                        socket=/var/snap/lxd/common/lxd/unix.socket
INFO[09-22|18:31:53] Stopping /dev/lxd handler:
INFO[09-22|18:31:53]  - closing socket                        socket=/var/snap/lxd/common/lxd/devlxd/sock
DBUG[09-22|18:31:53] Not unmounting temporary filesystems (containers are still running)
Error: failed to open cluster database: failed to ensure schema: failed to apply update 34: invalid ID

Ok, so you're upgrading from something a bit older right? Like 4.2 or 4.3?
This particular patch should not trigger during a normal 4.5 to 4.6 or even 4.4 to 4.6.
In any case, this is the patch that dedups entries in storage_volumes for users of ceph/cephfs.
Are you using ceph or cephfs?
And could you send me a tarball of /var/snap/lxd/common/lxd/database to stgraber at ubuntu dot com?
The most likely source is bad/inconsistent volume records in the current DB which are tripping the upgrade.
If that's the case, I can provide you with a patch.sql file to fix them, unblocking the upgrade.
If it's broken upgrade logic, we'll sort it out quickly too.

Thanks for the quick reply  - I've sent over the tarball. I am not sure what upgrade was previous - this is a secondary server and our primary is running fine - identical installation, same 4.6 snap version.
Both using zfs filesystem on containers

@cawhite6 you indeed do have an inconsistent DB record from a previous update.
The id of storage_volumes and storage_volumes_snapshots must be unique to allow for an aggregate view to work properly.
To fix your setup, write a file at database/patch.global.sql containing:
UPDATE storage_volumes_snapshots SET id=191 WHERE id=6;

Then start LXD again and it will succeed the upgrade as seen here upgrading using the DB you sent me:
INFO[09-22|15:22:14] Initializing global database
DBUG[09-22|15:22:14] Dqlite: attempt 0: server 1: connected
INFO[09-22|15:22:14] Updating the LXD global schema. Backup made as "global.bak"
DBUG[09-22|15:22:14] Running pre-update queries from file for global DB schema
DBUG[09-22|15:22:14] Updating global DB schema from 33 to 34
DBUG[09-22|15:22:14] Updating global DB schema from 34 to 35
DBUG[09-22|15:22:14] Updating global DB schema from 35 to 36
DBUG[09-22|15:22:14] Updating global DB schema from 36 to 37
DBUG[09-22|15:22:14] Updating global DB schema from 37 to 38
INFO[09-22|15:22:16] Firewall loaded driver "nftables"

For anyone else attempting this kind of fix on their own, be very careful.
You can see if there's something wrong by running SELECT * FROM storage_volumes_snapshots WHERE id IN (SELECT id FROM storage_volumes);
If you find a record, you'll need to update its id to a value which has not yet been used in either table.

@cawhite6 you indeed do have an inconsistent DB record from a previous update.
The id of storage_volumes and storage_volumes_snapshots must be unique to allow for an aggregate view to work properly.
To fix your setup, write a file at database/patch.global.sql containing:
UPDATE storage_volumes_snapshots SET id=191 WHERE id=6;

Then start LXD again and it will succeed the upgrade as seen here upgrading using the DB you sent me:
INFO[09-22|15:22:14] Initializing global database
DBUG[09-22|15:22:14] Dqlite: attempt 0: server 1: connected
INFO[09-22|15:22:14] Updating the LXD global schema. Backup made as "global.bak"
DBUG[09-22|15:22:14] Running pre-update queries from file for global DB schema
DBUG[09-22|15:22:14] Updating global DB schema from 33 to 34
DBUG[09-22|15:22:14] Updating global DB schema from 34 to 35
DBUG[09-22|15:22:14] Updating global DB schema from 35 to 36
DBUG[09-22|15:22:14] Updating global DB schema from 36 to 37
DBUG[09-22|15:22:14] Updating global DB schema from 37 to 38
INFO[09-22|15:22:16] Firewall loaded driver "nftables"

Perfect - worked like a charm, back up and running (I feared the worst)!

Same issue with snap package. lxd isn't starting now
`Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3808]: => LXD failed to start
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal systemd[1]: snap.lxd.daemon.service: Main process exited, code=exited, status=1/FAILURE
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal systemd[1]: snap.lxd.daemon.service: Failed with result 'exit-code'.
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal systemd[1]: snap.lxd.daemon.service: Service hold-off time over, scheduling restart.
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal systemd[1]: snap.lxd.daemon.service: Scheduled restart job, restart counter is at 91.
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal systemd[1]: Stopped Service for snap application lxd.daemon.
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal systemd[1]: Started Service for snap application lxd.daemon.
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: => Preparing the system (17320)
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Loading snap configuration
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Setting up mntns symlink (mnt:[4026532401])
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Setting up kmod wrapper
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Preparing /boot
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Preparing a clean copy of /run
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Preparing /run/bin
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Preparing a clean copy of /etc
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Preparing a clean copy of /usr/share/misc
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Setting up ceph configuration
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Setting up LVM configuration
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Rotating logs
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Setting up ZFS (0.7)
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Escaping the systemd cgroups
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ====> Detected cgroup V1
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Escaping the systemd process resource limits
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: ==> Disabling shiftfs on this kernel (auto)
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: Closed liblxcfs.so
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: Running destructor lxcfs_exit
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: Running constructor lxcfs_init to reload liblxcfs
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal kernel: [ 1206.009065] new mount options do not match the existing superblock, will be ignored
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: mount namespace: 5
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: hierarchies:
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:   0: fd:   6:
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:   1: fd:   7: name=systemd
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:   2: fd:   8: cpu,cpuacct
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:   3: fd:   9: net_cls,net_prio
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:   4: fd:  10: hugetlb
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:   5: fd:  11: pids
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:   6: fd:  12: blkio
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:   7: fd:  13: cpuset
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:   8: fd:  14: memory
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:   9: fd:  15: rdma
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:  10: fd:  16: perf_event
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:  11: fd:  17: freezer
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]:  12: fd:  19: devices
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: Kernel does not support swap accounting
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: api_extensions:
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - cgroups
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - sys_cpu_online
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - proc_cpuinfo
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - proc_diskstats
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - proc_loadavg
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - proc_meminfo
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - proc_stat
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - proc_swaps
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - proc_uptime
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - shared_pidns
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - cpuview_daemon
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - loadavg_daemon
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: - pidfds
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[14339]: Reloaded LXCFS
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: => Re-using existing LXCFS
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: => Starting LXD
Sep 24 08:09:17 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: t=2020-09-24T08:09:17+0200 lvl=warn msg=" - Couldn't find the CGroup memory swap accounting, swap limits will be ignored"
Sep 24 08:09:19 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: t=2020-09-24T08:09:19+0200 lvl=eror msg="Failed to start the daemon: failed to open cluster database: failed to ensure schema: failed to apply update 34: invalid ID"
Sep 24 08:09:19 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: Error: failed to open cluster database: failed to ensure schema: failed to apply update 34: invalid ID
Sep 24 08:09:19 Ubuntu-1804-bionic-64-minimal lxd.daemon[3964]: => LXD failed to start
Sep 24 08:09:19 Ubuntu-1804-bionic-64-minimal systemd[1]: snap.lxd.daemon.service: Main process exited, code=exited, status=1/FAILURE
Sep 24 08:09:19 Ubuntu-1804-bionic-64-minimal systemd[1]: snap.lxd.daemon.service: Failed with result 'exit-code'.
Sep 24 08:09:20 Ubuntu-1804-bionic-64-minimal systemd[1]: snap.lxd.daemon.service: Service hold-off time over, scheduling restart.
Sep 24 08:09:20 Ubuntu-1804-bionic-64-minimal systemd[1]: snap.lxd.daemon.service: Scheduled restart job, restart counter is at 92.
snap info lxd
name: lxd
summary: System container manager and API
publisher: Canonical✓
store-url: https://snapcraft.io/lxd
contact: https://github.com/lxc/lxd/issues
license: unset
description: |
LXD is a system container manager
With LXD you can run hundreds of containers of a variety of Linux
distributions, apply resource limits, pass in directories, USB devices
or GPUs and setup any network and storage you want.
LXD containers are lightweight, secure by default and a great
alternative to running Linux virtual machines.
Run any Linux distribution you want
Pre-made images are available for Ubuntu, Alpine Linux, ArchLinux,
CentOS, Debian, Fedora, Gentoo, OpenSUSE and more.
A full list of available images can be found here: https://images.linuxcontainers.org
Can’t find the distribution you want? It’s easy to make your own images too, either using our
distrobuilder tool or by assembling your own image tarball by hand.
Containers at scale
LXD is network aware and all interactions go through a simple REST API,
making it possible to remotely interact with containers on remote
systems, copying and moving them as you wish.
Want to go big? LXD also has built-in clustering`

Can you tar up /var/snap/lxd/common/lxd/database and send to thomas dot parrott at canonical dot com?

link for the database tar (127MB) is sent

@iamhermes received thanks.
Running the query @stgraber mentioned above, shows an inconsistency:
sqlite> SELECT * FROM storage_volumes_snapshots WHERE id IN (SELECT id FROM storage_volumes);
21501|4111|snap4419||
sqlite> select MAX(id) from storage_volumes_snapshots;
32534
sqlite> select MAX(id) from storage_volumes;
21501

So I think a patch query should fix it:
UPDATE storage_volumes_snapshots SET id=32535 WHERE id=21501;

But I am not certain as to the relationship between IDs in these tables, and whether just selecting the max snapshot ID +1 would prevent future issues, so would like confirmation from @stgraber first.

@tomponline it must be an unused id in both tables, usually I would pick the next id from snapshots and just make sure it's not already used for a volume.

@stgraber thanks, so @iamhermes this should fix it (as ID 32535 is not used in either table) :
UPDATE storage_volumes_snapshots SET id=32535 WHERE id=21501;

Problem solved. Thanks. All containers are up again

For other readers affected by this issue, in order to be able to run the query SELECT * FROM storage_volumes_snapshots WHERE id IN (SELECT id FROM storage_volumes); on an LXD that will not start, you need to use the sqlite command to open the database read only DB file as so:
sqlite /var/snap/lxd/common/lxd/database/global/db.bin

This way you can open the database without needing to start LXD.

@tomponline  Thanks for this, so I run the SQL, got this.
sqlite> SELECT * FROM storage_volumes_snapshots WHERE id IN (SELECT id FROM storage_volumes);
262|258|01-26-20-01-23||
264|258|02-02-20-01-23||
sqlite> select MAX(id) from storage_volumes_snapshots;
421
sqlite> select MAX(id) from storage_volumes;
480
sqlite>

So I should do this then? But I am confused about that I got 2 results from the first Select from.
UPDATE storage_volumes_snapshots SET id=422 WHERE id=480;

@dkruyt as you have to affected volumes you would need 2 update queries, 1 for each volume, setting a unique ID for each one.
You need to create a patch file as mentioned in https://github.com/lxc/lxd/issues/7920#issuecomment-696930106

@tomponline , ok created the patch file and restarted, now it is running,
UPDATE storage_volumes_snapshots SET id=481 WHERE id=262;
UPDATE storage_volumes_snapshots SET id=482 WHERE id=264;

But, still got the socket error...
lxc list
Error: Get "http://unix.socket/1.0": dial unix /var/snap/lxd/common/lxd/unix.socket: connect: connection refused

lxd seems running...
systemctl status snap.lxd.daemon.service
● snap.lxd.daemon.service - Service for snap application lxd.daemon
Loaded: loaded (/etc/systemd/system/snap.lxd.daemon.service; static; vendor preset: enabled)
Active: active (running) since Mon 2020-10-05 11:31:47 CEST; 2min 46s ago
Process: 1289 ExecStop=/usr/bin/snap run --command=stop lxd.daemon (code=exited, status=0/SUCCESS)
Process: 28001 ExecReload=/usr/bin/snap run --command=reload lxd.daemon (code=exited, status=0/SUCCESS)
Main PID: 2486 (daemon.start)
Tasks: 0 (limit: 4915)
CGroup: /system.slice/snap.lxd.daemon.service
‣ 2486 /bin/sh /snap/lxd/17497/commands/daemon.start
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Setting up LVM configuration
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Rotating logs
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Setting up ZFS (0.8)
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Escaping the systemd cgroups
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ====> Detected cgroup V1
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Escaping the systemd process resource limits
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Enabling CRIU
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Disabling shiftfs on this kernel (auto)
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: => Starting LXCFS
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: Running constructor lxcfs_init to reload liblxcfs
Oct 05 11:31:47 lxdh02.klingon.nl systemd[1]: Started Service for snap application lxd.daemon.
Oct 05 11:31:47 lxdh02.klingon.nl lxd.daemon[2486]: => Preparing the system (17497)
Oct 05 11:31:47 lxdh02.klingon.nl lxd.daemon[2486]: ==> Loading snap configuration
Oct 05 11:31:47 lxdh02.klingon.nl lxd.daemon[2486]: ==> Setting up mntns symlink (mnt:[4026532598])
Oct 05 11:31:47 lxdh02.klingon.nl lxd.daemon[2486]: ==> Setting up kmod wrapper
Oct 05 11:31:47 lxdh02.klingon.nl lxd.daemon[2486]: ==> Preparing /boot
Oct 05 11:31:47 lxdh02.klingon.nl lxd.daemon[2486]: ==> Preparing a clean copy of /run
Oct 05 11:31:47 lxdh02.klingon.nl lxd.daemon[2486]: ==> Preparing /run/bin
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Preparing a clean copy of /etc
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Preparing a clean copy of /usr/share/misc
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Setting up ceph configuration
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Setting up LVM configuration
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Rotating logs
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Setting up ZFS (0.8)
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Escaping the systemd cgroups
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ====> Detected cgroup V1
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Escaping the systemd process resource limits
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Enabling CRIU
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: ==> Disabling shiftfs on this kernel (auto)
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: => Starting LXCFS
Oct 05 11:31:48 lxdh02.klingon.nl lxd.daemon[2486]: Running constructor lxcfs_init to reload liblxcfs
ls -la /var/snap/lxd/common/lxd/unix.socket
srw-rw---- 1 root root 0 Oct  5 11:32 /var/snap/lxd/common/lxd/unix.socket

Can you show output of ps aux | grep lxd please

root     19883  0.0  0.0   4636  1684 ?        Ss   11:50   0:00 /bin/sh /snap/lxd/17497/commands/daemon.start
root     20039  3.9  0.0  97804  1676 ?        Sl   11:50   0:08 lxcfs /var/snap/lxd/common/var/lib/lxcfs -p /var/snap/lxd/common/lxcfs.pid
root     20046  9.1  2.1 1857912 176180 ?      SLl  11:50   0:19 lxd --logfile /var/snap/lxd/common/lxd/logs/lxd.log --group lxd
root     20047  0.1  0.4 1303136 33956 ?       SLl  11:50   0:00 lxd waitready
root     20048  0.0  0.0   4636   976 ?        S    11:50   0:00 /bin/sh /snap/lxd/17497/commands/daemon.start
lxd      20218  0.3  0.0  49964  2692 ?        Ss   11:51   0:00 dnsmasq --keep-in-foreground --strict-order --bind-interfaces --except-interface=lo --pid-file= --no-ping --interface=lxdbr0 --quiet-dhcp --quiet-dhcp6 --quiet-ra --listen-address=<IP_ADDRESS> --dhcp-no-override --dhcp-authoritative --dhcp-leasefile=/var/snap/lxd/common/lxd/networks/lxdbr0/dnsmasq.leases --dhcp-hostsfile=/var/snap/lxd/common/lxd/networks/lxdbr0/dnsmasq.hosts --dhcp-range <IP_ADDRESS>,<IP_ADDRESS>,1h --listen-address=fd42:7a27:d82c:2f6b::1 --enable-ra --dhcp-range ::,constructor:lxdbr0,ra-stateless,ra-names -s lxd -S /lxd/ --conf-file=/var/snap/lxd/common/lxd/networks/lxdbr0/dnsmasq.raw -u lxd -g lxd

From: /var/snap/lxd/common/lxd/logs/lxd.log
t=2020-10-05T11:51:06+0200 lvl=info msg="Starting container" action=start created=2020-03-17T08:17:29+0100 ephemeral=false name=bitwarden-rs project=default stateful=false used=2020-03-17T08:17:54+0100
t=2020-10-05T11:51:06+0200 lvl=info msg="Downloading image" alias=18.04 server=https://cloud-images.ubuntu.com/minimal/releases
t=2020-10-05T11:51:06+0200 lvl=eror msg="Failed starting container" action=start created=2020-03-17T08:17:29+0100 ephemeral=false name=bitwarden-rs project=default stateful=false used=2020-03-17T08:17:54+0100
t=2020-10-05T11:51:06+0200 lvl=eror msg="Failed to start instance 'bitwarden-rs': Failed to run: /snap/lxd/current/bin/lxd forkstart bitwarden-rs /var/snap/lxd/common/lxd/containers /var/snap/lxd/common/lxd/logs/bitwarden-rs/lxc.conf: "
t=2020-10-05T11:51:07+0200 lvl=info msg="Starting container" action=start created=2020-03-15T22:36:23+0100 ephemeral=false name=minecraft project=default stateful=false used=2020-08-18T17:54:30+0200
t=2020-10-05T11:51:07+0200 lvl=eror msg="Failed starting container" action=start created=2020-03-15T22:36:23+0100 ephemeral=false name=minecraft project=default stateful=false used=2020-08-18T17:54:30+0200
t=2020-10-05T11:51:07+0200 lvl=eror msg="Failed to start instance 'minecraft': Failed to run: /snap/lxd/current/bin/lxd forkstart minecraft /var/snap/lxd/common/lxd/containers /var/snap/lxd/common/lxd/logs/minecraft/lxc.conf: "
t=2020-10-05T11:51:07+0200 lvl=info msg="Starting container" action=start created=2019-08-14T00:35:16+0200 ephemeral=false name=mx2 project=default stateful=false used=2020-01-17T14:27:46+0100
t=2020-10-05T11:51:08+0200 lvl=eror msg="Failed starting container" action=start created=2019-08-14T00:35:16+0200 ephemeral=false name=mx2 project=default stateful=false used=2020-01-17T14:27:46+0100
t=2020-10-05T11:51:08+0200 lvl=eror msg="Failed to start instance 'mx2': Failed to run: /snap/lxd/current/bin/lxd forkstart mx2 /var/snap/lxd/common/lxd/containers /var/snap/lxd/common/lxd/logs/mx2/lxc.conf: "
t=2020-10-05T11:51:08+0200 lvl=info msg="Starting container" action=start created=2019-08-14T00:34:28+0200 ephemeral=false name=ns2 project=default stateful=false used=2020-01-17T14:27:47+0100
t=2020-10-05T11:51:09+0200 lvl=eror msg="Failed starting container" action=start created=2019-08-14T00:34:28+0200 ephemeral=false name=ns2 project=default stateful=false used=2020-01-17T14:27:47+0100
t=2020-10-05T11:51:09+0200 lvl=eror msg="Failed to start instance 'ns2': Failed to run: /snap/lxd/current/bin/lxd forkstart ns2 /var/snap/lxd/common/lxd/containers /var/snap/lxd/common/lxd/logs/ns2/lxc.conf: "
t=2020-10-05T11:51:10+0200 lvl=info msg="Starting container" action=start created=2019-10-06T19:12:15+0200 ephemeral=false name=revproxy02 project=default stateful=false used=2020-03-17T08:39:10+0100
t=2020-10-05T11:51:11+0200 lvl=eror msg="Failed starting container" action=start created=2019-10-06T19:12:15+0200 ephemeral=false name=revproxy02 project=default stateful=false used=2020-03-17T08:39:10+0100
t=2020-10-05T11:51:11+0200 lvl=eror msg="Failed to start instance 'revproxy02': Failed to run: /snap/lxd/current/bin/lxd forkstart revproxy02 /var/snap/lxd/common/lxd/containers /var/snap/lxd/common/lxd/logs/revproxy02/lxc.conf: "
t=2020-10-05T11:51:11+0200 lvl=warn msg="Deleting leftover/partially unpacked image volume" driver=zfs fingerprint=9dd39f26cb44777c9f577f4d4f87cc2de7c35cf6cf8e8acf7ac9172fd1087790 pool=lxdpool01
t=2020-10-05T11:51:21+0200 lvl=info msg="Image downloaded" alias=18.04 server=https://cloud-images.ubuntu.com/minimal/releases
t=2020-10-05T11:51:21+0200 lvl=info msg="Downloading image" alias=18.04 server=https://cloud-images.ubuntu.com/releases
t=2020-10-05T11:51:30+0200 lvl=warn msg="Deleting leftover/partially unpacked image volume" driver=zfs fingerprint=39a93d0b355279d430e8ce21c689aa88515212ee99874276e77f7f31ad7bf810 pool=lxdpool01
t=2020-10-05T11:51:45+0200 lvl=info msg="Image downloaded" alias=18.04 server=https://cloud-images.ubuntu.com/releases
t=2020-10-05T11:51:46+0200 lvl=info msg="Downloading image" alias=20.04 server=https://cloud-images.ubuntu.com/releases
t=2020-10-05T11:52:14+0200 lvl=info msg="Image downloaded" alias=20.04 server=https://cloud-images.ubuntu.com/releases

So so as you say, lxd seems to be starting now, but you've got other issues going on here.
Can you see any of the container specific logs in /var/snap/lxd/common/lxd/logs/?

Container logs looks like this...
lxc ns2<PHONE_NUMBER>5109.195 ERROR    conf - conf.c:run_buffer:324 - Script exited with status 1
lxc ns2<PHONE_NUMBER>5109.195 ERROR    start - start.c:lxc_init:798 - Failed to run lxc.hook.pre-start for container "ns2"
lxc ns2<PHONE_NUMBER>5109.195 ERROR    start - start.c:__lxc_start:1945 - Failed to initialize container "ns2"
lxc ns2<PHONE_NUMBER>5109.274 ERROR    conf - conf.c:run_buffer:324 - Script exited with status 1
lxc ns2<PHONE_NUMBER>5109.274 ERROR    start - start.c:lxc_end:923 - Failed to run "lxc.hook.stop" hook
lxc ns2<PHONE_NUMBER>5109.961 ERROR    conf - conf.c:run_buffer:324 - Script exited with status 1
lxc ns2<PHONE_NUMBER>5109.962 ERROR    start - start.c:lxc_end:965 - Failed to run lxc.hook.post-stop for container "ns2"
lxc ns2<PHONE_NUMBER>5109.962 ERROR    lxccontainer - lxccontainer.c:wait_on_daemonized_start:841 - No such file or directory - Failed to receive the container state

Can you run:
snap set lxd daemon.debug=true
systemctl reload snap.lxd.daemon
tail -f /var/snap/lxd/common/lxd/logs/lxd.log

I think it has todo with this error, something in the database...
t=2020-10-05T12:57:05+0200 lvl=dbug msg="Database error: &errors.errorString{s:\"No such object\"}"
t=2020-10-05T12:56:31+0200 lvl=eror msg="Failed to start instance 'ns2': Failed to run: /snap/lxd/current/bin/lxd forkstart ns2 /var/snap/lxd/common/lxd/containers /var/snap/lxd/common/lxd/logs/ns2/lxc.conf: "
t=2020-10-05T12:56:31+0200 lvl=dbug msg="Scheduler: network: veth29f25ad3 has been added: updating network priorities"
t=2020-10-05T12:56:31+0200 lvl=dbug msg="Scheduler: network: vethabc8372d has been added: updating network priorities"
t=2020-10-05T12:56:31+0200 lvl=dbug msg="MountInstance started" driver=zfs instance=revproxy02 pool=lxdpool01 project=default
t=2020-10-05T12:56:31+0200 lvl=dbug msg="MountInstance finished" driver=zfs instance=revproxy02 pool=lxdpool01 project=default
t=2020-10-05T12:56:31+0200 lvl=dbug msg="UpdateInstanceBackupFile started" driver=zfs instance=revproxy02 pool=lxdpool01 project=default
t=2020-10-05T12:56:31+0200 lvl=dbug msg="UpdateInstanceBackupFile finished" driver=zfs instance=revproxy02 pool=lxdpool01 project=default
t=2020-10-05T12:56:31+0200 lvl=dbug msg="MountInstance started" driver=zfs instance=revproxy02 pool=lxdpool01 project=default
t=2020-10-05T12:56:31+0200 lvl=dbug msg="MountInstance finished" driver=zfs instance=revproxy02 pool=lxdpool01 project=default
t=2020-10-05T12:56:31+0200 lvl=info msg="Starting container" action=start created=2019-10-06T19:12:15+0200 ephemeral=false name=revproxy02 project=default stateful=false used=2020-03-17T08:39:10+0100
t=2020-10-05T12:56:32+0200 lvl=eror msg="Failed starting container" action=start created=2019-10-06T19:12:15+0200 ephemeral=false name=revproxy02 project=default stateful=false used=2020-03-17T08:39:10+0100
t=2020-10-05T12:56:32+0200 lvl=eror msg="Failed to start instance 'revproxy02': Failed to run: /snap/lxd/current/bin/lxd forkstart revproxy02 /var/snap/lxd/common/lxd/containers /var/snap/lxd/common/lxd/logs/revproxy02/lxc.conf: "
t=2020-10-05T12:56:45+0200 lvl=dbug msg="EnsureImage started" driver=zfs fingerprint=4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c pool=lxdpool01
t=2020-10-05T12:56:45+0200 lvl=dbug msg="Database error: &errors.errorString{s:\"No such object\"}"
t=2020-10-05T12:56:45+0200 lvl=warn msg="Deleting leftover/partially unpacked image volume" driver=zfs fingerprint=4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c pool=lxdpool01
t=2020-10-05T12:56:46+0200 lvl=dbug msg="Mounted ZFS dataset" dev=lxdpool01/images/4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c driver=zfs path=/var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c pool=lxdpool01
t=2020-10-05T12:56:46+0200 lvl=dbug msg="Running filler function" dev= driver=zfs path=/var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c pool=lxdpool01
t=2020-10-05T12:57:05+0200 lvl=dbug msg="Unmounted ZFS dataset" dev=lxdpool01/images/4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c driver=zfs path=/var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c pool=lxdpool01
t=2020-10-05T12:57:05+0200 lvl=dbug msg="Database error: &errors.errorString{s:\"No such object\"}"
t=2020-10-05T12:57:05+0200 lvl=dbug msg="EnsureImage finished" driver=zfs fingerprint=4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c pool=lxdpool01
t=2020-10-05T12:57:05+0200 lvl=info msg="Image downloaded" alias=20.04 server=https://cloud-images.ubuntu.com/releases
t=2020-10-05T12:57:05+0200 lvl=dbug msg="DeleteImage started" driver=zfs fingerprint=97c470e427c425cf2ec4d7d55b6f1397ea55043c518b194a58fc6b9da426f540 pool=lxdpool01
t=2020-10-05T12:57:05+0200 lvl=dbug msg="DeleteImage finished" driver=zfs fingerprint=97c470e427c425cf2ec4d7d55b6f1397ea55043c518b194a58fc6b9da426f540 pool=lxdpool01
t=2020-10-05T12:57:05+0200 lvl=dbug msg="Processing image" alias=18.04 fp=9dd39f26cb44777c9f577f4d4f87cc2de7c35cf6cf8e8acf7ac9172fd1087790 protocol=simplestreams server=https://cloud-images.ubuntu.com/minimal/releases
t=2020-10-05T12:57:05+0200 lvl=dbug msg="Connecting to a remote simplestreams server"
t=2020-10-05T12:57:05+0200 lvl=dbug msg="Image \"9dd39f26cb44777c9f577f4d4f87cc2de7c35cf6cf8e8acf7ac9172fd1087790\" already exists in the DB"
t=2020-10-05T12:57:05+0200 lvl=dbug msg="Image already exists on storage pool \"lxdpool01\""
t=2020-10-05T12:57:05+0200 lvl=dbug msg="Already up to date" fp=9dd39f26cb44777c9f577f4d4f87cc2de7c35cf6cf8e8acf7ac9172fd1087790
t=2020-10-05T12:57:05+0200 lvl=dbug msg="Success for task operation: 3b4af87a-18a0-4e81-8c9f-ffdd008e24e3"

@dkruyt not necessarily, but perhaps, that is (in my opinion) a rather alarming message that can occur in a normal scenario when a DB row is looked up and not found. It occurs quite often in my experience and doesn't normally indicate an issue.
Please can you describe more about what version of lxd you were running before the upgrade, and what storage pool configure you had. Thanks

The previous versie would be then 4.4 or 4.5, its just updating with snap.
> snap list lxd
Name  Version  Rev    Tracking       Publisher   Notes
lxd   4.6      17497  latest/stable  canonical✓  -
> lxd --version
4.6
> lxc --version
4.6

Storagepool is ZFS.
zpool list
NAME        SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
lxdpool01   179G  75.1G   104G         -    44%    41%  1.00x  ONLINE  -

@stgraber do you have any ideas for this, lxd seems to be starting now after the DB patch, but containers not starting.

Can you show zfs list -t all? Error would be consistent with an incorrect mountpoint.

Can you show zfs list -t all? Error would be consistent with an incorrect mountpoint.

NAME                                                                                USED  AVAIL  REFER  MOUNTPOINT
lxdpool01                                                                                75.1G  98.3G    24K  none
lxdpool01/containers                                                                                67.3G  98.3G    24K  none
lxdpool01/containers/at-zt-demo02                                                                    293M  98.3G   409M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/at-zt-demo02
lxdpool01/containers/bionic-minimal                                                                  650M  98.3G   650M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/bionic-minimal
lxdpool01/containers/bitwarden                                                                      31.5G  98.3G  15.9G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/bitwarden
lxdpool01/containers/bitwarden@deleted-cc42e4e0-fd3d-4dc4-b939-e802a9bca099                         77.8M      -  13.3G  -
lxdpool01/containers/bitwarden@snapshot-01-26-20-01-23                                              68.7M      -  17.2G  -
lxdpool01/containers/bitwarden@snapshot-02-02-20-01-23                                              69.3M      -  17.2G  -
lxdpool01/containers/bitwarden@snapshot-02-07-20-22-23                                              57.0M      -  17.3G  -
lxdpool01/containers/bitwarden@snapshot-02-09-20-01-23                                              69.3M      -  17.3G  -
lxdpool01/containers/bitwarden-rs                                                                   2.18G  98.3G  1.92G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/bitwarden-rs
lxdpool01/containers/bitwarden-rs@snapshot-snap0                                                     222M      -  1.10G  -
lxdpool01/containers/bitwarden-rs@snapshot-snap1                                                     205M      -  1.49G  -
lxdpool01/containers/centos                                                                         45.7M  98.3G   253M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/centos
lxdpool01/containers/docker-learn                                                                   1.05G  98.3G  1.51G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/docker-learn
lxdpool01/containers/docker-template                                                                 155K  98.3G   675M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/docker-template
lxdpool01/containers/docker-template@copy-ee89e692-8a96-487b-8c28-bc8ea7b47d8e                         1K      -   675M  -
lxdpool01/containers/docker01                                                                       2.45G  98.3G  2.38G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/docker01
lxdpool01/containers/docker01@copy-e587da0c-c3b9-4c53-94eb-af322210d799                             55.1M      -   675M  -
lxdpool01/containers/docker01@copy-53820025-1962-42d4-8d26-c40ead5337ad                             59.4M      -   936M  -
lxdpool01/containers/docker01@snapshot-02-10-20-16-14                                               62.9M      -  2.38G  -
lxdpool01/containers/ghost-02                                                                       3.71G  98.3G  3.81G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/ghost-02
lxdpool01/containers/ghost-dev                                                                       586M  98.3G   802M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/ghost-dev
lxdpool01/containers/ghostblog-restore                                                               106M  98.3G  2.79G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/ghostblog-restore
lxdpool01/containers/mailserver-testupgrade                                                         1.99G  98.3G  1.99G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/mailserver-testupgrade
lxdpool01/containers/minecraft                                                                       423M  98.3G   527M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/minecraft
lxdpool01/containers/mx2                                                                            1.00G  98.3G  1.07G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/mx2
lxdpool01/containers/ns1-restored                                                                   5.08M  98.3G   352M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/ns1-restored
lxdpool01/containers/ns2                                                                             316M  98.3G   404M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/ns2
lxdpool01/containers/revproxy-old                                                                    162M  98.3G   303M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/revproxy-old
lxdpool01/containers/revproxy-restore                                                                165M  98.3G   706M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/revproxy-restore
lxdpool01/containers/revproxy02                                                                      806M  98.3G   806M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/revproxy02
lxdpool01/containers/shinobi                                                                         912M  98.3G  1.23G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/shinobi
lxdpool01/containers/unms                                                                           13.7G  98.3G  14.0G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/unms
lxdpool01/containers/zoneminder                                                                     5.24G  98.3G  5.74G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers/zoneminder
lxdpool01/custom                                                                                24K  98.3G    24K  none
lxdpool01/custom-snapshots                                                                            24K  98.3G    24K  none
lxdpool01/deleted                                                                                6.67G  98.3G    24K  none
lxdpool01/deleted/containers                                                                          24K  98.3G    24K  none
lxdpool01/deleted/custom                                                                              24K  98.3G    24K  none
lxdpool01/deleted/images                                                                            6.67G  98.3G    24K  none
lxdpool01/deleted/images/079e64c12313e2a0d747e3914028f8115e756e461b12926625cefa4a376b54e8            181M  98.3G   181M  none
lxdpool01/deleted/images/079e64c12313e2a0d747e3914028f8115e756e461b12926625cefa4a376b54e8@readonly     0B      -   181M  -
lxdpool01/deleted/images/208d20a60acbdc1e76eb384900d2b03c1857002c3c89d7581eab07a1fdd2f799            181M  98.3G   181M  none
lxdpool01/deleted/images/208d20a60acbdc1e76eb384900d2b03c1857002c3c89d7581eab07a1fdd2f799@readonly     0B      -   181M  -
lxdpool01/deleted/images/2dd611e2689a8efc45807bd2a86933cf2da0ffc768f57814724a73b5db499eac            340M  98.3G   340M  none
lxdpool01/deleted/images/2dd611e2689a8efc45807bd2a86933cf2da0ffc768f57814724a73b5db499eac@readonly     0B      -   340M  -
lxdpool01/deleted/images/36f4ed21a7f832dc8f9de0825970f4cfa570ce171d2524e090cb4d35d96e7471            213M  98.3G   213M  none
lxdpool01/deleted/images/36f4ed21a7f832dc8f9de0825970f4cfa570ce171d2524e090cb4d35d96e7471@readonly     0B      -   213M  -
lxdpool01/deleted/images/39b5bbd7cf7e3642631d463c1e8582bfb50a1b9cc4c792026e6791c5e5dde60d            671M  98.3G   671M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/39b5bbd7cf7e3642631d463c1e8582bfb50a1b9cc4c792026e6791c5e5dde60d
lxdpool01/deleted/images/39b5bbd7cf7e3642631d463c1e8582bfb50a1b9cc4c792026e6791c5e5dde60d@readonly     0B      -   671M  -
lxdpool01/deleted/images/7fa200f4dfbe64189734eedf7b2d8b4e7d304f840a6ef4dc01afa0e005f9396f           2.79G  98.3G  2.79G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/7fa200f4dfbe64189734eedf7b2d8b4e7d304f840a6ef4dc01afa0e005f9396f
lxdpool01/deleted/images/7fa200f4dfbe64189734eedf7b2d8b4e7d304f840a6ef4dc01afa0e005f9396f@readonly     0B      -  2.79G  -
lxdpool01/deleted/images/8c4e87e53c024e0449003350f0b0626b124b68060b73c0a7ad9547670e00d4b3            342M  98.3G   342M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/8c4e87e53c024e0449003350f0b0626b124b68060b73c0a7ad9547670e00d4b3
lxdpool01/deleted/images/8c4e87e53c024e0449003350f0b0626b124b68060b73c0a7ad9547670e00d4b3@readonly     0B      -   342M  -
lxdpool01/deleted/images/979ff60086ca9fb1c93d3131f8eca291820a524f0bd0b7d621a3c2f5f41ef185            342M  98.3G   342M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/979ff60086ca9fb1c93d3131f8eca291820a524f0bd0b7d621a3c2f5f41ef185
lxdpool01/deleted/images/979ff60086ca9fb1c93d3131f8eca291820a524f0bd0b7d621a3c2f5f41ef185@readonly     0B      -   342M  -
lxdpool01/deleted/images/97c470e427c425cf2ec4d7d55b6f1397ea55043c518b194a58fc6b9da426f540            533M  98.3G   533M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/97c470e427c425cf2ec4d7d55b6f1397ea55043c518b194a58fc6b9da426f540
lxdpool01/deleted/images/97c470e427c425cf2ec4d7d55b6f1397ea55043c518b194a58fc6b9da426f540@readonly     0B      -   533M  -
lxdpool01/deleted/images/a7cee2f531e76a81e6d7efefaf96cb4804346cfbc45e9497a7701247bb648c27            449M  98.3G   449M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/a7cee2f531e76a81e6d7efefaf96cb4804346cfbc45e9497a7701247bb648c27
lxdpool01/deleted/images/a7cee2f531e76a81e6d7efefaf96cb4804346cfbc45e9497a7701247bb648c27@readonly     0B      -   449M  -
lxdpool01/deleted/images/a92eaa65a5c5e53c6bf788b4443f4e5d2afac1665486247c336aa90959522bb6            358M  98.3G   358M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/a92eaa65a5c5e53c6bf788b4443f4e5d2afac1665486247c336aa90959522bb6
lxdpool01/deleted/images/a92eaa65a5c5e53c6bf788b4443f4e5d2afac1665486247c336aa90959522bb6@readonly     0B      -   358M  -
lxdpool01/deleted/images/e9000af2a59f3ea189fba9dddd283f502b7ceca09bca5d5af64fae9f8c0eb4e9            182M  98.3G   182M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/e9000af2a59f3ea189fba9dddd283f502b7ceca09bca5d5af64fae9f8c0eb4e9
lxdpool01/deleted/images/e9000af2a59f3ea189fba9dddd283f502b7ceca09bca5d5af64fae9f8c0eb4e9@readonly     0B      -   182M  -
lxdpool01/deleted/images/f46afc16f1e9e2f94691466fc6de3f179ac408ab6470fd1f988d420eb0cbf7e4            182M  98.3G   182M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/f46afc16f1e9e2f94691466fc6de3f179ac408ab6470fd1f988d420eb0cbf7e4
lxdpool01/deleted/images/f46afc16f1e9e2f94691466fc6de3f179ac408ab6470fd1f988d420eb0cbf7e4@readonly     0B      -   182M  -
lxdpool01/deleted/virtual-machines                                                                    24K  98.3G    24K  none
lxdpool01/images                                                                                1.06G  98.3G    24K  none
lxdpool01/images/39a93d0b355279d430e8ce21c689aa88515212ee99874276e77f7f31ad7bf810                    359M  98.3G   359M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/39a93d0b355279d430e8ce21c689aa88515212ee99874276e77f7f31ad7bf810
lxdpool01/images/39a93d0b355279d430e8ce21c689aa88515212ee99874276e77f7f31ad7bf810@readonly             0B      -   359M  -
lxdpool01/images/4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c                    533M  98.3G   533M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c
lxdpool01/images/4746a4889a31e449e6c5e2764eb733a60e85131be3165c91d5f5a8346f0ba43c@readonly             0B      -   533M  -
lxdpool01/images/9dd39f26cb44777c9f577f4d4f87cc2de7c35cf6cf8e8acf7ac9172fd1087790                    197M  98.3G   197M  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/images/9dd39f26cb44777c9f577f4d4f87cc2de7c35cf6cf8e8acf7ac9172fd1087790
lxdpool01/images/9dd39f26cb44777c9f577f4d4f87cc2de7c35cf6cf8e8acf7ac9172fd1087790@readonly             0B      -   197M  -
lxdpool01/snapshots                                                                                75.4M  98.3G    24K  none
lxdpool01/snapshots/bitwarden                                                                       75.2M  98.3G    24K  none
lxdpool01/snapshots/bitwarden/01-19-20-01-23                                                        75.1M  98.3G  13.3G  /var/snap/lxd/common/lxd/storage-pools/lxdpool01/containers-snapshots/bitwarden/01-19-20-01-23
lxdpool01/snapshots/docker-learn                                                                      24K  98.3G    24K  none
lxdpool01/snapshots/docker01                                                                          24K  98.3G    24K  none
lxdpool01/snapshots/ghost-02                                                                          24K  98.3G    24K  none
lxdpool01/snapshots/ghost-dev                                                                         24K  98.3G    24K  none
lxdpool01/snapshots/mx2                                                                               24K  98.3G    24K  none
lxdpool01/snapshots/ns2                                                                               24K  98.3G    24K  none
lxdpool01/snapshots/reverse-proxy                                                                     24K  98.3G    24K  none
lxdpool01/snapshots/revproxy-restore                                                                  24K  98.3G    24K  none
lxdpool01/snapshots/revproxy02                                                                        24K  98.3G    24K  none
lxdpool01/snapshots/unms                                                                              24K  98.3G    24K  none
lxdpool01/tmp                                                                                24K  98.3G    24K  /lxdpool01/tmp
lxdpool01/virtual-machines                                                                            24K  98.3G    24K  none

lxc revproxy02<PHONE_NUMBER>5631.884 DEBUG    conf - conf.c:run_buffer:313 - Script exec /proc/30271/exe callhook /var/snap/lxd/common/lxd 47 start produced output: Error: Get "http://unix.socket/internal/containers/47/onstart": dial unix /var/snap/lxd/common/lxd/unix.socket: connect: connection refused

That's very very unusual. Are you using some kind of bind-mount for data under /var/snap?

@stgraber No, no bind mounts here.

Ok. If that's an acceptable solution for you, I'm 99% sure that a reboot would do it.
If restarting the system isn't an option, I'm sure we can find some weird ways to get the socket to behave inside the snap environment but that will need some more poking around to see how it broke.

Rebooting in 3.2.1...
Yes, lxd is working again, only needed to manually start the containers, no containers where started automatically.
Thanks...

You may want to stash boot.autostart=true in your default profile if you want to ensure all containers are always started, regardless of their last state.


Compound validation of scale values and units

What is the problem you're trying to solve?

Compound validation of scale values with a particular unit is nice, given that units can have different orders of magnitude.
When defining font-size with several units, some unexpected combinations can happen. If our rule is defined like this:
{
  "scale": [1, 1.5, 16],
  "units": ["px", "rem"]
}

A developer could use 16rem within styles without raising any validation errors.

What solution would you like to see?

Probably a compound rule (https://github.com/signal-noise/stylelint-scales/issues/28) (or the current rule) accepting multiple values for the same scale would be good, and will allow developers to avoid those unexpected errors.

I have a need for this too. I'd like to use a different space scales for em and rem units. I'd like to enforce a minor third scale for em (to align with the browser defaults for relative vertical space around type), and use a powers-of-two scale for rem for everything else.
The rule can be changed to accept an object as its primary option, e.g.:
{
  "scales/space": {
    "em": [0.58, 0.67, 0.83, 1, 1.17, 1.5, 1.73],
    "rem": [0.25, 0.5, 1, 2, 4, 8]
}

I have a need for this too. I'd like to use a different space scales for em and rem units. I'd like to enforce a minor third scale for em (to align with the browser defaults for relative vertical space around type), and use a powers-of-two scale for rem for everything else.
The rule can be changed to accept an object as its primary option, e.g.:
{
  "scales/space": {
    "em": [0.58, 0.67, 0.83, 1, 1.17, 1.5, 1.73],
    "rem": [0.25, 0.5, 1, 2, 4, 8]
}


Error :  Android tasks have already been created.

Error:Android tasks have already been created.
This happens when calling android.applicationVariants,
android.libraryVariants or android.testVariants.
Once these methods are called, it is not possible to
continue configuring the model.

which version of gradle tools you using?