Skip to content
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

[Plus v1.11.4] Process Suspend/Resume issues #3375

Open
ghost opened this issue Oct 13, 2023 · 21 comments
Open

[Plus v1.11.4] Process Suspend/Resume issues #3375

ghost opened this issue Oct 13, 2023 · 21 comments
Labels
Issue: Reproduced Issue reproduced without uncertainties ReOpened Reopened for another look Status: Partially Fixed Issues with partial fixes

Comments

@ghost
Copy link

ghost commented Oct 13, 2023

Describe what you noticed and did

Right click on sandboxed process in sandman
-Resume remains disabled for suspended processes

This does not only happen on Windows 7 as referenced from issue #3156.
I launched steam via sandboxie and cannot resume steam.exe.

How often did you encounter it so far?

No response

Affected program

sandman

Download link

.

Where is the program located?

Not relevant to my request.

Expected behavior

.

What is your Windows edition and version?

Windows 10.0.19041.2728 x64 LTSC

In which Windows account you have this problem?

I use the built-in Administrator account.

Please mention any installed security software

Renamed Windows Defender folder from being started at all.

What version of Sandboxie are you running?

Plus v1.11.4

Is it a new installation of Sandboxie?

I just updated Sandboxie from a previous version (I remember which one it is).

Is it a regression?

Plus v1.10.5

In which sandbox type you have this problem?

In a standard isolation sandbox (yellow sandbox icon).

Can you reproduce this problem on a new empty sandbox?

Not relevant to my request.

Did you previously enable some security policy settings outside Sandboxie?

.

Crash dump

.

Trace log

.

Sandboxie.ini configuration

.
@ghost ghost added the Confirmation Pending Further confirmation is requested label Oct 13, 2023
@DavidXanatos DavidXanatos added the Issue: Can't Reproduce The issue cannot be reproduced internally label Oct 15, 2023
@DavidXanatos
Copy link
Member

can anyone else try to reproduce this issue for me it works just fine

@offhub
Copy link
Collaborator

offhub commented Oct 15, 2023

Try with Edge, some processes appear to be suspended. However, Task Manager shows that these processes are running.

SandMan_20231015_153137_700

@ghost
Copy link
Author

ghost commented Oct 15, 2023

So, I decided to do another test by extracting install into new portable folder.
Add back the relevant preset "Emulate admin" with the sandbox "Steam".
Sorry, forgot that was relevant.

Then launch via a .bat launcher for launching with Steam parameters.

2023-10-15_20 20 56_Sunday

For some reason the Sandman shows both Steam.exe and Steamwebhelper.exe as "Suspended" on start, I haven't even done anything. As if Sandman is keeping track of what programs are previously suspended -- which makes no sense.

Edit and Edit 3: So I tried resuming them -- but even while it's showing "Suspended" on start, the "Resume" is still greyed out. So I tried suspending them, which instead turns the status into "Running", even though suspended. I don't remember if that's what happened, or if resuming via PsProcess caused it be become "Running".

I think thats happening is that sandman is only checking the suspend state once, if an other program resumes theprocess in sandmyn it will still be shown suspended, and vice versa

That means Sandman is having trouble detecting if the steam.exe and steamwebhelper.exe is suspended or not.

Then I tried resuming them using PsSuspend.exe from SysInternals, then I discovered that Sandboxie internally "queues" suspension, meaning that:
1. Let's say that the process is suspended.
2. But Sandman shows it's still "Running", and Suspend is not greyed out.
3. Click Suspend over and over, nothing happens because it detects that the program is suspended, so it "queues" up the suspends instead... But why? Good question!
4. Since Sandman is greying out the "Resume", I cannot resume via Sandman.
5. Resume the process via PsSuspend from SysInternals.
6. But Sandman will immediately suspend the process again, because of the suspension queue.
7. So if I click "Suspend" 6 times, I have to enter "PsSuspend -r Steam.exe" 6 times to actually resume it.
Edit 2: It appears this isn't part of Sandboxie, but rather, Windows's shenanigans. It seems Windows queue up the suspend call on suspended processes. Tested with PsSuspend by suspending the process multiple times, then I had to resume it multiple times. Sometimes it also fails to resume the process, having to call resume more than usual.

2023-10-15_20 21 52_Sunday

Before the new install, I was able to get only "steamwebhelper.exe" to show "Suspended" status, but not anymore in this new test.

2023-10-15_20 29 12_Sunday

Lastly, I thought maybe because I launched Steam with bunch of parameters, such as limiting to a single steamwebhelper.exe.

So I tried without any of those parameters and tested further.

At start, only one of the child "steamwebhelper.exe" is showing "Suspended". Forgot to take a screenshot of that.
After suspending each, for some reason only the parents "steam.exe" and "steamwebwelpher.exe" does not show "Suspended".

Something is quite broken.

@DavidXanatos
Copy link
Member

The "queueing" is not a function of sandman but of how windows suspend threads, if you call suspend multiple times you need to call resume the same amount of times.

@DavidXanatos
Copy link
Member

I think thats happening is that sandman is only checking the suspend state once, if an other program resumes theprocess in sandmyn it will still be shown suspended, and vice versa

@DavidXanatos
Copy link
Member

I'll change the next build to update the state each time the context menu is opened

@RandomGOTI
Copy link

I can reproduce it , its only the label that shows the incorrect status , the context menu is working for me since the mentioned fix
After suspending and resuming the label shows the correct status

@isaak654 isaak654 removed the Issue: Can't Reproduce The issue cannot be reproduced internally label Oct 16, 2023
@isaak654

This comment was marked as resolved.

@DavidXanatos DavidXanatos added the Status: Fixed in Next Build Fixed in the next Sandboxie version label Oct 19, 2023
@ghost
Copy link
Author

ghost commented Oct 25, 2023

I'm sorry, but it isn't fixed. Tested on pre-release v1.12.0.

2023-10-26_07 40 54_Thursday

I think the problem is that Sandman is having trouble detecting whether if the process is suspended or not.

Maybe Sandman shouldn't grey out the "Resume" at all. There's zero reason to grey that out other than being annoying at this point, since you can't fix it.
Greying out the "Suspend" is okay, since multiple suspension causes queue.

I can't find the "reopen issue" button in this page.

@isaak654 isaak654 reopened this Oct 26, 2023
@isaak654 isaak654 added ReOpened Reopened for another look and removed Status: Fixed in Next Build Fixed in the next Sandboxie version labels Oct 26, 2023
@DavidXanatos
Copy link
Member

doesn't opening the context menu for the process not refresh the status to the right value?

@DavidXanatos
Copy link
Member

@01yakiek please clarify if right clicking on "steam.exe *32" in your example updates the status correctly or if it remain recognized as not suspended while being suspended.

@ghost
Copy link
Author

ghost commented Oct 26, 2023

@DavidXanatos

Video:

test_scaled_fps_selected.mp4

I believe I don't need to explain whatever is going on in there.

Edit: God forsaken "Close with comment" does not have confirmation box, accidentally clicking that. I'm very sick of poor UI every where.

Edit 2: I'll add that running Standard Applications > Windows Explorer, then run Steam, will still produce the same result. Since in the video I tested by running Steam via "Run Program". Since the "Run Program" has the tendency to misbehave or break.

Edit 3: I further tested by running Steam.exe directly instead of via batch file. Same result.

@ghost ghost closed this as completed Oct 26, 2023
@ghost ghost reopened this Oct 26, 2023
@ghost
Copy link
Author

ghost commented Oct 26, 2023

I've further tested by

  1. Clearing "Steam" sandbox folder's reg files.
  2. Clear contents of "DefaultBox" sandbox, then move "drive" and "user" folders from "Steam" sandbox into "DefaultBox" sandbox, then set Preset > Ask for UAC Elevation (default), and then run Steam.exe from Run Program.

Video 1:

Qsph3SGUBM.mp4

Then I discovered something... Without the "Emulate Admin Rights" preset, there will be "Steam service error" pop up.

If I don't click anything on the popup, and instead, suspend Steam.exe via Sandman.exe, It works.

But as soon as I click "Cancel", suspend status will no longer work.

Video 2:

SandMan_Iie71z36rr.mp4

So, I tested by suspending all of its child of Steam.exe, thinking maybe Steamwebhelper.exe is causing the issue. No, even if I suspend everything, Steam.exe status will still not work.

Edit: I thought this was going to be my final test. New sandbox, "New Box", with only Steam.exe in "New Box"/drive/C/test/Steam.exe, aka new installation of Steam. Run Standard Applications > Windows Explorer > Browse and run Steam.exe. Steam service error pops up > Cancel. Suspend Steam.exe, and Sandman shows Steam.exe Suspended. It works. But why? ... Ffs now I need to test more to figure out why.

Edit 2: Oh, no. It doesn't work anymore after I'm done typing the first edit, while the Steam login dialog sat there. Never mind, appears this is indeed the last test I could do. I'm out of ideas.

Video 3:

Taskmgr_O977vFyvNb.mp4

Edit 3: Here's the final video, where there's a new bug discovered.

Something is broken when suspending multiple at once -- ( Edit 5 ) or some processes cannot be suspended? (End of Edit 5) In the video, one of the Steamwebhelper.exe isn't showing "Suspended" in Task Manager, and (Edit 4) cannot be suspended anywhere (Sandman or even PSSuspend) (End of Edit 4), despite "Suspended" status in Sandman.exe.

As at the last few seconds is where suspending Steam.exe isn't showing "Suspended", not working as usual.

This is so very broken. Just stop greying out the Resume, or maybe find another way to deal with detecting the Suspend/Resume status. If you can't reproduce it, then you can't fix it for us users that have this problem.

Thank you.

@DavidXanatos DavidXanatos added the Status: Fixed in Next Build Fixed in the next Sandboxie version label Oct 26, 2023
@DavidXanatos
Copy link
Member

DavidXanatos commented Oct 26, 2023

try preview build 1.12.0b available through the online updater in the preview channel (a fix was committed in 25054d0)

@ghost
Copy link
Author

ghost commented Oct 27, 2023

please.mp4

@DavidXanatos
Copy link
Member

your settings are wrong you nee to set Version Updates not to ignore.

grafik

Version Updates are fast turn around changes, denoted with appended letters a b c d etc... they don't get an own github release.
New Versions do get a github release and full installer

@ghost
Copy link
Author

ghost commented Oct 27, 2023

your settings are wrong you nee to set Version Updates not to ignore.

grafik

Version Updates are fast turn around changes, denoted with appended letters a b c d etc... they don't get an own github release. New Versions do get a github release and full installer

You tested?

Edit:

sigh.mp4

With all due respect...

I do not enjoy wasting my time making these videos to showcase the number of bugs in them. So if you could, please test your software thoroughly, especially the broken bits of the ui or incomplete info such as the online updater version thing, instead of relying on us users to do the job for you, meanwhile having the audacity to ask us to pay you for your "subscription" fees.

But if I don't make these videos, I only sense my words falling into deaf ears. I sharply criticise your poor ability to communicate and response to our feedback, as well as you do not acknowledge or respond in any satisfying manner.

Edit 2: And before you waste any more of my time wailing about something along the lines; "You did not try updating it in v1.12.0, because the Version Updates tooltip says 'Hotpatches for the installed version, updates to the Templates.ini and translations'!"
No. The online updater of v1.12.0 does not update to v1.12.0b either. It doesn't even show any popup after clicking "Check for updates". No dialog message telling me "No updates found", nothing happens, as shown in the previous video. Such is poor UI design.
Do you have any idea how many times I've double and quintuple checked -- no, I've lost count how many times I've tested. I had even tested enabling "Version Update: Notify & Install", way before you made the comment of me having the wrong settings., all because I didn't record it. Otherwise I wouldn't have been so confidently wasting my time on composing the videos showcasing the bugs so you could fix them.

Thank you.

Edit 3: You know what, I've anger issues. So for my mental health, I'm done, done dealing with this nonsense.

@offhub
Copy link
Collaborator

offhub commented Oct 28, 2023

@DavidXanatos
If a supporter certificate is required for preview channel version updates, this requirement must be reflected in the interface, as in the stable channel. If a supporter certificate is not required, the certificate check in the online updater must also be changed accordingly.

If no supporter certificate is entered, the update window will close as if there were no updates after the check, even if a choice other than "Ignore" is made from the interface.

sbie3375prvwcert.mp4

@isaak654 isaak654 removed the Status: Fixed in Next Build Fixed in the next Sandboxie version label Oct 29, 2023
@Arcsyy
Copy link

Arcsyy commented Nov 23, 2023

I have the same problem, and this person is the only thread I can find that addresses the problem. I see it has been a month, has anything changed? I would really like to try your product, but I am completely unable to launch steam through it. It is just suspended. @DavidXanatos

@DavidXanatos
Copy link
Member

@DavidXanatos If a supporter certificate is required for preview channel version updates, this requirement must be reflected in the interface, as in the stable channel. If a supporter certificate is not required, the certificate check in the online updater must also be changed accordingly.

If no supporter certificate is entered, the update window will close as if there were no updates after the check, even if a choice other than "Ignore" is made from the interface.
sbie3375prvwcert.mp4

this should be fixed already, see:

QString COnlineUpdater::GetOnNewUpdateOption() const

@isaak654
Copy link
Collaborator

isaak654 commented Nov 26, 2023

Edit 3: Here's the final video, where there's a new bug discovered.

Something is broken when suspending multiple at once -- ( Edit 5 ) or some processes cannot be suspended? (End of Edit 5) In the video, one of the Steamwebhelper.exe isn't showing "Suspended" in Task Manager

Currently there is no solution for this visual bug due to the difficulty of detecting a non-suspendable PID, although numerous attempts have been made so far.

@isaak654 isaak654 added Status: Partially Fixed Issues with partial fixes Issue: Reproduced Issue reproduced without uncertainties and removed Confirmation Pending Further confirmation is requested labels Nov 26, 2023
@isaak654 isaak654 changed the title [Plus v1.11.4] Process Suspend/Resume context menu [SBIE Plus v1.11.4] Process Suspend/Resume context menu Nov 29, 2023
@isaak654 isaak654 changed the title [SBIE Plus v1.11.4] Process Suspend/Resume context menu [Sandboxie Plus] Process Suspend/Resume context menu Nov 29, 2023
@isaak654 isaak654 changed the title [Sandboxie Plus] Process Suspend/Resume context menu [Plus v1.11.4] Process Suspend/Resume issues Nov 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue: Reproduced Issue reproduced without uncertainties ReOpened Reopened for another look Status: Partially Fixed Issues with partial fixes
Projects
None yet
Development

No branches or pull requests

5 participants