Fixes in NetPhantom 5.50 after Build 5500

These are fixes done since version 5.50 Build 5500 in chronological order.
 

Version 5.50 Build 5547

  • Copy panel
    Copying a panel with the help of right-click failed for some panels. The panels affected were panels containing a listbox with one or more empty (without cells) columns.
     

Version 5.50 Build 5545

  • Combobox files inside Jar file are not reloaded
    When having combobox files inside a Jar file (the option Allow external combobox files is unselected), the files are not reloaded when the application Jar is reloaded. A Hard JVM server restart is required.
     
  • Client Jar files ignored when option to Cache files is unselected
    When the project option to Cache client Jar files is unselected, the client ignores adding the session-local downloaded file(s) to classpath resulting in poorer image performance.
     

Version 5.50 Build 5544

  • Mail character encoding problem
    Mails are sometimes not handled correctly using national characters. This is now solved by forcing use of UTF-8 text encoding in both Subject and Content body.
    The mail.jar file is updated Java mail 1.5.
    Added REXX SendEMail command "setContentType" and MailCommand parameters "TYPE", "REPLY", "NLSMESSAGE" parameters, where "TYPE" used to set e.g. "text/html" content type of a mail message body instead of default "text/plain", "REPLY" to set the Reply-To address and "NLSMESSAGE" to creates a test NLS message subject and body.
     

Version 5.50 Build 5543

  • Editor: Compile distribution progress dialog box not removed, Editor hangs
    The dialog box for successful Compile distribution completed hangs before it is shown resulting in the progress dialog of Compile distribution not to be removed and the Editor "hangs" and must be closed with Task Manager.
     
  • Editor: Host field dialog box and multiple monitors
    The Host field dialog box can sometimes be placed outside of the visible screen area(s), typically when multiple monitors are used or screen resolution is decreased.
     

Version 5.50 Build 5542

  • Regression: combobox list contents updates are not shown
    When the Server issues a new combobox list content, this new list is not shown in the combobox. Regression since Build 5530.
     
  • Regression: combobox IndexOutOfBoundsException
    In some cases, the combobox can cause an IndexOutOfBoundsException. Regression since Build 5530.
     
  • Terminal window hotspot color choice is not readable
    The hotspot color choice cannot be configured, and the system provided colors are hard to read.
     

Version 5.50 Build 5541

  • NetPhantom Starter: specifying multiple servers for backup scenario
    When specifying multiple servers (in order to use backup servers), the connected server overwrites the entry fileServer in client.pkg thus next time the Starter is launched, only one server is used (the one that the Starter connected to). The client package file must be edited to re-enter the file servers.
     

Version 5.50 Build 5540

  • Client crashes when using merge-on-the-fly when switching application
    When a client runs with several runtime applications at the same time using merge-on-the-fly, and application switching happens at the same time as showing or hiding the terminal window (i.e. the terminal application), pop-up menus could become mixed up between the runtimes due to timing issues. When this occurred, the client would continue to run as if nothing happened, and could crash much later when switching panels with the logged error exception:
      Internal error in NetPhantom Client. Details: java.lang.InternalError: Pop-up menu not found!
        at se.entra.phantom.client.bn.a
        at se.entra.phantom.client.bn.a
        at se.entra.phantom.client.PPanel.createBaseContents
     
  • Stress tool without GUI does not properly handle load balancing
    The StressNoGUI tool does not inform a load balancing controller server during connection to it that it was just previously redirected from another load balancing controller. This can result in an endless loop of connection between two or more load balancing controller server that may result in a BindException (IOException) because the stress tool runs out of unclosed sockets on the server side. The real NetPhantom Client handled it properly.
     
  • Editor dialog misplaced
    When running the editor on a machine with two screens, sometimes the modal dialog was displayed outside both monitors. This resulted in the impression that the application was locked. This happened when one of the editor windows was placed with one part in each monitor.
     
  • Client Applet drag-drop installation exception
    When using desktop installation of a NetPhantom Applet, an exception could be thrown as below when the application is using an Application Panel. The exception does not affect operations, but is logged event mouse mouve.
      Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException
        at se.entra.phantom.client.NNN.processEvent
        at java.awt.Component.dispatchEventImpl
     

Version 5.50 Build 5538

  • File Manager in Server Administration sorts file names
    This is not a "fix" but rather an enhancement. The File Manager in Server Administration lists the files as the file systems reports them. Under Unix-based systems, this listing is not sorted in comparison with Windows-based systems. The files are now sorted according to pure ASCII representation both on the Client and Server, not a Collations-based sort. This makes it uniform on all Client/Server side as well as running the Server and Client on Windows or Linux respectively.
     
  • Application cross-reference contains errors
    When generating a cross-reference description of the application, the produced XML file contained errors. A more stringent XML parser (like in most popular browsers) would not accept the generated format.
     
  • ServerCommand tool for remote administration always indicate error
    Running the remote administration tool always returned an error 1 (server connect error) or 9 (erroneous parameter list). Upon successful competion, the tool now returns 0.
     

Version 5.50 Build 5537

  • NetPhantomClientImages.jar and Jar files in samples not signed with new certificate
    The Jar files for NetPhantomClientImage.jar and in the samples were not signed with the new certificate, thus a JNLP application didn't load and displayed an error message that different certificates are used when signing the application Jars, i.e. that NetPhantomClient.jar and NetPhantomClientImages.jar are not signed with the same certificate.
     
  • Editor: Client Jars not found
    If a Client Jar was located in a sub directory structure (relative the application root), this structure was not taken into account when the application distribution was built. This meant that the application loaded correctly if run in the editor but failed to load if started as a distribution.
     

Version 5.50 Build 5535

  • Regression: Print Window function doesn't save selected printer only works in Java 7
    The fix implemented in Build 5525 only solved the problem partially: with certain JDK 1.6 versions this error still existed. The error is now fixed for all JDK 1.6 and 1.7. When having multiple printers available for a client, the Print Window function doesn't save the selected printer (if not the default printer) between two Print Window operations. This could cause output to wrong printer in case the PRTDLG:1 option for NetPhantom Client is used.
     
  • Editor: Changes of a REXX source file could cause Object definition error
    Changing a REXX source file when Editor is open, then launching the Client from the Editor could potentially corrupt the runtime definition of the Object in the session being used by the Client.
     

Version 5.50 Build 5532

  • 3270: Erase unprotected character error
    Erase Unprotected Character removed the extended attributes propagated for the field at every character position erased. The extended field attribute should replace the extended character attribute. This error could be seen for routines such as Erase End-of-Field keystroke, Erase Input and datastream commands Erase All Unprotected and Erase Unprotected To Address. Normal 3270 applications remained unaffected, this is mostly a visual error seen only in the Terminal Window.
     
  • Editor: Object definition, listing REXX source file in wrong directory
    When pressing the "..." button to list REXX source files in the Object definition in the Panel Editor and the file name entry field is empty should list all files "*.*" in the current application directory. The dialog box showed a listing of the parent directory instead with the file name prompt set to the current directory name. This fix requires a new PHEDNT.EXE and PHNTGPM.DLL file.
     

Version 5.50 Build 5530

  • Combobox corrections
    The following combobox corrections and fixes are implemented:
    • Host connected combobox without host conversion didn't always check the list contents option "Case sensitive".
    • Selection index value was not consistent on client and server for REXX or Java code.
    • Duplicate items in predefined combobox list was not supported and gave unpredictable results.
    • Typing characters in a combobox didn't always work as designed: fast typing several characters should select the first line matching those characters, slow typing should select the next entry beginning with the typed character (if end of list found, search starts again from top).
    • Drop-down list errors: when the drop-down list is visible, typing characters didn't always work, and if it did, the wrong line was selected or not scrolled into view when a vertical scroll bar is present, see separate fixes entry below.
    • Do not disable: option enabled still allows paste text into entry field, although the combobox restores the original text when it loses focus.
     
  • Editor: NullPointerException for invalid REXX object
    An invalid REXX object that could not be compiled properly could cause a NullPointerException after the error message shown below. An event log message "PhantomObject: Object TESTERR cannot be instanciated because class definition is not set" is now shown as is done in the Server.
      CWorker W Cannot load NetPhantom runtime file: Cannot load a Java Class for a REXX, DLL or Java object:
        rexx.TESTERR:java.lang.ClassNotFoundException: rexx.TESTERR
      CWorker E PhantomObject: New object TESTERR instance exception: java.lang.NullPointerException
        at se.entra.phantom.server.PhantomObject.callObjectDirectly
        at se.entra.phantom.server.PhantomObject.callObject
        at se.entra.phantom.server.VirtualControl.callObject
        ...
     
  • Editor: Host screens disappear when project is closed
    Any non save host screens which have not been save when a project is closed are lost, when selecting the menu item "File - Close project". This despite answering "yes" to the question whether to save it or not.
     
  • Editor: Application configuration
    The default values for the distribution parameters (Application Data, Color Conversion and Application Panel) are all "Current". This does not correspond to any value in the related combobox.
     
  • Editor: Focus not set to dialog box
    The focus is not always set in the dialog box in the Editor when it is shown from the Panel Part, e.g. Configure Project. This can be seen in Windows 7 if you select "Configure Project" from the "Panel Part" after having placed another window overlapping the Panel Editor. This window will flash on top of the Panel Part and then the dialog box shown, causing the Z-ordering to be restored correctly. The flashing behavior has not been resolved, but focus to the dialog box is correctly set.
     
  • Editor: Build distribution turns automatic building off
    After a build distribution action has been initialized, the button states are not correct in the Panel Editor. Furthermore, if the project had the "Build automatically" flag set, this is ignored after the build.
     
  • Editor: When files "rules" or "footer.nrx" are missing
    NetRexx Conversion files caused cryptic compiler error in the Java log window.
     
  • Typing characters in Combobox when drop-down list is visible doesn't cause selection in list
    When typing a character e.g. "A" in a combobox that is not editable when the drop-down list is visible should select the first or next entry in the list starting with that character. This error also applies to comboboxes with the option "Autocomplete" enabled.
    The fix implemented is a workaround for bugs in the Swing JComboBox and its pop-up JList: the JList items are not drawn correctly or have the correct selected index, and it doesn't scroll into view correctly when selected. This error can be seen in all Java versions, even Java 1.7.0 update 9.
     

Version 5.50 Build 5529

  • Build error in 5528
    A build error occurred in the 5528 release, causing it to show Build 5527, typically after applying the "patch5500to5528.jar" or "preinstall5528.jar" (after rename to "preinstall.jar").
     
  • RAPP Client interface call getLineItems skips empty cells at the end of a line
    When using the RAPP Client interface, the routine getLineItems skips empty cells for the last cells in list box lines.
     
  • Upgrade using preinstallNNNN.jar
    The Server Admin now accepts files named "preinstallNNNN.jar"; you don't have to rename them to "preinstall.jar" anymore.
     

Version 5.50 Build 5527

  • RAPP Client interface call getLineItems skips empty cells
    When using the RAPP Client interface, the routine getLineItems skips empty cells in a list box.
     
  • Calling REXX/Java function to Combo Box can get IndexOutOfBoundsException
    If a Combo Box has the option Host Conversion set and a REXX or Java function is called to retrieve the contents of the a line in the list and the Combo Box has received a new empty contents using PanComboFromFile, an IndexOutOfBoundsException can be thrown, and the client would exit.
     
  • Unbound combobox crashes the client
    A combobox defined to read content from an external file, will crash the client if the file is not available. This will happen when the combobox is clicked in the GUI. The server gets an IndexOutOfBoundsException and the client exits.
     

Version 5.50 Build 5525

  • Print Window function doesn't save selected printer
    When having multiple printers available for a client, the Print Window function doesn't save the selected printer (if not the default printer) between two Print Window operations. This could cause output to wrong printer in case the PRTDLG:1 option for NetPhantom Client is used.
     
  • Editor: change of host field name doesn't set change of host file (.PHE)
    Changing the host field name in the Editor and pressing OK doesn't cause the host field (.PHE) to require saving. A work-around is to modify a host field attribute at the same time.
     
  • Editor: undo/redo doesn't update host field dialog box
    The host field dialog box is not updated with the host field settings/attributes at undo or redo operations. A workaround is to click in the host field with the mouse.
     
  • Editor: edit screen identification and undo/redo
    When editing a screen identification that updates or removes non-matching screen identification rectangles, the operation(s) performed is/are not added to the undo/redo action history.
     

Version 5.50 Build 5524

  • Editor: changing a panel doesn't always cause reload
    In the Editor, changes to a panel does not always cause it to be reloaded when the application is tested, or sometimes when the project is built as distribution. A simple work-around is to reload the project by closing and reopening it.
     
  • Editor: edit screen identification, change of host file (.PHE)
    When editing a screen identification that updates or removes non-matching screen identification rectangles, the host data file (.PHE) change flag is not set, thus the file is not saved properly unless other host screen changes are also done.
     

Version 5.50 Build 5523

  • Dead-lock in client session threads at client disconnect
    A thread dead-lock can sometimes occur when a client session is disconnected. The two threads dead-locking are shown below. This error has been present in NetPhantom since version 2 and was detected with the new thread dead-lock functions implemented in NetPhantom 5.50 Build 5515.
    Thread[Client]
        se.entra.phantom.server.HostScreen.setCursor
        se.entra.phantom.server.HostSessionManager.onCursorPositionChange
        se.entra.phantom.server.HostSession.onCursorPositionChange
        se.entra.phantom.server.tn3270e.Display3270.moveCursor
        se.entra.phantom.server.HostSession3270.disconnect
        se.entra.phantom.server.HostSession.disconnect
        se.entra.phantom.server.HostSessionManager.disconnectAll
        ...
    Thread[CWorker]
        se.entra.phantom.server.VirtualSessionManager.doPanelAsyncUpdate
        se.entra.phantom.server.VirtualSessionManager.message
        se.entra.phantom.server.VirtualSessionManager.message
        se.entra.phantom.server.VirtualPanel.issueAction
        ...
     

Version 5.50 Build 5522

  • Host session state not updated at session disconnect
    When the terminal window is displayed and the session is disconnected from host, the session state remains e.g. in "Receiving data" instead of being updated to "Disconnected".
     

Version 5.50 Build 5521

  • NetPhantom Starter cannot update NetPhantomClientImages.jar
    The file NetPhantomClientImages.jar is sometimes locked by Java if version is 1.6 or better is used and cannot be updated from the NetPhantom Server. The error displayed is "Couldn't delete the local file NetPhantomClientImages.jar".
     
  • File transfer server to client locks Server Admin
    After a file has been transferred a modal confirm dialog is shown. After the closing of this dialog, the Server Admin window was locked showing the wait cursor.
     

Version 5.50 Build 5517

  • Stress tool simulated clients
    The StressNoGui tool only started half of the indicated number of clients.
     
  • Listbox truncates text
    The listbox component sometimes truncates texts in editable fields. This happened when the field gets focus for the first time and is edited.
     

Version 5.50 Build 5516

  • Exception in Server with Client connections using Stress tools
    The NetPhantom tools StressNoGUI could cause the Server to throw the exception below and reject the Client.
    ServerThread: Internal Program Error in thread: java.util.ConcurrentModificationException
        at java.util.AbstractList$SimpleListIterator.next
        at se.entra.phantom.server.ClientSessionManager.isMaximumClientConnectionsReached
        at se.entra.phantom.server.VirtualSessionManager.b
        at se.entra.phantom.server.VirtualSessionManager.processInboundTransactionQueued
        at se.entra.phantom.server.ClientSession.processClientTransaction
     

Version 5.50 Build 5515

  • Exception in Stress tools
    The NetPhantom tools Stress and StressNoGUI could receive IndexOutOfBoundsException at start.
     

Version 5.50 Build 5506

  • Event messenger
    It was not possible to save a new Event Messenger configuration. Trying to do so results in a StackOverflowError. Furthermore, when mails were supposed to be sent, an error message "EventID not available" together with a stack trace was entered in the event log and no mail was sent. Both these errors are corrected.
     
  • Java Console focus handling
    When opening the Java Console from the Terminal Editor, the console was not put in the foreground.
     

Version 5.50 Build 5502

  • Look-up of controls could cause client dead-lock
    When using REXX functions that do control look-up with a string such as "PanelID/*PANEL" could cause the server to enter an indefinite loop in rare circumstances when the panel contained one or more a notebooks.
     
  • Using the option serverGUI=1 in the Editor caused a NullPointerException
    Starting a Client from the Editor and the option "serverGUI=1" is set, a NullPointerException is shown in the console log window, but had no effect on the system.
     

Version 5.50 Build 5501

  • Java 1.7 in Editor and 1.6 on Server
    When using Java version 1.7 for the Editor and 1.6 for the Server, an application distributed from the 1.7-Editor would cause "java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0" when loaded in a 1.6-Server.
     
  • Hourglass or busy/wait mouse pointer when sizing a panel
    The hourglass or busy/wait mouse pointer is displayed when sizing a panel inside a browser or an application panel.
     
  • Editor and UNC file names
    Loading an older NetPhantom application in the Editor could cause a problem when converting the application if it resides on a network and addressed with UNC path name fails, for example \\fileserver\dir\path\application.ini.