ls: cannot access '/mnt/c': Input/output error

Your Windows build number:  (Type ver at a Windows Command Prompt) Microsoft Windows [Version 10.0.18950.1000]

What you're doing and what's happening:  (Copy&paste the full set of specific command-line steps necessary to reproduce the behavior, and their output. Include screen shots if that helps demonstrate the problem.)
Trying to access /mnt/c/ from inside WSL 2

What's wrong / what should be happening instead:
Should be able to list files and dirs from /mnt/c/

Strace of the failing command, if applicable:  (If some_command is failing, then run strace -o some_command.strace -f some_command some_args, and link the contents of some_command.strace in a gist here).

https://gist.github.com/scrossan-crown/827948cabed828a2e040e62fc816d181

That error occurs if the hidden wslhost.exe process is died/killed. Just use wsl.exe --shutdown and restart it.

That error occurs if the hidden wslhost.exe process is died/killed. Just use wsl.exe --shutdown and restart it.

this fixes it for me

Hit this error myself, proposed work around fixes the problem. Issue itself is recurring, no discernible pattern as of yet. I've got the Docker for Windows tech preview if that is of any relevance.

I'm hitting this on 18956 - the pattern seems to be doing significant file I/O on the mounted NTFS+BitLockered filesystem. (for example, I've got a directory with a few thousand files on it. I can reliably repro this by grep'ing across the files)

@mariusstrom can you share your reliable repro steps so we can dig into this? :)

@mariusstrom can you share your reliable repro steps so we can dig into this? :)

@craigloewen-msft here's what I've got. It repros not 100% of the time, but probably about 80% of the time. Not sure if all of the below is useful or red herrings, but here's all the relevant info I can think of.
I've got a OneDrive for Business folder with ~7k files in them, half JPG files and half JSON files. The OD4B is offline sync'd to a NTFS volume that is BitLocker'd (stock Surface Go setup). About half the files are sync'd locally and the other half are offline file pointers.
I'll jump into WSL2 (Ubuntu 18.04LTS) and try to do things like grep operations over the files that are sync'd locally, but even some things such as ls -l ops in the directory cause the operation to fail and the I/O error on anything under /mnt/c.
I'm on vacation right now, back in Redmond in a few weeks, but I'll be online periodically if there's debug info you want me to snag.

I'm using Terraform on Ubuntu WSL 2 with Windows build 18970 and this is happening all the time. Terraform is installed in Ubuntu but I have my git repos under /mnt/c so that's where I run plan/apply etc which really triggers this bug.

We are working on fixing this but have had a hard time getting a local repro. If anybody has some ideas on how to trigger this please let us know.

@benhillis when I run into a repro, mind if I ping you directly on teams when I have it going on?

how to trigger this please let us know.

@benhillis Do you want to reproduce that error with well-known programs? I have reproduce the error by making a mistake in my program. And strace shows EIO with stat(2) and chdir(2).

how to trigger this please let us know.

@benhillis Do you want to reproduce that error with well-known programs? I have reproduce the error by making a mistake in my program. And strace shows EIO with stat(2) and chdir(2).

Is the bug in hvpty-backend? I'm using your code and also meet Input/Output Error several times.

@dxhisboy Absolutely.

@dxhisboy Absolutely. But it's off-topic here.

I've been able to reproduce it pretty consistently - primarily by stopping a rather large directory operation after ~30-45 seconds (may vary based on disk speed/size). The following screenshot is after a clean restart of WSL with wsl --shutdown and wsl -d Ubuntu.

In this specific instance, I loaded into WSL and ran du -h --max-depth=1 on a folder with 91 directories, and a total size of about 150GB - and after about 35 seconds of the command running I stopped it with Ctrl+C.
This immediately resulted in any subsequent filesystem action on /mnt/c giving the Input/Output Error. I'm sure this would work with any intensive enough/long running enough command.
I hope that helps y'all get some repro on this - and please lmk if you need anything else from me 😀
Windows Version: 10.0.18963.1000
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

Some good news: @SvenGroot has identified the issue and is working on a fix.

Can you share any details about the issue, cause & remedy?

@Biswa96 see my comment above. The only solution is to wsl --shutdown and restart WSL.

I mean why the issue occurs and what SevenGroot found as a solution.

@Biswa96 - bug in 9p server around cancellations (you could argue the bug is in the Linux 9p client but we'll fix our server implementation).

Essentially, when an operation is interrupted by a signal (e.g. CTRL-C), the 9p client in the Linux kernel will send a "flush" message to cancel the pending request. Our server did not support cancellation, so it would return an error in response to the cancellation attempt.
It turns out the Linux client ignores the response from flush, and assumes that the request has been cancelled as soon as it receives such a response (regardless of whether it's success or error). Since we didn't actually cancel the message, we will still send the real response. When the Linux client receives this response, it thinks it's an invalid message and disconnects from the server, and will return EIO to all requests after that.
This wouldn't always happen, since if the real response came before the "flush" response, there's no issue.
One could argue that the Linux client is wrong to consider a request cancelled if the "flush" message returned an error. However, as Ben said, we'll fix this by handling "flush" correctly in our server.
Since the server is fine and it's only the client that's disconnected, you can actually recover from this without restarting WSL, by just unmounting (sudo umount /mnt/c) and remounting (sudo mount C:\\ /mnt/c`; adjust for the appropriate drive letter as needed), but you'd have to make sure that you match the right mount options too (especially the automatically added ones, such as the default owner uid and gid).

I've got an issue which seems from reading this seems to stem from the same the same thing.
If it's of any help, I've got Docker Technical Preview installed.
Windows Version: 1903, OS Build: 18980.1
Ubuntu 18.04 WSL2
Steps to reproduce:

Start with a shutdown pc. Turn it on.
Once signed in, open up Windows Terminal(Preview)
Open an Ubuntu tab.
Try running any windows command, such as code or explorer.exe
Terminal will output command not found

To resolve the issue:

Close the Ubuntu session, open a new powershell session and run the command wsl --shutdown
Open up Ubuntu again, run the command code, it should work as expected, by opening vscode in windows, connected to WSL2 Ubuntu.

OR
Simply restart pc. After opening up Ubuntu, code, explorer.exe, and other commands will work as usual. However, after a restart, any transparency effects (Such as the Windows Terminal's Acrylic background and the start menu color, will be shut off, with no way of turning them back on again. But I doubt this has to do with WSL itself.

I got the same.
cd /c/Program\ Files\ \(x86\)/someprogram
grep -r status *

then... CTRL-C. then ls

you can actually recover from this without restarting WSL, by just unmounting (sudo umount /mnt/c) and remounting (sudo mount C:\\ /mnt/c)

I get this when remounting:
mount: /c: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.

There is no mount.9p under /sbin. This is on a distro migrated from WSL1.

It happens when I manipulating files in /mnt/c/...

Fixed in 18995.

Can confirm this is now fixed for me, tested under 19001.

you can actually recover from this without restarting WSL, by just unmounting (sudo umount /mnt/c) and remounting (sudo mount C:\\ /mnt/c)

I get this when remounting:
mount: /c: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.

There is no mount.9p under /sbin. This is on a distro migrated from WSL1.
EDIT: adding -t drvfs to the mount command fixed it. So sudo mount -t drvfs C:\\ /mnt/c

fixed!!!!!! THX!!!!!!

It seems that I got it again
:/mnt/c$ ls
ls: cannot open directory '.': Input/output error

19073.1
Ubuntu 1804

Just hit this again with:
Version	10.0.19041 Build 19041
NAME            STATE           VERSION

Ubuntu-18.04    Running         2

I believe it may have to do with putting windows to sleep.

Can confirm this is also happening to me from time to time in 19541 usually when running intensive I/O, such as cloning BIG git repos. I'm using Ubuntu-18.04 on WSL 2

This was supposedly fixed 6 months ago , I encountered the same problem today.  I had luck with the following
    sudo umount /mnt/c
    sudo mount -t drvfs C:\\ /mnt/c

Just hit this again with:
Version 10.0.19041 Build 19041
NAME STATE VERSION
* Ubuntu-18.04    Running         2

I believe it may have to do with putting windows to sleep.

I'm also seeing this issue periodically, and I agree that it seems to be triggered by putting the PC to sleep.
 I have to manually restart the LxssManager service to get things working properly again.

Can confirm, just had the same issue after getting windows out of sleep

I had the same problem, started 3 days ago, I open the WSL2 using Ubuntu, instead of opening the prompt on regular folder /mnt/c/user is opening now on root / , then when I move to cd /mnt/c/ and try a simple ls command, I got this error message ls: cannot open directory '.': Input/output error

That error occurs if the hidden wslhost.exe process is died/killed. Just use wsl.exe --shutdown and restart it.

this fixes it for me

This helped me to fix.

wsl.exe --shutdown

This has happened twice for me on 2004 (19041.264) right after a shutdown + reboot, but I cannot consistently reproduce it. wsl --shutdown  fixes it.

Same here... 👎

@SvenGroot @benhillis Can we reopen this issue or should we create a new one? I have this every time now after a restart

@kwint - which version are you running?

@benhillis wsl 2 and am on a windows insiders slow ring. Will check which build version when I'm back home

A +1 on this issue : My wsl always starts in this error state too when i boot windows, no exception. It's consistently fixed by doing wsl.exe --shutdown. I'm using wsl 2 with Ubuntu on win 10.0.19041.264

+1 with ubuntu 20.04 & win pro .19041.264

@craigloewen-msft @benhillis Could we get this reopened?
Also still experiencing this, intermittently though.
Win10 Pro 10.0.19041.264 && Ubuntu 18.04

I've experienced this. I restarted with updating and when apps I had open were restored, VS Code failed to communicate with WSL, found out that wslhost was down, so I shutdown WSL and it was fixed. Might be because of restarting or the update.

Also have this issue. Upgraded to Windows 2004. Enabled WSL 2 and installed clean new Ubuntu 20.04. When starting Windows Terminal it starts at Ubuntu's root folder '/'. wsl --shutdown helps but only until next Windows reboot. Using notebook (presumably Fast Boot enabled if it means something).

Yeah there's still an issue here.
I have a fresh install of the latest stable Windows 10 (19041.329), installed VS code, wsl2 and docker (wsl2 engine). Every time I start Windows I have to restart WSL2 (wsl --shutdown) otherwise it's broken.

same issue here
thought (wsl.exe --shutdown) works, it's still pretty annoying
win10 20161.1000 & ubuntu 20.04

I have a different machine that's been upgraded to WIn10 2004 & WSL2, and also experiences this issue upon each boot

I've been having a similar issue on Windows 10 v2004 and WSL2 - intermittent input/output errors when accessing the windows disk from a Docker container - except that it occurs intermittently, and wsl --shutdown has no apparent affect on the frequency.
I opened an issue with Docker for Windows earlier today outlining my situation, but reading this more, it seems to be more WSL specific. In any case, if anyone is interested in reading, I've gone into detail here: https://github.com/docker/for-win/issues/7552

I've got an issue which seems from reading this seems to stem from the same thing.
If it's of any help, I've got Docker Technical Preview installed.
Windows Version: 10.0.18980.1
Ubuntu 18.04 WSL2
Steps to reproduce:

Start with a shutdown pc. Turn it on.
Once signed in, open up Windows Terminal(Preview)
Open an Ubuntu tab.
Try running any windows command, such as code or explorer.exe
Terminal will output command not found

To resolve the issue:

Close the Ubuntu session, open a new powershell session and run the command wsl --shutdown
Open up Ubuntu again, run the command code, it should work as expected, by opening vscode in windows, connected to WSL2 Ubuntu.

OR
Simply restart pc. After opening up Ubuntu, code, explorer.exe, and other commands will work as usual.
However, after a restart, any transparency effects (Such as the Windows Terminal's Acrylic background and the start menu color, will be shut off, with no way of turning them back on again. But I'm sure this has nothing to do with WSL.

I have the exact same problem since I installed docker desktop on Win. 2004
wsl --shutdown does seem to fix it though. Occurs on every reboot.
Any permanent solutions thus far?

As for me the problem still exists with 90% certainty after every reboot. I always check cd /mnt/c if it is accessible. If not wsl --shutdown and start again.
But recenty I installed Ubuntu 18.04 LTS package from Store (alongside with default Ubuntu with this problem). And it occured that this Ubuntu 18.04 doesn't have this problem at all. It starts always in windows user folder (/mnt/c/Users/).

As for me the problem still exists with 90% certainty after every reboot. I always check cd /mnt/c if it is accessible. If not wsl --shutdown and start again.
But recenty I installed Ubuntu 18.04 LTS package from Store (alongside with default Ubuntu with this problem). And it occured that this Ubuntu 18.04 doesn't have this problem at all. It starts always in windows user folder (/mnt/c/Users/).

I've been having this issue with the same consistency (for me it's not /mnt/c it's vscode's code command that raises an IO error). I've had this issue with the same frequency on wsl Ubuntu (whatever version that is) and wsl Ubuntu 20.04.
I'm curious on 18.04 where you don't have the issue you start in windows user folder, but on the other OS (where you have issue) where do you start ? I'll try with starting on the windows mount instead of my ubuntu home to see if it removes the issue (but it's less convenient).

I also use VSCode - it's IO error when you call code from WSL is because it is inaccessible due to C: drive not mounted.
Ubuntu (20.04, default store package) where I had issue started in ~ (home dir).
I've deleted and reinstalled that distro - it works now fine and starts us /mnt/c/Users/ folder as 18.04

Not sure why this issue was closed; it still happens, at least it happened to me today.  Fully updated, Windows 2004 (last update was KB4571756, 'ver' in cmd.exe shows "Microsoft Windows [Version 10.0.19041.508]"), Ubuntu 20.04 version 2 (and 'uname -a' shows "Linux lobo 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

").

I did do an 'apt upgrade' today, but it had only 4 items, and I last did this on 29 Sep. (so after aeschli marked this issue "Closed").

This issue has been closed since 18 okt 2019...
I did ping some maintainers before (https://github.com/microsoft/WSL/issues/4377#issuecomment-638679307). I'm not sure if this issue is on microsoft's radar. I still have the issue, but definitely less frequently than before.

@kwint: oops, I saw the "update" icon next to @aeschli's post 14 days ago (around 18 Sep 2020), and assumed wrongly that they had done that.  I guess I don't understand what the "closed" icon means (some of them apparently don't even refer to this "issue", but some an issue referenced in someone's comment?).
At any rate, I had the problem today; not sure how often it happens, nor whether it's reproducible.

Gonna ping them again, had this issue again a few times in the last few days.
@SvenGroot @benhillis do you guys mind opening this issue again or shall we create a new one? It is obviously still (or again) present

Just an FYI for interested parties, I do have an open and assigned issue that is similar if not directly related (#5552) - although I've not heard back from Ben or Sven on it in a while myself. Might be worth watching in relation to this.

I'm also hitting this on 2004. Like @jainsamyak , I too have docker desktop installed.
wsl --shutdown and wsl doesn't fix it.

me too, all started while trying to build a project with stack, even if a restart wsl the error comes back after doing a few things

Same error

That error occurs if the hidden wslhost.exe process is died/killed. Just use wsl.exe --shutdown and restart it.

this fixes it for me too

What do we have at the moment? Uncontrolled memory increasing of Vmmem and "cannot access '/mnt/c': Input/output error". I got the last error when using WSL2's git inside PHPStorm. If you need to shutdown WSL every time when memory is out of comfort work or wslhost.exe is died, you should find a new environment to do your job. But I don't want to do this! I'm really happy that I have so powerful tool like WSL. Windows is becoming something really cool for working. But these lacks have been existed for ONE YEAR with no solution.
I'm sorry for non-constructive speech. Just scream of soul. Problem is still here.

As for me, I reverted back and removed WSL completely. Installed VirtualBox + headless Ubuntu server. Works like a charm (VS Code with Remote SSH extension, working systemd(!), shared folders). Startup time is 5 seconds.

This started happening to me after I installed Docker Desktop, very annoying!

The simplest solution now is restarting LxssManager in services.msc.

Same problem here WSL2, Ubuntu 20.04 LTS ... All fully updated ...

Disabling Fast Startup completely resolved the issue for me, though it's not a feasible solution for everyone.

New tracking issue for this seems to be over here: https://github.com/microsoft/WSL/issues/6174

@wafflepie  disabling Fast Startup did not work for me

I'm getting this issue quite a lot at the moment. I'm trying to extract a large 30GB tar.gz file. I haven't managed to unpack it yet. When it fails, I get this kind of error, when everything just either returns i/o error, or segv. Clearly restarting wsl "fixes" the problem, since I'm rebooting the machine. But it doesn't fix it in the sense that I can't unpack the tar file. It's not an out of disk space issue.

I runned the docker command with sudo and not it works!

I was able to repro this behaviour when deleting several thousand files in Windows from my Bitlockered D: drive (/mnt/d 9p mount).

I was able to repro this behaviour when deleting several thousand files in Windows from my Bitlockered D: drive (/mnt/d 9p mount).

Interesting. I always access files on a Bitlockered partition as well when I see this error.

I was able to repro this behaviour when deleting several thousand files in Windows from my Bitlockered D: drive (/mnt/d 9p mount).

Interesting. I always access files on a Bitlockered partition as well when I see this error.

In my experience Windows doesn't handle thousands of files very well - either deleting them or copying them. I can get Explorer to crash/restart itself mid operation if I start off several large folder deletes. But this doesn't necessarily coincide with the /mnt being inaccessible.

Any update on this ?
Having to use powerhsell to wsl.exe --shutdown each time I want to open VSCode in WSL mode is exhausting

Hey, I previously never had this issue but after being forced to upgrade to windows11 and then downgrade back to windows10 build 10.0.19044 since can't bear the weird behaviours of my touchpad of win11..It's really annoying anyway to fix it other than wsl.exe --shutdown? especially when i have multiple terminal running and it just happens so randomly and should be fixed.. Use Ubuntu 18.04 LTS.

Hey, I previously never had this issue but it happens to me recently after being forced to upgrade to windows11 and then downgrade back to windows10 build 10.0.19044 since can't bear the weird behaviours of my touchpad of win11..It's still forces me to upgrade even if I have quit the insider program since win11 is extremely buggy and broken.. Do I have to do a clean installation of win10 to completely get rid of win11's legacy bugs? It's really annoying.. anyway to fix it other than wsl.exe --shutdown? especially when i have multiple terminal running and it just happens so randomly and should be fixed.. Use Ubuntu 18.04 LTS.

It would be a great idea to update your Ubuntu installation to a more recent version like 20.04 or 21.10.
But 18.04 could be too old for WSL to be supported properly since there is no demand

I have all sorts of issues with the connection between WSL2 and Windows seemingly dying lately. Especially when doing large file operations in Explorer or using Visual Studio Code (where it hangs). This is Ubuntu 20.04.

before

after (what ???)

before
after (what ???)

yeah you need to restart WSL2 by going to powershell, typing wsl.exe --shutdown and re-open WSL. This has been the case for me for more than 1.5 years now....

before
after (what ???)

yeah you need to restart WSL2 by going to powershell, typing wsl.exe --shutdown and re-open WSL. This has been the case for me for more than 1.5 years now....

Yes I know but I try to find the cause which process break permission.

wsl --shutdown fixes for me as well

@jmtornetta we already know this but we want a real stable solution

That error occurs if the hidden wslhost.exe process is died/killed. Just use wsl.exe --shutdown and restart it.

work for me, now echo $PATH can output some path from windows.

I was experiencing this issue regularly and then noticed that I was running out of disk space which was causing WSL to crash.

@KevinJoiner : out of curiosity, are you running on Linux?  I've crashed our lab's Linux system several times over the past couple years by trying to copy large files into dirs that happened to be on the same disk partition as /tmp, and I ran out of space on that partition. I'm really surprised that Linux doesn't guard against this, e.g. by reserving space for /tmp, or starting to issue console warnings when the space on some partition gets low, or s.t.  IMHO, you shouldn't be able to crash Linux by copying large files.

@mcswell No, I was on windows, though I have previously crashed Linux systems by copying large files. Linux usually runs into trouble when you fill-up the root partition /, which I am guessing is where /tmp lives on your system. To avoid this, it is often recommended to have /tmp on its own partition. If you are interested, you can read more about partition schemas here

This is still an open issue for me.
Win 10 Version 10.0.19044.2130
Bitlocker enabled
Local Admin disabled
Attempting to perform a gradle build in Ubuntu or Kali-linux, getting build failure
└─$ ls -al /mnt
ls: cannot access '/mnt/c': Input/output error
total 8
drwxr-xr-x  4 root root 4096 Oct 24 20:29 .
drwxr-xr-x 18 root root 4096 Nov  2 11:37 ..
d?????????  ? ?    ?       ?            ? c
drwxrwxrwt  3 root root   60 Nov  2 11:37 wsl
Worked fine while I had Admin access (usually disabled by corporate profile).

That error occurs if the hidden wslhost.exe process is died/killed. Just use wsl.exe --shutdown and restart it.

Works well thank you.

This worked for me wsl.exe --shutdown
In my case I think it has to do with the computer suspend/sleep cycle.

This worked for me wsl.exe --shutdown In my case I think it has to do with the computer suspend/sleep cycle.

I have the same issue. after sleep or suspend my wsl is closd.

wsl.exe --shutdown works, but the problem persists upon restart with any significant I/O (in my case saving ML models and weights using Python).

That error occurs if the hidden wslhost.exe process is died/killed. Just use wsl.exe --shutdown and restart it.

this fixes it for me

this fix worked for me thank you

I just came back to linux (Mint) and I think this is the best solution !

Easier solution than restarting the environment is to unmount the volume, and let it get automatically mounted again
umount /mnt/c
If you get a target is busy error, don't forget to cd out of any subfolder of the mount point on all sessions before unmounting.

I see this issue is closed, yet I'm getting this every day (literally) on Windows 11. Is there any other issue where someone is working on it?
I also use BitLocker as someone mentioned here. The workaround with wsl --shutdown is not so great as I have to reopen everything and also Docker Desktop just dies...

I'm also experiencing this problem. There is no particular problem right after starting WSL, but I cannot access to mounted disks(/mnt/*) after a few hours.
I cannot figure out the reason but it seems that this problem occurs sooner when I did huge Disk I/O.
and I cannot understand why so many people thumb up on "wsl --shutdown". it is not a solution.

I also encountered this problem. When using rsync to synchronize files, compile projects, and so on, as long as there is a large amount of file IO, it will definitely get stuck

In my case, it seems that the problem occurs when I access to the mounted disk with WSL and Windows Explorer together.
I stopped using Explorer to access the files in the disk after I got this assumption, and I never had problem until now.

After changing the default mounting to SMB, this problem will not occur.
The problem should be on drvfs or 9P.

@zynfly hmm, how exactly did you mount the disk to avoid the issue?

After changing the default mounting to SMB, this problem will not occur.
The problem should be on drvfs or 9P.

providing a solution would be great. Please share your secrets with us :)

mk the local folder shared
edit the fstab in wsl to mount this folder
//DEVICE_NAME/shared_folder /mnt/shared_folder cifs username=xxxx,password=xxxx,iocharset=utf8,sec=ntlm 0 0
the fstab should be like this, I can't remember clearly.
I configured it on the previous computer, but it broke down and I can't remember the details clearly.

@stoperro @Kumen

I encounter a similar kind of issue where the any filesystem related command hangs forever. For example ls command hangs forever. I work in a scenario where I have some algorithm running WSL but relies on data being generated and dumped on Windows drive. I noticed during frequent polling of disk from python or when a process on windows is busy writing to the disk at the same time I encounter this issue. It is errorless. Python doesn't throw an error when it can't retrieve info from commands such as os.listdir. Interrupt commands also don't work when drives aren't accessible anymore. The only solution for me is to restart the entire WSL environement

I've got this issue where my drive is disconnected even in Windows Explorer; is that the same as folks are seeing or different?
I actually move WSL to my D: drive at some point in the past and it's mostly fine but every once in a while the drive disappears, all of my bash terminals in Ubuntu (20.04.6) (the default one that I get with wsl.exe, not sure what it actually is) get in a state since "the system" is effectively gone and even killing the terminal with ^D hangs. Even trying to open Explorer from the taskbar hangs for a while, it eventually opens and this drive is missing. Reboot to recover although I'll try just restarting WSL to see if Windows can recover on its own?
I have opened up the PC and reseated the drive; I suppose something could be flaking there but it does only seem to happen when I'm "doing a lot," e.g. I've got VSCode open and I'm searching through files etc., and if I'm just doing terminal things and using Vim for editing it doesn't seem to happen.

I have discovered a factor that triggers an "Input/output error". After using a portable hard drive on my computer, when I tried to eject it, it prompted me that it was occupied. I used PowerToys and found that it was dllhost, so I turned off dllhost so that the portable hard drive could be ejected. But immediately, the drive letter mounted under/mnt cannot be accessed in WSL. I repeated the operation and it was indeed triggered by turning off dllhost.

In case it helps others at all - the solution described here https://superuser.com/a/1747876 worked for me:

In WSL, Use
sudo mount -t drvfs DRIVE: /mnt/DRIVE
E.g.
sudo mount -t drvfs D: /mnt/d


CMake's GenerateExportHeader

https://cmake.org/cmake/help/latest/module/GenerateExportHeader.html

+1 for this. It's usually only necessary if you want to support shared libraries though, if you're only concerned with building a static lib, you can get away without decorating every function/class with MYLIB_EXPORT


Element visually loses font when I interact with unrelated element (Example 1)

Environment
React: 17
Styled-components: 5.3.3
Reproduction
import React from "react";
import styled from "styled-components";
import Test from "./Test";
let MainContainer = styled.div`
  @import url("https://fonts.googleapis.com/css2?family=Fraunces:wght@500&display=swap");
`;
export default function App() {
  return (
    <MainContainer>
      <Test />
    </MainContainer>
  );
}

where Test is defined as:
import React from "react";
import styled from "styled-components";

let SectionLink = styled.a`
  font-family: "Fraunces";
`;
export default function App() {
  return (
    <div>
      <h1
        style={{
          fontFamily: "Fraunces"
        }}
      >
        Header
      </h1>
      {/* <SectionLink /> */}
    </div>
  );
}

It works in the sense that h1 takes  the "Fraunces" font. But try uncommenting SectionLink and suddenly h1 loses  "Fraunces" font (visually). What is causing this?  Demo.
I am not sure if it was ok to use fontFamily: "Fraunces" on inline style above (see my other issue too).
Expected Behavior
I suppose the "Fraunces" font should not disappear visually from header text, when I interact with other element.

Related


Unable to use devphase stack run if version is different than latest

Opening the issue here as well because I think the problem might be either in this repo or in the phat-offchain-rollup:
https://github.com/Phala-Network/phat-offchain-rollup/issues/26
specs:

Ubuntu 22.04
nodejs 16.15.1
yarn 1.22.19

@a-moreira
Here you can find list of available releases:
https://github.com/Phala-Network/phala-blockchain/releases


Wildcard doesn't match an empty string ""

Wildcard presently does not match an empty (zero length) string, where as it's reasonable to expect that it does.
e.g.
Searching for blue* will not match an indexed document with the text "The sky is blue". However, searching for blue, will correctly return a match.
This is problematic as it typically necessitates two queries where one ought to suffice e.g.
const idSet = new Set()

const words = searchText.trim().split(/ |\-/)
const components = words.filter(w => w.length > 1).map(w => w.toLowerCase())

// We need to do what is *essentially* the same query twice, as Lunr's wildcard support is little unusual

textIndex.query(query => {
	components.forEach((component, index) => {
		if (index === words.length - 1) {
			query.term(component, {wildcard: lunr.Query.wildcard.TRAILING, presence: lunr.Query.presence.REQUIRED})
		} else {
			query.term(component, {presence: lunr.Query.presence.REQUIRED})
		}
	})
}).forEach(match => idSet.add(Number(match.ref)))

textIndex.query(query => {
	components.forEach((component) => {
		query.term(component, {presence: lunr.Query.presence.REQUIRED})
	})
}).forEach(match => idSet.add(Number(match.ref)))

This also leads to the overhead of having a separate Set to remove duplicate match results.
The problem is somewhat exacerbated by the lack of sub-query support (mentioned in the last comment in https://github.com/olivernn/lunr.js/issues/264). If we had sub-queries (OR/ADD) then the existing wildcard behaviour would be passable as we could just do something like:
query.or(
	query.term(component, {presence: lunr.Query.presence.REQUIRED}),
	query.term(component, {wildcard: lunr.Query.wildcard.TRAILING, presence: lunr.Query.presence.REQUIRED})
)

As it stands, you instead need to perform an entirely separate query, with just the last search term altered, in order to correctly match user input as it's typed.

Wildcard matching an empty string seems entirely reasonable. The current behaviour is more likely an omission rather than a deliberate choice.
I need to investigate another bug in the code that handles wildcard so I'll take a look at fixing this also.

Hmm, this might not be a problem with lunr.TokenSet since there is a test specifically for matching zero or more characters.

Oh gosh this has been an issue since 2019 gasp
Bitwarden uses this library, and it's not possible to search for empty usernames on the Bitwarden database. Is there no timeline for fixing? No alternative to search for empty string in a field? Thanks.


Basic 'starter support' for PL/I

Requires a PL/I modified front end that prints out dependencies
See https://github.com/ZOSOpenTools/cmakeport/blob/altcmp/tests/basictest for what is expected to work with the modified front end.

@perry-ca  @IgorTodorovskiIBM converting this to draft and unassigning myself.
I expect much has changed in this area, but the patches might be useful if/when we resurrect this idea.


Attachement is empty

This might be a long shot, but I was able to use the library to attach an image and send the email, however when I download and open the attachment it says the following
The file “test.png” could not be opened because it is empty.

Here is my code, I have been debugging for awhile maybe a second set of eye can help me find the error
func sendMyEmail() {
    m := email.NewMessage("Hi", "this is the body")
    m.From = mail.Address{Name: "From", Address<EMAIL_ADDRESS>    m.To =<EMAIL_ADDRESS>
    if err := m.Attach("./img_dump/test.png"); err != nil {
        // There is no error here
        log.Fatal(err)
    }

    auth := smtp.PlainAuth(""<EMAIL_ADDRESS>"mypassword", "smtp.gmail.com")
    if err := email.Send("smtp.gmail.com:587", auth, m); err != nil {
         // There is no error here also
        log.Fatal(err)
    }
}

Thanks

I actually found out the issue after examining the source code, I think attach relies on ioutil.ReadFile and ioutil.ReadFile only takes absolute paths


InfoView window freezes after build fail

Especially when failing due to an incorrect import statement, the window seems get stuck 100% of the time, only way to get it working again seems to be restarting the editor. The other non interactive InfoView seems to work but it's not as useful. I am using Rider 2024.2.5
stacktrace.txt

Yes, only the InfoViewJcef window is frozen, everything else works as normal. The window works again after using Lean4: Restart Jcef Infoview, and it's also working in the brower. Unfortunately the issue persists after installing the new version but I no longer get any error messages

Issue seems resolved for me as of v0.0.17


Page.emulate blocked when headless is false.

Steps to reproduce
(async () => {
    const browser = await puppeteer.launch({ headless: false });
    const pages = await browser.pages();
    const page = pages[0];
    await page.bringToFront();
    await page.emulate(iPhone);
    await page.goto('https://www.bing.com'); // will not be here.
})();

Puppeteer version: 1.0.0
Platform / OS version: macOS 10.13.3
URLs (if applicable):
Node.js version: 8.9.4

page.goto should be run, but nothing happened. It blocked at the page.emulate

The following script works fine for me on pptr v1.1.0:
const puppeteer = require('puppeteer');
const iPhone = require('./DeviceDescriptors')['iPhone 6'];

(async () => {
    const browser = await puppeteer.launch({ headless: false });
    const pages = await browser.pages();
    const page = pages[0];
    await page.bringToFront();
    await page.emulate(iPhone);
    await page.goto('https://www.bing.com');
    await page.close();
    await browser.close();
})();

In your example, make sure that iPhone is not undefined, otherwise it will throw.

Just tried running a page.emulate and it hangs.

FYI: I was running this with a vpn running and ssh. Running it locally and it doesn not hang.


Outdated

Heya, i just tried this with the current Nim versions on GitHub (in both the master branch and devel branch), but I'm getting this error:
/data/data/com.termux/files/home/nim-new-backend/Nim/compiler/vmops.nim(142, 8) Error: undeclared identifier: 'mm'
candidates (edit distance, scope distance); see '--spellSuggest':
 (1, 4): 'vm' [module declared in /data/data/com.termux/files/home/nim-new-backend/Nim/compiler/vm.nim(1, 2)]
FAILURE

It seems like the example is just incompatible with newer versions of Nim sadly

Termux was never supported, and it was just an example anyways.

I dont think it is very fair, but I dont know how to make this maintanable in the long run,
it is not accepted in mainstream, and I dont want to fork Nim itself, so it is kind of complicated,
besides it was just an example repo about hoe to do it, ideas and pull requests are welcome...

That's understandable, i think Araq talked about it being possible to use passes.nim without recompiling the whole backend? Haven't done much research into it but I'm definitely planning to, it'd be useful possibly to look into that for an alternative way of making a backend (while it wouldn't be exactly the same it'd probably would suffice for many people)

I am interested in this PR that would allow to "patch" Nim files without recompiling in theory,
I dont know how much you can do with that tho, ideas and pull requests are welcome...

https://github.com/nim-lang/Nim/pull/19925#issue-1284305740

Update on this, I am now working to create my own compiler backend for Nim, and I am doing it by using the Nim compiler as a library, Zerbina provided most of the code and currently i'm just working to get a semi-functional java backend for Nim (but time will be sparse soon due to college), repo can be found at https://github.com/Mythical-Forest-Collective/Nimpiler but note that nothing is actually functional (besides taking in a file and spitting it out)


Presence or absence of run_exports in cuda-cupti-dev

Comment:
Hello @conda-forge/cuda ,
I am experiencing a runtime failure due to a missing cuda-cupti package in jax compiled against cuda 12. I noticed that jax is compiled against cuda-cupti-dev package (see https://github.com/conda-forge/jaxlib-feedstock/blob/f24232396c4a2671e2efe879e22d19f4d83a814a/recipe/meta.yaml#L57), but cuda-cupti-dev , even if it contains headers and a shared library, does not contain any kind of run_exports. Is this intentional?
xref: https://github.com/conda-forge/conda-forge.github.io/issues/1963

After reading around and looking to similar feedstock, I have the impression is that the missing run_exports is just a typo or similar: https://github.com/conda-forge/cuda-cupti-feedstock/pull/10 . If that is not the case, feel free to close the PR, thanks!


Import error when running app.py

Thanks for a great looking tool. I am having some trouble trying to use it at the moment.
As per title, after installing the dependencies and running streamlit run auto_analyst/app.py, the below error occurs:
2023-06-28 17:18:06.387 Uncaught app exception
Traceback (most recent call last):
  File "/Users/user/virtual_envs/auto_analyst/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 552, in _run_script
    exec(code, module.__dict__)
  File "/Users/user/opt/auto-analyst/auto_analyst/app.py", line 2, in <module>
    from .auto_analyst import AutoAnalyst
ImportError: attempted relative import with no known parent package

Hi Clara, thanks for checking this project out. The new app is a Flask app, to run the app you can

Clone the repo
Create Python virtual environment
Install requirements.txt
From auto-analyst directory run python -m auto_analyst.app
Open the app in the browser at http://localhost:5000/

Let me know if that doesn't work. I'll update the readme and screenshots to reflect the newer app soon.

That worked many thanks. I'll mark this as resolved.


No way to set BrowserOptions from Allocator/Context

What versions are you running?
chromedp: master @ https://github.com/chromedp/chromedp/commit/65a198c84e64ae1ef429d10e9941c0f987a707b5 (v0.2)
go: go version go1.12 darwin/amd64
What did you do?
I created Browsers via an Allocator, then some Contexts.
What did you expect to see?
The ability to set BrowserOptions like WithLogf over NewContext.
What did you see instead?
I can't seem to pass BrowserOptions.

Thanks; this was on my radar, but there wasn't an issue for it :)


Create model using a function signature

Feature Request
Hi everyone, first things first, thank you for this fantastic tool you're developing.
I think it would be interesting to create a model dynamically based on a function signature.
In my case, I have some kind of function runners: functions that receive a function and
call it adding decorators, etc.  I've created the following snippet to create a model from
a function signature. If you're interested in this feature, I can create a PR for it.
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.4
            pydantic compiled: False
                 install path: /Users/antonio/Documents/TFG-AntonioMolner/env/lib/python3.7/site-packages/pydantic
               python version: 3.7.7 (default, Mar 10 2020, 15:43:33)  [Clang 11.0.0 (clang-1<IP_ADDRESS>)]
                     platform: Darwin-19.2.0-x86_64-i386-64bit
     optional deps. installed: []

import pydantic

def create_model_from_signature(func: Callable,
                                model_name: str,
                                base_model: Type[BaseModel] = BaseModel):
    args, _, varkw, defaults, kwonlyargs, kwonlydefaults, annotations = getfullargspec(func)
    defaults = defaults or []
    args = args or []

    non_default_args = len(args) - len(defaults)
    defaults = (...,) * non_default_args + defaults

    keyword_only_params = {param: kwonlydefaults.get(param, Any) for param in kwonlyargs}
    params = {param: (annotations.get(param, Any), default) for param, default in zip(args, defaults)}

    class Config:
        extra = 'allow'

    # Allow extra params if there is a **kwargs parameter in the function signature
    config = Config if varkw else None

    return create_model(
        model_name,
        **params,
        **keyword_only_params,
        __base__=base_model,
        __config__=config,
    )
...

Example
In[12] m = create_model_from_signature(open, 'MyModel', BaseModel)

In[13] m.__fields__

Out[14]:
{'file': ModelField(name='file', type=Optional[Any], required=True),
 'mode': ModelField(name='mode', type=Optional[Any], required=False, default='r'),
 'buffering': ModelField(name='buffering', type=Optional[Any], required=False, default=-1),
 'encoding': ModelField(name='encoding', type=Optional[Any], required=False, default=None),
 'errors': ModelField(name='errors', type=Optional[Any], required=False, default=None),
 'newline': ModelField(name='newline', type=Optional[Any], required=False, default=None),
 'closefd': ModelField(name='closefd', type=Optional[Any], required=False, default=True),
 'opener': ModelField(name='opener', type=Optional[Any], required=False, default=None)}

I've realized there is a validate_arguments method, I'm closing this issue.

This seems to be a bit like the @validate_arguments decorator that's soon to be released? https://github.com/samuelcolvin/pydantic/pull/1179

validate_arguments serve a different use case. Personally I don't understand why not going forward with the original idea...

This is a great idea @antoniomdk , though I agree with @danielbraun89 , I'm trying to build an automated function signature to base model to fastAPI request body and would need to extract the base model from function signatures. validate_arguments doesn't actually provide the base model it uses internally it appears, unless I've missed something.

NVM, I just noticed:
https://github.com/samuelcolvin/pydantic/blob/5bc1fcfb92aace50f18bf4ddcc915ef23e1c7431/pydantic/decorator.py#L45
I can use this as the model, didn't see it in the documentation, LMK if putting in a PR in for the docs if useful.

So, how can we implement this functionality in version Pydantic V2? validate_arguments has been replaced by validate_call, but their internal implementations are quite different.
The scenario I'm facing is that I have a large number of pre-written functions that I have automatically exposed through FastAPI. I want to dynamically create a BaseModel based on the function signatures and use model.model_validate_json to validate and convert the JSON data in the request body.

So, how can we implement this functionality in Pydantic V2? validate_arguments has been replaced by validate_call, but their internal implementations are quite different.
The scenario I'm facing is that I have a large number of pre-written functions that I have automatically exposed through FastAPI. I want to dynamically create a BaseModel based on the function signatures and use model.model_validate_json to validate and convert the JSON data in the request body.

Did yo find any solution on this?


Rename package from seedu.address to vimification

The old package name is seedu.address.
The package is renamed from seedu.address to vimification. Occurrences of seedu.address in all files are also replaced with vimification.
This is a big change that affects the entire codebase. Testing is required to ensure that the code still works correctly after the renaming.

LGTM


node-zstd npm installation fails on nodejs version 10.16.0

Unable to install node-zstd module for nodejs version 10.16.0.
Npm version: 6.9.0
Node-zstd version: 2.0.1 (latest version)
How to compile node-zstd on nodejs version 10.16.0?
Complete log :
`$ npm install node-zstd

<EMAIL_ADDRESS>install /home/dhvani/Npm_modules_test/node_modules/node-zstd
node-gyp rebuild

make: Entering directory '/home/dhvani/Npm_modules_test/node_modules/node-zstd/build'
CC(target) Release/obj.target/compressor/deps/zstd/lib/common/entropy_common.o
CC(target) Release/obj.target/compressor/deps/zstd/lib/common/fse_decompress.o
CC(target) Release/obj.target/compressor/deps/zstd/lib/common/xxhash.o
CC(target) Release/obj.target/compressor/deps/zstd/lib/common/zstd_common.o
CC(target) Release/obj.target/compressor/deps/zstd/lib/compress/fse_compress.o
CC(target) Release/obj.target/compressor/deps/zstd/lib/compress/huf_compress.o
CC(target) Release/obj.target/compressor/deps/zstd/lib/compress/zbuff_compress.o
CC(target) Release/obj.target/compressor/deps/zstd/lib/compress/zstd_compress.o
AR(target) Release/obj.target/deps/compressor.a
COPY Release/compressor.a
CXX(target) Release/obj.target/compressor/src/common/stream_coder.o
CXX(target) Release/obj.target/compressor/src/common/allocator.o
CXX(target) Release/obj.target/compressor/src/compress/compressor_index.o
CXX(target) Release/obj.target/compressor/src/compress/stream_compressor.o
../src/compress/stream_compressor.cc: In constructor ‘ZSTD_NODE::StreamCompressor::StreamCompressor(v8::Localv8::Object)’:
../src/compress/stream_compressor.cc:50:65: warning: ‘int32_t v8::Value::Int32Value() const’ is deprecated (declared at /home/dhvani/.node-gyp/10.16.0/include/node/v8.h:2478): Use maybe version [-Wdeprecated-declarations]
level = Get(userParams, key).ToLocalChecked()->Int32Value();
^
../src/compress/stream_compressor.cc:54:79: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated (declared at /home/dhvani/.node-gyp/10.16.0/include/node/v8.h:10046): Use maybe version [-Wdeprecated-declarations]
Local dictBuf = Get(userParams, key).ToLocalChecked()->ToObject();
^
../src/compress/stream_compressor.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE ZSTD_NODE::StreamCompressor::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/compress/stream_compressor.cc:86:69: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated (declared at /home/dhvani/.node-gyp/10.16.0/include/node/v8.h:10046): Use maybe version [-Wdeprecated-declarations]
StreamCompressor sc = new StreamCompressor(info[0]->ToObject());
^
../src/compress/stream_compressor.cc:95:61: error: no matching function for call to ‘v8::Function::NewInstance(const int&, v8::Localv8::Value [1])’
info.GetReturnValue().Set(cons->NewInstance(argc, argv));
^
../src/compress/stream_compressor.cc:95:61: note: candidates are:
In file included from /home/dhvani/.node-gyp/10.16.0/include/node/node.h:63:0,
from ../../nan/nan.h:54,
from ../src/compress/stream_compressor.h:4,
from ../src/compress/stream_compressor.cc:1:
/home/dhvani/.node-gyp/10.16.0/include/node/v8.h:3993:44: note: v8::MaybeLocalv8::Object v8::Function::NewInstance(v8::Localv8::Context, int, v8::Localv8::Value) const
V8_WARN_UNUSED_RESULT MaybeLocal NewInstance(
^
/home/dhvani/.node-gyp/10.16.0/include/node/v8.h:3993:44: note:   candidate expects 3 arguments, 2 provided
/home/dhvani/.node-gyp/10.16.0/include/node/v8.h:3996:44: note: v8::MaybeLocalv8::Object v8::Function::NewInstance(v8::Localv8::Context) const
V8_WARN_UNUSED_RESULT MaybeLocal NewInstance(
^
/home/dhvani/.node-gyp/10.16.0/include/node/v8.h:3996:44: note:   candidate expects 1 argument, 2 provided
../src/compress/stream_compressor.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE ZSTD_NODE::StreamCompressor::Copy(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/compress/stream_compressor.cc:105:48: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated (declared at /home/dhvani/.node-gyp/10.16.0/include/node/v8.h:10046): Use maybe version [-Wdeprecated-declarations]
Local chunkBuf = info[0]->ToObject();
^
compressor.target.mk:114: recipe for target 'Release/obj.target/compressor/src/compress/stream_compressor.o' failed
make: *** [Release/obj.target/compressor/src/compress/stream_compressor.o] Error 1
make: Leaving directory '/home/dhvani/Npm_modules_test/node_modules/node-zstd/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/dhvani/.nvm/versions/node/v10.16.0/lib/node_modules/npm/node_modules/npm-lifecycle/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Linux 4.15.0-54-generic
gyp ERR! command "/home/dhvani/.nvm/versions/node/v10.16.0/bin/node" "/home/dhvani/.nvm/versions/node/v10.16.0/lib/node_modules/npm/node_modules/npm-lifecycle/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/dhvani/Npm_modules_test/node_modules/node-zstd
gyp ERR! node -v v10.16.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN<EMAIL_ADDRESS>No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.`

Same with node v14.13.0.

same with v16.4.2

Has anyone found a solution?

don't use this library, or anything based on it

Unfortunately I give up too. I'm changed to zstd-codec and it working very well


fix: pyarrow unique in group_by context

What type of PR is this? (check all applicable)

[ ] 💾 Refactor
[x] ✨ Feature
[x] 🐛 Bug Fix
[ ] 🔧 Optimization
[ ] 📝 Documentation
[ ] ✅ Test
[ ] 🐳 Other

Related issues
May come in handy for plotly
Checklist

[x] Code follows style guide (ruff)
[ ] Tests added
[ ] Documented the changes

If you have comments or can explain your changes, please do so below.
I was not able to add tests... I tried to nest a bunch of checks but also the order inside the list type is not guaranteed..
any idea?

thanks @FBruzzesi !
I think plotly would only need to get some value from the aggregation, rather than a list dtypes?
perhaps we could allow
df.group_by('a').agg(nw.unique_value('b'))  # raises if there's more than 1 unique value per group
df.group_by('a').agg(nw.unique_value('b', fallback_value='(?)'))

Something like this could help address the mode issue you'd spotted in skrub, iirc they just wanted to get a single value from the mode out, right?

Not sure if this is the right place for this discussion but here we go 🙃

I think plotly would only need to get some value from the aggregation, rather than a list dtypes?

Yes correct!

perhaps we could allow
df.group_by('a').agg(nw.unique_value('b'))  # raises if there's more than 1 unique value per group
df.group_by('a').agg(nw.unique_value('b', fallback_value='(?)'))

Not the biggest fan of this if we are going to support nw.List type - a list is an aggregated value, and surprisingly pandas seems to behave quite well - at least for .unique 🙈

Something like this could help address the mode issue you'd spotted in skrub, iirc they just wanted to get a single value from the mode out, right?

Correct again.

surprisingly pandas seems to behave quite well

yeah but it returns object dtype and I fear that'd create more issues for us down the line

yeah but it returns object dtype and I fear that'd create more issues for us down the line

Yes that's not ideal, and yesterday I had issues converting to list type (e.g. .astype('pyarrow[list]') is not enough).
Maybe let's sleep on this, but I would imagine that someone using narwhals should just be a bit more pedantic and do:
(df
.group_by("a")
.agg(nw.col("b").unique()))
.with_columns(nw.col("b").cast(nw.List(...)))  # force it to be list type
... # now can access .list namespace
)

i'm not sure that people would think to do that explicit cast, and implementing the list namespace would be quite difficult for pandas
we may be able to take inspiration from duckdb here, who have any_value as an aggregate function https://duckdb.org/docs/sql/functions/aggregates.html#any_valuearg
>>> rel = duckdb.read_parquet('../scratch/assets.parquet')
>>> duckdb.sql('select symbol, any_value(date) from rel group by symbol')
┌─────────┬─────────────────┐
│ symbol  │ any_value(date) │
│ varchar │      date       │
├─────────┼─────────────────┤
│ EWJ     │ 2022-01-31      │
│ OGN     │ 2022-01-31      │
│ PRU     │ 2022-01-31      │
│ AEP     │ 2022-01-31      │
│ ALLE    │ 2022-01-31      │
│ IEFM.L  │ 2022-01-31      │
│ EWG     │ 2022-01-31      │
│ SEGA.L  │ 2022-01-31      │
│ IAU     │ 2022-01-31      │
│ XLV     │ 2022-01-31      │
│  ·      │     ·           │
│  ·      │     ·           │
│  ·      │     ·           │
│ CNC     │ 2022-01-31      │
│ CTAS    │ 2022-01-31      │
│ DG      │ 2022-01-31      │
│ IEF     │ 2022-05-31      │
│ IEMG    │ 2022-01-31      │
│ JPEA.L  │ 2022-01-31      │
│ META    │ 2022-01-31      │
│ HIGH.L  │ 2022-03-17      │
│ HST     │ 2022-01-31      │
│ VXX     │ 2022-01-31      │
├─────────┴─────────────────┤
│    100 rows (20 shown)    │
└───────────────────────────┘

So, my thinking was that unique_value would be kind of like any_value, but only works if there's only a unique value per group
If it's a top-level function (nw.unique_value) then I think it'd be ok to depart from Polars a bit there, we have other non-Polars function in the top-level narwhals namespace

Just for clarity, when you say:

Something like this could help address the mode issue you'd spotted in skrub, iirc they just wanted to get a single value from the mode out, right?

does it mean that nw.unique_value('b') can receive an expression (e.g. in the skrub case nw.unique_value(nw.col('b').mode()))?

I haven't tried implementing it yet, but yes, I think so


Adis16477 driver standardization work

Describe problem solved by the proposed pull request
The ADIS16477 driver lacks standardization with the other Analog Devices IMU drivers.
This PR, (and future subsequent PR's), begins aligning the AD imu drivers so that more general imu driver work can proceed in the future.
Describe your preferred solution
This PR and a series of subsequent PR will align the ADIS16477 class with the ADIS16448 and ADIS16497 classes.  To align all classes, a lot of copy/paste and formatting is going to take place, please be patient with this process as it will take a number of PRs to keep the review work managable.
Describe possible alternatives
Maintaining the status quo in the IMU drivers is always an option, (albeit a painful one).
Test data / coverage
NOTE: This PR requires hardware validation.  (I do not have access to hardware to test this PR against.)
Additional context
See related work in PR #11224.
Please let me know if you have questions on this PR.
-Mark
@dagar

Closing in favor of #12140.


Mistake in tutorial: opposite AdaptiveTrigger behaviour

I believe the <AdaptiveTrigger MinWindowWidth="640" /> above sets the layout into a single column exactly in the wrong case: when the window would be wide enough for the original layout.

A dokumentum adatai
⚠ Ezt a szakaszt ne szerkessze. A szakasz a docs.microsoft.com ➟ GitHub-problémák hivatkozásaihoz szükséges.

ID: 80b47dbb-38b5-9d75-8df2-2300cdc25bb7
Version Independent ID: b204d881-3ca4-a7bb-87c3-0e91df704637
Content: Learning track - Construct and configure a form - UWP app developer
Content Source: windows-apps-src/get-started/construct-form-learning-track.md
Product: windows
GitHub Login: @QuinnRadich
Microsoft Alias: quradic

You're correct - the code has since been changed to default to a single column, and adjust to a multi-column layout when the conditions are appropriate.


Error al intentar sincronizar

Cuando intentamos sincronizar la nos sale este error:

Hemos realizado los pasos correspondientes que indicáis en este sitio: https://github.com/OfficeDev/microsoft-teams-apps-company-communicator/wiki/v5-migration-guide#2-validate-and-update-the-config-settings-and-sync-to-the-lastest-code-

Hi @dmedina1520 ,
Thanks for raising the query.

What is the app service plan here?
Please disconnect the repository within settings and give some time gap and then connect to the repository again

Cuanto mas o menos, ayer lo hice y lo deje durante 30 min y despues lo volvi a poner y no funciono pero lo vuelvo hacer hoy

Aqui te paso la app service:

Hemos desconectado el repositorio durante 24 horas y sigue con el mismo fallo.

Hi @dmedina1520 ,
Thank you for the patience. The app service sync failure issue is now resolved, and the changes have been pushed to Company Communicator official GitHub repository.
If current deployed version of the Company Communicator application is pointing to v5.5 (latest version), please follow the below procedure to resolve the issue -

Go to Azure Portal --> Go to Resource Group (where the CC deployment has been done) --> Select Web App (App Service) --> Go to Deployment Center --> Click on SYNC

Once the status shows successful within logs section of Deployment Center.

Note: Please make sure the Repo URL and Branch name is pointing to below values in Deployment Center Screen of app service

Try accessing the CC application on Teams web client to avoid any cache related issue.

If current deployed version of the Company Communicator application is pointing to v5.4.1 or previous versions, please upgrade your app to latest version by following the migration guide as the fix is pushed to the main branch in Company Communicator's official GitHub repo.
If it’s a fresh deployment then proceed with the remaining steps as per the deployment guide.
Please let us know if you are still facing the issue.

Ahora el error es otro

Hi @dmedina1520 ,
Please disconnect  the repository, wait for sometime to delete the existing repository. Then connect again to main branch of official repo. Please do share the mail id(outlook id or teams id) If it fails again, we can connect.

Hola, soy compañero de trabajo de Dmedina1520, el se encuentra ausente..
Hemos seguido instrucciones dadas, desconectado repositorio, esperado 12 horas, vuelto a reconectar y el error es otro..

Ahora directamente te sale el error, no intenta ni sincronizar

Hi @dmedina1520
Please translate it to English so that we can assist you in a better way.

Now you get the error directly, don't even try to synchronize

There's something new about the bug

Hi @dmedina1520 ,
Please let us know if you are still facing the issue.


Nautilus opens very slowly

Summary
There's 10s~30s timelag before Nautilus opens after I click the icon.
Possible cause
Maybe the compositor is not appropriately responding to a certain request from the client.

I've noticed it happens if no dbus session started. For example, if zen-desktop started from a terminal. In the same time, launching it as dbus-run-session zen-desktop makes Nautilus be opened as fast as usual.


-mpi still needed with --read-config

Even if -mpi flag is included in the configure file used with --read-config, it is still needed to be added in the command executing CoreNeuron.
This is due to the fact that -mpi flag is checked if exists in the arguments of the executable.
If it is not provided, there simulation fails with Segmentation Faults

After argument parsing has been rewrited, there is no more check for -mpi, save / restore is done by the parser itself.
But we always have an abort due to the fact that without --mpi, mpi seems initialized too late.

What is the issue  and How to reproduce it?

Run simulation and generate config file with --write-config option :

$ srun -n 2 ./bin/x86_64/special-core -d ../tests/integration/ring --mpi --tstop=1 --write-config=a.conf
 num_mpi=2
 num_omp_thread=1

 Duke, Yale, and the BlueBrain Project -- Copyright 1984-2020
 Version : 0.21.0 2364d57 (2020-10-21 10:26:03 +0200)

 Additional mechanisms from files
 exp2syn.mod expsyn.mod halfgap.mod hh.mod netstim.mod passive.mod pattern.mod stim.mod svclmp.mod

 Memory (MBs) :             After mk_mech : Max 5.5703, Min 5.4297, Avg 5.5000
 Memory (MBs) :            After MPI_Init : Max 5.8281, Min 5.6875, Avg 5.7578
 Memory (MBs) :          Before nrn_setup : Max 5.8398, Min 5.7383, Avg 5.7891
 Setup Done   : 0.00 seconds
 Memory (MBs) :          After nrn_setup  : Max 5.8672, Min 5.7695, Avg 5.8184
GENERAL PARAMETERS
--mpi=true
--gpu=false
--dt=0.025
--tstop=1

GPU
--nwarp=0
--cell-permute=0

INPUT PARAMETERS
--voltage=-65
--seed=-1
--datpath=../tests/integration/ring
--filesdat=files.dat
--pattern=
--report-conf=
--restore=

PARALLEL COMPUTATION PARAMETERS
--threading=false
--skip_mpi_finalize=false

SPIKE EXCHANGE
--ms_phases=2
--ms_subintervals=2
--multisend=false
--spk_compress=0
--binqueue=false

CONFIGURATION
--spikebuf=100000
--prcellgid=-1
--forwardskip=0
--celsius=6.3
--mindelay=1
--report-buffer-size=4

OUTPUT PARAMETERS
--dt_io=0.1
--outpath=.
--checkpoint=

 Start time (t) = 0

 Memory (MBs) :  After mk_spikevec_buffer : Max 5.8672, Min 5.7695, Avg 5.8184
 Memory (MBs) :     After nrn_finitialize : Max 5.8672, Min 5.7695, Avg 5.8184

 psolve |========================================================| t: 1.00   ETA: 0h00m00s

Solver Time : 0.000418141

 Simulation Statistics
 Number of cells: 20
 Number of compartments: 804
 Number of presyns: 21
 Number of input presyns: 20
 Number of synapses: 21
 Number of point processes: 41
 Number of transfer (gap) targets: 0
 Number of spikes: 0
 Number of spikes with non negative gid-s: 0

Config file should now look like:

$ cat a.conf
write-config="a.conf"
mpi=true
tstop=1
datpath="../tests/integration/ring"

If we now run with config file, it runs two independent MPI processes:

$ srun -n 2 ./bin/x86_64/special-core --read-config=a.conf

 Duke, Yale, and the BlueBrain Project -- Copyright 1984-2020
 Version : 0.21.0 2364d57 (2020-10-21 10:26:03 +0200)

 Additional mechanisms from files
 exp2syn.mod expsyn.mod halfgap.mod hh.mod netstim.mod passive.mod pattern.mod stim.mod svclmp.mod

 Duke, Yale, and the BlueBrain Project -- Copyright 1984-2020
 Version : 0.21.0 2364d57 (2020-10-21 10:26:03 +0200)

 Memory (MBs) :             After mk_mech : Max 5.3125, Min 5.3125, Avg 5.3125
 Memory (MBs) :            After MPI_Init : Max 5.3125, Min 5.3125, Avg 5.3125
 Additional mechanisms from files
 exp2syn.mod expsyn.mod halfgap.mod hh.mod netstim.mod passive.mod pattern.mod stim.mod svclmp.mod

 Memory (MBs) :             After mk_mech : Max 5.1758, Min 5.1758, Avg 5.1758
 Memory (MBs) :            After MPI_Init : Max 5.1758, Min 5.1758, Avg 5.1758
 Memory (MBs) :          Before nrn_setup : Max 5.5234, Min 5.5234, Avg 5.5234
 Memory (MBs) :          Before nrn_setup : Max 5.4297, Min 5.4297, Avg 5.4297
 Setup Done   : 0.00 seconds
 Setup Done   : 0.00 seconds
 Memory (MBs) :          After nrn_setup  : Max 5.5430, Min 5.5430, Avg 5.5430
 Memory (MBs) :          After nrn_setup  : Max 5.4492, Min 5.4492, Avg 5.4492
GENERAL PARAMETERS
--mpi=true
--gpu=false
--dt=0.025
GENERAL PARAMETERS
--mpi=true
--gpu=false
--dt=0.025
--tstop=1

GPU
--nwarp=0
--cell-permute=0
--tstop=1

GPU
--nwarp=0
--cell-permute=0

INPUT PARAMETERS
--voltage=-65
--seed=-1
--datpath=../tests/integration/ring
INPUT PARAMETERS
--voltage=-65
--seed=-1
--filesdat=files.dat
--pattern=
--report-conf=
--restore=

PARALLEL COMPUTATION PARAMETERS
--threading=false
--skip_mpi_finalize=false

SPIKE EXCHANGE
--ms_phases=2
--ms_subintervals=2
--multisend=false
--spk_compress=0
--datpath=../tests/integration/ring
--filesdat=files.dat
--pattern=
--report-conf=
--binqueue=false

CONFIGURATION
--spikebuf=100000
--prcellgid=-1
--forwardskip=0
--celsius=6.3
--mindelay=1
--restore=

PARALLEL COMPUTATION PARAMETERS
--threading=false
--skip_mpi_finalize=false

SPIKE EXCHANGE
--ms_phases=2
--report-buffer-size=4

OUTPUT PARAMETERS
--dt_io=0.1
--outpath=.
--checkpoint=

--ms_subintervals=2
--multisend=false
--spk_compress=0
--binqueue=false

CONFIGURATION
--spikebuf=100000
--prcellgid=-1
--forwardskip=0
 Start time (t) = 0

--celsius=6.3
--mindelay=1
--report-buffer-size=4

OUTPUT PARAMETERS
--dt_io=0.1
--outpath=.
--checkpoint=

 Start time (t) = 0

 Memory (MBs) :  After mk_spikevec_buffer : Max 5.4492, Min 5.4492, Avg 5.4492
 Memory (MBs) :  After mk_spikevec_buffer : Max 5.5430, Min 5.5430, Avg 5.5430
 Memory (MBs) :     After nrn_finitialize : Max 5.7031, Min 5.7031, Avg 5.7031

 Memory (MBs) :     After nrn_finitialize : Max 5.7969, Min 5.7969, Avg 5.7969

 psolve |========================================================| t: 1.00   ETA: 0h00m00s

Solver Time : 0.000679016

 Simulation Statistics
 Number of cells: 20
 Number of compartments: 804
 Number of presyns: 21
 Number of input presyns: 0
 Number of synapses: 21
 Number of point processes: 41
 Number of transfer (gap) targets: 0
 Number of spikes: 0
 Number of spikes with non negative gid-s: 0
 psolve |========================================================| t: 1.00   ETA: 0h00m00s

Solver Time : 0.00069499

 Simulation Statistics
 Number of cells: 20
 Number of compartments: 804
 Number of presyns: 21
 Number of input presyns: 0
 Number of synapses: 21
 Number of point processes: 41
 Number of transfer (gap) targets: 0
 Number of spikes: 0
 Number of spikes with non negative gid-s: 0

As you can see , there are two independent processes running. Users now explicitly need to pass --mpi after --read-config=a.conf.
The goal of this ticket is to see if --read-config=config-file is sufficient to run MPI enabled execution.

The problem is ...
here:
https://github.com/BlueBrain/CoreNeuron/blob/master/coreneuron/mpi/nrnmpi.cpp#L76
The problem is that the whole function is using argument parsing, for example MPI_Init_thread, Do you think there is a nice way to do that?
Forward arguments that have not been given on the command line?

is nrnmpi_init can be called by someone else? or only internally?

is nrnmpi_init can be called by someone else? or only internally?

Internally (as far as I remember).


setTorchMode error: camera is in use after cycling camera

Describe the bug
My team is attempting to migrate our application from the deprecated Camera API to Camera2.  However we are encountering an issue with toggling the flash while on a video call.
Toggling flash (torch) is throwing an error that the camera is in use, but only after after cycling the camera, every other cycle.
I found these other two old issues that seem similar, but they were closed without a resolution and they don't mention the cycleCamera causing issues.
https://github.com/opentok/opentok-android-sdk-samples/issues/110
https://github.com/opentok/opentok-android-sdk-samples/issues/282
To Reproduce

Start a call publishing the front facing camera.  (Our Publisher is not using a custom videoCapturer)
Cycle to the back camera. For this, we are using the OpenTok Publisher method cycleCamera (flash will work here).  Below is a snippet using the CameraManager setTorchMode:

    private CameraManager cameraManager;
    private boolean isFlashOn = false;

    public boolean toggleFlashlight() {
        try {
            for (String id: cameraManager.getCameraIdList()) {
                if (cameraManager.getCameraCharacteristics(id)
                        .get(CameraCharacteristics.LENS_FACING) == LENS_FACING_BACK) {
                    isFlashOn = !isFlashOn;

                    cameraManager.setTorchMode(id, isFlashOn);
                    break;
                }
            }
        } catch (CameraAccessException e) {
            e.printStackTrace();
        }
        return isFlashOn;
    }

Cycle to the front camera
Cycle to the back camera
Try to toggle the flash on again.  It now throws this error:

E/CameraService: setTorchMode: torch mode of camera 0 is not available because camera is in use
W/System.err: android.hardware.camera2.CameraAccessException: CAMERA_IN_USE (4): setTorchMode:2501: Torch for camera "0" is not available due to an existing camera user
W/System.err:     at android.hardware.camera2.CameraManager$CameraManagerGlobal.setTorchMode(CameraManager.java:2175)
W/System.err:     at android.hardware.camera2.CameraManager.setTorchMode(CameraManager.java:1128)
W/System.err: Caused by: android.os.ServiceSpecificException: setTorchMode:2501: Torch for camera "0" is not available due to an existing camera user (code 7)

Expected behavior
I expect to be able to toggle the flash on/off.  It works for every other cycleCamera just fine.  However, every other cycleCamera, toggling the flash does not work
Screenshots
n/a
Device (please compete the following information):

sessionId, if applicable: 2_MX40NTY0OTE5Mn5-MTY5ODg3Nzg5MTQwNX40eFAyemJicHoxVmgzWFZldXcxbUFBY0h-fn4
Android SDK version: 2.26.1
OS and version: Android 12

Additional context
n/a

@milevy1 I was able to replicate the issue. It seems that our Custom Capturer Sample was not updated with out latest improvements to our default video capturer, where we are now properly releasing the capturer on switching cameras and onPause() and onDestroy(). I will work on updating the sample and will let you know when it is ready to use.

@goncalocostamendes, our application is using a Publisher without custom a videoCapturer so we are using the BaseVideoCapturer, for example:
new Publisher.Builder(context).build();

Do we need to add a custom capturer to fix this or will the BaseVideoCapturer include this fix in an updated release?

@milevy1, I'm sorry, but please go through Support.  I'll close this in the meantime.


Fix inter cluster POD to POD(non-Gw) connectivity issue

OpenShift SDN programs pipeline as follows.

For the traffic that is destined to the Cluster network
(i.e., destination IP is a POD/Service IP and is not on the same node),
it steers the traffic over the VxLAN tunnels that are configured between
the Nodes in the Cluster.
For non-cluster traffic, OVS pipeline steers the traffic over the tun0
interface and then over the physical interface and finally to the default
Gateway configured on the Node.

When we install Submariner with OpenShift 3.11 (ovs-subnet SDN) and
try to ping from POD1 on West Cluster to POD2 (on non-Gateway Node)
of East Cluster, the sourceIP of the traffic seen on POD2 will be the
GatewayNodeIpOfWestCluster.
So, the return traffic from the POD was going over the tun0 interface to the
default-gw configured on the Node and NOT via the SubmarinerGatewayNode on
the localCluster. The fix for the issue is to MASQ the incoming traffic on the
SubmarinerGatewayNode before forwarding it to the Node on which the POD is
scheduled. For Submariner to work the return traffic from POD2 has to go via
the SubmarinerGatewayNode of localCluster.
Note: It is seen that flannel SDN does this by default and hence there was no
need for the MASQ rule.

LGTM


Check usage of 'subtract_imagenet_mean', with new version of pytorch inplace subtraction might be different.

It works, no issues.


Adapt to refactoring of snapshot APIs in the Dart VM.

To be landed with a roll to https://chromiumcodereview.appspot.com/2622053002/

We'll probably need to update the Google-internal build rules as well.
/cc @tvolkert


Single table with 7000 partitioned tables，Approximate Region size exception

Bug Report

What version of TiKV are you using?

v6.0.0-alpha
b60271983288caf7d978f111cd1878b508861327
What operating system and CPU are you using?

Steps to reproduce

What did you expect?
What did happened?
7000 partitioned tables were created in a single table（https://github.com/pingcap/tidb/issues/34011）
region size P.99 has a statistical error

cc @tonyxuqqi

/type bug
/severity Moderate

It's likely due to issue #12510

@tonyxuqqi Have we confirmed this issue is caused by https://github.com/tikv/tikv/issues/12510, and should we close this issue since https://github.com/tikv/tikv/issues/12510 is closed.


Re-order ThreadPool settings

Re-order ThreadPool settings so that the maximum pool size is set before the core pool size. Fixes an exception in JDK 10. Fixes #31

will there be a 2.0.1 release with this fix?


Support for ES 2.4

Hi guys,
Are you planning for an upgrade?

Hi @felipemoraes , did you successfully install the 2.3.0 with the installation command? The command on the front page does not work for me. It would be appreciated if you can share some experience. THANKS

@Yongyao I didn't try it. I was already using 2.4.0 in that time. I hope they update this plugin in the future.


feat(portal): base implementation

Portal
WIP
TODO

[ ] Conformance test
[ ] Minimal doc site example
[ ] Stardust base theme
[ ] Teams Light theme
[ ] Teams Dark theme
[ ] Teams Contrast theme
[ ] Confirm RTL usage
[ ] W3 accessibility check
[ ] Stardust accessibility check
[ ] Update glossary props table
[ ] Update the CHANGELOG.md

API Proposal
TODO

closed, tackled by #144


Arch Linux rpc.idmapd name changed

On Arch Linux, rpc.idmapd service is now called nfs-idmapd
Additionally, idmapd is no longer needed on the NFS client side (or so it appears to me after light research).

I removed rpc.idmapd from $client_nfsv4_services, and renamed rpc.idmapd to nfs-idmapd in $server_nfsv4_servicehelper for archlinux in master branch.


WebSocket bug where a SendAsync is not being awaited

Team

[X] I've assigned a team label to this issue

What happened?
A WebSocket SendAsync call is not being awaited, resulting in the possibility of two SendAsync calls being in flight at the same time on the WebSocket, which is not supported.
Reproduction
.
Error and Stacktrace
No response
More Information
No response
Workaround
No response

Fixed in Halibut in https://github.com/OctopusDeploy/Halibut/pull/341

Release Note: Fixed: WebSocket bug where a SendAsync is not being awaited


refactor(from-composite): move binding source initialisation into field

Codecov Report

Merging #10 (c72b8df) into main (b422e2e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #10   +/-   ##
=======================================
  Coverage   91.79%   91.79%
=======================================
  Files          21       21
  Lines         268      268
  Branches       27       27
=======================================
  Hits          246      246
  Misses         12       12
  Partials       10       10

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b422e2e...c72b8df. Read the comment docs.


PC-441: Persist db connection

I've only tested this in so much as it works locally. I think I'll have to work with the QA people to test if this actually helps :)

Locally it's happy, I'll check on dev once we've merged