Cannot access \wsl$\Ubuntu in Explorer, cannot launch Windows commands from WSL

Environment
Windows build number:  Win32NT             10.0.19041.0 Microsoft Windows NT 10.0.19041.0
Your Distribution version: Ubuntu 20.04
Whether the issue is on WSL 2 and/or WSL 1: WSL2

Steps to reproduce

Go to \wsl$ in Explorer
See the Ubuntu directory, click it
Receive an error message "\wsl$\Ubuntu is not accessible. You might not have permission to use this network resource. Attempt to access invalid address".

Another problem which I think is linked - any command ("explorer.exe ." for example, or "code .") return "/mnt/c/Windows/explorer.exe: Invalid argument"
These work from windows paths (/mnt/c/Windows for example)
Expected behavior
Access the WSL directories through explorer, or be able to launch windows commands from WSL paths
Actual behavior
Errors as described above. Tried to search for similar open issues - a lot have similar symptoms (https://github.com/microsoft/WSL/issues/4027) for example, but none of the fixes posted work.
Looked at the registry keys mentioned in these issues, all fine.
Tried to reinstall WSL completely (toggling the feature off, reboot, then on, reboot)
Tried to install another distro, same result
Tried to repair Ubuntu
Tried to repair Windows using
"sfc /scannow
dism /Online /Cleanup-Image /CheckHealth && dism /Online /Cleanup-Image /RestoreHealth
sfc /scannow
netcfg -d"

Please submit networking logs via feedback hub.

Sent - let me know if you need anything else.

This might be similar or the same issue as I and a couple other people are having in #5307. I will submit networking logs when I am next at my desktop.

Tried running Windows Insiders 10 Dev channel + updated WSL2 to latest, then uninstalling / reinstalling WSL, no luck.
Also tried a full reset of network, nothing. At a loss here, and this is impacting my workflow a lot.

Tried installing on my work computer - works #1 without issues - what are my options? I guess I have the nuclear reinstall Windows from scratch but I'd love to avoid that.

Found a workaround! Weirdly, I can map \wsl$\Ubuntu as a network drive and access / copy files both ways! Also weirdly, I cannot map anything else than the base level folder - trying to map \wsl$\Ubuntu\home or anything else than \wsl$\Ubuntu fails.
Works for me for now, but still would like to see this issue properly resolved, as the second part of the problem is still present - cannot launch .exe from WSL if they are Windows side (a problem with VS Code for example).
Where would the problem be? Is there some register of the address where \wsl$\Ubuntu points to that is corrupted leading to the 'access invalid address' and 'invalid argument' errors?
Trying to do 'dir \wsl$\Ubuntu' from Powershell leads to "cd : Cannot find path '\wsl$\Ubuntu' because it does not exist." - yet I can access my mapped network drive (Z:) just fine.
Happy to help troubleshoot this, many people are experiencing the same.

I am having the same issue accessing \wsl$\Ubuntu-20.04 from Explorer. However, this solution didn't work for me. When I attempted to create the network drive, I got "Windows cannot access \wsl$\Ubuntu-20.04", with error code 0x80070043 The network name cannot be found. When I run the Diagnose tool, I am told 'You do not have permission to access "\wsl$\Ubuntu-20.04"'
I can get to \wsl$\Ubuntu-20.04 via an unprivileged PowerShell, but not via Explorer.
I have looked at the permissions in the UserApp folder under Canonical, and my account has full privileges on all files there.
Any ideas?

I hit the same issue and discovered what caused it:
Environment
Windows build number: Win32NT 10.0.18363.0 Microsoft Windows NT 10.0.18363.0
Your Distribution version: Ubuntu 18.04
Whether the issue is on WSL 2 and/or WSL 1: WSL2 (Linux version 4.4.0-18362-Microsoft<EMAIL_ADDRESS>(gcc version 5.4.0 (GCC) ) #836-Microsoft Mon May 05 16:04:00 PST 2020)

Steps to reproduce

Install and setup WSL2 as normal
Verify that Ubuntu file system can be accessed via explorer.exe using the path \\wsl$\Ubuntu
Configure sudo access for default user for sshd without a password. Within WSL:

sudo visudo
Add this line after %sudo...
your_username ALL=(ALL) NOPASSWD:/etc/init.d/ssh

Configure a basic task to start SSHD when the computer boots

Open Task Scheduler
Within Task Scheduler Library, find the folder for the machine
Create a Basic Task:
Trigger when computer starts,
Action: start a program,
Script: %windir%\System32\bash.exe
Args: -c "sudo /etc/init.d/ssh start"

Restart the computer
Attempt to access \\wsl$\Ubuntu
Access will be denied - permissions error. No workaround currently posted appears to work.

Expected behavior
WSL SSH should have been started and the WSL VHD should still be accessible.
Actual behavior
WSL SSH has started but access to the WSL VHD is denied. I suspect this is because WSL is first booted from an admin account / system account during startup, so the permissions end up incorrect. After removing the Task from Task Scheduler and rebooting, the WSL VHD became accessible again.
Additional notes

I am running Windows 10 Education Edition - hence the slightly out of date Windows build since the latest version hasn't been distributed to me yet.
I understand the risks (vs rewards) of granting passwordless sudo access etc.

HI Ed,
Thanks for your post. I'm a little confused by your steps to reproduce. My problem is that I can't get past step 2. I get different behaviors depending on how I attempt to access \wsl$\Ubuntu (after starting WSL2 by opening an Ubuntu window):
Environment
Microsoft Windows [Version 10.0.19041.450]
Steps to Reproduce
Step 1: Open an Ubuntu shell (to start WSL2).
Step 2: Using the following approaches, attempt to access the Linux file system:

Approach 1: Type "\wsl$\Ubuntu" into the path entry bar at the top of File Explorer. That results in a "Windows cannot access..." error 0x80004005

Approach 2: Type "cd \wsl$\Ubuntu" into an unprivileged PowerShell window. This works as expected. The directory is the root of a Linux file system.

Approach 3: Open a run window with +R and type "explorer.exe \wsl$\Ubuntu". This opens up a "My Documents" window in File Explorer.

Approach 4: From the Ubuntu shell, type "explorer.exe". This opens up a "Quick Access" window in File Explorer

Expected behavior:
All of these approaches should result in access to the root of the Linux file system.
Actual behavior:
Only the second approach results in access to the Linux file system

Hi,
In my original post, I started with a working system - so the repro listed was showing how to go from a working system to a broken one (and back again). If your setup is already failing to access the WSL VHD (Virtual Hard Drive) then my repro steps above won't be much use. (I posted my info on this issue rather than creating a new, duplicate issue for what is probably the same underlying problem - but that's just a guess. Who knows! I'm sure someone with deeper knowledge of how Windows works could inform me.)
In all approaches it should be double-backslash, not single backslash, at the beginning of the path: \\wsl$\Ubuntu. I presume this was just a typo on Github (or perhaps some aspect of Markdown) otherwise none of the approaches would have worked.

Approach 1: This should work. Given you're already having trouble accessing WSL via Windows Explorer, I'm guessing there's some underlying issue.
Approach 2: This also works for me. Interesting that PowerShell gives you access when Windows Explorer won't - that seems like yet another issue. Are you able to run commands after cding into the WSL VHD?
Approach 3: Again, this should work and achieves the same as approach 1. When Windows Explorer is started with a path it can't access (for any reason/error), then it just defaults to My Documents, hence your experience.
Approach 4: explorer.exe on its own wouldn't achieve the intended result. You would need to run explorer.exe . to open Windows Explorer in the current directory.

Hope this helps,
Ed

Hi Ed,
Thanks for the clarification and the corrections. I've edited my post to correct them. The Markdown styling caused my
'\\" to show as a single "\". On approach #4, I had indeed forgotten the "." to indicate the current directory. When I did that, I got "My Documents" rather than the default Quick Access.
In Approach #2, (from PowerShell), Yes, I can run commands against the files I find there. For example, I can run git init and then add and commit files.
Thanks,
Jeff

Hello I experience this on any clean install WSL2 using Fedora Remix. Is there really no way to fix it other than mount it? Thanks

@therealkenc based on the data, does this is occasionally happen or never happen on new machine installation? I'm tried to reinstall and use new profile/user, still face this problem across computer.
Does that mean my ISO is broken or any other thing that we could try to fix this? Thank you

occasionally happen or never happen on new machine installation?

Impossible to say whether the issue "never" happens on a new machine installation; but if it does, based on the two likes on the OP, the error ("/mnt/c/Windows/explorer.exe: Invalid argument") does not manifest on many fresh installs.

occasionally happen or never happen on new machine installation?

Impossible to say whether the issue "never" happens on a new machine installation; but if it does, based on the two likes on the OP, the error ("/mnt/c/Windows/explorer.exe: Invalid argument") does not manifest on many fresh installs.

So it's still not reproducable and hard to track down right?
I got same error for exact 20 computer on my Uni lab with same ISO. hmm..
It's really really strange..

So it's still not reproducable and hard to track down right?

Correct. There are two likes on the OP. Imagine the status of this issue if no one could run code.

I got same error for exact 20 computer on my Uni lab with same ISO. hmm..

There are two possibilities. There is something unique about those 20 machines. There is something unique about the ISO. You can get unadulterated Windows ISOs here to test the hypothesis.

This seems to be a widespread problem without any unique or reliable solution. See #6170 and #4260.

My WSL2 is working fine with VSCode but I am also unable to access \\wsl$\ in Explorer.
I don't need explorer access on a daily basis, but I mention it because it might help in this discussion

My OS:  Win10 20H2 (build 19042.867)
Let me know if you need more details

I have finally solved this issue for good. If I am having a guess I would say that you are all facing this error because you installed the app "Ubuntu" from Microsoft store, you should rather install Ubuntu from this link "https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx".
After making this change I never had an issue again with "explorere.exe ." command.

Any solution for above. I am installing WSL for DDEV Docker i cant see my project files any one guide me from where i can see my files

Environment
Windows build number:  Win32NT             10.0.19041.0 Microsoft Windows NT 10.0.19041.0
Your Distribution version: Ubuntu 20.04
Whether the issue is on WSL 2 and/or WSL 1: WSL2

Steps to reproduce

Go to \wsl$ in Explorer
See the Ubuntu directory, click it
Receive an error message "\wsl$\Ubuntu is not accessible. You might not have permission to use this network resource. Attempt to access invalid address".

Another problem which I think is linked - any command ("explorer.exe ." for example, or "code .") return "/mnt/c/Windows/explorer.exe: Invalid argument"
These work from windows paths (/mnt/c/Windows for example)
Expected behavior
Access the WSL directories through explorer, or be able to launch windows commands from WSL paths
Actual behavior
Errors as described above. Tried to search for similar open issues - a lot have similar symptoms (#4027) for example, but none of the fixes posted work.
Looked at the registry keys mentioned in these issues, all fine.
Tried to reinstall WSL completely (toggling the feature off, reboot, then on, reboot)
Tried to install another distro, same result
Tried to repair Ubuntu
Tried to repair Windows using
"sfc /scannow
dism /Online /Cleanup-Image /CheckHealth && dism /Online /Cleanup-Image /RestoreHealth
sfc /scannow
netcfg -d"

Same issue but slightly different error message (note the path is not wsl$ anymore but wsl.localhost) on preview build 21370.1

VSCode works fine, Windows Terminal Preview cannot access the home folder from settings anymore (it was a \wsl$... type path to my wsl home dir).

you can run   wsl  --shutdown to fix issue

I have this issue since the preview build introducing "wsl.local". The workaround is, as previously mentioned
$wsl --shutdown
in a cmd window after every reboot, and of course I need to restart windows docker client to connect again to the WSL2 docker engine.

So it's still not reproducable and hard to track down right?

Correct. There are two likes on the OP. Imagine the status of this issue if no one could run code.

I got same error for exact 20 computer on my Uni lab with same ISO. hmm..

There are two possibilities. There is something unique about those 20 machines. There is something unique about the ISO. You can get unadulterated Windows ISOs here to test the hypothesis.

Hello di did try the new ISO file from the link on new computer, produce same result. Are you sure this isn't from Microsoft ISO Problem? Because this happen on many machine that I tried, with fresh iso downloaded from MS

Hi everyone,
I'm facing the same problem but I can manage to overcome it. I think it is a problem of permission (in my case at least). Indeed, If I change the default user of my distro to root, then it works.
To do so, open the windows registry manager and go here:
\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{ID_OF_YOUR_DISTRO}
You can check you are editing the correct distro by looking at the "DistributionName" key.
Update the key "DefaultUid" to 0 in Decimal (please keep somewhere the value before putting 0).
Then restart your distro using PowerShell:
wsl --shutdown; wsl
You will be logged as root.
Then try to access to \wsl$\DISTRO_NAME via explorer.exe.
It is not a long term solution but I think it could help to find the right one if this solve the problem for you.
To restore the original default user, just put the id which was in the key "DefaultUid". You can also define the one you want by executing this command in the distro:
id -u NAME_OF_DEFAULT_USER_WANTED
This will return an integer you should place in "DefaultUid" key (in decimal mod).

same issue on clean install of win11 22000.160, installed just docker and a few utilities. weird and annoying.
Though additional observation - as i was able to run gedit. now i cannot. Gtk-WARNING **: 15:31:01.607: cannot open display: :0
i think the issue with display is correlated. some permission issue. - blind guess tho

Hi everyone,
I'm facing the same problem but I can manage to overcome it. I think it is a problem of permission (in my case at least). Indeed, If I change the default user of my distro to root, then it works.
To do so, open the windows registry manager and go here:
\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{ID_OF_YOUR_DISTRO}
You can check you are editing the correct distro by looking at the "DistributionName" key.
Update the key "DefaultUid" to 0 in Decimal (please keep somewhere the value before putting 0).
Then restart your distro using PowerShell:
wsl --shutdown; wsl
You will be logged as root.
Then try to access to \wsl$\DISTRO_NAME via explorer.exe.
It is not a long term solution but I think it could help to find the right one if this solve the problem for you.
To restore the original default user, just put the id which was in the key "DefaultUid". You can also define the one you want by executing this command in the distro:
id -u NAME_OF_DEFAULT_USER_WANTED
This will return an integer you should place in "DefaultUid" key (in decimal mod).
I precise the problem comes from a distro I have imported from another PC. On the original PC, no such problem.

Sorry this option I tried still not solve the issue. nice try tho.

I cloned my user giving same uid but to no avail.
Solution:
Wsl hostname -I
Copy paste to hosts windows file
Ip address from above wsl.localhost
Now works.
Probably you need to swap host ip every time you restart wsl or reboot.
Unless you have static ip hoch i solved by wsl adapter bridge.

Hi everyone,
I'm facing the same problem but I can manage to overcome it. I think it is a problem of permission (in my case at least). Indeed, If I change the default user of my distro to root, then it works.
To do so, open the windows registry manager and go here:
\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{ID_OF_YOUR_DISTRO}
You can check you are editing the correct distro by looking at the "DistributionName" key.
Update the key "DefaultUid" to 0 in Decimal (please keep somewhere the value before putting 0).
Then restart your distro using PowerShell:
wsl --shutdown; wsl
You will be logged as root.
Then try to access to \wsl$\DISTRO_NAME via explorer.exe.
It is not a long term solution but I think it could help to find the right one if this solve the problem for you.
To restore the original default user, just put the id which was in the key "DefaultUid". You can also define the one you want by executing this command in the distro:
id -u NAME_OF_DEFAULT_USER_WANTED
This will return an integer you should place in "DefaultUid" key (in decimal mod).
I precise the problem comes from a distro I have imported from another PC. On the original PC, no such problem.

This thing works for me. Thanks.

I encounter the similar issue, but was unable to resolve it with wsl --shutdown and restart.
I was trying to map to \mnt\d\code so that I can code python with WSL with Pycharm. Interestingly I can map to any folder under wsl but the mounted folders. So I believe there are some permission issues that I don't wanna brother solving. So my current workaround is to create another folder under home and go along with it.

I am seeing the same problem as @mickelliu. I am running Microsoft Windows [Version 10.0.22000.282] with WSL2. The distro does not matter — it seems all are equally affected. From within Windows I can browse every folder under \\wsl.localhost\{DISTRO}\, except any folder found inside the mnt folder. It's ironic that these folders are in Windows!

Well, this seems to be silly, but... just in case, I comment here what solved this problem in my case.
It had this new environment that I was building (WSL2) and couldn't either reach the \wsl$ folder from Windows (explorer). But after created a simple folder inside WSL2 home (ex: /home//developer) the folder and navigation from Windows Explorer start to work normally.
Probably not the solution for all case (old environments), but might help those with a new one.

same problem https://github.com/microsoft/WSL/issues/7644

Hi everyone,
I'm facing the same problem but I can manage to overcome it. I think it is a problem of permission (in my case at least). Indeed, If I change the default user of my distro to root, then it works.
To do so, open the windows registry manager and go here:
\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{ID_OF_YOUR_DISTRO}
You can check you are editing the correct distro by looking at the "DistributionName" key.
Update the key "DefaultUid" to 0 in Decimal (please keep somewhere the value before putting 0).
Then restart your distro using PowerShell:
wsl --shutdown; wsl
You will be logged as root.
Then try to access to \wsl$\DISTRO_NAME via explorer.exe.
It is not a long term solution but I think it could help to find the right one if this solve the problem for you.
To restore the original default user, just put the id which was in the key "DefaultUid". You can also define the one you want by executing this command in the distro:
id -u NAME_OF_DEFAULT_USER_WANTED
This will return an integer you should place in "DefaultUid" key (in decimal mod).
I precise the problem comes from a distro I have imported from another PC. On the original PC, no such problem.

hmm strange but this fixes root folder access, before windows 11 22494 update I can access the root folder in file explorer but since that update I can't access the folder with the error display "attempt to access"

Same shit here

After reading a few comments I read on this thread, I went back to the drawing board.  It's definitely a permissions issue.
Here was the fix.  Ensure if you are running from something such as 'Task Scheduler' you do NOT select "run elevated".  This will run WSL, sure.  But it does not run with the same credentials you are logged in as (most likely).  Unselect that option and profit!
Cheers!

Hi everyone,
I'm facing the same problem but I can manage to overcome it. I think it is a problem of permission (in my case at least). Indeed, If I change the default user of my distro to root, then it works.
To do so, open the windows registry manager and go here:
\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{ID_OF_YOUR_DISTRO}
You can check you are editing the correct distro by looking at the "DistributionName" key.
Update the key "DefaultUid" to 0 in Decimal (please keep somewhere the value before putting 0).
Then restart your distro using PowerShell:
wsl --shutdown; wsl
You will be logged as root.
Then try to access to \wsl$\DISTRO_NAME via explorer.exe.
It is not a long term solution but I think it could help to find the right one if this solve the problem for you.
To restore the original default user, just put the id which was in the key "DefaultUid". You can also define the one you want by executing this command in the distro:
id -u NAME_OF_DEFAULT_USER_WANTED
This will return an integer you should place in "DefaultUid" key (in decimal mod).
I precise the problem comes from a distro I have imported from another PC. On the original PC, no such problem.

hmm strange but this fixes root folder access, before windows 11 22494 update I can access the root folder in file explorer but since that update I can't access the folder with the error display "attempt to access"

You saved my lifes yesterday.
This morning i have updated my computer with windows update and revert the regedit change : it's fixed !
Thanks you.

I'm having this issue when trying to open the c drive folder. I'll run explorer.exe inside the terminal however this only takes me to the windows file system, not the linux file system. Has anyone found a solution to this problem?

same issue
try every thing above, did not  work
must reboot(windwos)
windwos 22000.376
wsl2

Absolutely the same issue
Just restart the wsl2 without doing anything else can solve all of my problems:
Open powershell and run with:
wsl --shutdown
wsl

I did run into the same problem today. This problem appeared in the past here and then but always could be fixed with a restart.
Today neither a restart of WSL nor a restart of my PC helped. WSL is accessible via the Windows Terminal and I can cd into \\wsl$\Ubuntu with Powershell but the Explorer is loading endlessly.
I'm using Windows 11 Pro Insider Preview Build 22533.rs_prerelease.220107-2122.

I did also run into this issue. file://///wsl$/Ubuntu-20.04 is still accessible from firefox and restarting the explorer from the task manager fixes the issue.

I hit the same issue and discovered what caused it:
Environment
Windows build number: Win32NT 10.0.18363.0 Microsoft Windows NT 10.0.18363.0
Your Distribution version: Ubuntu 18.04
Whether the issue is on WSL 2 and/or WSL 1: WSL2 (Linux version 4.4.0-18362-Microsoft<EMAIL_ADDRESS>(gcc version 5.4.0 (GCC) ) #836-Microsoft Mon May 05 16:04:00 PST 2020)

Steps to reproduce

Install and setup WSL2 as normal

Verify that Ubuntu file system can be accessed via explorer.exe using the path \\wsl$\Ubuntu

Configure sudo access for default user for sshd without a password. Within WSL:

sudo visudo
Add this line after %sudo...
your_username ALL=(ALL) NOPASSWD:/etc/init.d/ssh

Configure a basic task to start SSHD when the computer boots

Open Task Scheduler
Within Task Scheduler Library, find the folder for the machine
Create a Basic Task:
Trigger when computer starts,
Action: start a program,
Script: %windir%\System32\bash.exe
Args: -c "sudo /etc/init.d/ssh start"

Restart the computer

Attempt to access \\wsl$\Ubuntu

Access will be denied - permissions error. No workaround currently posted appears to work.

Expected behavior
WSL SSH should have been started and the WSL VHD should still be accessible.
Actual behavior
WSL SSH has started but access to the WSL VHD is denied. I suspect this is because WSL is first booted from an admin account / system account during startup, so the permissions end up incorrect. After removing the Task from Task Scheduler and rebooting, the WSL VHD became accessible again.
Additional notes

This probably isn't the same cause as others are having but I hope it will help to diagnose the underlying problem in WSL.
I am running Windows 10 Education Edition - hence the slightly out of date Windows build since the latest version hasn't been distributed to me yet.
I understand the risks (vs rewards) of granting passwordless sudo access etc.

This is exactly my issue. I added a line to the sudoers file to enable passwordless startup of the cron service via Task Scheduler. Once I restarted WSL via powershell, everything was back to normal but cron was once again down.

I have same issue randomly appear.
My case,every thing was ok for some time,but suddenly cannot open wsl folder from explorer.
explorer cannot access wsl because it using \\wsl.localhost\Ubuntu-20.04 and cause no command can start from wsl2 terminal.
But I can access wsl2 folders from explorer using \\wsl$\Ubuntu-20.04
the key different is wsl.localhost vs wsl$, So there is some network bridge issues?
Restart wsl or restart computer cannot resolve this problem.
version:
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>
WSLg version: 1.0.30
Windows version: 10.0.22557.1(update today but old version also have this bug)

According to discussed upper, I can confirm I do not using any cron/systemd sercices.

I have the same issue recently. (maybe 2 weeks I think)
After I update my Windows, it seems there is no issue any more.

Resolve this problem:

Do backup.

wsl --export Ubuntu "C:\Ubuntu.tar"

Remove WSL. Use this article.

wsl.exe --shutdown
Get-AppxPackage -Name MicrosoftCorporationII.WindowsSubsystemforLinux | Remove-AppxPackage

Restart the computer.
In Windows PowerShell:

wsl --install

Restart the computer.
Open Ubuntu and set username/password
Remove Ubuntu and import backup

wsl --unregister Ubuntu
wsl --import Ubuntu "C:\wsu" "C:\Ubuntu.tar"

Profit!

Why will this method help solve the problem?
WSL from the command line comes with the latest version. And the necessary settings will be made automatically. It already has all the necessary and known fixes.
But WSL from the Microsoft Store has a lower version and is unstable for many.
For example:

jetbrains (phpstorm, pycharm) have a freezing problem.
problem with access to the explorer.

Don't use WSL from the Microsoft Store! Install with a command in PowerShell.

This happened to me recently on Windows 10. Only thing I did was export my WSL distribution...

@odbol Are you saying that merely exporting WSL caused a '\wsl$\LINUX' access error? If so, it is ironic that in my case, with Win11, merely exporting WSL corrected the problem!  I was about to follow the rest of the (helpful) steps that @Q0 posted on Apr 8 when, after the export, it was back to 'normal'.  It would be useful to know what changed (or caused it in the first place?!)

(earlier today) "merely exporting WSL corrected the problem"
FYI: I spoke too soon... one Windows restart and the problem is back!

Hey @dgbruce, you really need to reinstall WSL. To do this, you need to uninstall WSL and install via PowerShell with the wsl --install command. Be sure to restart your computer after uninstalling WSL. I guess that your problem lies in the wrong register values. Manual fixing is not an option. But installing via the command line will help.
It would be great if you post your results. I think I have enough experience to help you with the problem. I'll be glad to help.

I start experience second issue from original post which is access denied to \wsl$<distro>\mnt\c. This prevents me from running VS code from terminal using "code ."
Complete WSL uninstall and re-install did not help. This impacts multiple distributions (Ubuntu and Debian).
OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.19044 N/A Build 19044
WSL2

Same Issue

Name
Value

OS
Windows 10

OS build
19044.1706

WSL
Ubuntu 18.04

The same issue happened after I did some work on ext4.vhdx(the private virtual hard drive) as link.
I solved the problem after I did the following steps:

Open Windows Powershell (admin)
wsl --shutdown <distro>
wsl

p.s. It also works properly after reboot.

Resolve this problem:
1. Do backup.

wsl --export Ubuntu "C:\Ubuntu.tar"

2. Remove WSL. Use [this article](https://pureinfotech.com/uninstall-wsl2-windows-10/).

wsl.exe --shutdown
Get-AppxPackage -Name MicrosoftCorporationII.WindowsSubsystemforLinux | Remove-AppxPackage

3. Restart the computer.

4. In Windows PowerShell:

wsl --install

5. Restart the computer.

6. Open Ubuntu and set username/password

7. Remove Ubuntu and import backup

wsl --unregister Ubuntu
wsl --import Ubuntu "C:\wsu" "C:\Ubuntu.tar"

8. Profit!

Why will this method help solve the problem?
WSL from the command line comes with the latest version. And the necessary settings will be made automatically. It already has all the necessary and known fixes.
But WSL from the Microsoft Store has a lower version and is unstable for many.
For example:
1. jetbrains (phpstorm, pycharm) have a freezing problem.

2. problem with access to the explorer.

Don't use WSL from the Microsoft Store! Install with a command in PowerShell.

Tried this, sadly no luck. Does it mean only nucking the whole OS then it will works? Ugh, so sad...

Is this issue solved? I can still see this problem on my PC today, my os build ver is: 22000.856 (WIN11 21H2)

Hey, seems I accidentally found out a workaround to solve this issue. By shuting down the WSL and restart it via command line "wsl --shutdown; wsl" in windows Powershell, I can now access the WSL2 folders in win11 file explorer.

Sometimes, it works, sometimes it is not sadly. I think the key is always do clean install each time Windows do upgrade from one version to another… (their in-place upgrade suck, cause this to kept happening…, I really lost hope on it)
Best  Regards,
Benyamin Limanto 《李嘉铭》
sent from Outlook on my Thinkpad X220
From: Jerry @.***
Sent: 22 Agustus 2022 20:58
To: microsoft/WSL
Cc: Benyamin Limanto; Comment
Subject: Re: [microsoft/WSL] Cannot access \wsl$\Ubuntu in Explorer, cannot launch Windows commands from WSL (#5718)
Hey, seems I accidentally found out a workaround to solve this issue. By shuting down the WSL and restart it via command line "wsl --shutdown; wsl" in windows Powershell, I can now access the WSL2 folders in win11 file explorer.
—
Reply to this email directly, view it on GitHub https://github.com/microsoft/WSL/issues/5718#issuecomment-1222400659 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AAVP2NA4YOEVLIBADGW56VLV2OBNFANCNFSM4PUZSKBQ .
You are receiving this because you commented.  https://github.com/notifications/beacon/AAVP2NG7P46BICLEPV2GYBLV2OBNFA5CNFSM4PUZSKB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOJDOFVEY.gif Message ID: @.***>

I was receiving similar issue.
The file explorer would either give the permissions error or load infinitely until windows restarted file explorer entirely.
restarting wsl or rebooting did not work, so I ran MS Defender Offline scan. It seems to work correctly as of now. Will report back in few days to see if it happens again.

I was receiving similar issue. The file explorer would either give the permissions error or load infinitely until windows restarted file explorer entirely.
restarting wsl or rebooting did not work, so I ran MS Defender Offline scan. It seems to work correctly as of now. Will report back in few days to see if it happens again.

It did :/
Details:
I was using wsl remote in vs code to do my work. Either some sort of crash happened randomly during work or due to wsl being open in file explorer for a while. However first thing I noticed is File Explorer restarted unexpectedly.
Then after that I cannot access \wsl$ from file explorer. It loads infinitely until explorer hangs and restarts. This also happens when I go to Quick Access (as my wsl home directory is pinned there) and when I right click on the said pinned folder in left side view.
I can still access wsl and all its files through the wsl terminal and vs code. (I copied over my work to a native folder using terminal to submit it)
I tried running wsl --shutdown in admin powershell but hangs. And now I can't access wsl in any way, both the terminal and vs code remote hang.
Other research
I remember finding somewhere that chkdsk /f worked for them. I had recently tried it, but it failed as I only have one partition in drive and its what Windows is installed in, running just chkdsk gave no error. However it sounds like the MS Defender Offline Scan does something similar, which is why it might have worked. I may schedule a chkdsk /f upon next reboot if required but it looks risky.
So far this seems to be some hard drive type issue... and also related to file explorer only. Is it just an inevitable crash from an ntfs reader reading ext4 files on ntfs patition?

update:
looked through superuser and a bit of #4027, I couldn't find wsl in Optional Features so I disabled and re-enabled wsl from control panel (requires 2 reboots). The file explorer issue seems to be fixed for now (all data and settings are apparently intact), still need to confirm if its temporary or permanent. if its a temporary fix, Offline Scan is still more feasible as it requires less user interaction and 1 reboot.
before disabling and enabling wsl, rebooting only allowed me to visit and use wsl directory in explorer for like a minute before crashing again.

update:
The crash happened again.
I guess wsl --shutdown was just running slower than before. Running it and then opening wsl again fixed it this time. I have no idea why wsl --shutdown and neofetch are now slower, could be something related to size of stuff stored in ubuntu desktop I guess.
However the wsl+file explorer issue seems resolved on my end now.

Absolutely the same issue Just restart the wsl2 without doing anything else can solve all of my problems: Open powershell and run with: wsl --shutdown wsl

This worked for me, thanks

In my case running Get-Service LxssManager | Restart-Service worked to resolve this issue.

I was struggling with this issue for a while but today I stopped using the "default" install of Ubuntu that comes with WSL and installed a separate version (Ubuntu 20.04) and I havent encountered this issue on 20.04. Maybe thats the workaround? Install something separately from the store and that wont give you issues?

For me, sometimes when I access and copy/paste files between windows/linux it will somehow lock up my system at some point later on. Like my machine can be running for months without issues, then I do something with the mapped network drive for wsl2 and phpstorm, explorer, chrome if I try to right click/save image all fail to operate they just freeze up.

I had this today - solved it by following the registry editing steps from this page:
https://superuser.com/questions/1682390/wsl-ubuntu-is-not-accessible-anymore-from-file-explorer
And then tried turning off and turning on WSL from PowerShell - turns out I had (or an update had) turned off the Virtual Machine Platform. Turned that back on, rebooted - working now.

For me when this happens, opening wsl console or vscode remote seems to solve it

For me, when its locked up opening new wsl terminals fails.
Recently I increased the amount of RAM available in my %USERPROFILE%/.wslconfig to see if that helps any.

So i ran into same issue. I have a feeling people here complain about multiple different causes that lead to the same outcome. I since have solved the problem so im just telling my story in hopes it gives a hint to someone/anyone how to find and fix one or more root causes of this.
I am new to WSL, so very first thing i did after installing windows was installing WSL from windows store. After that i was doing all kinds of random things, following directions on the internet, enabling windows features related to WSL directly, since apparently i got WSL1 running at first. And a range of seemingly benign actions led to system corruption where even though i could finally create WSL2 containers - only WSL1 containers were accessible through \\wsl$. A straightforward symptom of my problem was ArchWSLcreating a WSL1 container in %localappdata%\Packages when double-clicking Arch.exe, this container would be accessible from explorer but would not show up in wsl --list --all -v. I tread to get creative and wsl --import a new container into location of WSL1 container in ``%localappdata%\Packages. This yielded a half-success, because i was now able to browser new WSL2 container (which also shows up in wsl --list --all -v`), but only when container is offline. This must be due to differences how WSL1 and WSL2 handle access of containers. In the end everything seemed terribly broken and not working like for other people on the internet. Hope to fix it was lost.
So i did only sensible thing that was left - reinstall windows (thankfully install i did this on was only 24h old anyway). After reinstalling wsl i no longer did all kinds of random things, instead i installed wsl by running wsl --install --web-download followed by wsl --set-default-version 2. This immediately gave me a working WSL2 where double-clicking Arch.exe created a WSL2 container and it was accessible from explorer.
tl;dr;
The fix:

Reinstall windows
wsl --install --web-download
wsl --set-default-version 2

The conclusion: installing wsl-related things in a random order can mess up wsl beyond repair.

Hey! I had the same issue but I fixed using the WSL console and executing the command:
sudo chown -R  /root
After this I was able to navigate the folder using the file explorer and use the VS code.

Did anybody find a permanent solution for this issue? I am struggling with this issue as well. (Using Windows 11 and the "plain" Ubuntu version from the Microsoft Store.)

Been using my WSL Ubuntu setup for almost 2 years now and this just started to happen to me out of nowhere.. a permanent fix would be nice.

For me the problem was I manually set WSL_DISTRO_NAME in ~/.bashrc. Remove that fix the Invalid argument error for all Windows app


PyOrient fails when selecting a Node that has no properties

To mimic the error do run the following SQL:
CREATE CLASS Test EXTENDS V
CREATE VERTEX Test

Then in python:
import pyorient
config = {
	'db_host': 'localhost',
	'db_port': 2424,
	'db_name': 'diggi-v1',
	'db_username': 'root',
	'db_password': 'veca3150'
}
client = pyorient.OrientDB(config['db_host'], config['db_port'])
client.db_open(config['db_name'], config['db_username'], config['db_password'])
client.query("SELECT FROM Test") # fails here.

It throws an IndexError, with this stacktrace:
Traceback (most recent call last):
  File "issue.py", line 15, in <module>
    client.query("SELECT FROM Po")
  File "/usr/local/lib/python2.7/dist-packages/pyorient/orient.py", line 256, in query
    .prepare(( QUERY_SYNC, ) + args).send().fetch_response()
  File "/usr/local/lib/python2.7/dist-packages/pyorient/messages/commands.py", line 149, in fetch_response
    return self._read_sync()
  File "/usr/local/lib/python2.7/dist-packages/pyorient/messages/commands.py", line 200, in _read_sync
    res.append( self._read_record() )
  File "/usr/local/lib/python2.7/dist-packages/pyorient/messages/base.py", line 419, in _read_record
    _res = ORecordDecoder(__res['content'].rstrip())
  File "/usr/local/lib/python2.7/dist-packages/pyorient/serialization.py", line 17, in __init__
    self.__decode( content )
  File "/usr/local/lib/python2.7/dist-packages/pyorient/serialization.py", line 36, in __decode
    chunk = self.parse_key(content)
  File "/usr/local/lib/python2.7/dist-packages/pyorient/serialization.py", line 104, in parse_key
    if content[ 0 ] == '"':
IndexError: string index out of range

I'm using Python 2.7 and OrientDB 2.0.9

The PR has been accepted so I'll close this issue.


x5-gmaps not show in laravel app

hi,
i install this npm package and import it in vue component. no error, but the maps doesn't show up, it's blank page for map area. do i need to include maps.js from google to laravel head script or other reasons? thanks.

Hi @tingan, unfortunately I don't use Laravel so I'm not sure what the issue is here.
Firstly, just to confirm, you have added the Vue.use bit of code in your main.js?
import x5GMaps from 'x5-gmaps'
Vue.use(x5GMaps, 'YOUR_GOOGLE_KEY')

new Vue({
  el: '#app',
  render: (h) => h(App),
})

Secondly, is there any error or output in the console?
What this does is adds the Google script https://maps.googleapis.com/maps/api/js with all the settings and your key into your <head>. Theoretically, for Vue to run that code to add the script, your <head> shouldn't be overwritten, so I don't think it's that.
Could you try and recreate it using codesandbox.io and adding the x5-gmaps package along with Laravel? I am happy to investigate the problem if I can replicate it.

in app.js
mport x5GMaps from 'x5-gmaps'
// Option 1: Just your key
Vue.use(x5GMaps, 'AIzxxx')
in vue component

import { gmapsMap, gmapsMarker } from 'x5-gmaps'
no error in console, i can inspect the map by chrome, the map html code is there, but area is just blank.

@tingan you have to give it a height (percentage works as well if it's wrapped correctly)

hi, @thefoxie , thx, you are right, it's related with the height of the map, as i copy the code

and i assume it will works out of box, i inspect the code with chrome, although the height of gmap is 100%, but it didn't show up, but after i change the height to fixed number like 500px, the map show up!
I guess it's related the the parent container of map. the example code should contain the width, height props.
by the way, from the demo, i didn't find the marker cluster functions, does the x5-maps has this function?

@tingan yes, if you give it 100% it will be 100% of the parent. If there parent has no height set, 100% of auto is auto, and auto is 0 for the map. Something else you can play around with is VH - I often use 90VH which is 90% of the screen height.
Unfortunately, no, I haven't implemented marker cluster functions. For now, only heatmap is available, but that is something I do want. Please add it as a feature request in a new issue so I don't forget.

I had the same issue in Laravel, so I fixed height it works fine :
<template>
    <div style="height: 70vh">
        <gmaps-map>
            <gmaps-marker :position="{ lat: -27, lng: 153 }" />
        </gmaps-map>
    </div>
</template>

@kossa you don't have to give it viewport height. Works with percents as well. It can work dynamically, ie. you wrap it around flex containers then it takes 100% of what is left.


Export-Certificate examples fixes

removed extra white space (lines) which makes the code sample unnecessarily long
removed redundant parenthesis in variable assignment

Docs Build status updates of commit 1e3f77a:
:clock10: Pending: waiting for processors (11 builds ahead of you)
:warning: Docs Build is busy, currently there are 11 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 1e3f77a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/pkiclient/Export-Certificate.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add support for <link rel="stylesheet" webc:scoped>

<style webc:scoped> works but I’d like to also run scoped on the content returned from an external stylesheet e.g. <link rel="stylesheet" href="" webc:scoped>

(wait what? surely <link rel="stylesheet" href="https://some.external.uri/" webc:scoped> can't possibly work...?)


15289 Updated Approval Type Component (new design)

Issue #: /bcgov/entity#15289
Description of changes:

Updated the Approval Type component.
New Props:

The date the Notice of the Application for Restoration was published in the BC Gazette.
The date the Application for Restoration was mailed to the company.

New Emitters:

The dates selected in the new date pickers. They correspond to the ones mentioned above.

https://user-images.githubusercontent.com/122301442/219514964-dbf9084d-5b27-4e73-9988-6f114308297b.mp4

As per the UXPin:

To use, it's going to look like this:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the business-filings-ui license (Apache 2.0).

I too liked the video you made.  It makes it easy to see how the shared component works.

What do you think about exploring the use of named v-models instead of having a prop and emitter for each variable? See: https://vuejs.org/guide/components/v-model.html#multiple-v-model-bindings The benefits of using v-model is that the values are still reactive after the component is mounted. We still have to "wire-up" each field individually but it's better (I think) than having to wire-up a prop and emitter for each field.

This looks good, but what if our component needs to change its local property? It came in as a prop so it's readonly. Doesn't this mean we have to make a local copy to work on?
On the plus side, it looks like a prop named "x" and an event named "update:x" can be used a single thing (named v-model) from the parent's point of view.

I too liked the video you made. It makes it easy to see how the shared component works.

Thank you Jonathan! 😃

I love the little video you made, showing this component behaving correctly. However, I'd like a bit more development on the code. Thanks.
PS You don't need to update the story with other examples? Maybe an example with "no" data and another one with "all" data?

Thanks Sev! I've updated. Let me know what you think.

I think this is good enough to merge. Do you agree?
Then you can work on integrating this component in Create UI and Edit UI.

Agreed Sev. I updated according to your latest comments. Shall I go ahead and merge? Also, I already have a working prototype in Create UI as I showed you. I just need now to import and I'll be creating a draft PR for that.


PoS Rename SnapshotValidatorEntries to SnapshotValidatorSet

Current dependencies on/for this PR:

feature/proof-of-stake

PR #579

PR #581

PR #582

PR #583   👈

This comment was auto-generated by Graphite.


[Question]: How to use web data?

Describe your problem
For html web pages, how to process into the knowledge base？

'Naive'  parsing method support html file.


Can you give us more details about the bug? An error stack or test case we can use would be much appreciated. I can't seem to recreate the issue locally executing commands with runBroadcast.

@Chirou-Cat Please provide more information like @TheFenderStory said instead of a vague phrase naming a function that is used in almost all commands. Also your attitude reminds me of tenshihan from this github issue: https://github.com/ParsePlatform/parse-server/issues/1050. I wouldn't be surprise if you guys are related by blood.

Also I am going to replicate the bug now

POKEMON SHOWDOWN HAS CRASHED: TypeError: this.runBroadcast is not a function
at CommandContext.exports.commands.wallet (E:\Showdown-Boilerplate-master\chat-plugins\economy.js:143:13)
k tnx for wasting my time to replicate this

@Chirou-Cat I'm testing this locally and could not replicate this bug. Are you using the whole Showdown-Boilerplate repository or just copying economy.js into your Pokemon-Showdown repository?

im using the whole thing

@Chirou-Cat Can you show the whole stack trace?

CRASH: TypeError: this.runBroadcast is not a function
at CommandContext.exports.commands.wallet (E:\Showdown-Boilerplate-master\chat-plugins\economy.js:143:13)
at CommandContext.run (E:\Showdown-Boilerplate-master\command-parser.js:223:28)
at Object.exports.parse (E:\Showdown-Boilerplate-master\command-parser.js:554:18)
at Room.chat (E:\Showdown-Boilerplate-master\rooms.js:103:27)
at User.chat (E:\Showdown-Boilerplate-master\users.js:1590:9)
at Function.ip.rename.connection.validateRename.challenge.getAlts.getAll.ban.userid.lock.userid.leaveRoom.force.prepBattle.connection.static.pruneInactive.Users.socketConnect.fs.appendFile.require.randomBytes.Users.socketReceive.message [as socketReceive] (E:\Showdown-Boilerplate-master\users.js
:1810:12)
at ChildProcess. (E:\Showdown-Boilerplate-master\sockets-nocluster.js:54:11)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:172:7)
at handleMessage (internal/child_process.js:686:10)
Additional information:
user = Strawberry Delight
room = lobby
message = /atm
CRASH: TypeError: this.runBroadcast is not a function
at CommandContext.exports.commands.wallet (E:\Showdown-Boilerplate-master\chat-plugins\economy.js:143:13)
at CommandContext.run (E:\Showdown-Boilerplate-master\command-parser.js:223:28)
at Object.exports.parse (E:\Showdown-Boilerplate-master\command-parser.js:554:18)
at Room.chat (E:\Showdown-Boilerplate-master\rooms.js:103:27)
at User.chat (E:\Showdown-Boilerplate-master\users.js:1590:9)
at Function.ip.rename.connection.validateRename.challenge.getAlts.getAll.ban.userid.lock.userid.leaveRoom.force.prepBattle.connection.static.pruneInactive.Users.socketConnect.fs.appendFile.require.randomBytes.Users.socketReceive.message [as socketReceive] (E:\Showdown-Boilerplate-master\users.js
:1810:12)
at ChildProcess. (E:\Showdown-Boilerplate-master\sockets-nocluster.js:54:11)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:172:7)
at handleMessage (internal/child_process.js:686:10)
Additional information:
user = Silvernyan321
room = lobby
message = /atm

lol

Downloading brain.js should solve this problem.

This issue cannot be reproduce. Make sure you got runBroadcast in context object of the command-parser.js file.


Added mesherycli cheatsheet

Notes for Reviewers
This PR fixes #9942
Signed commits

[x] Yes, I signed my commits.

🚀 Preview for commit 9ba27f9e71e4228fad762f1e29cb980b4a5ce7c2 at: https://65aa9ab619dd6f0d10c10342--meshery-docs-preview.netlify.app


Add noarch python to build

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

fixes #39

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

Since #43 has been merged, it might be enough to close this PR.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please add noarch: python

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.


Unable to urlify properly

Hi there,
I've been trying to urlify a very simple string but the last part is being dropped. It's probably a wanted behaviour but it could be useful if there may be an option to avoid that.
My string is "Brazilian Série A" and I want it to become "brazilian-serie-a". It becomes "brazilian-serie" instead without the final "-a" part. Any way I can do this?
Below my code:
\URLify::filter('Brazilian Série A') // produces "brazilian-serie"

Tried also with:
\URLify::filter('Brazilian Série A', 120, 'en') // produces "brazilian-serie"

OK, I figured out what's going on here. The "A" is being removed because part of the English common words. Changing the $remove_list public attribute solves the issue :+1:

Was just about to hop on and mention the remove list. Glad you got it working :)


Add tests for motion module

Test the convergence to the actual solution of the optical flow method used.
Test that  inputs with no precipitation give a zero motion field.
Add examples to the user guide where the convergence of the optical flow methods is tested using idealized motion fields.
Fix bug with vet mask. When masked arrays where used as input, the original mask was modified unintentionally.

Thanks for the review @dnerini! I'm working on your suggestions. I will remove the dependency on cartopy and make plots without a base map. The map is not really important for this example.
I also found an unexpected behavior on the VET tests. The errors vary between different runs of the scripts. My guess is that it is not converging to the solution so I need have to play a little bit more with the vet options (number of iterations or minimization methods).

Brilliant!


Hanging after provisioning cluster - "Waiting for Cluster: Expected 2 healthy nodes; found 0."

This seems like it's running the utils validate script and validating whether the kubernetes nodes are running and it's failing.
Any idea?

What cloud provider are you using?

sorry, I completely missed that, I'm using azure.

How long did you wait for the nodes to come up?

Did you supply your own Service Principal credentials?

The only thing I can suggest, if you made it all the way to the validation step... is to look to SSH into the master node, make sure sudo systemctl status kubelet  says that kubelet is running, and then SSH to your nodes (from the master since they don't themselves have public ips) and check the same thing.

Hi,
I've waited over 3000s, eventually interrupted the loop of the validation script.
Yes, the principal credentials have been supplied, the cluster was fully provisioned on azure.
I was going to check if the kubelet is running, not sure where kubernetes-anywhere is storing the rsa key though, in azkube they could be copied with the util script.

Kubernetes-Anywhere just uses password auth for now. Switching to key auth is on the backlog. There aren't quite as many post-deployment niceties as there were with azkube, but I'm open to adding them here over time as well.
"The cluster was fully provisioned" means that the resources were created? I assume it was still not in a good state... otherwise the validation script would have succeeded.

It created a Vnet, a storage account, master vm, node, availability set, network interfaces for both nodes, a public ip address tied to the master network interface and a route table. So pretty much the resources needed in azure.
I've done this a number of times and usually tear the env down by deleting the resource group. Terraform seems to complete with no errors.
When I log into the master and check kubelet status, I see:
 kubelet.service - Kubernetes Kubelet Server
   Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2016-09-20 14:06:23 UTC; 5h 1min ago
     Docs: https://github.com/kubernetes/kubernetes
  Process: 6172 ExecStartPre=/bin/mount --make-shared /var/lib/kubelet (code=exited, status=0/SUCCESS)
  Process: 6169 ExecStartPre=/bin/mount --bind /var/lib/kubelet /var/lib/kubelet (code=exited, status=0/SUCCESS)
  Process: 6165 ExecStartPre=/bin/mkdir -p /var/lib/kubelet (code=exited, status=0/SUCCESS)
 Main PID: 6176 (docker)
    Tasks: 4
   Memory: 4.8M
      CPU: 235ms
   CGroup: /system.slice/kubelet.service
           └─6176 /usr/bin/docker run --net=host --pid=host --privileged -v /dev:/dev -v /sys:/sys:ro -v /var/run:/var/run:rw -v /var/lib/docker/:/var/lib/docker:rw -v /var/lib/kubelet/:/var/lib/kubelet:shared -v /srv/kubernetes:/srv/kube

Sep 20 19:07:02 sayt-master docker[6176]: I0920 19:07:02.072305    6289 conversion.go:133] failed to handle multiple devices for container. Skipping Filesystem stats
Sep 20 19:07:02 sayt-master docker[6176]: I0920 19:07:02.072496    6289 conversion.go:133] failed to handle multiple devices for container. Skipping Filesystem stats
Sep 20 19:07:12 sayt-master docker[6176]: I0920 19:07:12.104934    6289 conversion.go:133] failed to handle multiple devices for container. Skipping Filesystem stats
Sep 20 19:07:12 sayt-master docker[6176]: I0920 19:07:12.105069    6289 conversion.go:133] failed to handle multiple devices for container. Skipping Filesystem stats
Sep 20 19:07:22 sayt-master docker[6176]: I0920 19:07:22.117304    6289 conversion.go:133] failed to handle multiple devices for container. Skipping Filesystem stats
Sep 20 19:07:22 sayt-master docker[6176]: I0920 19:07:22.117447    6289 conversion.go:133] failed to handle multiple devices for container. Skipping Filesystem stats
Sep 20 19:07:32 sayt-master docker[6176]: I0920 19:07:32.162878    6289 conversion.go:133] failed to handle multiple devices for container. Skipping Filesystem stats
Sep 20 19:07:32 sayt-master docker[6176]: I0920 19:07:32.163111    6289 conversion.go:133] failed to handle multiple devices for container. Skipping Filesystem stats
Sep 20 19:07:42 sayt-master docker[6176]: I0920 19:07:42.182058    6289 conversion.go:133] failed to handle multiple devices for container. Skipping Filesystem stats
Sep 20 19:07:42 sayt-master docker[6176]: I0920 19:07:42.182206    6289 conversion.go:133] failed to handle multiple devices for container. Skipping Filesystem stats

I've made a util script which contains the following:
#!/bin/sh
createCluster() {
    make docker-dev;
    docker exec "$(docker ps -a | grep "kubernetes-anywhere:v0.0.1" | awk '{print $1}')" make deploy;
}

tearDownCluster() {
    azure group delete $1; docker rmi -f $(docker images -q); docker rm -f $(docker ps -a -q);
}

cleanAllContainerProcesses() {
    docker rm -f $(docker ps -a -q);
}

cleanAllImages() {
    docker rmi -f $(docker images -q);
}

Still having issues, essentially this is what is being ran to create the cluster:
docker build -t kubernetes-anywhere:v0.0.1 .;
docker run -d -it --net=host --volume="`pwd`:/opt/kubernetes-anywhere" kubernetes-anywhere:v0.0.1 bash
docker exec "$(docker ps -a | grep "kubernetes-anywhere:v0.0.1" | awk '{print $1}')" make deploy;

Ok, I think the problem is sorted, and it was related with the fact that I was not tearing down the cluster correctly. I appreciate the assistance.


Open file type .pdb1/2/3...

Hi, I am trying to open file types pdb1/2/3... like this But NGL return this error TypeError: Cannot read property 'matrixList' of undefined

how are you doing it? do you have an example file to reproduce?

ftp://ftp.wwpdb.org/pub/pdb/data/biounit/PDB/all/2buk.pdb1.gz
This. I uncompressed it before

Hi, this was a bug in the pdb parser. It was not parsing the MTRIX records (which are related to non-crystallographic symmetry) correctly. Fixed in v0.10.5-22, see 824acd7c2f24d654a0ed96a863913bf1e8bfe7dd.

Thanks!


EmrEtlRunner: Last step does not finish or terminate (Elasticity S3DistCp Step: Shredded HDFS -> S3)

Hi everyone,
fellow Snowplow beginners here - we've just battled the recent AWS security changes and finally succeeded in doing our first load into Redshift.
I then switched from manual console to using the snowplow-runner-and-loader.sh script, and put it into cron. After succeeding all the other operations, now it's stalling at the very last step: "Elasticity S3DistCp Step: Shredded HDFS -> S3"
It's not the FATAL error as in https://github.com/snowplow/snowplow/wiki/Troubleshooting#shred-fail - it just seems to not continue anymore for whatever reason.
Note we're on the preliminary r64 branch as for the recent AWS issues, but we had one EMRETL job and Redshift load already running through on the same branch, same config.
Would be great if someone could help on this one, here's more metadata for you to debug, if there are any questions, don't hesitate to ask.
Thanks for your effort,
Dom
Branch: origin/releases/r64-palila, Commit: 061a1a6
Started with standard snowplow-runner-and-loader.sh script
Log entry:
D, [2015-04-14T14:05:25.249564 #26217] DEBUG -- : Initializing EMR jobflow
D, [2015-04-14T14:05:26.142776 #26217] DEBUG -- : EMR jobflow j-XXX started, waiting for jobflow to complete...
AMZN Metadata:
Elasticity S3DistCp Step: Shredded HDFS -> S3
Status:Running
Start time:2015-04-14 16:27 (UTC+2)
ID:s-XXX
Elapsed time:22 hours
JAR location: /home/hadoop/lib/emr-s3distcp-1.0.jar
Arguments: --src hdfs:///local/snowplow/shredded-events/ --dest s3://XX-snowplow-logs-out/shredded/good/run=2015-04-14-14-05-25/ --srcPattern .*part-.* --s3Endpoint s3-eu-west-1.amazonaws.com
Action on failure: Terminate cluster

syslog:
2015-04-14 14:27:25,591 INFO com.amazon.elasticmapreduce.s3distcp.S3DistCp (main): Running with args: [Ljava.lang.String;@2bc5cd05
2015-04-14 14:27:29,378 INFO com.amazon.elasticmapreduce.s3distcp.S3DistCp (main): Using output path 'hdfs:/tmp/0b6c7e67-f058-421a-8ad3-d029253453af/output'
2015-04-14 14:27:29,424 INFO com.amazon.elasticmapreduce.s3distcp.FileInfoListing (main): Opening new file: hdfs:/tmp/0b6c7e67-f058-421a-8ad3-d029253453af/files/1
2015-04-14 14:27:29,606 INFO com.amazon.elasticmapreduce.s3distcp.S3DistCp (main): Created 1 files to copy 9 files
2015-04-14 14:27:29,943 INFO org.apache.hadoop.mapred.JobClient (main): Default number of map tasks: null
2015-04-14 14:27:29,943 INFO org.apache.hadoop.mapred.JobClient (main): Setting default number of map tasks based on cluster size to : 8
2015-04-14 14:27:29,943 INFO org.apache.hadoop.mapred.JobClient (main): Default number of reduce tasks: 3
2015-04-14 14:27:30,051 INFO org.apache.hadoop.security.ShellBasedUnixGroupsMapping (main): add hadoop to shell userGroupsCache
2015-04-14 14:27:30,092 INFO org.apache.hadoop.mapred.JobClient (main): Setting group to hadoop
2015-04-14 14:27:30,139 INFO org.apache.hadoop.mapred.FileInputFormat (main): Total input paths to process : 1
2015-04-14 14:27:31,278 INFO org.apache.hadoop.mapred.JobClient (main): Running job: job_201504141408_0007
2015-04-14 14:27:32,284 INFO org.apache.hadoop.mapred.JobClient (main):  map 0% reduce 0%

controller:
2015-04-14T14:27:17.269Z INFO Fetching jar file.
2015-04-14T14:27:23.928Z INFO Working dir /mnt/var/lib/hadoop/steps/5
2015-04-14T14:27:23.928Z INFO Executing /usr/java/latest/bin/java -cp /home/hadoop/conf:/usr/java/latest/lib/tools.jar:/home/hadoop:/home/hadoop/hadoop-tools.jar:/home/hadoop/hadoop-tools-1.0.3.jar:/home/hadoop/hadoop-core-1.0.3.jar:/home/hadoop/hadoop-core.jar:/home/hadoop/lib/*:/home/hadoop/lib/jetty-ext/* -Xmx1000m -Dhadoop.log.dir=/mnt/var/log/hadoop/steps/5 -Dhadoop.log.file=syslog -Dhadoop.home.dir=/home/hadoop -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,DRFA -Djava.io.tmpdir=/mnt/var/lib/hadoop/steps/5/tmp -Djava.library.path=/home/hadoop/native/Linux-amd64-64 org.apache.hadoop.util.RunJar /home/hadoop/lib/emr-s3distcp-1.0.jar --src hdfs:///local/snowplow/shredded-events/ --dest s3://XX-snowplow-logs-out/shredded/good/run=2015-04-14-14-05-25/ --srcPattern .*part-.* --s3Endpoint s3-eu-west-1.amazonaws.com
2015-04-14T15:27:24.063Z INFO Process still running
2015-04-14T16:27:24.088Z INFO Process still running
2015-04-14T17:27:24.158Z INFO Process still running
2015-04-14T18:27:24.346Z INFO Process still running
2015-04-14T19:27:24.372Z INFO Process still running
2015-04-14T20:27:24.788Z INFO Process still running
2015-04-14T21:27:24.810Z INFO Process still running
2015-04-14T22:27:25.091Z INFO Process still running
2015-04-14T23:27:25.520Z INFO Process still running
2015-04-15T00:27:25.912Z INFO Process still running
2015-04-15T01:27:26.016Z INFO Process still running
2015-04-15T02:27:26.101Z INFO Process still running
2015-04-15T03:27:26.595Z INFO Process still running
2015-04-15T04:27:26.929Z INFO Process still running
2015-04-15T05:27:27.241Z INFO Process still running
2015-04-15T06:27:27.584Z INFO Process still running
2015-04-15T07:27:27.914Z INFO Process still running
2015-04-15T08:27:28.075Z INFO Process still running
2015-04-15T09:27:28.111Z INFO Process still running
2015-04-15T10:27:28.281Z INFO Process still running
2015-04-15T11:27:28.285Z INFO Process still running
2015-04-15T12:27:28.421Z INFO Process still running

stderr / stdout: empty
config:
:logging:
  :level: DEBUG # You can optionally switch to INFO for production
:aws:
  :access_key_id: XXX
  :secret_access_key: XXX
:s3:
  :region: eu-west-1
  :buckets:
    :assets: s3://snowplow-hosted-assets # DO NOT CHANGE unless you are hosting the jarfiles etc yourself in your own bucket
    :log: s3://XX-snowplow-etl/logs
    :raw:
      :in: s3://XX-snowplow-logs
      :processing: s3://XX-snowplow-logs/processing
      :archive: s3://XX-snowplow-archive/raw    # e.g. s3://my-archive-bucket/raw
    :enriched:
      :good: s3://XX-snowplow-logs-out/enriched/good       # e.g. s3://my-out-bucket/enriched/good
      :bad: s3://XX-snowplow-logs-out/enriched/bad        # e.g. s3://my-out-bucket/enriched/bad
      #:errors:    # Leave blank unless :continue_on_unexpected_error: set to true below
    :shredded:
      :good: s3://XX-snowplow-logs-out/shredded/good       # e.g. s3://my-out-bucket/shredded/good
      :bad: s3://XX-snowplow-logs-out/shredded/bad        # e.g. s3://my-out-bucket/shredded/bad
      #:errors:     # Leave blank unless :continue_on_unexpected_error: set to true below
:emr:
  :ami_version: 2.4.2      # Choose as per http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-ami.html
  :region: eu-west-1        # Always set this
  :jobflow_role: EMR_EC2_DefaultRole # Created using $ aws emr create-default-roles
  :service_role: EMR_DefaultRole     # Created using $ aws emr create-default-roles
  :ec2_subnet_id: subnet-XX # Set this if running in VPC. Leave blank otherwise
  :ec2_key_name:  snowplow
  :bootstrap: []           # Set this to specify custom boostrap actions. Leave empty otherwise
  :software:
    :hbase:                # To launch on cluster, provide version, "0.92.0", keep quotes
    :lingual:              # To launch on cluster, provide version, "1.1", keep quotes
  # Adjust your Hadoop cluster below
  :jobflow:
    :master_instance_type: m1.small
    :core_instance_count: 2
    :core_instance_type: m1.small
    :task_instance_count: 0 # Increase to use spot instances
    :task_instance_type: m1.small
    #:task_instance_bid: 0.015 # In USD. Adjust bid, or leave blank for non-spot-priced (i.e. on-demand) task instances
:etl:
  :job_name: Snowplow ETL # Give your job a name
  :versions:
    :hadoop_enrich: 0.14.0 # Version of the Hadoop Enrichment process
    :hadoop_shred: 0.4.0 # Version of the Hadoop Shredding process
  :collector_format: cloudfront # Or 'clj-tomcat' for the Clojure Collector, or 'thrift' for Thrift records, or 'tsv/com.amazon.aws.cloudfront/wd_access_log' for Cloudfront access logs
  :continue_on_unexpected_error: false # Set to 'true' (and set :out_errors: above) if you don't want any exceptions thrown from ETL
:iglu:
  :schema: iglu:com.snowplowanalytics.iglu/resolver-config/jsonschema/1-0-0
  :data:
    :cache_size: 500
    :repositories:
      - :name: "Iglu Central"
        :priority: 0
        :vendor_prefixes:
          - com.snowplowanalytics
        :connection:
          :http:
            :uri: http://iglucentral.com

Hi @falschparker82 ! We have heard from community members of occasional S3DistCp hangs - it's not something we've witnessed across any of our customer accounts, but some users do seem to be affected. I'd recommend pinging the above details to the snowplow-user@ user group to see if you can get any thoughts from those affected. I'd also definitely bring it up with AWS Support...

Before I close this - definitely consider increasing the instance types for core, that can't hurt...

Thanks @alexanderdean , I appreciate it


Support for Feed Me 2.0

I have this issue too and wonder if you have an ETA for Feedme 2 support? (Or a work around in the meantime?) Thanks!

Also curious if there is any update on this one. Looking forward to using version 2 in a migration. Thanks again for the great add-on!

+1. Love the add-on. We use it frequently, but need to FeedMe 2 integration.

Implemented in the latest master. Will roll into the next release after some peer testing, so go ahead when you can!


[Bug] FirebaseInstanceId: Failed to get FIS auth token

[REQUIRED] Please fill in the following fields:

Unity editor version: 2018.4.36f1
Firebase Unity SDK version: 8.5.0
Source you installed the SDK: .unitypackage
Problematic Firebase Component: Installations
Other Firebase Components in use: Analytics, Crashlytics, Messaging
Additional SDKs you are using: None
Platform you are using the Unity editor on: Windows
Platform you are targeting: Android
Scripting Runtime: IL2CPP

[REQUIRED] Please describe the issue here:
Hi,
I imported the Firebase Unity SDK to an empty project and only integrated Firebase Analytics, Crashlytics, Messaging.
I built for Android Platform, disable the internet connection, and open the app.
Then I got this error, and I think it occur ANR for my app.
FirebaseInstanceId: Failed to get FIS auth token     java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.         at com.google.android.gms.tasks.Tasks.zza(com.google.android.gms:play-services-tasks@@17.2.1:5)         at com.google.android.gms.tasks.Tasks.await(com.google.android.gms:play-services-tasks@@17.2.1:8)         at com.google.firebase.iid.GmsRpc.setDefaultAttributesToBundle(com.google.firebase:firebase-iid@@21.1.0:11)         at com.google.firebase.iid.GmsRpc.startRpc(com.google.firebase:firebase-iid@@21.1.0:1)         at com.google.firebase.iid.GmsRpc.getToken(com.google.firebase:firebase-iid@@21.1.0:1)         at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$2$FirebaseInstanceId(com.google.firebase:firebase-iid@@21.1.0:1)         at com.google.firebase.iid.FirebaseInstanceId$$Lambda$3.start(Unknown Source:10)         at com.google.firebase.iid.RequestDeduplicator.getOrStartGetTokenRequest(com.google.firebase:firebase-iid@@21.1.0:7)         at com.google.firebase.iid.FirebaseInstanceId.lambda$getInstanceId$3$FirebaseInstanceId(com.google.firebase:firebase-iid@@21.1.0:5)         at com.google.firebase.iid.FirebaseInstanceId$$Lambda$0.then(Unknown Source:6)         at com.google.android.gms.tasks.zze.run(com.google.android.gms:play-services-tasks@@17.2.1:1)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)         at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@17.6.0:2)         at java.lang.Thread.run(Thread.java:923)      Caused by: com.google.firebase.installations.FirebaseInstallationsException: Firebase Installations Service is unavailable. Please try again later.         at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:213)         at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:533)         at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:388)         at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$2$FirebaseInstallations(FirebaseInstallations.java:377)         at com.google.firebase.installations.-$$Lambda$FirebaseInstallations$SC1awUtshakVcZWKWh8TCfIkd4g.run(Unknown Source:4)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)         at java.lang.Thread.run(Thread.java:923)
I uploaded the stack trace below.
Please check it.
Thank you!
crash.txt

Hi @anhdung31793,
Could you provide a minimal, reproducible example of your project so we can identify what's causing this? I haven't been able to replicate this issue so far.

Hi @paulinon,
Thank you for your response.
I uploaded the sample project to google drive.
Please download and check it.
Thank you!
Steps to reproduce:

Install the game.apk to Google Pixel 4 (android 11) or Xiaomi Redmi Note 7 Pro (android 10)
Disable the internet connection
Open the app.
https://drive.google.com/file/d/1VIUzYkTS_gT5g7w4KfJ8WAhhrGQsJHhm/view?usp=sharing

Hi @anhdung31793,
I'm unable to access the file you provided. Since you provided a Google Drive link, could you try sharing this with<EMAIL_ADDRESS>

Hi @paulinon,
I shared my project with<EMAIL_ADDRESS>Please check your email.
Thank you!

Hi @anhdung31793,
I was able to replicate your issue. Could you try if updating your google-services.json file by deleting the old one and re-downloading the new google-services.json file from Firebase console > Project Settings resolves the issue?

Hi @paulinon,
The google-services.json that I imported into the project I shared with you is the newest one.
Could you please tell me what the problem is with this file?

Hi @anhdung31793,
It's possible that API restrictions you may have applied to API keys used by your app may have to be updated to allow your apps to call the Firebase Installations API.
If re-downloading the file doesn't work, could you try these steps and see if the issue has been resolved?

Hi @paulinon,
I followed the steps you sent, you can check the image below. And I checked that the API key is right.
Should I create a new API key or something?

Hi @paulinon,
I updated Firebase Unity SDK version 8.6.0 and still got this error.
I think the problem occurs when I disable the internet connection then open the app the first time.
If I enable the internet connection, then open the app for the first time, everything works fine even disable the internet next time.
Our game is an offline game. So users usually disable the internet connection when playing the game. This error may reduce our game's retention rate.
log.txt

Hi @anhdung31793,
It look likes the Firebase Installations API isn't in your list of permitted APIs. Simply select "Restrict key" then add the Firebase Installations API to the list of permitted APIs, and click Save.
Let me know if these steps made a difference.

Hi @paulinon,
I did it, but still did not work.

Hi @anhdung31793,
After discussing this with the team, it appears that your use case wouldn't be able to avoid this issue. Anything generated on the client alone would be insecure, and Firebase would have no idea what it is to validate it against anything or know it's for a certain API. In order for Firebase to function properly. it's important that you have an internet connection. With that, I'll be closing this for now.


Fix filetarget: Thread was being aborted (#2)

Need for Thread.ResetAbort();
Fixes https://github.com/NLog/NLog/issues/1385
See http://stackoverflow.com/questions/1856286/threadabortexception
Thanks @jonreis!

Thank you 304Modified for attempting to fix this issue, but it is not quite there.
            in                lock (SyncRoot)
                              this.fileAppenderCache.InvalidateAppendersForInvalidFiles();

The call on lock(SyncRoot) will also cause a ThreadAbortException which is currently not caught
I think using Thread.Abort() is just bad practice anyway and is not needed in this context (http://stackoverflow.com/questions/2251964/c-sharp-thread-termination-and-thread-abort).
Instead, what about using a ManualResetEvent, or the lighter weight ManualResetEventSlim on .NET 4.5? Something like:
private ManualResetEvent  appenderManualResetEvent;
                    if ((EnableArchiveFileCompression) && (this.appenderInvalidatorThread == null))
                    {
                        // EnableArchiveFileCompression creates a new file for the archive, instead of just moving the log file.
                        // The log file is deleted instead of moved. This process may be holding a lock to that file which will
                        // avoid the file from being deleted. Therefore we must periodically close appenders for files that
                        // were archived so that the file can be deleted.
                        this.appenderManualResetEvent = new ManualResetEvent(false);
                        this.appenderInvalidatorThread = new Thread(new ThreadStart(() =>
                        {
                          try
                          {
                            while (true)
                            {
                              if (appenderManualResetEvent.WaitOne(200))
                                break;

                              lock (SyncRoot)
                                this.fileAppenderCache.InvalidateAppendersForInvalidFiles();
                            }
                          }
                          catch (Exception ex)
                          {
                            InternalLogger.Info("Error in InvalidatorThread loop {0}", ex);
                          }
                        }));

                        this.appenderInvalidatorThread.IsBackground = true;
                        this.appenderInvalidatorThread.Name = "NLog AppenderInvalidatorThread";
                        this.appenderInvalidatorThread.Start();
                    }

Stop would look like this:
  private void StopAppenderInvalidatorThread()
  {
      if (this.appenderManualResetEvent == null)
         return;

    try
    {
        this.appenderManualResetEvent.Set();
    }
    catch (Exception ex)
    {
      InternalLogger.Info("StopAppenderInvalidatorThread error {0}", ex);
    }
  }

Thanks for the info. I think it would be nice to fix this without thread.
Is it possible to send a PR for this?

If you must use Thread.Abort() the code should look like:
                            while (true)
                            {
                                try
                                {
                                    Thread.Sleep(200);

                                  lock (SyncRoot)
                                    this.fileAppenderCache.InvalidateAppendersForInvalidFiles();
                                }
                                catch (ThreadAbortException ex)
                                {
                                    //ThreadAbortException will be automatically re-thrown at the end of the try/catch/finally if ResetAbort isn't called.
                                    Thread.ResetAbort();
                                    InternalLogger.Trace(ex, "ThreadAbortException in Thread.Sleep");
                                     break; // this is the addition. Need to exit the loop
                                }
                                catch (Exception ex)
                                {
                                    InternalLogger.Warn(ex, "Exception in Thread.Sleep, most of the time not an issue.");
                                }
                            }

I logged 1415, with a fix, but like I said in the PR, I don't know why there is a dedicated thread being spun up to do this. Could it not just be a simple timer?


Image size issue when training the flow generation model

Thanks for your great work!
I noticed that the image size you input to Animatediff is 224 x 224, is this required? Does the "openai/clip-vit-large-patch14" model only accept images of this size? I tried to input 480 x 640 images but encountered dimension issues even when I changed the size in the yaml file to [480,640].
Looking forward to your reply!

Sorry for the late reply. Yes, it is desired input size for clip model. You may manually resize your image to 224x224 before passing to the model.


Not reading from queue

With<EMAIL_ADDRESS>I cannot get the library to consume messages. With older versions of kafka-node this sample app works. I looked at the issues in github and this might be related to #311. I git-bisected and the following commit is the blocker:
commit fcce260e24d8cc6071ed3092eb51fccda039838b
Author: Carles Sistare <snip>
Date:   Sun Oct 25 14:08:55 2015 +0100

    Buffer batch for async producers

    Other kafka connectors such as the Java one have the possibility to configurate an optional batch (client-side) for async producer mode, in order to send batches of messages instead of single messages at time. This increases performance because the kafka server doesnt need to answer ACK at every message.

    The options are:
    - Batch size in bytes
    - Batch age in miliseconds

Sample App:
'use strict';

var kafka = require('kafka-node');
var Consumer = kafka.Consumer;
var Offset = kafka.Offset;
var Client = kafka.Client;
var argv = require('optimist').argv;
var topic = argv.topic || 'observations.json';

var client = new Client('zkserver:2181/chroot');
var topics = [
      {topic: topic, partition: 0, time: -2}
    ],
    options = { autoCommit: false, fetchMaxWaitMs: 1000, fetchMaxBytes: 1024*1024 };

var consumer = new Consumer(client, topics, options);
var offset = new Offset(client);

var message_count = 0;
var start_time = Date.now() / 1000;

function stop() {
  var end_time = Date.now() / 1000;
  console.log('Processed ' + message_count + ' messages');
  console.log('Elapsed Time ' + (end_time - start_time));
  console.log('TPS: ' + message_count / (end_time - start_time));
  process.exit(0);
}

process.on('SIGINT', stop);
setTimeout(stop, 20000);

consumer.on('message', function (message) {
  message_count++;
  console.log(message);
});

consumer.on('error', function (err) {
  console.log('error', err);
});

/*
* If consumer get `offsetOutOfRange` event, fetch data from the smallest(oldest) offset
*/
consumer.on('offsetOutOfRange', function (topic) {
    console.log('offsetOutOfRange');
    offset.fetch([topic], function (err, offsets) {
      var min = Math.min.apply(null, offsets[topic.topic][topic.partition]);
      consumer.setOffset(topic.topic, topic.partition, min);
    });
});

Hi @rphillips  this PR #314  should normally fix your problem, could you confirm?

It sure does. Thanks!


More transparent theme style JSON generation.

🚀 Feature Proposal
Currently(v5),  theme style JSON can be pre-generated with @ui-kitten/metro-config module. Which watches a given custom mapping file and creates a JSON file, then injects the created JSON file under<EMAIL_ADDRESS>directory. And the @eva-design/eva or material modules' entry source code is rewrited to exports exports.style = (style object from generated JSON). And finally <ApplicationProvider  styles={evaModule.styles} (...)> be not going to create styles in runtime.
It works well and seems to make launching somewhat faster (I have not exactly measured yet).

But the whole process of styles injection is complicate and veiled, I think.
And also I have used two type of custom mappings for each native and web platforms, but current method cannot support such configuration.
Also my project is mono-repo which raises no such file path.. error with @ui-kitten/metro-config. (I had to make a tricky workaround to resolve it with @ui-kitten/metro-config)

While struggling with above problems, I thought rather another way of style pre-generation would be great. So now I generate styles modules by programmatically call the schemaProcessor.createStyles and store it into project files, then requires modules for each platforms and provide as styles prop ofApplicationProvider.
Yes it won't watch the custom mapping dynamically but it can support multiple styles and seems to easy to understand the theming flow.
I hope a tool to generate styles JSON (or js module) with command line might be good rather current veiled process. What do you think about such problems?
Example
Generate styles as js module to reduce JSON parsing time before build for native and web platforms each.
const crypto = require("crypto");
const fs = require("fs");
const path = require("path");
const _ = require("lodash");
const { SchemaProcessor } = require("@eva-design/processor");
const schemaProcessor = new SchemaProcessor();

const defaultMapping = require("@eva-design/eva/mapping.json");
const nativeMapping = _.merge({}, defaultMapping, require("./theme.mapping.json"));
const webMapping = _.merge({}, defaultMapping, require("./theme.mapping.web.json"));

createStylesFile("theme.styles.generated", nativeMapping);
createStylesFile("theme.styles.generated.web", webMapping);

function createStylesFile(filePath, mapping) {
  const json = JSON.stringify({
    checksum: crypto.createHash("sha1").update(JSON.stringify(mapping, null, 2)).digest("hex"),
    styles: schemaProcessor.process(mapping),
  }, null, 2);
  const file = `module.exports = ${json};`;
  fs.writeFileSync(
    path.resolve(__dirname, filePath),
    file,
  );
}

Provide styles in runtime
import { styles } from "./theme.styles.generated";
import { theme } from "./theme.palettes";

// ...
function App() {
  return (
    <EvaThemeProvider styles={styles} theme={theme}>
    {/* ... */}
    </EvaThemeProvider>
  );
}

But the whole process of styles injection is complicate and veiled, I think.

As for a final user, how does it affect your product? The idea is let users do nothing, making the plugin doing the required job. As a user in most cases I don't want to focus on the details. I'm glad to discuss if you have any ideas to simplify, but saving this concept is required.

Also my project is mono-repo which raises no such file path.. error with @ui-kitten/metro-config. (I had to make a tricky workaround to resolve it with @ui-kitten/metro-config)

Could you please explain in a bit more details or (what is even better) create a demo project?

I hope a tool to generate styles JSON (or js module) with command line might be good

Do you have ideas of what it should be like to cover the problems you faced? If it is a command-line function, what it should be like?

A1/A2. It does not affect to the final product surely but it intervened development process.
Firstly, I couldn't make variant styles for each platforms. So I had to dig into and figure out whole generation process and de-hoisted each @eva-design/{theme} modules for each platforms.
It took me a lot of time. At this point, I thought rather transparent even complicated API could be better for my case. Because setting up UI framework is very important and only required for the phase of initial project setup, so I could gladly elaborate it with much times.
Secondly, Automated metro-config module didn't find right directory of @eva-design/{theme} for my project which looks like below.
node_modules
  @eva-design/
pkg/
  common/
    src/
      app.tsx
  mobile/
     ios/
     android/
   web/
...

Sorry for not providing demo project but simply RELATIVE_PATHS cannot fit for every structure.
const RELATIVE_PATHS = {
  evaPackage: (evaPackage: string): string => {
    return `node_modules/${evaPackage}`;
  },
  evaMapping: (evaPackage: string): string => {
    return `node_modules/${evaPackage}/mapping.json`;
  },
  evaIndex: (evaPackage: string): string => {
    return `node_modules/${evaPackage}/index.js`;
  },
  cache: (evaPackage: string): string => {
    return `node_modules/${evaPackage}/${CACHE_FILE_NAME}`;
  },
};

So I had to modify metro-config module code a little to correct the wrong path for my project.

A3. To resolve above both problem, I just removed metro-config module and manually compiled each styles for each platforms. And simply put them to context provider component.
So here IMHO, how about to generate styles directly to project tree with metro-config rather creating styles into node_modules directory and modifying @eva-design/{theme} module main code? (forget about the CLI here)
For example...
metro-config.js
const MetroConfig = require('@ui-kitten/metro-config');
const evaConfig = [
  {
     evaPackage: '@eva-design/eva',
     customMappingPath: path.resolve('./custom-mapping.web.json'),
     outputStylesPath: path.resolve('./styles.web.json'),
  },
  {
     evaPackage: '@eva-design/eva',
     customMappingPath: path.resolve('./custom-mapping.native.json'),
     outputStylesPath: path.resolve('./styles.native.json'),
  },
];

module.exports = MetroConfig.create(evaConfig, {
  // Whatever was previously specified
});

Application code
import { checksum, styles } from "./styles";

// ...
function App() {
  return (
    <EvaThemeProvider styles={styles} theme={theme}>
    {/* ... */}
    </EvaThemeProvider>
  );
}

Thank you for reading.

@dehypnosis Well, I thinking a bit about the possible solutions for platform-dependent mappings, and here is the best option I realized:
Instead of using several mapping files, you can just use a variant groups feature. For instance, in mapping:
// ...
"MyComponent": {
  // ...
  "mapping": {},
  "variantGroups": {
     "platform": {
       "ios": {
           "fontSize": 24
        },
       "android": {
           "fontSize": 24
        },
       "web": {
           "fontSize": 32
        },
     },
   },
}

Then, in js:
<MyComponent platform={Platform.OS} />

I guess it covers every use-case and allows you having only one mapping.json. Also, it wouldn't break watchers. What do you think?

but simply RELATIVE_PATHS and resolution logic cannot fit for every structure.

That's true. I guess it should be rewritten with using of node process arguments.

 I have no
different idea.
Bytheway what about module.exports.styles = (generated module) logic?
2020년 4월 20일 (월) 오후 9:57, Artur Yorsh<EMAIL_ADDRESS>작성:

@dehypnosis https://github.com/dehypnosis Well, I thinking a bit about
the possible solutions for platform-dependent mappings, and here is the
best option I realized:
Instead of using several mapping files, you can just use a variant groups
feature. For instance, in mapping:
// ..."MyComponent": {
// ...
"mapping": {},
"variantGroups": {
"platform": {
"ios": {
"fontSize": 24
},
"android": {
"fontSize": 24
},
"web": {
"fontSize": 32
},
},
},
}
Then, in js:

I guess it covers every use-case and allows you having only one
mapping.json. Also, it wouldn't break watchers. What do you think?
but simply RELATIVE_PATHS and resolution logic cannot fit for every
structure.
That's true. I guess it should be rewritten with using of node process
arguments.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/akveo/react-native-ui-kitten/issues/1019#issuecomment-616534954,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAY4ZLJWFQBAYYD6JVAKWHDRNRBCDANCNFSM4MHO747Q
.

Seeing your new mapping structure

It's not new. This is something that is already works. For instance, status and size properties of button are variant groups. Also, you can combine multiple variant groups to achieve the result.
Mapping is extendable. For now, the only thing you may stuck when adding custom variant groups (like platform) to existing components is that you'll have TS issues if you use it. Anyways, it will not break your own components if you describe them.

Okay I got it. what a flexible code base!
2020년 4월 21일 (화) 오전 1:37, Artur Yorsh<EMAIL_ADDRESS>작성:

Seeing your new mapping structure
It's not new. This is something that is already works. For instance,
status and size properties of button are variant groups. Also, you can
combine multiple variant groups to achieve the result.
Mapping is extendable. For now, the only thing you may stuck when adding
custom variant groups (like platform) to existing components is that
you'll have TS issues if you use it. Anyways, it will not break your own
components if you describe them.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/akveo/react-native-ui-kitten/issues/1019#issuecomment-616670468,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAY4ZLNRGNV3JLPEVRBGAP3RNR24TANCNFSM4MHO747Q
.

@dehypnosis I would suggest looking through existing implementation to realize how it works. There is no meaningful documentation on working with mapping to be honest.
mapping.json

So <ApplicationProvider platform={..} ... /> is avilable with strict
mapping with variant groups now?
2020년 4월 21일 (화) 오전 1:44, Artur Yorsh<EMAIL_ADDRESS>작성:

@dehypnosis https://github.com/dehypnosis I would suggest looking
through existing implementation to realize how it works. There is no
meaningful documentation on working with mapping to be honest.
mapping.json
https://github.com/eva-design/eva/blob/master/packages/eva/mapping.json
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/akveo/react-native-ui-kitten/issues/1019#issuecomment-616674966,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAY4ZLK5OIYHISSSO4K4QYDRNR3X3ANCNFSM4MHO747Q
.

@dehypnosis ApplicationProvider has no variant groups, this is about the components.

Okay then for examlple how can i set whole font family for web plaform
only? Sorry for bothering you with too much questions.
2020년 4월 21일 (화) 오전 1:59, Artur Yorsh<EMAIL_ADDRESS>작성:

@dehypnosis https://github.com/dehypnosis ApplicationProvider has no
variant groups, this is about the components.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/akveo/react-native-ui-kitten/issues/1019#issuecomment-616683797,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAY4ZLLZ4XF2DBAOXSJIBT3RNR5OJANCNFSM4MHO747Q
.

Well, let's dive deeper into the mapping engine together. 🚀
So what the docs say: you may use text-font-family to set the font globally for all components.
Now lets go deeper and remember that the text in React Native should also be wrapped in a Text component, meaning we're able to customize it.
Knowing all of that, let's see how the Text mapping is structured. And realize we can create a platform variant group to make it platform dependent like it was described above.
The final optimization I see here would be creating own component which renders UI Kitten Text component, but a little optimized with defaultProps to include platform: Platform.OS which will finally make the text configured for the platform it runs with no extra props.
Easy 😄 🤷♂

I got the idea, so you mean it?
<ApplicationProvider {...eva}>
  <MyTextWrapperWithPlatformProps platform={Platform.OS}>
    // ...
  </MyTextWrapper>
</ApplicationProvider>

with "MyTextWrapperWithPlatformProps" mapping for custom text-font-family.
Then will the mapping be inherited by the descendants? If then, my needs all satisfied.
Anyway thanks a lot for your awesome work and about the answers.
I will try your solution later when the path resolution issue fixed.

@dehypnosis what // ... in text children supposed to be?

Then will the mapping be inherited by the descendants?

Not by children. That's why I suggest creating defaultProps

Having the same issue with a NX monorepo setup, curious to know how this evolves....

@dehypnosis
you wrote:

Also my project is mono-repo which raises no such file path.. error with @ui-kitten/metro-config. (I had to make a tricky workaround to resolve it with @ui-kitten/metro-config)

Also my project is mono-repo which raises no such file path.. error with @ui-kitten/metro-config. (I had to make a tricky workaround to resolve it with @ui-kitten/metro-config)
What was that workaround? I am having the exact same issue, and i cant find anything on how to resolve this...
thanks in advance!

I ran into similar issues. This was my workaround for the hard-coded RELATIVE_PATHS inside BootstrapService (detect root and call process.chdir before calling BootstrapService.run):
// cli.js
const path = require('path');
const findWorkspaceRoot = require('find-yarn-workspace-root');
const BootstrapService = require('@ui-kitten/metro-config/services/bootstrap.service').default;

function findRootFolder() {
  const packageFolder = path.dirname(__dirname);
  const index = packageFolder.toLowerCase().indexOf('node_modules');
  const isRunningInsideNodeModules = index > -1;

  if (isRunningInsideNodeModules) {
    return packageFolder.substring(0, index);
  }
  // running inside local monorepo:
  return findWorkspaceRoot(packageFolder);
}

const rootFolder = findRootFolder();
process.chdir(rootFolder);

BootstrapService.run({ evaPackage: '@eva-design/eva', customMappingFile: '....' });

node cli


Polars: proof definitions

Towards #2080

#2087  👈
main

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

Join @Shoeboxam and the rest of your teammates on  Graphite


Add FreeBSD to documentation

a fix for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269745 has been committed to main (latest) https://github.com/freebsd/freebsd-ports/commit/8014b050aa2f5d3e016d48c98865eabb0e6b12fe but not yet merged to quarterly.


Update .gitignore rules

Ignore Windows, macOS, Linux, VSCode and Julia-related files.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (d239921) 41.04% compared to head (fd11e96) 39.34%.
Report is 6 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #23      +/-   ##
==========================================
- Coverage   41.04%   39.34%   -1.70%
==========================================
  Files           6        6
  Lines         614      610       -4
==========================================
- Hits          252      240      -12
- Misses        362      370       +8

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.