JosefNemec / Playnite

Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.
https://playnite.link
MIT License
9.41k stars 504 forks source link

Playnite cefsharpbrowsersubprocess.exe locking file from another application #3164

Closed as232 closed 1 year ago

as232 commented 1 year ago

Bug Description

While trying to run an update on MediaMonkey 5 (a separate application), I am told that MMhelper.dll (a file located within the MediaMonkey 5 directory) is locked and can't be updated. When I run LockHunter, I'm told that a process used by PlayNite is locking the file. I have to End Process on PlayNite (which is not open but the process is running) and then unlock the file with LockHunter to get this to stop and continue the MM5 update.

To Reproduce

Have run PlayNite the same day, but it is closed Run MediaMonkey 5 install routine with MM5 installed on system (update)

Diagnostics ID

b3657c99-62cf-4cc7-88a4-1e56ab0a4dc8

Screenshots

image

JosefNemec commented 1 year ago

I can't see how this could be possible from Playnite's side. We don't lock random files from other applications, especially not via web view process (that's what that CefSharp process is), which is only used to show authentication forms and library sync in some cases.

To me, this looks more like MM5 is incorrectly hooking into our web view process and locking itself out because of it. I suspect they just incorrectly detect our web view process as theirs, since MM5 is a web app. This is something that MM team should investigate first, in my opinion.

as232 commented 1 year ago

Hello,

 

I'm not sure how this has to do with an action by MM5 -- the DLL in question is in their own directory, and it's a third-party application (LockHunter) that is identifying the locking process (in this case PlayNite.)

 

   

Sent: Wednesday, November 16, 2022 at 4:27 PM From: "Josef Nemec" @.> To: "JosefNemec/Playnite" @.> Cc: "as232" @.>, "Author" @.> Subject: Re: [JosefNemec/Playnite] Playnite cefsharpbrowsersubprocess.exe locking file from another application (Issue #3164)

 

I can't see how this could be possible from Playnite's side. We don't lock random files from other applications, especially not via web view process (that's what that CefSharp process is), which is only used to show authentication forms and library sync in some cases.

To me, this looks more like MM5 is incorrectly hooking into our web view process and locking itself out because of it. I suspect they just incorrectly detect our web view process as theirs, since MM5 is a web app, which then causes this issue. This is something that MM team should investigate first, in my opinion.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

JosefNemec commented 1 year ago

I suspect it's caused by MM itself because I don't see any possible way of a Playnite process loading that random dll into its own process. There definitely isn't any code to do that in Playnite itself and I don't see any reason why web view process would do it either.

I tried to reproduce this myself and I wasn't able to. None of our processes locked any MM5 files.

JosefNemec commented 1 year ago

Closing per my last message. We simply don't have any code that would load random files from other apps into web view process, I strongly suggest that you notify MM team about this instead.

The only other possibility is that CefSharp dependency we use is somehow doing this, but right now I don't have time debugging their project and I also don't see any reason why they would be loading MM's files anyways.