-
Notifications
You must be signed in to change notification settings - Fork 318
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
OSX: mounting acme filesystem causes recurring empty windows #136
Comments
I can reproduce your behavior with:
|
I've looked at this a bit and I don't think osxfuse is to blame. Acme creates a new window in response to Twalk of the Using
This tells us that the process with PID 404 (Finder.app), started by the user with UID 501 (myself) sent a Lookup message for Letting it run for a while I can see messages like this from Finder and from fseventsd. |
What fixed this for me was disabling "Show icon preview" in Finder's view options. |
Not solving it for me on either Fuse 3.7.1 and 3.8.0 |
Has any progress been made? I'm also using Acme via plan9ports on macOS 10.11.6, but mounting it results in the same stream of blank windows opening constantly in the program. I've looked at the source file @mkhl mentioned.
I was contemplating replacing the body of this block with:
But I'm hesitant to screw up anything I might not understand. Has anyone found a way to avoid this without editing the source code? |
I believe that would prevent scripts from opening windows by reading from new.
I haven’t. |
So the actual mechanic for opening windows in Acme is to read What can realistically be done here? Is there any way to get the file system daemon to ignore the mounted filesystem, or finder for that matter? |
The actual mechanism is doing anything inside
I hope there’s a way to do that, but I haven’t been able to dig in beyond what I wrote above. |
Perhaps FUSE can be instructed to make the mounted filesystem only visible to a certain process group. I'd have to look at how Acme executes other programs, but if all it does is fork and exec then maybe that would work. |
Other programs can interact with the filesystem by using 9P libraries or |
Okay. This morning I took another look at how FUSE is integrated with Acme, and decided I'd have it ignore any Lookup's that come from Finder or fseventsd. By ignore, I mean it actually reports there is no such file or directory to them. I added the following segment in
I also had to include:
The changed file is also linked here. Edit: I forgot the most important part, how I modified the lookup function:
Now, I don't know what secondary effects this will have, but I've managed to stop the trickle of windows appearing in Acme, while still being able to explicitly trigger them myself. I must say I find it hard to understand exactly what is going on in these files. They are sparsely commented and written in a style that is unfamiliar to me. Hopefully someone with a much better knowledge of this can help in finding an elegant solution (if mine even works). I'll update this thread as I find out more. |
Has this worked out for you well? |
@ilanpillemer Yeah, it solved it for me. It's just an "ugly" workaround and I wouldn't consider it appropriate for merging with the actual source code. But if you make the changes I did and recompile Acme then it should no longer spawn windows. |
Thanks.... that window spawning is maddening. |
No problem. Hopefully it works for you too. |
I think this might go away if you use a directory in /tmp for your mount point. Also I've opened a TSI with apple to see it there is an official way to do this. I'll post their response if it contains information. |
@mkhl Where are you attempting to insert the no browse directive? I'd like to test that. |
@mennis I inserted the option in the appropriate call to The available options are documented on the osxfuse wiki and summarised when calling |
Using mountpoint /mnt/acme causes recurring empty windows. This seems to fix it. See 9fans/plan9port#136 for details.
Using mountpoint /mnt/acme causes recurring empty windows. This seems to fix it. See 9fans/plan9port#136 for details.
I got a response from Apple. I was hoping to fix this myself but haven't and it's been a while since they responded. Essentially I was told that if one wants to insure that the volume is ignored by fseventsd it needs to be mounted outside of /User with "MNT_DONTBROWSE” set on it. In addition calling statfs inside acme the file system should not illicit action in the way that writing to acme/new does. |
where would the changes need to be made?
…On Thu, 10 Jan 2019 at 17:56 mennis ***@***.***> wrote:
I got a response from Apple. I was hoping to fix this myself but haven't
and it's been a while since they responded. Essentially I was told that if
one wants to insure that the volume is ignored by fseventsd it needs to be
mounted outside of /User with "MNT_DONTBROWSE” set on it. In addition
calling statfs inside acme the file system should not illicit action in the
way that writing to acme/new does.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#136 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AA2cjmrG_MXYv8zYCt44xlKszVz01sH8ks5vB37ggaJpZM4RxfLk>
.
|
Might be a beta issue. Running Fuse 3.7.1
167 0 0xffffff7f8330e000 0x19000 0x19000 com.github.osxfuse.filesystems.osxfuse (3.7.1) 8C89BD7B-DA6D-347D-AC76-759C45AE6099 <7 5 4 3 1>
and OSX 10.13.4 Beta (17E139j) when I run acme without -m /mnt/acme it behaves normally. When using acme with this option the acme's looks normal when exploring it from the command line but periodically an empty buffer with no path appears in acme.
The text was updated successfully, but these errors were encountered: