Hide Forgot
Description of problem: - It has been observed that after opening a few assets (e.g. BPMN2 Process in Business Process Editor) if the repository has been deleted from the Business Central console, those already opened editors are not closed by the console and are left opened. It not only causes strange behaviour as explained below but also leaves a bad impression to the users about the UI. Although users can simply close those editors and windows which are not in use, but it would be good if the Business Central console itself closes those editors and windows which were related to the already deleted Repository. Version-Release number of selected component (if applicable): - Red Hat JBoss BPMS Platform 6 How reproducible: - Always Steps to Reproduce: - This issue can be reproduced while using both the features to create a Repository in Business Central. [Authoring -> Administration -> Repositories -> New repository] 1. Create a "New Repository" from Business Central following the link above. After that leave open the "RepositoryEditor [..]" window. 2. Create a new Project from "Authoring -> Project Authoring -> New Item -> Project" and then create any asset (like, BPMN2 process, WorkItem etc.) for an example a simple Process under the same project. Save it and leave open both the "Project Screen" of the newly created project and the Business Process Editor. 3. Now, go back to the view the list of repositories from "Authoring -> Administration -> Repositories -> List" . 4. "Delete" the newly created Repository from that "Repository Editor" and click on the drop down menu at the extreme right of the window and you would see that the "RepositoryEditor [..]" window of the deleted Repository is still accessible and open as shown in "DeletedRepositoryViewStillOpen.png" and "DeletedRepositoryOpenedinRepoEditor.png". Even users can click on buttons like "Revert" although nothing would happen. The "Organizational Unit Manager" windows would not show the deleted Repository as shown "OrgManagerDoesntDisplayDeletedRepo.png". 5. Now, go back to the "Project Authoring" view and sometimes users face an error as displayed here "AlteringtoProjectExplorer.png" . The terminal logs the following ERROR. ~~~ 13:58:48,369 ERROR [stderr] (http-/10.10.10.10:8080-1) org.uberfire.java.nio.file.FileSystemNotFoundException 13:58:48,370 ERROR [stderr] (http-/10.10.10.10:8080-1) at org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.getPath(JGitFileSystemProvider.java:638) 13:58:48,370 ERROR [stderr] (http-/10.10.10.10:8080-1) at org.jbpm.designer.repository.vfs.VFSRepository.loadAsset(VFSRepository.java:310) 13:58:48,371 ERROR [stderr] (http-/10.10.10.10:8080-1) at org.jbpm.designer.repository.vfs.VFSRepository$Proxy$_$$_WeldClientProxy.loadAsset(VFSRepository$Proxy$_$$_WeldClientProxy.java) 13:58:48,371 ERROR [stderr] (http-/10.10.10.10:8080-1) at org.jbpm.designer.repository.servlet.AssetServiceServlet.doPost(AssetServiceServlet.java:106) 13:58:48,371 ERROR [stderr] (http-/10.10.10.10:8080-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) ... 13:58:48,400 ERROR [org.jbpm.designer.repository.servlet.AssetServiceServlet] (http-/10.10.10.10:8080-1) Error storing asset: null ~~~ 6. Now, the Business Process Editor is still left opened and it shows blank page as seen in "BusinessProcessEditorblank.png" , and the ERROR in the terminal is logged as below. ~~~ 14:10:52,000 ERROR [org.jbpm.designer.web.preprocessing.impl.JbpmPreprocessingUnit] (http-/10.10.10.10:8080-4) null 14:10:52,116 ERROR [stderr] (http-/10.10.10.10:8080-4) org.uberfire.java.nio.file.FileSystemNotFoundException 14:10:52,118 ERROR [stderr] (http-/10.10.10.10:8080-4) at org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.getPath(JGitFileSystemProvider.java:638) 14:10:52,119 ERROR [stderr] (http-/10.10.10.10:8080-4) at org.jbpm.designer.repository.vfs.VFSRepository.loadAsset(VFSRepository.java:310) 14:10:52,119 ERROR [stderr] (http-/10.10.10.10:8080-4) at org.jbpm.designer.repository.vfs.VFSRepository$Proxy$_$$_WeldClientProxy.loadAsset(VFSRepository$Proxy$_$$_WeldClientProxy.java) 14:10:52,120 ERROR [stderr] (http-/10.10.10.10:8080-4) at org.jbpm.designer.web.repository.impl.UUIDBasedJbpmRepository.load(UUIDBasedJbpmRepository.java:32) 14:10:52,120 ERROR [stderr] (http-/10.10.10.10:8080-4) at org.jbpm.designer.web.server.UUIDBasedRepositoryServlet.doGet(UUIDBasedRepositoryServlet.java:117) 14:10:52,121 ERROR [stderr] (http-/10.10.10.10:8080-4) at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) ... 14:10:52,207 WARN [org.jboss.solder.exception.control.log] (http-/10.10.10.10:8080-4) No handlers found for exception java.lang.IllegalArgumentException: java.io.FileNotFoundException: /root/jboss-eap-6.1/standalone/deployments/business-central.war/org.kie.workbench.KIEWebapp/stencilsets/bpmn2.0jbpm/stencilset/stencilsets/bpmn2.0jbpm/bpmn2.0jbpm.json (No such file or directory) 14:10:52,208 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/business-central].[StencilSetServiceServlet]] (http-/10.10.10.10:8080-4) JBWEB000236: Servlet.service() for servlet StencilSetServiceServlet threw exception: java.lang.IllegalArgumentException: java.io.FileNotFoundException: /root/jboss-eap-6.1/standalone/deployments/business-central.war/org.kie.workbench.KIEWebapp/stencilsets/bpmn2.0jbpm/stencilset/stencilsets/bpmn2.0jbpm/bpmn2.0jbpm.json (No such file or directory) at org.jbpm.designer.web.stencilset.impl.LocalStencilSetImpl.getResourceContents(LocalStencilSetImpl.java:46) [jbpm-designer-backend-6.0.3-redhat-4.jar:6.0.3-redhat-4] at org.jbpm.designer.web.stencilset.impl.StencilSetServiceServlet.doGet(StencilSetServiceServlet.java:119) [jbpm-designer-backend-6.0.3-redhat-4.jar:6.0.3-redhat-4] at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1] ... Caused by: java.io.FileNotFoundException: /root/jboss-eap-6.1/standalone/deployments/business-central.war/org.kie.workbench.KIEWebapp/stencilsets/bpmn2.0jbpm/stencilset/stencilsets/bpmn2.0jbpm/bpmn2.0jbpm.json (No such file or directory) at java.io.FileInputStream.open(Native Method) [rt.jar:1.6.0_23] at java.io.FileInputStream.<init>(FileInputStream.java:106) [rt.jar:1.6.0_23] at org.jbpm.designer.web.stencilset.impl.LocalStencilSetImpl.getResourceContents(LocalStencilSetImpl.java:44) [jbpm-designer-backend-6.0.3-redhat-4.jar:6.0.3-redhat-4] ... 92 more 14:10:54,413 INFO [org.jbpm.designer.web.server.DictionaryServlet] (http-/10.10.10.10:8080-2) Unable to find existing dictionary information. ~~~ 7. Even the "Project Screen" of the project is also visible which belongs to the deleted Repository. However, if users click on buttons like "Save" it doesn't work and if "Build & Deploy" is pressed then the confirmation window appears but it doesn't allow to build it. And on the terminal following ERROR is thrown. ~~~ 14:39:07,407 ERROR [org.guvnor.common.services.builder.BuildServiceImpl] (http-/10.10.10.10:8080-1) Parameter named 'path' should be not null!: java.lang.IllegalArgumentException: Parameter named 'path' should be not null! at org.uberfire.commons.validation.PortablePreconditions.checkNotNull(PortablePreconditions.java:119) [uberfire-commons-0.3.3-redhat-4.jar:0.3.3-redhat-4] at org.guvnor.common.services.backend.cache.LRUCache.invalidateCache(LRUCache.java:70) [guvnor-services-api-6.0.3-redhat-4.jar:6.0.3-redhat-4] at org.guvnor.common.services.builder.LRUBuilderCache$Proxy$_$$_WeldClientProxy.invalidateCache(LRUBuilderCache$Proxy$_$$_WeldClientProxy.java) [guvnor-project-builder-6.0.3-redhat-4.jar:6.0.3-redhat-4] at org.guvnor.common.services.builder.BuildServiceImpl.doBuild(BuildServiceImpl.java:144) [guvnor-project-builder-6.0.3-redhat-4.jar:6.0.3-redhat-4] at org.guvnor.common.services.builder.BuildServiceImpl.buildAndDeploy(BuildServiceImpl.java:95) [guvnor-project-builder-6.0.3-redhat-4.jar:6.0.3-redhat-4] at org.guvnor.common.services.builder.BuildServiceImpl$Proxy$_$$_WeldClientProxy.buildAndDeploy(BuildServiceImpl$Proxy$_$$_WeldClientProxy.java) [guvnor-project-builder-6.0.3-redhat-4.jar:6.0.3-redhat-4] ... ~~~ [Authoring -> Administration -> Repositories -> New repository] 1. Use the above links to clone a repository from an existing external Git repository and the aforementioned tests can be performed which would show the same results in terms of unclosed windows and editors. 2. Apart from that there is an interesting experiment that was done here. After cloning the repository if users want to explore the newly cloned repository and open an asset (like, a BPMN2 process) while standing on the "Administration" window. After the process editor is opened and visible, leave it as it is and proceed. 3. Now, visit "Repositories -> List" and delete the newly cloned repository from "RepositoryEditor" window clicking "Delete" button. 4. Check and confirm that the repository is no longer visible in "Organizational Unit Manager" window as shown here "RepositoryDeletedFromOrgUnMgr.png" . 5. Now, click on the drop-down list seen at the extreme right hand side of the window and the Business Process Editor which was left opened earlier, can be seen. If users click to open it the process can be seen as it is "ProcessEditorDisplayingDeletedRepo.png" . Even if users make some changes on it and try to "Save" it , that is also allowed with a success message. However, on the terminal the following exception is thrown. ~~~ 14:10:52,208 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/business-central].[StencilSetServiceServlet]] (http-/10.10.10.10:8080-4) JBWEB000236: Servlet.service() for servlet StencilSetServiceServlet threw exception: java.lang.IllegalArgumentException: java.io.FileNotFoundException: /root/jboss-eap-6.1/standalone/deployments/business-central.war/org.kie.workbench.KIEWebapp/stencilsets/bpmn2.0jbpm/stencilset/stencilsets/bpmn2.0jbpm/bpmn2.0jbpm.json (No such file or directory) ... ~~~ Actual results: - Business Central leaves open the windows and editors belonging to the assets whose packaging Repository has been deleted. Expected results: - Ideally, Business Central should close the windows and editors belonging to the assets whose packaging Repository has been deleted. Additional info: - NA
Created attachment 918379 [details] ProcessEditorDisplayingDeletedRepo.png
Created attachment 918380 [details] BusinessProcessEditorblank.png
Created attachment 918382 [details] DeletedRepositoryViewStillOpen.png
Created attachment 918384 [details] RepositoryDeletedFromOrgUnMgr.png
Created attachment 918386 [details] DeletedRepositoryAvailable.png
Created attachment 918387 [details] DeletedRepositoryOpenedinRepoEditor.png
Created attachment 918388 [details] OrgManagerDoesntDisplayDeletedRepo.png
Created attachment 918389 [details] AlteringtoProjectExplorer.png
Designer was updated to close the editor in case of this condition. Fix in master: https://github.com/droolsjbpm/jbpm-designer/commit/79a528a0f0a0c107b6790ace0d2924f073324d18 6.2.x: https://github.com/droolsjbpm/jbpm-designer/commit/feb4f3d020d7b21f7c41480dd4b3db49bd8cb0ec additionally kie-wb-distributions was updated for this as well: master https://github.com/droolsjbpm/kie-wb-distributions/commit/7ddcf8b458d59f4d3002d14abd01e5d89852bfae https://github.com/droolsjbpm/kie-wb-distributions/commit/d99b49c84c05537155c25e75da4a0ceab9ba8b59 6.2.x https://github.com/droolsjbpm/kie-wb-distributions/commit/30009b0fba7f6b960ac9df70d0db9003bfdf01e1 https://github.com/droolsjbpm/kie-wb-distributions/commit/0506eb6804461ea73521f6927ef31add8564df17
I have to assign this issue because: - Data Modeller still causes this alert (see AlteringtoProjectExplorer.png). - Editors which contains Form modeller and Uploaded Files are empty when the repository is deleted. - Project Editor persists in Authoring Perspective and it is showing the project which is selected by Project Explorer. The main problem is that it does not change a content when there is no project which can be displayed. I can confirm that the behaviour of BP, WID, DRL, Enumeration, etc. assets was changed and does not cause any error in server.log and in business-central. Only BPs have the behaviour which was described by the reporter. Other assets contains a message which describes situation. Users have to close them manually.
Created attachment 995971 [details] 6.1.0 ER5: DRL file which was deleted
Created attachment 995972 [details] 6.1.0 ER5: Form modeler which was deleted (the empty content of the editor)
Ok, datamodeller is also fixed with the following commits. master URL: http://github.com/droolsjbpm/kie-wb-common/commit/90de2b296 6.2.x URL: http://github.com/droolsjbpm/kie-wb-common/commit/f36ac2c39
Hi Toni, could you please read Mike's comment above and continue with the project editor part? Thanks, Walter.
Project editor master: https://github.com/droolsjbpm/guvnor/commit/202821f7d6bfc255d5b41533cfcee1087bc17ed4 https://github.com/droolsjbpm/guvnor/commit/cdc0416289b3e080e452d340adca7de249b55908 https://github.com/droolsjbpm/kie-wb-common/commit/8e4542e5347f24b239d9919d2609fdcdff20acb2 https://github.com/droolsjbpm/kie-wb-common/commit/11dbd317a811a642f2770ea6dbc560d83b83606d 6.2.x; https://github.com/droolsjbpm/guvnor/commit/0cd9711cc3bc928c7f9b2e9205d21b6a81ee1b79 https://github.com/droolsjbpm/guvnor/commit/092b8ca50dac8c21f8044b6aba9077a9a1cb627a https://github.com/droolsjbpm/kie-wb-common/commit/a66a00176b32c58850eddc0e721c26f475f9cc53 https://github.com/droolsjbpm/kie-wb-common/commit/e3300e1286a619a35be42ec4ca38dbb980b5f595
Form Modeler Commit (master):https://github.com/droolsjbpm/jbpm-form-modeler/commit/36093061bd1b083204974f7c724c7e0e64d614c1 Commit (6.2.z): https://github.com/droolsjbpm/jbpm-form-modeler/commit/c14332fdbf0277485d53e7023cbaab4491fdba04
I tried to verify this BZ, but Uploaded file editor is still empty. Additionally, Business process editor is now properly closed but in the server log I can see this Exception: ERROR [org.uberfire.io.impl.AbstractIOService] (http-/127.0.0.1:8080-53) Failed to register filesystem default://master@REPO/project/src/main/resources/proces.bpmn2 with DEFAULT_FS_TYPE. Returning null.: org.uberfire.java.nio.file.FileSystemNotFoundException: No filesystem for uri (default://master@REPO/project/src/main/resources/proces.bpmn2) found. at org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.getFileSystem(JGitFileSystemProvider.java:644) [uberfire-nio2-jgit-0.5.2.Final-redhat-1.jar:0.5.2.Final-redhat-1] at org.uberfire.java.nio.file.FileSystems.getFileSystem(FileSystems.java:66) [uberfire-nio2-api-0.5.2.Final-redhat-1.jar:0.5.2.Final-redhat-1] at org.uberfire.io.impl.AbstractIOService.getFileSystem(AbstractIOService.java:214) [uberfire-io-0.5.2.Final-redhat-1.jar:0.5.2.Final-redhat-1] at org.uberfire.ext.metadata.io.IOServiceIndexedImpl.getFileSystem(IOServiceIndexedImpl.java:176) [uberfire-metadata-commons-io-0.5.2.Final-redhat-1.jar:0.5.2.Final-redhat-1] at org.jbpm.designer.server.service.DefaultDesignerAssetService.getEditorParameters(DefaultDesignerAssetService.java:116) [jbpm-designer-backend-6.2.0.Final-redhat-3.jar:6.2.0.Final-redhat-3] at org.jbpm.designer.server.service.DefaultDesignerAssetService$Proxy$_$$_WeldClientProxy.getEditorParameters(DefaultDesignerAssetService$Proxy$_$$_WeldClientProxy.java) [jbpm-designer-backend-6.2.0.Final-redhat-3.jar:6.2.0.Final-redhat-3] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_05] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_05] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_05] at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0_05] at org.jboss.errai.bus.server.io.AbstractRPCMethodCallback.invokeMethodFromMessage(AbstractRPCMethodCallback.java:48) [errai-bus-3.0.4.Final-redhat-4.jar:3.0.4.Final-redhat-4] at org.jboss.errai.bus.server.io.ValueReplyRPCEndpointCallback.callback(ValueReplyRPCEndpointCallback.java:22) [errai-bus-3.0.4.Final-redhat-4.jar:3.0.4.Final-redhat-4] at org.jboss.errai.bus.server.io.RemoteServiceCallback.callback(RemoteServiceCallback.java:54) [errai-bus-3.0.4.Final-redhat-4.jar:3.0.4.Final-redhat-4] at org.jboss.errai.cdi.server.CDIExtensionPoints$2.callback(CDIExtensionPoints.java:396) [errai-weld-integration-3.0.4.Final-redhat-4.jar:3.0.4.Final-redhat-4] at org.jboss.errai.bus.server.DeliveryPlan.deliver(DeliveryPlan.java:47) [errai-bus-3.0.4.Final-redhat-4.jar:3.0.4.Final-redhat-4] at org.jboss.errai.bus.server.ServerMessageBusImpl.sendGlobal(ServerMessageBusImpl.java:293) [errai-bus-3.0.4.Final-redhat-4.jar:3.0.4.Final-redhat-4] at org.jboss.errai.bus.server.SimpleDispatcher.dispatchGlobal(SimpleDispatcher.java:46) [errai-bus-3.0.4.Final-redhat-4.jar:3.0.4.Final-redhat-4] at org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:97) [errai-bus-3.0.4.Final-redhat-4.jar:3.0.4.Final-redhat-4] at org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:114) [errai-bus-3.0.4.Final-redhat-4.jar:3.0.4.Final-redhat-4] at org.jboss.errai.bus.server.servlet.DefaultBlockingServlet.doPost(DefaultBlockingServlet.java:142) [errai-bus-3.0.4.Final-redhat-4.jar:3.0.4.Final-redhat-4] at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.uberfire.ext.security.server.SecureHeadersFilter.doFilter(SecureHeadersFilter.java:53) [uberfire-servlet-security-0.5.2.Final-redhat-1.jar:0.5.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.uberfire.ext.security.server.SecurityIntegrationFilter.doFilter(SecurityIntegrationFilter.java:64) [uberfire-servlet-security-0.5.2.Final-redhat-1.jar:0.5.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.5.0.Final-redhat-19.jar:7.5.0.Final-redhat-19] at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.5.0.Final-redhat-19.jar:7.5.0.Final-redhat-19] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.5.0.Final-redhat-19.jar:7.5.0.Final-redhat-19] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_05] The Project Editor in Authoring Perspective behaves as in comment 15, but when there is no project it just displays "No project selected.", which is OK. Because of Uploaded file editor I have to assign it again. What do you think about the aforementioned Exception? Is this behaviour OK or should it be caught, so the server log will remain "clean"?
Suggesting we do further improvements in a later release.
I have just noticed that AlteringtoProjectExplorer.png error message can still be seen in the UI on 6.1.0.CR1. Steps to reproduce: 1. Create a new repository. 2. Create a new project in it. 3. Open project editor, leave it open. 4. Delete repository -> Project Editor in Authoring perspective should still be open and should display "No project selected." message. 5. Restart the business central, go to the Authoring perspective and you should see the mentioned error. I think it might be helpful when proceeding with this bug.
I can confirm that all editors (including Uploaded file editor) are now properly closed. Verified on 6.2.0.ER3.