Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>"Null" ist ein Objekt... hä?

"Null" ist ein Objekt... hä?

Hugomac
Hugomac14.03.2309:19
Jetzt hab ich mein MBP vorgestern auf Ventura 13.2.1 aktualisiert und bekomme nun mehrmals täglich diese Meldung (siehe Screenshot). Weiß jemand was das ist? Danke!
„Be Water, My Friend!“
0

Kommentare

deus-ex
deus-ex14.03.2309:45
Einfach unter "Einstellungen" "Allgemein" "Anmeldeobjekte" den Dienst entfernen. Ist wohl noch ein Überbleibsel aus einer alten Installation. Vorherige macOS Versionen haben über Hintergrundobjekte nicht informiert. Deswegen hat man das nicht gemerkt. Vermutlich ist das dazugehörige Programm vor langer Zeit entfernt worden.
+4
Marcel Bresink14.03.2312:09
Man kann an dieser Stelle grundsätzlich keine Hintergrundobjekte entfernen, man kann höchstens deren Start sperren, aber das würde die Meldungen in den meisten Fällen auch nicht verhindern.

Die Meldung bedeutet, dass Ventura behauptet, ein vorher unbekanntes Hintergrundobjekt gefunden zu haben, aber das System kann noch nicht einmal dessen Namen ermitteln, sondern gibt ihn stattdessen mit "(null)" an. Diese Funktion ist von Anfang an hoffnungslos kaputt und steckt voller Konstruktionsfehler.

In manchen Fällen kann ein Neustart des Computers das Problem vorübergehend lösen.
+4
ssb
ssb14.03.2312:17
Naja - ich habe es noch nicht genau im Blick, aber aus dem Bauch heraus, sollte in der Info.plist eines solchen Dienstes ein String drin stehen, der beschreibt, was das Hintergrundobjekt tut - damit das System den Nutzer darauf hinweisen kann.
In älteren Apps waren diese Einträge nicht nicht vorhanden, (ggf. würden sie ohne durch den Review fallen) und daher hat das System keinen String, den es darstellen kann. Ein NSString, der nicht initialisiert wurde, wird dann als (null) ausgegeben.

Wie gesagt, ist jetzt aus dem Bauch geschossen, aber dieses Schema gibt es in anderen Bereichen bereits, auch auf iOS (zB wenn eine App den Standort bestimmen will, oder Geräte im lokalen Netzwerk sucht).
+1
deus-ex
deus-ex14.03.2313:31
Marcel Bresink
Man kann an dieser Stelle grundsätzlich keine Hintergrundobjekte entfernen, man kann höchstens deren Start sperren, aber das würde die Meldungen in den meisten Fällen auch nicht verhindern.

Die Meldung bedeutet, dass Ventura behauptet, ein vorher unbekanntes Hintergrundobjekt gefunden zu haben, aber das System kann noch nicht einmal dessen Namen ermitteln, sondern gibt ihn stattdessen mit "(null)" an. Diese Funktion ist von Anfang an hoffnungslos kaputt und steckt voller Konstruktionsfehler.

In manchen Fällen kann ein Neustart des Computers das Problem vorübergehend lösen.

Hintergrundobjekte die im User Kontex laufen können dort auch entfernt werden. Welche die im System Kontext laufen können dort zumindest deaktiviert werden. Das würde schon mal die Meldung abschalten.

Um das Ding dann endgültig loszuwerden muss es aus

Mactintosh HD /Library/LaunchAgents
Mactintosh HD /Library/LaunchDaemons
Mactintosh HD /Benutzer/<username>/Library/LaunchAgents

entfernt werden. Jenachdem wo es ist.
-1
tjost
tjost14.03.2313:40
Auf jeden Fall etwas was Du installiert hast.
Und das müsstest Du am besten wissen.
-4
Marcel Bresink14.03.2313:53
deus-ex
Hintergrundobjekte die im User Kontex laufen können dort auch entfernt werden.

Nein.
deus-ex
Welche die im System Kontext laufen können dort zumindest deaktiviert werden. Das würde schon mal die Meldung abschalten.

Nein, das ist nicht sicher. Wenn die Meldung sich von selbst wiederholt, dürfte ein Fehl-Erkennung vorliegen.
deus-ex
Um das Ding dann endgültig loszuwerden muss es aus [...] entfernt werden. Jenachdem wo es ist.

Ab Ventura kann es beliebig viele Orte geben, an denen Hintergrundobjekte liegen dürfen.
ssb
[...] sollte in der Info.plist eines solchen Dienstes ein String drin stehen, der beschreibt, was das Hintergrundobjekt tut - damit das System den Nutzer darauf hinweisen kann.

Das wäre nett, aber so weit hat Apple nicht gedacht. Und selbst wenn es so etwas gäbe, wären ältere Objekte damit nicht kompatibel.
+2
ssb
ssb14.03.2314:19
Marcel Bresink
ssb
[...] sollte in der Info.plist eines solchen Dienstes ein String drin stehen, der beschreibt, was das Hintergrundobjekt tut - damit das System den Nutzer darauf hinweisen kann.

Das wäre nett, aber so weit hat Apple nicht gedacht. Und selbst wenn es so etwas gäbe, wären ältere Objekte damit nicht kompatibel.

Da ich (und der TE auch nicht) weiß, welches Hintergrundobjekt es ist, kann ich nur spekulieren, was da nicht passt. Apple hat das an sich auf ihrer Entwickler-Seite "Bundle Resources" beschrieben. Dort sind dann eben auch Entitlements und Info.plist Keys beschrieben. In wie weit diese Liste vollständig ist kann ich nicht sagen. Es wäre aber möglich, dass eine App ein Hintergrundobjekt mitbringt, das (weil vor Ventura released) notwendige Keys nicht enthält. Ventura könnte die Ausführung dann verweigern oder eben den Benutzer fragen. Nicht vollständig durchdacht ist aber, dass ein String, der dem Benutzer weiter helfen könnte, eben sinnvolle Informationen liefern sollte, falls das Objekt selbst keinen vernünftigen String liefert. Man könnte zum Beispiel den Pfad zu dem Hintergrundobjekt anzeigen.

Aber um das Problem einzugrenzen: Führe mal einen sicheren Start durch, dann sollte die Meldung weg sein. Eventuell kann EtreCheck nach einem weiteren Start auch Hinweise geben, indem es zum Beispiel alle Hintergrundobjekte auflistet. Im Terminal sollte man mit geeigneten Tools (launchctl, ps) dem Verursacher auch auf die Spur kommen können.
-1
Marcel Bresink14.03.2315:25
ssb
Apple hat das an sich auf ihrer Entwickler-Seite "Bundle Resources" [...] beschrieben. Dort sind dann eben auch Entitlements und Info.plist Keys beschrieben.

Was hier nicht weiterhilft, denn ein Hintergrundobjekt ist kein Bundle.

Tatsächlich beschrieben wird das stattdessen in der Dokumentation zu launchd.plist und SMAppService. Dort lässt sich klar ablesen, dass der von Dir vorgeschlagene "Erklärungstext" von Apple nicht vorgesehen ist. In manchen Fällen kann der Eintrag "AssociatedBundleIdentifiers" dem System helfen, aber auch diese Funktion ist im Moment noch fehlerhaft.
+3
Hugomac
Hugomac15.03.2318:38
Das Problem ist, dass das Anmeldeobjekt "null" heisst, sonst hätte ich es schon gelöscht/deaktiviert. Nun mache ich trial and error und suche noch...
„Be Water, My Friend!“
0
Marcel Bresink15.03.2318:45
Es heißt ja nicht wirklich "(null)" und es ist auch kein Anmeldeobjekt, sondern ein Hintergrundobjekt. Ventura ist in diesem speziellen Fall noch nicht ausgereift genug, den tatsächlichen Namen anzuzeigen.

Das Löschen von Hintergrundobjekten kann grundsätzlich gefährlich sein, denn das kann dazu führen, dass das System danach alle 10 Sekunden nach dem gelöschten Objekt sucht. Man muss hier sehr genau den Einzelfall untersuchen.
+5
Marcel_75@work
Marcel_75@work16.03.2307:23
Ich beobachte dieses Phänomen sowohl nach jedem Neustart des Rechners selbst, als auch z.B. beim Start der aktuellen Version von VMware Fusion.

(also diese nervigen Hinweise auf Hintergrundobjekte)

Mittlerweile ignoriere ich diese Meldungen (klicke sie einfach weg), aber "schön" ist anders.

Unter anderem auch deshalb läuft Ventura bei mir bisher nur auf diesem (Test)-Rechner, alle anderen bleiben weiterhin auf Monterey.

Das hilft Dir jetzt leider auch nicht weiter, aber da muss eher Apple nachbessern mit 13.3, 13.4, 13.5 etc. …
+2

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.