Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[win10] disk I/O error when docset is installed on shared drive #30

Open
patpan001 opened this issue Aug 29, 2018 · 4 comments
Open

[win10] disk I/O error when docset is installed on shared drive #30

patpan001 opened this issue Aug 29, 2018 · 4 comments

Comments

@patpan001
Copy link

patpan001 commented Aug 29, 2018

dasht import python_2
Error: disk I/O error
Error: disk I/O error
dasht: 'import' not found in 1 docsets matching 'python_2'

I get above error when I have setup DASHT_DOCSETS_DIR as shared directory. If I unset it and then try to install python_2/3 docset, it gets installed in default location & searchable by dasht import python_2 command.

I've also tried setting up non shared directory DASHT_DOCSETS_DIR and it works fine.
Other docset, for example ansible,docker,NodeJS etc all works fine.

I am thinking it may be something in docset which is not right however couldn't figure it out.

@sunaku
Copy link
Owner

sunaku commented Sep 9, 2018

What OS are you using and how do you share a directory? Is it with group-writable permissions (chmod g+w) or something else (like a network share on Windows, sshfs or NFS in Linux, or something in macOS)?

@sunaku sunaku added the question label Sep 9, 2018
@patpan001
Copy link
Author

patpan001 commented Sep 25, 2018

I am using vagrant on windows. I share directory from windows to ubuntu running by vagrant up. I've set export DASHT_DOCSETS_DIR=/shared directory/docset_folder & export DASHT_CACHE_DIR=/shared directory/cache_folder

drwxrwxrwx  1 vagrant vagrant       4096 Sep 23 19:48 dashtcache
drwxrwxrwx  1 vagrant vagrant       4096 Sep 25 08:51 dashtdocs

Once I install new docsets it gets installed in above location however when I use search command it gives disk io error.

$dasht-query-html 'c - x' css
Error: disk I/O error
Error: disk I/O error

tail of strace shows below:

rt_sigaction(SIGUSR1, {sa_handler=0x55d2fc772200, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f017b94df20}, NULL, 8) = 0
pipe([3, 4])                            = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f017bf18810) = 5857
close(4)                                = 0
stat("/usr/local/sbin/awk", 0x7ffd145f0220) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/awk", 0x7ffd145f0220) = -1 ENOENT (No such file or directory)
stat("/usr/sbin/awk", 0x7ffd145f0220)   = -1 ENOENT (No such file or directory)
stat("/usr/bin/awk", {st_mode=S_IFREG|0755, st_size=658072, ...}) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f017bf18810) = 5858
close(3)                                = 0
close(-1)                               = -1 EBADF (Bad file descriptor)
wait4(-1, Error: disk I/O error
Error: disk I/O error
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 5857
--- SIGUSR1 {si_signo=SIGUSR1, si_code=SI_USER, si_pid=5857, si_uid=1000} ---
rt_sigreturn({mask=[]})                 = 5857
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=5857, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
rt_sigreturn({mask=[]})                 = 5857
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 5858
exit_group(44)                          = ?
+++ exited with 44 +++

@Holzhaus
Copy link

The same happens if you're on WSL (Windows 10) and use a some path in /mnt/c/... as docset directory.

@sunaku
Copy link
Owner

sunaku commented Dec 15, 2018

Hmm, it's still unclear to me exactly which command is triggering the I/O error. 😕 From the strace output above, it seems like the error is coming from awk but I'm not certain if this interpretation is correct. 🤷‍♂️

Could you try appending -x to the shebang lines (the very first line that starts with #!/bin/sh) in all dasht* scripts and retry the operation? 🤔 This would help us better locate the source of the I/O error.

@sunaku sunaku changed the title disk I/O error when docset is installed on shared drive & docset type is python_2 or python_3 [windows] disk I/O error when docset is installed on shared drive & docset type is python_2 or python_3 Dec 15, 2018
@sunaku sunaku added bug and removed question labels Dec 15, 2018
@sunaku sunaku changed the title [windows] disk I/O error when docset is installed on shared drive & docset type is python_2 or python_3 [win10] disk I/O error when docset is installed on shared drive Dec 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants