JK3Y / asepsis

a solution for .DS_Store pollution
http://asepsis.binaryage.com
Other
72 stars 3 forks source link

Report Crashing In Catalina #24

Open huangzonghao opened 5 years ago

huangzonghao commented 5 years ago

The current build seems to cause Finder crashing repeatedly. So anyone who is running Catalina should wait for further updates.

And right now I have uninstalled asepsis, but the asepsis_openx_np + 794 still seems to be there and keep causing crashes. How can I remove this leftover?

Process:               Finder [1247]
Path:                  /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
Identifier:            com.apple.finder
Version:               10.15 (1298.0.12)
Build Info:            Finder_FE-1298000012000000~1
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Finder [1247]
User ID:               501

Date/Time:             2019-10-18 22:24:45.893 -0400
OS Version:            Mac OS X 10.15 (19A602)
Report Version:        12
Bridge OS Version:     3.0 (14Y906)

Time Awake Since Boot: 840 seconds

System Integrity Protection: disabled

Crashed Thread:        2  Dispatch queue: sync queue: vRefNum = -100(boot)

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0xffffffff90909090
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [1247]

.
.
.

Thread 2 Crashed:: Dispatch queue: sync queue: vRefNum = -100(boot)
0   ???                           >.0x00007ffe7ffff007 0 + 140731045900295
1   com.apple.desktopservices     >.0x00007fff4695ddc4 asepsis_openx_np + 794
2   com.apple.desktopservices     >.0x00007fff46981c25 TFileDescriptor::Open(char const*, OpenFlags, __CFFileSecurity*, bool, bool, bool) + 523
3   com.apple.desktopservices     >.0x00007fff46a5b3dc TFSInfo::CreateFile(char const*, TString const&, __CFFileSecurity*, bool, char*) + 374
4   com.apple.desktopservices     >.0x00007fff46a5b082 TFSInfo::CreateFile(TString const&, TUniqueNamer*, unsigned int, unsigned int, std::__1::shared_ptr<TFSInfo>&, bool, bool, bool) const + 140
5   com.apple.desktopservices     >.0x00007fff46a6eb43 TPropertyInfo::FlushChanges(std::__1::shared_ptr<TFSInfo> const&, std::__1::shared_ptr<TPropertyInfoList> const&) + 203
6   com.apple.desktopservices     >.0x00007fff46a6ea1f TPropertyInfo::FlushChanges(std::__1::shared_ptr<TCFURLInfo> const&, std::__1::shared_ptr<TPropertyInfoList> const&) + 99
7   com.apple.desktopservices     >.0x00007fff46966540 THFSPlusPropertyStore::FlushChanges() + 122
8   com.apple.desktopservices     >.0x00007fff469847cb TFSVolumeInfo::FlushVolumes(bool) + 175
9   com.apple.desktopservices     >.0x00007fff469c2732 TNode::HandleNodeRequest(TRef<TNodeTask*, TInternalRefCountPolicy<TNodeTask> > const&) + 662
10  com.apple.desktopservices     >.0x00007fff4696dc8f ExceptionSafeBlock(void () block_pointer) + 9
11  com.apple.desktopservices     >.0x00007fff46a138f7 invocation function for block in TVolumeSyncThread::PostNodeTaskRequest(std::__1::shared_ptr<TVolumeSyncThread> const&, TNodeTask*) + 138
12  libdispatch.dylib             >.0x00007fff643e4553 _dispatch_call_block_and_release + 12
13  libdispatch.dylib             >.0x00007fff643e54de _dispatch_client_callout + 8
14  libdispatch.dylib             >.0x00007fff643eaa9e _dispatch_lane_serial_drain + 597
15  libdispatch.dylib             >.0x00007fff643eb422 _dispatch_lane_invoke + 363
16  libdispatch.dylib             >.0x00007fff643f4aa1 _dispatch_workloop_worker_thread + 598
17  libsystem_pthread.dylib       >.0x00007fff6463e763 _pthread_wqthread + 290
18  libsystem_pthread.dylib       >.0x00007fff6463e5c3 start_wqthread + 15
JK3Y commented 5 years ago

Thanks for reporting, I'm still using Mojave on my machines so this hasn't been updated to work with it, if it's even possible. off the top of my head I know that apple tightened the security regarding applications that alter system processes... and I think something about signed/certified releases needing a signed cert from apple...

Since this is a personal fork, it won't be updated until I upgrade my OS.

This needs a lot of research, that I currently don't have time for.

Community contributions and PRs are always welcome!

huangzonghao commented 5 years ago

Right! I made the post solely for reporting and stating the issue. This is in no way that I am asking for maintenance.

And of course thanks for maintaining and sharing Asepsis for us!

I'll update this thread if I figure out the issue.

huangzonghao commented 5 years ago

Update for anyone who also has problem uninstalling asepsis on Catalina.

Apple introduced a read-only system volume on your hard drive designated for the system files(the /System directory) in this update. So any file locates in /System directory will be untouchable even with root privilege. That's why the uninstallation script failed to change back the altered the system process for desktop service, which locates in /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/. And it is that altered process that kept causing crashes on Finder.

So to move the original files back, you'll need to go to Mac's recovery mode (Cmd + R when powering up), mount the drive, and then go to terminal and replace /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A

with

/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A_Backup

Given that going into recovery mode seems to be the only way to change system files at the moment, I assume future installation of asepsis will happen in recovery mode. So should we keep pushing forward or should we just sign a petition to Apple and ask them to give us an option to disable the .DS_Store files.

jivanpal commented 5 years ago

@huangzonghao, rather than doing the work in Recovery Mode, you can simply remount /System as read-write rather than read-only. SIP still needs to be disabled in order to do this, but provided that it is, you can then just do sudo mount -uw / to remount all partitions as read-write rather than read-only.

huangzonghao commented 5 years ago

@jivanpal Haha YES! I wasn't aware of this. But this is obviously the better way of doing it. Thanks!

xiaozhuai commented 4 years ago

Mark, I am still running Mojave

xiaozhuai commented 4 years ago

@huangzonghao odourless works well on Catalina.