dmarmor / epichrome

An application and Chrome extension for creating web-based applications that work like standalone Mac apps.
GNU General Public License v3.0
855 stars 57 forks source link

New Brave based browser won't open #246

Open davidmankin opened 4 years ago

davidmankin commented 4 years ago

Hi When my chromium based browser wouldn't open after chrome 83 install I updated to 2.3.2b2 and created a new Brave based replacement app. It was working on Friday but after I rebooted to install the latest Mojave security patch it won't open today. Whenever I click on it or use Spotlight, nothing happens. When I try from the command line it says it's already running. Force Quit dialog doesn't show the app.

$  /Applications/GCal\ 4.app/Contents/MacOS/Epichrome --debug
 [81942]GCal4(1478): Core 2.3.2b2 initialized in app GCal4.
 [81942]GCal4(304)/lockset(194): Can't set lock: this app (or its helper) is alive at 925.
![81942]GCal4(323)/abortsilent(861)/abort(834): Aborting: Unable to set lock.

$ ps auxxww | grep 925
dmankin            925   0.0  0.0  4632116   3256   ??  S    12:20PM   0:00.17 /bin/bash /Applications/GCal 4.app/Contents/Resources/script
dmarmor commented 4 years ago

Somehow an instance of the launch app looks like it got stuck. For this situation, I'd recommend trying this in the terminal:

kill 925

If that fails then the big guns:

kill -9 925

After that, it should launch. If not, then something is preventing that app from launching its engine, but it's also not reporting the error and quitting as it should. First step would be to try updating it to 2.3.2 (that shouldn't make any difference, as 2.3.2 is almost identical to 2.3.2b2, but worth it to be on the latest). Then run it as you did above, but with --epichrome-debug (I think I incorrectly recommended --debug somewhere, but the real flag is --epichrome-debug) and send me the output. Thanks!

davidmankin commented 4 years ago

It took a kill -9 to kill it. Opening from spotlight again did nothing.

Running the command with --epichrome-debug did have it pop up the "download the latest" dialog and then it did open the app. So I don't know what was going on.

Debug info in case it helps

$  /Applications/GCal\ 4.app/Contents/MacOS/Epichrome --epichrome-debug
 [33635]GCal4(1478): Core 2.3.2b2 initialized in app GCal4.
 [33635]GCal4(304)/lockset(221)/writevars(1290): Writing to lock: lockPID='33635'
 [33635]GCal4(304)/lockset(221)/writevars(1290): Writing to lock: lockLogFile='/Users/dmankin/Library/Application Support/Epichrome/Apps/GCal4/Logs/epichrome_app_log_20200601_161831.txt'
 [33635]GCal4(304)/lockset(221)/writevars(1290): Writing to lock: lockCmd='/bin/bash /Applications/GCal 4.app/Contents/Resources/script --epichrome-debug'
 [33635]GCal4(304)/lockset(221)/writevars(1290): Writing to lock: lockEnginePID=''
 [33635]GCal4(304)/lockset(221)/writevars(1290): Writing to lock: lockEngineCmd=''
 [33635]GCal4(304)/lockset(221)/writevars(1290): Writing to lock: lockEnginePath=''
 [33635]GCal4(304)/lockset(226): Lock set.
 [33635]GCal4(344)/readconfig(136): SSBAppPath='/Applications/GCal 4.app'
 [33635]GCal4(344)/readconfig(136): SSBLastRunVersion='2.3.2b2'
 [33635]GCal4(344)/readconfig(136): SSBLastRunEngineType='internal|com.brave.Browser'
 [33635]GCal4(344)/readconfig(136): SSBUpdateVersion='2.3.2b2'
 [33635]GCal4(344)/readconfig(136): SSBUpdateCheckDate=''
 [33635]GCal4(344)/readconfig(136): SSBUpdateCheckVersion=''
 [33635]GCal4(344)/readconfig(136): SSBUpdateCheckError=''
 [33635]GCal4(344)/readconfig(136): SSBEnginePath='/Applications/Epichrome/EpichromeEngines.noindex/dmankin/GCal4'
 [33635]GCal4(344)/readconfig(136): SSBEngineAppName='GCal 4.app'
 [33635]GCal4(344)/readconfig(136): SSBNMHInstallError=''
 [33635]GCal4(420)/getepichromeinfo(280): Found Epichrome 2.3.2b2 at '/Applications/Epichrome/Epichrome.app'.
 [33635]GCal4(420)/getepichromeinfo(297): Ignoring '/Applications/Epichrome.app' (old version 2.2.4).
 [33635]GCal4(420)/getepichromeinfo(309): Current version of Epichrome (2.3.2b2) found at '/Applications/Epichrome/Epichrome.app'
 [33635]GCal4(527)/checkgithubupdate(519)/checkgithubversion(472): Found new Epichrome version 2.3.2 on GitHub.
 [33635]GCal4(527)/checkgithubupdate(530)/dialog(1393): Showing dialog 'Update Available' with text 'A new version of Epichrome (2.3.2) is available on GitHub.'
 [33635]GCal4(527)/checkgithubupdate(530)/dialog(1405): User clicked button 'Download'
 [33635]GCal4(641)/checkengine(1886): Engine is inactive.
 [33635]GCal4(685)/setenginestate(1979): Engine activated.
 [33635]GCal4(737)/launchapp(2679): Launching app engine.
 [33635]GCal4(768)/waitforcondition(923)/checkforengine(764)/getengineinfo(2542): Found running engine '/Applications/Epichrome/EpichromeEngines.noindex/dmankin/GCal4/GCal 4.app' with PID 34914.
 [33635]GCal4(783): Leaving lock in place for Epichrome Helper.
 [33635]GCal4(799)/writeconfig(2626): Configuration variables have changed. Updating config.sh.
 [33635]GCal4(799)/writeconfig(2638)/writevars(1290): Writing to config.sh: SSBAppPath='/Applications/GCal 4.app'
 [33635]GCal4(799)/writeconfig(2638)/writevars(1290): Writing to config.sh: SSBLastRunVersion='2.3.2b2'
 [33635]GCal4(799)/writeconfig(2638)/writevars(1290): Writing to config.sh: SSBLastRunEngineType='internal|com.brave.Browser'
 [33635]GCal4(799)/writeconfig(2638)/writevars(1290): Writing to config.sh: SSBUpdateVersion='2.3.2b2'
 [33635]GCal4(799)/writeconfig(2638)/writevars(1290): Writing to config.sh: SSBUpdateCheckDate='1591658311'
 [33635]GCal4(799)/writeconfig(2638)/writevars(1290): Writing to config.sh: SSBUpdateCheckVersion='2.3.2b2'
 [33635]GCal4(799)/writeconfig(2638)/writevars(1290): Writing to config.sh: SSBUpdateCheckError=''
 [33635]GCal4(799)/writeconfig(2638)/writevars(1290): Writing to config.sh: SSBEnginePath='/Applications/Epichrome/EpichromeEngines.noindex/dmankin/GCal4'
 [33635]GCal4(799)/writeconfig(2638)/writevars(1290): Writing to config.sh: SSBEngineAppName='GCal 4.app'
 [33635]GCal4(799)/writeconfig(2638)/writevars(1290): Writing to config.sh: SSBNMHInstallError=''
dmarmor commented 4 years ago

That's very weird. Yeah, this log definitely looks like a successful launch. If you quit and launched again from Spotlight would it again fail to launch? If so, maybe you could send the last log in the Logs directory after that failed launch? (If it's still on 2.3.2b2 it should actually have debug on by default.)

If it fixed itself after that, maybe we just chalk it up to gremlins...

davidmankin commented 4 years ago

Still failing to launch in Spotlight. Where's the Logs dir?

dmarmor commented 4 years ago

It should be at:

~/Library/Application Support/Epichrome/Apps/<AppID>/Logs
davidmankin commented 4 years ago

It is not leaving a log there when it tries to run via spotlight. Also something called /usr/libexec/diagnosticd running as root is eating up a lot of CPU and started about the last time I tried the spotlight launch.

UPDATE: diagnosticd is apparently a side effect of having Console open looking for that log. doh.

dmarmor commented 4 years ago

Oh, sorry for the confusion, the log won't be in Console. If you go to that directory in Finder or Terminal, you should find a bunch of text files there that look like epichrome_app_log_<timestamp>.txt. I'd be looking for the latest one from the last failed run.

jlongman commented 4 years ago

It was originally a 2.3.2 build and I saw this after I had copied a 2.3.3 binary on a 2.3.2 broken app. I just killed everything that looked like my process. then when I started it next it worked. There were 4 processes IIRC, the Epichrome app, 2x bash processes and an osascript.

bryanyork commented 4 years ago

I just noticed the same issue, existing app, would not open due to: ![17588]ChromePerson(323)/abortsilent(861)/abort(834): Aborting: Unable to set lock.

Found these processes running: byork 15851 0.0 0.1 6024864 18900 ?? S 9:49AM 0:00.31 /usr/bin/osascript -e set myIcon to (POSIX file "/Applications/Chrome Personal.app/Contents/Resources/app.icns")\012try\012 button returned of (display dialog "A new version of Epichrome (2.3.4) is available on GitHub." with title "Update Available" with icon myIcon buttons { "Download", "Later", "Ignore This Version" } default button "Download" cancel button "Later")\012on error number -128\012 "Later"\012end try byork 15850 0.0 0.0 4632356 956 ?? S 9:49AM 0:00.00 /bin/bash /Applications/Chrome Personal.app/Contents/Resources/script byork 15708 0.0 0.0 4632356 2924 ?? S 9:49AM 0:00.11 /bin/bash /Applications/Chrome Personal.app/Contents/Resources/script byork 15702 0.0 0.2 5512192 50620 ?? S 9:49AM 0:01.35 /Applications/Chrome Personal.app/Contents/MacOS/Epichrome

dmarmor commented 4 years ago

Hi @bryanyork, did killing process 15850 help? Or did it just repeat the same problem on the next run?

I suspect this might be related to Issue #248. Can you check that out and see if the fix I outline gets you past it? If that is the problem, the underlying issue has been fixed in 2.3.3 so you shouldn't have trouble going forward.

bryanyork commented 4 years ago

Yes, killing those processes helped, so far has not re-appeared. I did an update on my main Chrome app right before this happened, and quit the epichrome app. Not sure if that's related.

dmarmor commented 4 years ago

Well, I'm glad it's at least improved for now. If you can update that app to 2.3.3 or 2.3.4, hopefully it won't recur...

matthewfallshaw commented 3 years ago

Similar problem on 2.3.11 today. Launching app (called Asana) did nothing visible (no error dialogs, nothing actually visibly launching).

Log - ~/Library/Application Support/Epichrome/Apps/Asana/Logs/epichrome_app_log_20201012_120342.txt:

![18490]Asana(287)/abortsilent(918)/abort(884): Aborting: Unable to set lock.

Resident:

$ ps -ax | grep Asana
 2314 ??         0:00.11 /bin/bash /Applications/Asana.app/Contents/Resources/script
 2661 ??         0:00.00 /bin/bash /Applications/Asana.app/Contents/Resources/script
 2663 ??         0:01.27 /usr/bin/osascript -e set myIcon to (POSIX file "/Applications/Asana.app/Contents/Resources/app.icns")\012try\012 button returned of (display dialog "A new version of Epichrome was found (2.3.12). This app is using version 2.3.11. Would you like to update it?" with title "Update" with icon myIcon buttons { "Update", "Later" } default button "Update" cancel button "Later")\012on error number -128\012    "Later"\012end try

I killed those (just kill <PID>, no -9 needed), and everything's working fine now.

dmarmor commented 3 years ago

Hi @matthewfallshaw, yeah, it looks like some zombie version of the app was left running. I'm not sure how that happened, but the good news is that it shouldn't be possible with the new 2.4 architecture, so hopefully you won't run into this again once I've got that finished.

rjackson-dev-ops commented 3 years ago

Thanks for the pointers here. I just had this problem today in the previous version. I was able to resolve it by just killing stuck process I guess.

3MC02SX2M9HF1R:scripts aazpszz$ /Applications/AWSGProd.app/Contents/MacOS/Epichrome --debug ![42121]AWSGT(287)/abortsilent(918)/abort(884): Aborting: Unable to set lock. 3MC02SX2M9HF1R:scripts aazpszz$ /Applications/AWSGProd.app/Contents/MacOS/Epichrome --debug ![42223]AWSGT(287)/abortsilent(918)/abort(884): Aborting: Unable to set lock. 3MC02SX2M9HF1R:scripts aazpszz$ ps auxxw | grep -i epichrome 7155 0.0 0.1 4378056 12984 ?? S 8:19AM 0:00.72 /usr/bin/osascript -e set myIcon to (POSIX file "/Applications/aws-gt.app/Contents/Resources/app.icns")\012try\012 button returned of (display dialog "A new version of Epichrome (2.3.24) is available on GitHub." with title "Update Available" with icon myIcon buttons { "Download", "Later", "Ignore This Version" } default button "Download" cancel button "Later")\012on error number -128\012 "Later"\012end try 42272 0.0 0.0 4270224 500 s008 R+ 2:33PM 0:00.01 grep -i epichrome 3MC02SX2M9HF1R:scripts aazpszz$ kill 7155 3MC02SX2M9HF1R:scripts aazpszz$ ps auxxw | grep -i epichrome aazpszz 42302 0.0 0.0 4268176 412 s008 R+ 2:33PM 0:00.00 grep -i epichrome 3MC02SX2M9HF1R:scripts aazpszz$ /Applications/AWSGProd.app/Contents/MacOS/Epichrome --debug

dmarmor commented 3 years ago

Hi @rjackson-dev-ops, it looks to me like the problem you were experiencing here is that for some reason you couldn't see the GitHub update dialog. I'm not sure why that'd be the case, but you did the right thing to kill it and run again. It's possible some permissions on your system are disallowing your Epichrome apps from showing their dialogs. If that's the case, you'd never see any dialogs from those apps (including update prompts and error messages). Looking at the logs is a good way to diagnose if that's the case.

I'm planning to release 2.3.25 today, so please keep an eye on things and see if you experience the problem again (you should start getting GitHub prompts for that version within a week of posting...

rjackson-dev-ops commented 3 years ago

That makes sense. I only use this on my work Mac and if the VPN isn't working then.. Thanks..