When restoring a database through the service API in FB4 (Windows 10 64 bit, Firebird-4.0.0.487-0_x64), it looks like the database is initially shutdown (or something else goes wrong during the attach).
Is this intentional, or should I report a bug? With Flamerobin (using an FB3 fbclient.dll) I get: Database restore canceled 14:28:26 due to IBPP exception: *** IBPP::SQLException *** Context: ServiceImpl::Wait Message: isc_service_query failed SQL Message : -902 Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements Engine Code : 335544528 Engine Message : database D:\DATA\DB\FB4\TESTRESTORE.FDB shutdown IAttachment::startTransaction failed when loading mapping cache Exiting before completion due to errors In Jaybird 3 (HEAD) I get: java.sql.SQLException: database D:\DEVELOPMENT\PROJECT\JAYBIRD\JAYBIRD\FBTEST.FDB-1.FDB shutdown; IAttachment::startTransaction failed when loading mapping cache; Exiting before completion due to errors [SQLState:HY000, ISC error code:335544528] at org.firebirdsql.gds.ng.FbExceptionBuilder$Type$1.createSQLException(FbExceptionBuilder.java:498) at org.firebirdsql.gds.ng.FbExceptionBuilder.toFlatSQLException(FbExceptionBuilder.java:299) at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readStatusVector(AbstractWireOperations.java:135) at org.firebirdsql.gds.ng.wire.AbstractWireOperations.processOperation(AbstractWireOperations.java:199) at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readSingleResponse(AbstractWireOperations.java:166) at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readResponse(AbstractWireOperations.java:150) at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readGenericResponse(AbstractWireOperations.java:252) at org.firebirdsql.gds.ng.wire.AbstractFbWireService.readGenericResponse(AbstractFbWireService.java:138) at org.firebirdsql.gds.ng.wire.version10.V10Service.getServiceInfo(V10Service.java:183) at org.firebirdsql.management.FBServiceManager.queueService(FBServiceManager.java:212) at org.firebirdsql.management.FBServiceManager.executeServicesOperation(FBServiceManager.java:269) at org.firebirdsql.management.FBBackupManager.restoreDatabase(FBBackupManager.java:102) at org.firebirdsql.management.FBBackupManagerBase.restoreDatabase(FBBackupManagerBase.java:174) at org.firebirdsql.management.TestBackupManager.testBackupMultiple(TestBackupManager.java:256) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:27) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) Suppressed: java.sql.SQLException: Error reading data from the connection. [SQLState:08006, ISC error code:335544726] at org.firebirdsql.gds.ng.FbExceptionBuilder$Type$1.createSQLException(FbExceptionBuilder.java:498) at org.firebirdsql.gds.ng.FbExceptionBuilder$ExceptionInformation.toSQLException(FbExceptionBuilder.java:454) at org.firebirdsql.gds.ng.FbExceptionBuilder.toSQLException(FbExceptionBuilder.java:218) at org.firebirdsql.gds.ng.wire.version10.V10Service.internalDetach(V10Service.java:142) at org.firebirdsql.gds.ng.AbstractFbService.close(AbstractFbService.java:104) at org.firebirdsql.management.FBBackupManager.restoreDatabase(FBBackupManager.java:103) ... 41 more Caused by: java.net.SocketException: Software caused connection abort: recv failed at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:170) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read(BufferedInputStream.java:265) at org.firebirdsql.gds.impl.wire.XdrInputStream.readInt(XdrInputStream.java:176) at org.firebirdsql.gds.ng.wire.WireConnection.readNextOperation(WireConnection.java:418) at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readNextOperation(AbstractWireOperations.java:180) at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readSingleResponse(AbstractWireOperations.java:166) at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readResponse(AbstractWireOperations.java:150) at org.firebirdsql.gds.ng.wire.version10.V10Service.internalDetach(V10Service.java:140) ... 43 more Caused by: org.firebirdsql.jdbc.FBSQLExceptionInfo: database D:\DEVELOPMENT\PROJECT\JAYBIRD\JAYBIRD\FBTEST.FDB-1.FDB shutdown -- Mark Rotteveel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel