major
minor
defect
major
minor
#26382
Error messages "Duplicate tag name..." when starting an application in the IDE from a TL-Studio
#26405
TTypeRewriter logs warning "Unable to resolve items by external reference" also unnecessarily
#26431
Changed superclass relationship leads to changed attribute list in the form editor only after a restart
defect
minor
#26496
Temp folder name clash for multi-user development on Linux
If multiple developers attempt to launch a TopLogic application simultaneously on a Linux machine, both applications attempt to write to the same temp folder in the system temp directory. However, since this folder ( /tmp/tl-tmp by default) was created when the first user launched the application, any subsequent attempt by another user to launch the application fails with the message "Permission denied"—without providing any further details.
Failed to start due to the following reason:
java.io.IOError: java.io.IOException: Permission denied
at com.top_logic.element.model.ModelConfigLoader.load(ModelConfigLoader.java:72)
at com.top_logic.element.model.DynamicModelService.startUpInContext(DynamicModelService.java:297)
at com.top_logic.util.model.ModelService$1.inContext(ModelService.java:204)
at com.top_logic.basic.thread.ThreadContextManager.inInteractionInternal(ThreadContextManager.java:320)
at com.top_logic.basic.thread.ThreadContextManager.inSystemInteractionInternal(ThreadContextManager.java:346)
at com.top_logic.basic.thread.ThreadContextManager.inSystemInteraction(ThreadContextManager.java:339)
at com.top_logic.basic.thread.ThreadContext.inSystemContext(ThreadContext.java:176)
at com.top_logic.util.model.ModelService.startUp(ModelService.java:200)
...
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.io.IOException: Permission denied
at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.base/java.io.File.createTempFile(File.java:2129)
at com.top_logic.util.list.ListInitializationUtil.loadEnumConfig(ListInitializationUtil.java:161)
at com.top_logic.util.list.ListInitializationUtil.loadEnumConfig(ListInitializationUtil.java:146)
at com.top_logic.util.list.ListInitializationUtil.loadLegacyEnums(ListInitializationUtil.java:125)
at com.top_logic.element.model.ModelConfigLoader.createLegacyEnumModule(ModelConfigLoader.java:121)
at com.top_logic.element.model.ModelConfigLoader.load(ModelConfigLoader.java:70)
... 55 more
- The configuration option for the name of the application’s temp folder (inside the system temp folder) should be empty by default.
- If no configuration is provided, a folder name should be generated randomly (instead of writing directly to the system Tmp folder as is currently the case), as this can otherwise lead to even more complicated conflicts.
Test
- Start the application.
- Expect a log message of the following format: Using temporary directory: /tmp/tl-temp30313419136786684
- Verify that temporary files are being stored there.