Why does the DefaultBaseState duplicate the launching of a Java application in SilkTest?
As the DefaultBaseState is defined in SilkTest help, it puts an application into the state it should be in at the start of a testcase. There are occasions that a testcase is created for a Java login window based on the DefaultBaseState. The testcase opens the login window, logs into the application, and opens the application main window. At this stage, the system goes into the recovery mode and re-launches the login window. The result is that you have two windows open.
To stop it happening you can define an invoke method for the main window of your application. The invoke method should contain the steps required to log in to the application. For more detail on how to do this please refer to SilkTest/Help under "Handling Login Windows in Non-Web Applications that Use the Classic Agent".