Major
Detail
Bugfix
Major
Detail
#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
Bugfix
If several developers try to start a TopLogic application in parallel on a Linux machine, both applications try to write to the same temp folder in the system temp directory. However, since this folder (by default /tmp/tl-tmp) was created by the first application start of one user, another application start of another user fails with "Permission denied" - without giving any further reasons.
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 tmp folder for the application (inside the system tmp folder) should be empty by default.
- If there is no configuration, a folder name should be diced (instead of writing directly to the system tmp folder as it is now) otherwise this can lead to even more complicated conflicts.
Test
- Start application.
- Expect log message of the type: Using temporary directory: /tmp/tl-temp30313419136786684
- Check that temporary files are stored there.