snowie2000 / mactype

Better font rendering for Windows.
https://mactype.net
GNU General Public License v3.0
10.01k stars 442 forks source link

MacType profile not applying on reboot #441

Open sammilucia opened 6 years ago

sammilucia commented 6 years ago

In years of using MacType I haven't seen this issue, not sure where to start looking...

To reproduce:

  1. Use Windows 8.1 x64
  2. Use MacType in Service Mode as usual
  3. Restart Windows
  4. Log in
  5. MacType is not applied to any software
  6. Run MacWiz.exe
  7. Re-select Service Mode, and the same profile
  8. Close and re-open software
  9. MacType is now applied

Expected outcome:

Observed outcome:

sammilucia commented 6 years ago

mactype.ini image

snowie2000 commented 6 years ago

There is a deadlock bug in the new tray app and it is much more likely to trigger in service mode. I'll upload a fix later today.

snowie2000 commented 6 years ago

MacTray.zip Okay, here is the promised file. Hope it can fix the problem.

sammilucia commented 6 years ago

thank you!

sammilucia commented 6 years ago

Unfortunately it's still occurring for me in service mode

Straight after logging in: 2018-10-01 12_16_37-pushbullet - your devices working better together - cent browser

After re-running MacWiz.exe next > next >finish (no settings changed image

snowie2000 commented 6 years ago

@sammilucia Okay, so it only happens in service mode? Could you please do a memory dump of the mactray.exe when the rendering stopped so that I can figure out what's going on inside it? I know the memory dump will be very huge, you could upload it to somewhere like google drive and just give me the link.

sammilucia commented 6 years ago

ServiceMode - I'm not sure, I'll disable secure boot and find out Memdump - sure thing I'll get back to you

sammilucia commented 6 years ago

@snowie2000 yes it still does it in registry mode... No change. Most bizarre!

snowie2000 commented 6 years ago

Okay, that's cool. Then there is, in theory, nothing to do with the mactray app. It should be the problem with mactype itself. Here is one thing you can try: Download the process explorer from Microsoft. Open it and select explorer.exe or any other application that you expected it to be rendered and search through its loaded dll list for MacType related Dlls. qq 20181009210212 You're expecting to see at least mactype.dll (mactype64.dll) and easyhk32(64).dll. If not, either the registry mode doesn't work at all or you enabled include-only mode.

IceMan81 commented 6 years ago

@snowie2000 @sammilucia I have the same issue. Mactype is set to registry mode but on reboot mactype is not applied. When you manually start the tray app, you can see that the settings is set to disable even thought that’s not what was originally set. I know this because I always use mactype in registry mode. I think I started observing this issue after starting to use the new tray app that you recently put out.

sammilucia commented 6 years ago

@snowie2000 done in Registry Mode straight after a restart. Chrome is currently not rendering with MacType. image

MacWiz process manager seems to think it's running? image

snowie2000 commented 6 years ago

@sammilucia Only chrome.exe is not rendered or everything is not rendered? What is the parent process of chrome?

sammilucia commented 6 years ago

good question... hmm...

renders correctly

explorer.exe -> procexp64.exe services.exe -> svchost.exe -> mullvad explorer.exe -> fireworks.exe explorer.exe -> explorer windows / window titles explorer.exe -> nexusclient.exe explorer.exe -> greenshot.exe services.exe -> tinywall.exe explorer.exe -> phraseexpress.exe explorer.exe -> flashbackplayer.exe explorer.exe -> startisbackcfg.exe explorer.exe -> flux.exe explorer.exe -> mpc-hc64.exe explorer.exe -> macwiz.exe

doesn't render correctly

explorer.exe -> mactuner.exe (mactype.core.dll, mactype.dll, easyhk32.dll) explorer.exe -> chrome.exe -> chrome.exe (mactype64.core.dll, mactype64.dll, easyhk64.dll) explorer.exe -> brackets.exe -> brackets.exe (UI=yes, content=no... mactype.core.dll, mactype.dll, easyhk32.dll) explorer.exe -> githubdesktop.exe -> githubdesktop.exe (mactype64.core.dll, mactype64.dll, easyhk64.dll) explorer.exe -> loot.exe -> loot.exe (mactype.core.dll, mactype.dll, easyhk32.dll)

it looks like all the processes (except mactuner.exe) that aren't rendering correctly, are the ones that are spawning their own child processes: image

brackets UI is rendered correctly but content is not (assuming content is in the brackets.exe child process): 2018-10-10 18_36_05-manifest json trellox - brackets

sammilucia commented 6 years ago

chrome.exe is centbrowser of course btw @snowie2000

snowie2000 commented 6 years ago

mactunner is naturally unrenderable. It disables mactype from the internal control center.

sammilucia commented 6 years ago

yes thought so. wonder what's going on with the other 3 apps and child processes then..?

snowie2000 commented 6 years ago

Ok, I tried registry mode on my system, and it worked flawlessly. I'll add some debug code to see the result why it decided to stop working.

Does changing your profile make any help?

sammilucia commented 6 years ago

Nope! Different profiles (Default, iOS) do the same thing. In addition my profile (Clean) hasn't changed, the only thing that changed was I reinstalled my Win8.1 x64.

sammilucia commented 6 years ago

duplicate #320?

snowie2000 commented 6 years ago

@sammilucia I don't know, seems not related. That's a problem with the autostart of the tray app.

sammilucia commented 6 years ago

seems like #320 is probably not a bug but a windows / UAC / AV problem, i'll keep it closed, but feel free to reopen

snowie2000 commented 6 years ago

That is probably because he/she had set a compatibility flag for the tray app to require an administrative elevation as Windows with UAC turned on doesn't allow any application with elevation requirement to autostart.

sammilucia commented 6 years ago

Could not reproduce on other systems. This is something peculiar with my system and not caused by MacType. Closing issue!

sammilucia commented 5 years ago

@snowie2000 I have new info about MacType not auto-applying on my Win 8.1 x64 in Registry Mode or Service Mode.

In either of those modes MacType starts at startup, but as per my Process Explorer screenshot, MacType doesn't load into subprocesses (like Cent Browser tabs)

However in Tray mode it does! In either Compatibility Mode or Standalone Mode, if I set MacTray to start with Windows, MacType works for all subprocesses straight away.

In Registry and Service Mode after a restart, it doesn't load into sub processes, until I've run MacType Wizard (and simply click Next > Finish without changing anything)

I realise this is really weird, but does that provide any clues?

snowie2000 commented 5 years ago

I have no clue why it happened. Try the new version to see if it persists.

sammilucia commented 5 years ago

I have... yes it does

snowie2000 commented 5 years ago

I got an idea for that. Wait for the version I'll release tonight (private repo). (Don't use the version I submitted last night, it's buggy).

snowie2000 commented 5 years ago

@sammilucia Could you try it for me? After you reboot, click start menu->Run->mactype.dll,see if it gives you an error like

Windows cannot find 'mactype.dll' Make sure you typed the name correctly... blah blah

Re-run macwiz and redo it see if the error changes.

sammilucia commented 5 years ago

Is there a new private build?

Tried with the current beta straight after reboot and got: image

... This was with MacType in Tray Mode (as Administrator).

sammilucia commented 5 years ago

It did the same thing in Registry Mode (and also didn't change after MacWiz) ... But still doesn't load subprocesses in Registry or Service Mode (but does in any Tray Mode)

:confused:

MrAru commented 5 years ago

I (also with my classmate) have the same problem.

I use MacType in Registry Mode and my system is Windows 10 x64 Ver.1089, everytime when I restart my computer I have to run "MacTray.exe" or "MacWiz.exe" manually to apply MacType.

txbsywcq commented 5 years ago

Hello, same issue: windows 8.1 x86 mactype v20170628 centbrowser v3.6.8.99 and v3.5.3.25

.ini: DirectWrite=1 FontSubstitutes=1

Use MacType in Service Mode Restart Windows Log in Run total commander, Everything, 火绒, centbrowser MacType is applied to any software except centbrowser and 火绒's hipsmain.exe Find mactype.dll, mactype.core.dll, easyhk32.dll loaded in chrome.exe Find mactype.dll, mactype.core.dll, easyhk32.dll not loaded in hipsmain.exe Run MacWiz.exe and DO NOTHING Close and re-open centbrowser MacType is now applied to centbrowser Close and re-open 火绒 MacType is not applied to 火绒's hipsmain.exe In MacWiz's process manager, hipsmain.exe status disabled and can not start

snowie2000 commented 5 years ago

hipsmain is an anti-malware software which definitely has self-protection builtin. It's designed to not let anything to hijack it.

This problem looks much more common than I thought.

txbsywcq commented 5 years ago

In registry mode i hard-replace simsun.ttf with simhei.ttf using ttfname.exe and mactype do render hipsmain.exe; image

By the way, aliwangwang's aliim.exe has same issue like centbrowser;

snowie2000 commented 5 years ago

@sammilucia @txbsywcq I would like you to try the software PCHunter to check for the hooks in the affected applications. Since it is a Chinese site, I'll just give you the link. http://www.xuetr.com/download/PCHunter_free.zip

After downloading the software, launch the one matching your arch, and do as the following picture: untitled The green box on the right-hand side is the hooks you're expected to see and are necessary to make MacType functional. Check all the affected processes to see if they are present.

Thank you.

txbsywcq commented 5 years ago

image kernel32.dll vs. kernelbase.dll

txbsywcq commented 5 years ago

after run macwiz.exe and re-open centbrowser:

image

snowie2000 commented 5 years ago

No major difference as I could see. Which process were you checking? The one works or the one doesn't?

txbsywcq commented 5 years ago

The one works, using PID.

snowie2000 commented 5 years ago

Please check the one doesn't work but with mactype dll loaded.

txbsywcq commented 5 years ago

The first pic: MacType is not applied to centbrowser; After running macwiz.exe and re-open cent, the second pic: MacType is applied to centbrowser;

txbsywcq commented 5 years ago

Tampermonkey process:

image image image

sammilucia commented 5 years ago

@snowie2000 hi sorry for the delay I'm just in the middle of launching a company. I'll complete this in the next couple of days.

snowie2000 commented 5 years ago

@sammilucia It's okay as the MacType project is used to evolve slowly 🤣🤣🤣

@txbsywcq Is the picture the situation when the MacType didn't work? 'Cause it looks so normal.

sammilucia commented 5 years ago

@sammilucia not any more!! 😂 😜

txbsywcq commented 5 years ago

@snowie2000 The first and the third picture i post is the situation when mactype didn't work on centbrowser, the second picture i post is the situation when mactype work.

snowie2000 commented 5 years ago

@snowie2000 I have new info about MacType not auto-applying on my Win 8.1 x64 in Registry Mode or Service Mode.

In either of those modes MacType starts at startup, but as per my Process Explorer screenshot, MacType doesn't load into subprocesses (like Cent Browser tabs)

However in Tray mode it does! In either Compatibility Mode or Standalone Mode, if I set MacTray to start with Windows, MacType works for all subprocesses straight away.

In Registry and Service Mode after a restart, it doesn't load into sub processes, until I've run MacType Wizard (and simply click Next > Finish without changing anything)

I realise this is really weird, but does that provide any clues?

@txbsywcq Your result conflicts with what @sammilucia observed, as she stated that MacType didn't load into sub-processes of the centbrowser opposed to what you witnessed.

snowie2000 commented 5 years ago

And one more question: Does centbrowser work well with DirectWrite enabled? 'Cause there are fewer checks in DirectWrite hooking.

sammilucia commented 5 years ago

@snowie2000 i'm a giirrrrlllll 😜

snowie2000 commented 5 years ago

😝😝😝😝😝😝😝😝🙏🏻👱🏻‍♀️👱🏼‍♀️👱🏽‍♀️👱🏾‍♀️👱🏿‍♀️ Just listed all the color versions of girls in case I made another mistake.😜