“Hardware Information (Mac OS X)” omits Big Sur

The “Hardware Information (Mac OS X)” analysis in “BES Inventory and License” needs new relevance.

It looks for (it contains "mac os x") of (name of operating system as lowercase), thereby omitting macOS e.g. machines running the new 10.0.3/macOS11 agent.

At least the other two Analyses in that site that are Mac OS also have the same relevance. I’ll see if I can find who owns it

1 Like

The core property ‘CPU’ reports ‘Singluar expression refers to nonexistent object’ when the client is running on M1 silicon and agent version 10.0.3.66.

It reported correctly running the 10.0.2 agent in emulation mode on the same hardware.

The 10.0.3.66 agent reports correctly on an x86 based Mac, it only fails on an M1 based Mac (where the activity monitor does show it running native)

As that property uses a few inspectors (and I don’t have an M1 handy) could you let us know which is failing?

  • speed of main processor
  • family name of main processor

I have mentioned this to the team and they will be looking here for replies.

cracks knuckles

BRB

I actually did manage to find an M1 to check. For me the default CPU property returns Apple M1 on the machine we have. Could you perhaps be using a different property?

Reporting on the macos11 SDK client:

A: MacBookPro17,1
T: 8.000 ms

Q: operating system
A: macOS 11.3.1 (20E241)
T: 8.000 ms

Q: version of client
A: 10.0.3.66
T: 10.000 ms

Q: build target of client
A: OSX 1100.0 x86_64
T: 10.000 ms

Q: cpupackage
E: Error: The operator "string" is not defined.
T: 10.000 ms

Q: cores of cpupackage
A: 8
T: 9.000 ms

Q: count of cpupackage
A: 1
T: 9.000 ms

Q: threads of cpupackage
A: 8
T: 9.000 ms

Q: processors
E: Error: The operator "string" is not defined.
T: 8.000 ms

Q: number of processors
A: 8
T: 11.000 ms

Q: processor 0
E: Error: The operator "string" is not defined.
T: 11.000 ms

Q: main processor
E: Error: The operator "string" is not defined.
T: 11.000 ms

Q: family name of main processor
A: Apple M1
T: 10.000 ms

Q: speed of main processor /* documented not present on M1 */
E: Error: Singular expression refers to nonexistent object.
T: 10.000 ms

Q: brand id of main processor
E: Error: Singular expression refers to nonexistent object.
T: 9.000 ms

Q: brand string of main processor
A: Apple M1
T: 12.000 ms

Q: extended family of main processor
E: Error: Singular expression refers to nonexistent object.
T: 12.000 ms

Q: extended feature mask of main processor
E: Error: Singular expression refers to nonexistent object.
T: 11.000 ms

Q: extended model of main processor
E: Error: Singular expression refers to nonexistent object.
T: 11.000 ms

Q: family of main processor
E: Error: Singular expression refers to nonexistent object.
T: 11.000 ms

Q: feature mask of main processor
E: Error: Singular expression refers to nonexistent object.
T: 10.000 ms

Q: model of main processor
E: Error: Singular expression refers to nonexistent object.
T: 10.000 ms

Q: stepping of main processor 
E: Error: Singular expression refers to nonexistent object.
T: 9.000 ms

Q: type of main processor 
A: %08
T: 9.000 ms

Q: vendor of main processor
E: Error: The operator "vendor" is not defined.
T: 9.000 ms

Q: /* CPU (Reserved) */ if ( exists true whose (if true then exists main processor else false ) ) then ((significant digits 2 of (speed of main processor / mhz)) as string & " MHz " & family name of main processor as string) else ""
E: Error: Singular expression refers to nonexistent object.
T: 8.000 ms

Q: /* CPU - Mac OS X (BES Inventory and License) */ (significant digits 2 of (speed of main processor / mhz)) as string & " MHz " & family name of main processor & (if it > 1 then " x" & it as string else "") of ( if ( exists true whose ( if true then ( exists physical processor count ) else false ) ) then physical processor count else number of processors)
E: Error: Singular expression refers to nonexistent object.
T: 8.000 ms

Reporting on the Mac OS X 10.14 SDK client:

A: MacBookPro17,1
T: 5.000 ms

Q: operating system
A: Mac OS X 10.16 (20E241)
T: 7.000 ms

Q: version of client
A: 10.0.3.66
T: 15.000 ms

Q: build target of client
A: OSX 1014.0 x86_64
T: 15.000 ms

Q: cpupackage
E: Error: The operator "string" is not defined.
T: 17.000 ms

Q: cores of cpupackage
A: 8
T: 17.000 ms

Q: count of cpupackage
A: 1
T: 16.000 ms

Q: threads of cpupackage
A: 8
T: 16.000 ms

Q: processors
E: Error: The operator "string" is not defined.
T: 16.000 ms

Q: number of processors
A: 8
T: 15.000 ms

Q: processor 0
E: Error: The operator "string" is not defined.
T: 15.000 ms

Q: main processor
E: Error: The operator "string" is not defined.
T: 14.000 ms

Q: family name of main processor
A: Apple M1
T: 14.000 ms

Q: speed of main processor /* documented not present on M1 */
A: 2400000000 hertz
T: 13.000 ms

Q: brand id of main processor
E: Error: Singular expression refers to nonexistent object.
T: 13.000 ms

Q: brand string of main processor
A: Apple M1
T: 12.000 ms

Q: extended family of main processor
E: Error: Singular expression refers to nonexistent object.
T: 15.000 ms

Q: extended feature mask of main processor
E: Error: Singular expression refers to nonexistent object.
T: 14.000 ms

Q: extended model of main processor
E: Error: Singular expression refers to nonexistent object.
T: 14.000 ms

Q: family of main processor
A: 6
T: 13.000 ms

Q: feature mask of main processor
A: 151121000215084031
T: 13.000 ms

Q: model of main processor
E: Error: Singular expression refers to nonexistent object.
T: 13.000 ms

Q: stepping of main processor 
E: Error: Singular expression refers to nonexistent object.
T: 12.000 ms

Q: type of main processor 
A: %08
T: 12.000 ms

Q: vendor of main processor
E: Error: The operator "vendor" is not defined.
T: 11.000 ms

Q: /* CPU (Reserved) */ if ( exists true whose (if true then exists main processor else false ) ) then ((significant digits 2 of (speed of main processor / mhz)) as string & " MHz " & family name of main processor as string) else ""
A: 2400 MHz Apple M1
T: 11.000 ms

Q: /* CPU - Mac OS X (BES Inventory and License) */ (significant digits 2 of (speed of main processor / mhz)) as string & " MHz " & family name of main processor & (if it > 1 then " x" & it as string else "") of ( if ( exists true whose ( if true then ( exists physical processor count ) else false ) ) then physical processor count else number of processors)
A: 2400 MHz Apple M1 x8
T: 11.000 ms

Just for fun, an older Intel-based Mac I happen to be typing on right now:

A: MacBookPro11,2
T: 12.000 ms

Q: operating system
A: Mac OS X 10.14.6 (18G9028)
T: 15.000 ms

Q: version of client
A: 10.0.2.52
T: 21.000 ms

Q: build target of client
A: OSX 1014.0 x86_64
T: 26.000 ms

Q: cpupackage
E: Error: The operator "string" is not defined.
T: 28.000 ms

Q: cores of cpupackage
A: 4
T: 34.000 ms

Q: count of cpupackage
A: 1
T: 37.000 ms

Q: threads of cpupackage
A: 8
T: 40.000 ms

Q: processors
E: Error: The operator "string" is not defined.
T: 45.000 ms

Q: number of processors
A: 8
T: 48.000 ms

Q: processor 0
E: Error: The operator "string" is not defined.
T: 50.000 ms

Q: main processor
E: Error: The operator "string" is not defined.
T: 53.000 ms

Q: family name of main processor
A: Core i7-4770HQ
T: 59.000 ms

Q: speed of main processor /* documented not present on M1 */
A: 2200000000 hertz
T: 62.000 ms

Q: brand id of main processor
A: 0
T: 67.000 ms

Q: brand string of main processor
A: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
T: 73.000 ms

Q: extended family of main processor
A: 0
T: 75.000 ms

Q: extended feature mask of main processor
A: 142473169152
T: 81.000 ms

Q: extended model of main processor
A: 4
T: 83.000 ms

Q: family of main processor
A: 6
T: 86.000 ms

Q: feature mask of main processor
A: 9221959987971750911
T: 92.000 ms

Q: model of main processor
A: 70
T: 98.000 ms

Q: stepping of main processor 
A: 1
T: 97.000 ms

Q: type of main processor 
A: 82dc
T: 103.000 ms

Q: vendor of main processor
E: Error: The operator "vendor" is not defined.
T: 109.000 ms

Q: /* CPU (Reserved) */ if ( exists true whose (if true then exists main processor else false ) ) then ((significant digits 2 of (speed of main processor / mhz)) as string & " MHz " & family name of main processor as string) else ""
A: 2200 MHz Core i7-4770HQ
T: 112.000 ms

Q: /* CPU - Mac OS X (BES Inventory and License) */ (significant digits 2 of (speed of main processor / mhz)) as string & " MHz " & family name of main processor & (if it > 1 then " x" & it as string else "") of ( if ( exists true whose ( if true then ( exists physical processor count ) else false ) ) then physical processor count else number of processors)
A: 2200 MHz Core i7-4770HQ x8
T: 125.000 ms

Actually my question is probably, are you not using a 10.0.3 Root Server/Console?

Um… no. These clients are on a 9.5.13 infrastructure.

Thanks, both, for your inputs.

How odd - I have exactly the same.

Our Mac admins are putting a new build together, so with the forthcoming move to 10.0.x and the Mac 10.0.3 client being able to run native on M1, that is the agent we have selected.

The relevance for the property that fails to report is

if ( exists true whose (if true then exists main processor else false ) ) then ((significant digits 2 of (speed of main processor / mhz)) as string & " MHz " & family name of main processor as string) else ""

The test M1 Mac isn’t on-line now (and would be on the wrong end of an off-prem link anyway) so I can’t get answers out of it now, but will create an analysis for it with the relevance broken down into its constituent parts, but from the results already posted by @atlauren it looks to be the ‘speed of main processor’ clause.

I’ll post the results when I get them, but that won’t be before Tuesday.

The property in question ‘CPU’ is in the site ‘Reserved’ and I can’t edit it. Perhaps the property is fixed once we step up to 10.0.x (I can’t confirm that because our pre-prod rig is back down at 9.5.13 pending another upgrade dress-rehearsal run).

I confirm that the CPU property is reported correctly for M1 Macs if the Console version is 10.0.3.

2 Likes

For me, speed of main processor also returns nonexistent object on the M1’s on-device QnA.

The fix regards the relevance of the analysis, because on the macOS Big Sur on Apple M1 the speed of the processor information has been removed from the Apple.
I think this is the results of the fact that Apple chip has 8-core CPU consisting of four high-performance cores and four high-efficiency cores, in other words the speed of processor can be calculated through a benchmark but not fixed.

@cristiano, Does it make any sense that the property reports on 10.0.3 infrastructure, but not on earlier versions? I’d expect that the macOS11/M1-native client does not report, regardless of infrastructure. I’d further expect that the 10.14/x86_64 build does report, using the Rosetta2 environment.

@atlauren The Client native and under Rosetta 2 report the information available from the OS architecture/abstracted OS architecture. In other words the reports contains only the available informations and don’t break the compatibilities from old macOS versions and with the macOS with Rosetta 2.
About the reports, they are always available with all information or a subset if something is missing on the macOS.
The property that you have mention above ( /* CPU (Reserved) / and / CPU - Mac OS X (BES Inventory and License) */ ) are updated respectively with latest BES Console release and next BES inventory and Licence publication.
More deeply the relevance for the CPU now is this:
if ( exists true whose (if true then exists speed of main processor else false ) ) then ((significant digits 2 of (speed of main processor / mhz)) as string & " MHz " ) else "" & family name of main processor & (if it > 1 then " x" & it as string else "") of ( if ( exists true whose ( if true then ( exists physical processor count ) else false ) ) then physical processor count else number of processors)

1 Like

I created a support case and they created a defect: https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0091862

Hi @rustymyers ,
the version 189 of BES Inventory and License site has been published and fix the analysis on MacOS 11.x .