Page 1 of 1

Nested Job Object

Posted: 15 Mar 2017 02:01
by OperaUser
Opera and other browsers have a parent process, and child processes that run in a job object. Starting with Windows 8, job objects can be nested. I run the parent/broker process in a job object, whereupon Process Hacker doesn't see the nested job object in the child processes.

Re: Nested Job Object

Posted: 16 Mar 2017 10:03
by viksoftru

Kernel-mode driver loaded? If unloaded users says about some problem in Chrome/FireFox that's used package task for tabs and plugin-s isolation.

Re: Nested Job Object

Posted: 19 Mar 2017 01:11
by OperaUser
OS: Win 8.1 x64. Process Hacker is 2.39.124
Windows 8 and beyond allows for nested job objects, a 2nd job object within a first. So, I put the parent/broker Opera process in my own job object. The child/renderer processes are put in a 2nd job object by opera. Process Explorer sees the 2nd job object, but doesn't combine it with the 1st. But Process Hacker sees no job object at all. In my own job object, among other things, I make the priority Above_Normal. Once it is in a job object, the priority is kernel enforced, and can't be switched by, say task manager.

I'm probably the only person in the world that does this. For most people, the first, parent process isn't in a job object. Opera puts security on the child processes. I like to put a little security on the parent process.

I compiled my browser starter program using many sources as inspiration.
One source for the job object work was Ulimitnt2.7

Re: Nested Job Object

Posted: 19 Mar 2017 19:28
by viksoftru
The concept of "batch job" was introduced by IBM back in OS / 360 MFT in the early 60's as "Batch job is the minimum OS planning unit consisting of a group of manageable tasks as a whole for the task of the user.".

I do not see the bug in the current implementation, but I think that you can ask for the addition in Process Hacker of the mechanism for displaying the hierarchical structure of the batch job, taking into account the child subtasks as a new useful property.

Re: Nested Job Object

Posted: 20 Mar 2017 06:03
by OperaUser
The bug is, in fact, the child processes is in 2 job objects, whereas Process Hacker shows 0. It's not a big deal for me but, it is a bug.
My workaround is to use process explorer if I'm wondering what Opera's job object parameters are.
The overview of nested job objects: ... 85%29.aspx

Re: Nested Job Object

Posted: 12 Jul 2017 05:56
by dmex
The nightly builds don't support nested job object information since the driver doesn't have enough privileges to access nested job object information :P

You will need to export the legacy-debug branch from Github and run \build\build_release.cmd to compile a debug build or use versions 2.38 or below of Process Hacker until the next stable release.