TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_7.9.8
  4. #28932

7.9.8
TopLogic Release

2026-01-16

enhancement

major
#27376
TLScript Funktion "sessionRevision()"
minor
#28746
Baum-Grid mit transienten Objekten zeichnet Selektion mit TransientTLObjectNaming auf
#28985
Update fasterxml to Version 2.19.2

defect

critical
#29012
Replace dependency org.lz4:lz4-java with at.yawk.lz4:lz4-java [SECURITY] CVE-2025-12183, CVE-2025-66566
major
#28357
IDEResources nicht standardmäßig einbinden
#28932
Deleted object access im WebFolder
#28959
Drop in eine leere Tabelle nicht möglich
#29018
Anlage Doppelter Rückreferenzen verhindern
#29040
Endlosschleife beim Excel-Export von HTML Attributen
minor
#27287
TL-Script add() liefert Fehler bei Set-Referenz, wenn Wert schon enthalten
#28150
Lange Items im Multi DropDown führen zu Auswahl-Problemen
#28285
Strings haben im TLScript Editor manchmal eine falsche Farbe
#28681
Fehler bei Anzeige fremder "Objekte" im Formulareditor
#28699
Fehlende Bilder in TL-Script Beschreibungstexten
#28921
Goto zu FormOverlay's verhindern
#28928
In multi-select Selektionsfeld ist Option nicht abwählbar, wenn aktuell nicht in Optionen enthalten
#28956
Clientseitige Fehler im "afterRendering" werden verschluckt
#29003
Migration: Umbenennen von Referenzen mit Legacy-Enums schlägt fehl
#29035
Log-Anzeige crasht bei korrupten Log-Files

update

critical
#29008
Update dependency org.mozilla:rhino to v1.7.14.1 [SECURITY]
#29034
Update dependency org.apache.logging.log4j:log4j-core to v2.25.3 [SECURITY]
defect

major

#28932

Deleted object access im WebFolder

FileManagement

Folgende Situation führt bis zum Logout zu Fehlermeldungen: Ein Objekt A hat ein Attribut vom Typ "Dokumentenordner" (WebFolder). Dieser WebFolder wird an Objekt A gepflegt, soll aber auch an einem anderen Objekt B dargestellt werden. Dafür hat B ein berechnetes Attribut welches den WebFolder von A liefert. Bei Objekt B ist der WebFolder in dar Formular eingebettet. Der Inhalt kann dort nicht geändert werden, aber die Dateien werden zum Download angezeigt. Wird nun an Objekt A eine Datei hochgeladen, so wird diese bei Objekt B angezeigt. Wird die Datei an Objekt A wieder entfernt und man betrachtet dann wieder Objekt B erscheint eine Fehlermeldung und in der Tabelle wird eine Zeile der Art "DeletedObject(ImmutableKnowledgeObjectAttributedDocument(type:tl.folder:Document, id: Document:46017@717, name: test.html, DSN: repository://topl33211/test.html))" angezeigt. Die GUI scheint nach F5 wieder in Ordnung, die Tabelle zeigt dann keinen Eintrag mehr an, aber die Fehlermeldung erscheint fortan bei jedem Klick bis zum Logout.

Log-Eintrag dazu:

com.top_logic.knowledge.wrap.exceptions.InvalidWrapperException: Deleted object access: Document:183403
	at com.top_logic.knowledge.wrap.AbstractWrapper.checkInvalid(AbstractWrapper.java:443)
	at com.top_logic.knowledge.wrap.AbstractWrapper.getDAP(AbstractWrapper.java:127)
	at com.top_logic.common.webfolder.ui.commands.UpdateExecutable.calculateExecutability(UpdateExecutable.java:70)
	at com.top_logic.layout.form.model.AbstractExecutabilityModel.updateExecutabilityState(AbstractExecutabilityModel.java:41)
	at com.top_logic.layout.basic.CommandModelRegistry.updateCommandModel(CommandModelRegistry.java:85)
	at com.top_logic.layout.basic.CommandModelRegistry.updateCommandModel(CommandModelRegistry.java:87)
	at com.top_logic.layout.basic.CommandModelRegistry.updateCommandModels(CommandModelRegistry.java:72)
	at com.top_logic.layout.basic.CommandModelRegistry.validate(CommandModelRegistry.java:115)
	at com.top_logic.util.DefaultValidationQueue.actualValidation(DefaultValidationQueue.java:134)
	at com.top_logic.util.DefaultValidationQueue.runValidation(DefaultValidationQueue.java:108)
	at com.top_logic.layout.internal.SubsessionHandler.runValidation(SubsessionHandler.java:349)
	at com.top_logic.mig.html.layout.MainLayout.globallyValidateModel(MainLayout.java:1605)
	at com.top_logic.base.services.simpleajax.AJAXServlet.validate(AJAXServlet.java:739)
	at com.top_logic.base.services.simpleajax.AJAXServlet.validate(AJAXServlet.java:717)
	at com.top_logic.base.services.simpleajax.AJAXServlet.doPost(AJAXServlet.java:362)

Im Debugger stellt man fest, dass die CommandModelRegistry eine Referenz auf ein Kommando aus dem WebFolder-Field hält, welches eine Referenz auf das gelöschte AttributedDocument hat. Bei jedem Klick wird die ExecutabilityRule des Kommandos geprüft und führt zu dem Fehler.

Lösung

Die ExecutabilityRule des Kommandos überprüft, ob es sich um ein gelöschtes Objekt handelt bevor auf das Objekt zugegriffen wird.

  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

  • top-logic.com
  • Nutzungsbedingungen
  • Impressum
  • Rechtlicher Hinweis
  • Datenschutz
  • EN
  • Login