Speichern: „Operation not permitted“

Guten Abend zusammen,
nach mehrjähriger zufriedener und problemloser Nutzung von PP bin ich von dem alten Intel-Mac auf einen M1-Mac umgezogen. Hier kann ich zwar PP Dateien neu anlegen oder bestehende PP Dateien öffnen, diese jedoch nicht speichern (weder unter “speichern” noch unter “speichern als” noch als backup). Es wurde der Fehler :Operation not permitted angezeigt. Hier im Forum habe ich nichts dazu passendes gefunden. Gibt es eine Idee, wo das Problem liegt und wie man es lösen kann?
Schon einmal vielen Dank im Voraus mit den besten Grüßen
Magellan

Nabend, ich bin zwar kein Mac-Nutzer, aber das hört sich an wie ein Berechtigungsproblem.
Hat PP die Berechtigungen in den Ordner, in dem die Dateien liegen, zu schreiben (neue Dateien anlegen, vorhandene überschreiben, …)?
Hast du mal versucht in einen anderen Ordner zu speichern?

Wenn du den entsprechenden kompletten Eintrag aus dem Fehlerprotokoll (Hilfe → Fehlerprotokoll anzeigen/Fehlerprotokoll speichern) hier postest, könnten wir sehen ob der Fehler wirklich beim Anlegen/Ändern der Datei auftritt oder bei einer anderen Operation.

Guten Morgen OnkelDok,

vielen Dank für den ersten Lösungsversuch. Anbei der detaillierte Ablauf:

  1. PP Mac M1-Version heruntergeladen und installiert => erfolgreich
  2. neue PP-Datei TestM1.portfolio angelegt und gespeichert => erfolgreich
  3. PP-Datei mit Daten gefüllt => erfolgreich
  4. PP-Datei speichern => Fehlermeldung “Operation not permitted”
  5. PP-Datei speichern unter => Fehlermeldung “Operation not permitted”
  6. PP-Datei schließen automatisches backup => Fehlermeldung “Operation not permitted”
  7. PP-Datei erneut öffnen automatisches backup nach öffnen => Fehlermeldung “Operation not permitted”

Datei und Backup liegen im gleichen Ordner, der die Rechte “Lesen und Schreiben” gewährt.

Mit den bestehenden über den (alten) Intel-Mac angelegten PP-Dateien xyz.portfolio, welche im selben Ordner liegen, bestehen diese Probleme nicht. Das Problem tritt also anscheinend nur mit der aktuell angebotenen PP-M1-Mac-Version 0.57.2 auf.

Nachfolgend das Fehlerprotokoll.

Danke und viele Grüße
Magellan

---------------------

!ENTRY name.abuchen.portfolio 1 0 2022-04-29 20:02:59.609
!MESSAGE Saving testM1.portfolio with [XML, ENCRYPTED, AES256]

!ENTRY name.abuchen.portfolio 1 0 2022-04-29 20:03:25.644
!MESSAGE Loaded testM1.portfolio with [XML, ENCRYPTED, AES256]

!ENTRY name.abuchen.portfolio.ui 4 0 2022-04-29 20:03:25.653
!MESSAGE /Volumes/Seagate/Portfolio Performance/testM1.backup-after-open.portfolio: Operation not permitted
!STACK 0
java.nio.file.FileSystemException: /Volumes/Seagate Platte/Finanzen/Depot/Portfolio Performance/testM1.backup-after-open.portfolio: Operation not permitted
	at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixCopyFile.copyFile(Unknown Source)
	at java.base/sun.nio.fs.UnixCopyFile.copy(Unknown Source)
	at java.base/sun.nio.fs.UnixFileSystemProvider.copy(Unknown Source)
	at java.base/java.nio.file.Files.copy(Unknown Source)
	at name.abuchen.portfolio.ui.editor.ClientInput.createBackup(ClientInput.java:334)
	at name.abuchen.portfolio.ui.editor.ClientInput.createBackupAfterOpen(ClientInput.java:321)
	at name.abuchen.portfolio.ui.editor.LoadClientThread.run(LoadClientThread.java:38)

!ENTRY name.abuchen.portfolio.ui 4 0 2022-04-29 20:09:08.336
!MESSAGE /Volumes/Seagate/Portfolio Performance/testM1.backup.portfolio: Operation not permitted
!STACK 0
java.nio.file.FileSystemException: /Volumes/Seagate/Portfolio Performance/testM1.backup.portfolio: Operation not permitted
	at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixCopyFile.copyFile(Unknown Source)
	at java.base/sun.nio.fs.UnixCopyFile.copy(Unknown Source)
	at java.base/sun.nio.fs.UnixFileSystemProvider.copy(Unknown Source)
	at java.base/java.nio.file.Files.copy(Unknown Source)
	at name.abuchen.portfolio.ui.editor.ClientInput.createBackup(ClientInput.java:334)
	at name.abuchen.portfolio.ui.editor.ClientInput.lambda$2(ClientInput.java:198)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74)
	at name.abuchen.portfolio.ui.editor.ClientInput.save(ClientInput.java:194)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.save(PortfolioPart.java:418)
	at name.abuchen.portfolio.ui.handlers.SaveFileHandler.lambda$0(SaveFileHandler.java:25)
	at java.base/java.util.Optional.ifPresent(Unknown Source)
	at name.abuchen.portfolio.ui.handlers.SaveFileHandler.execute(SaveFileHandler.java:25)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:317)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:251)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:438)
	at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:449)
	at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.lambda$2(AbstractContributionItem.java:475)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4524)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1545)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1530)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4310)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3883)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1041)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:168)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

!ENTRY name.abuchen.portfolio 1 0 2022-04-29 20:09:08.346
!MESSAGE Saving testM1.portfolio with [XML, ENCRYPTED, AES256]
!SESSION 2022-04-30 08:40:07.676 -----------------------------------------------
eclipse.buildId=unknown
java.version=11.0.12
java.vendor=Azul Systems, Inc.
BootLoader constants: OS=macosx, ARCH=aarch64, WS=cocoa, NL=de_DE
Command-line arguments:  -os macosx -ws cocoa -arch aarch64

!ENTRY name.abuchen.portfolio 1 0 2022-04-30 08:40:26.443
!MESSAGE Loaded testM1.portfolio with [XML, ENCRYPTED, AES256]

!ENTRY name.abuchen.portfolio.ui 4 0 2022-04-30 08:40:26.459
!MESSAGE /Volumes/Seagate/Portfolio Performance/testM1.backup-after-open.portfolio: Operation not permitted
!STACK 0
java.nio.file.FileSystemException: /Volumes/Seagate/Portfolio Performance/testM1.backup-after-open.portfolio: Operation not permitted
	at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
	at java.base/sun.nio.fs.UnixCopyFile.copyFile(Unknown Source)
	at java.base/sun.nio.fs.UnixCopyFile.copy(Unknown Source)
	at java.base/sun.nio.fs.UnixFileSystemProvider.copy(Unknown Source)
	at java.base/java.nio.file.Files.copy(Unknown Source)
	at name.abuchen.portfolio.ui.editor.ClientInput.createBackup(ClientInput.java:334)
	at name.abuchen.portfolio.ui.editor.ClientInput.createBackupAfterOpen(ClientInput.java:321)
	at name.abuchen.portfolio.ui.editor.LoadClientThread.run(LoadClientThread.java:38)

Nach den Fehlermeldungen scheint es (nur?) die Backup-Dateien zu betreffen. Mag das Dateisystem vielleicht keine zwei Punkte in Dateinamen?

1 Like

Hallo chirlu,

vielen Dank für die Rückfrage. Wie kann ich dies feststellen?

Da der (alte) Intel-Mac seine PP-Dateien im selben Ordner samt zugehörigen Backup-Dateien problemlos ablegt (Intel-Version von PP), und nur der neue M1-Mac das Problem hat, scheint das Problem mit der M1-Version von PP zusammenzuhängen.

Wenn ich direkt in den Ordner schaue, sehe ich den Doppelpunkt am Ende des Backup-Dateinamens in beiden Versionen nicht.

Viele Grüße
Magellan

Nein, der Doppelpunkt gehört auch gar nicht zum Dateinamen. Ich meinte tatsächlich die zwei separaten einfachen Punkte vor backup und vor portfolio.

Du könntest einmal versuchen, eine Datei mit einem Namen wie test.M2 zu speichern, und dann sehen, ob schon das erstmalige Speichern dieser Datei scheitert.

Hallo chirlu,

Deinen beiden Ideen mit dem backup und den zwei Punkten bin ich mit dem vorläufigen Ergebnis nachgegangen, dass das Problem nur in der PP-Mac-M1-Version im Zusammenhang mit der Backup-Speicherung auf einer externen Festplatte auftritt.

Gibt es dazu eine Lösungsidee?
Testdetails siehe nachfolgend:

Test 1 ein Punkt:
Anlage einer neuen PP-Datei testM1Nr2.portfolio (also ein Punkt) auf dem externen Laufwerk samt Eingabe von Werten. Schließen der Datei, öffnen der Datei. Ergebnis:
1.1 alles fehlerfrei in der PP-Mac-Intel-Version
1.2 fehlerfrei bei der Hauptdatei (PP-Mac-M1-Version) testM1Nr2.portfolio
1.3 eingangs genannter Fehler bei Backupdatei testM1Nr2.backup.portfolio
1.4 eingangs genannter Fehler bei Backupdatei testM1Nr2.backup-after-open.portfolio

Test 2 ein Punkt:
wie Test 1 aber auf dem internen Laufwerk
2.1 alles fehlerfrei in der PP-Mac-Intel-Version
2.2 alles fehlerfrei in der PP-Mac-M1-Version

Test 3 zwei Punkte:
wie Test 1 aber die Datei heisst test.M1Nr2.portfolio (also zwei Punkte)
3.1 alles fehlerfrei in der PP-Mac-Intel-Version
3.2 fehlerfrei bei der Hauptdatei (PP-Mac-M1-Version) test.M1Nr2.portfolio
3.3 eingangs genannter Fehler bei Backupdatei test.M1Nr2.backup.portfolio
3.4 eingangs genannter Fehler bei Backupdatei test.M1Nr2.backup-after-open.portfolio

Test 4 - Fortführung von Test 2:
Kopieren der Dateien von der internen auf die externe Festplatte
4.1 alles fehlerfrei in der PP-Mac-Intel-Version
4.2 fehlerfrei bei der Hauptdatei (PP-Mac-M1-Version) testM1Nr2.portfolio
4.3 eingangs genannter Fehler bei Backupdatei testM1Nr2.backup.portfolio
4.4 eingangs genannter Fehler bei Backupdatei testM1Nr2.backup-after-open.portfolio

@Magellan Kann es sein dass deine Java Version nicht aktuell ist?
Da oben in deinem Screenshot oft "Unknown Source " steht.

Ich frage mal von der Seitenlinie, welcher Virenscanner wird verwendet? Evtl. Kaspersky?

Hallo zusammen,

erstmal einen Dank an @OnkelDok , @chirlu , @Ponderosa und @Rafa für Eure Ideen, denen ich nachgegangen bin (OnkelDoc und chirlu siehe meine vorangegangenen beiden Nachrichten, Ponderosa und Rafa siehe nachfolgend).

Virenscanner: auf beiden Geräten wird derselbe Virenscanner genutzt (und beim Altgerät tritt das Problem nicht auf). Insofern gehe ich davon aus dass der Virenscanner unschuldig ist.

Java: auf dem Altgerät tritt das Problem nicht auf, dort ist Java älter als auf dem Neugerät, welches meines Wissens seitens Apple immer mit der aktuellen Java-Version ausgeliefert wird.

Das Problem scheint nur in der PP-Mac-M1-Version im Zusammenhang mit der Backup-Speicherung auf einer externen Festplatte aufzutreten und ist meines Erachtens daher in dieser Programmversion zu verorten (daher habe ich auch nochmal die beiden Entwickler oben konkret angesprochen).

Einen schönen Restsonntag wünscht Euch allen
Magellan

1 Like

Welche Java Version ist denn installiert (Hilfe → Über Portfolio Performance)? Sowohl auf dem alten und auf dem neuen System?

Kann man ggfs Zugriffsrechte auch für verschiedene Software einzeln setzen und die neue PP-Version hat die Rechte nicht?
Läuft PP auch unter einem Nutzer der die notwendigen Zugriffsrechte besitzt?

@Magellan Ich kann das Problem auf meinem M1 reproduzieren. Auch ich kann zwar auf einer externen Festplatte eine Datei anlegen, aber dann hat PP nicht die Rechte weitere Dateien daneben anzulegen (nichts anderes ist ja das Backup).

Ich muss das näher recherchieren. Anscheinend bekommt PP nur die Rechte auf die Datei, die im Dateidialog ausgewählt wurde. Mir ist unklar, wie ich weitere Rechte anfordern kann.

Just a thought:

Habe ich auch gefunden. Aber PP meldet keinen “full system access” und taucht darum in der Liste auch nicht auf.

Erstmal Dankeschön an @AndreasB @OnkelDok und @Rafa für den bisherigen Klärungslauf zu dem Problem, mit der Erkenntnis, dass nach Einschätzung von AndreasB eine Nachprogrammierung notwendig ist, um die Berechtigungslücke für PP zu beheben.

Kann man bis dahin das automatische Backup für beide Fälle abschalten (wenn “ja” wo), ohne dass ein neues Loch aufgerissen wird?

Mit “beide Fälle” meine ich das normale Backup sowie das “Backup nach Öffnen”.

Einen schönen Sonntag wünscht Euch
Magellan

In Einstellungen > Allgemein

BTW, mit der nächsten Version (vielleicht nächstes Wochenende), kann man die Backups auch an eine andere Stelle legen.

Denn ganz ohne Backups solltest Du nicht laufen - es gibt unter Windows immer mal wieder die komischen Probleme mit leeren XML Dateien. Es macht mich fertig, aber ich kann das nicht reproduzieren und weiß nicht wo ich da ansetzen sollte.

2 Likes