Menu

Journal Explorer abend

Sune Elvig
2018-02-14
2018-02-19
1 2 > >> (Page 1 of 2)
  • Sune Elvig

    Sune Elvig - 2018-02-14

    Hi Thomas
    Journal Explorer is such a great tool, but after updating my installation to 3.2.2.r I receive a message box telling me java.lang.nullPointerException.
    I fill in the dialog box Open journal, then press Ok button. Boom, i get the java.lang.nullPointerException.

    Any suggestions about what to do?

     
  • Thomas Raddatz

    Thomas Raddatz - 2018-02-15

    Sune,
    Please open the Eclipse "Error Log" view and check whether the error has been logged there (Pic_1).

    If the rror has been logged, please send the stack trace to me (Pic_2). Please send it as plain text.

    Thomas.

     
  • Sune Elvig

    Sune Elvig - 2018-02-15

    I have attached a screen capture, but nothing is logged in the "Error Logged".

    Br
    Sune

     
    • Thomas Raddatz

      Thomas Raddatz - 2018-02-15

      I could not yet reproduce the error. I assumed:
      1. You want to open an output file created with DSPJRN, right?
      2. You get the NullPointerException for all your output files, right?

      Can you send me a save file with an output file that creates the error?

       
      • Thomas Raddatz

        Thomas Raddatz - 2018-02-15

        Although I prefered getting an example file to debug then problem here, you may consider to install 3.2.3.b002. You can download it from my private cloud server following this link:
        https://oc-tools400.dyndns.org/nextcloud/index.php/s/2m2r8eY3kFgBh88
        The link will expire Saturday.
        Nothing important has been changed in 3.2.3.b002 but. I just added additinal log statements.

         
      • Sune Elvig

        Sune Elvig - 2018-02-15
        1. Yes I created a files with DSPJN.
        2. Yes all files result in NullPointerException.

        Yes, I will send an output file. I have also, in another mail send you the info i get in the error log.

         
      • Sune Elvig

        Sune Elvig - 2018-02-15

        Save file attached

         
  • Sune Elvig

    Sune Elvig - 2018-02-15

    biz.isphere.core

    *** Error in method JournalExplorerView.createJournalTab(3) ***

    java.lang.NullPointerException
    at biz.isphere.journalexplorer.core.model.dao.AbstractTypeDAO.deleteDatabaseOverwrite(AbstractTypeDAO.java:149)
    at biz.isphere.journalexplorer.core.model.dao.AbstractTypeDAO.load(AbstractTypeDAO.java:95)
    at biz.isphere.journalexplorer.core.model.dao.OutputFileDAO.getJournalData(OutputFileDAO.java:69)
    at biz.isphere.journalexplorer.core.ui.widgets.JournalEntriesViewerForOutputFiles$1.run(JournalEntriesViewerForOutputFiles.java:134)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at biz.isphere.journalexplorer.core.ui.widgets.JournalEntriesViewerForOutputFiles.openJournal(JournalEntriesViewerForOutputFiles.java:145)
    at biz.isphere.journalexplorer.core.ui.views.JournalExplorerView.performLoadJournalEntries(JournalExplorerView.java:276)
    at biz.isphere.journalexplorer.core.ui.views.JournalExplorerView.createJournalTab(JournalExplorerView.java:236)
    at biz.isphere.journalexplorer.core.ui.views.JournalExplorerView.access$4(JournalExplorerView.java:211)
    at biz.isphere.journalexplorer.core.ui.views.JournalExplorerView$2.postRunAction(JournalExplorerView.java:141)
    at biz.isphere.journalexplorer.core.ui.actions.OpenJournalOutfileAction.run(OpenJournalOutfileAction.java:45)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:519)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
    at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:462)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:677)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:587)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:508)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

    eclipse.buildId=unknown
    java.fullversion=JRE 1.8.0 IBM J9 2.8 Windows 8.1 amd64-64 Compressed References 20170722_357405 (JIT enabled, AOT enabled)
    J9VM - R28_20170722_0201_B357405
    JIT - tr.r14.java_20170722_357405
    GC - R28_20170722_0201_B357405_CMPRSS
    J9CL - 20170722_357405
    BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=da_DK
    Framework arguments: -eclipse.keyring C:\secure_storage com.ibm.rational.developer.ibmi.product.ide
    Command-line arguments: -os win32 -ws win32 -arch x86_64 -eclipse.keyring C:\secure_storage -console po-product com.ibm.rational.developer.ibmi.product.ide

     
    • Thomas Raddatz

      Thomas Raddatz - 2018-02-15

      Is it possible that your user profile has "Limit capabilities" (LMTCPB) set to *YES? That may explain, why you are not allowed to execute the DLTOVR command, although I could not reproduce the error with such a user profile.

      Please try to run the following commands on a command line and let me know the result:

      OVRDBF FILE(WOPHDRS14C) TOFILE(RADDATZ/WOPHDRS14C) MBR(*FIRST) OVRSCOPE(*JOB)

      DLTOVR FILE(WOPHDRS14C) LVL(*JOB)

      Of course you need to change the library name.

      iSphere has to override the physical file to read the records from a given member with JDBC.

       
  • Thomas Raddatz

    Thomas Raddatz - 2018-02-15

    Thank you for the data provided. I spotted the NullPointerException and fixed it. But I could not yet figure out the actual problem, which is that a file override (DLTOVR) does not work for you. Actually I needed the job log of the server job that serves the connection.
    Do you know how to get it? If not, I can guide you to it, tomorrow.
    For now you can install v3.2.3.b003, which fixes the NullPointerException.
    https://oc-tools400.dyndns.org/nextcloud/index.php/s/1JlbyD0IsEs8BQl
    The link will expire Saturday.

     
  • Thomas Raddatz

    Thomas Raddatz - 2018-02-15

    I added a save file that contains library DBGUTILS, which contains command WHOAMI. WHOAMI displays the TCP/IP address of the local PC that runs the 5250 emulation. The IP address is required for NETSTAT, option 3 to find the server jobs used by iSphere. The list of connections that is displayed with NETSTAT, option 3, can be filtered with CmdKey F15 and the IP address pasted into field "Remote internet address range, Lower value".
    Then the "as-data" job with the lowest "Idle Time" should be the one used for reading the data from the output file. The job log of that job should help to find the problem.

     
  • Sune Elvig

    Sune Elvig - 2018-02-15

    Hi Thomas
    I found out that for some reason I do not understand, the two commands
    CALL QSYS.QCMDEXC('OVRDBF FILE(WOPHDRS14C) TOFILE(XUPL04SEL/WOPHDRS14C) MBR(FIRST) OVRSCOPE(JOB)', 0000000079,00000)
    CALL QSYS.QCMDEXC('DLTOVR FILE(WOPHDRS14C) LVL(*JOB)', 0000000033,00000)

    both give an sqlcode of -443 and the message that the command is too long ( CPD0005 )

    I tried to run the statements interactively and I received the same result.

    My suggestion is that you use QSYS2.QCMDEXC. The command work on my machine. The problem however is that it will only work on systems that are running 7.1 or higher.

    (I tried to run other commands with QSYS.QCMDEXEC and they all fail, even though I counted the length of the string again and again. I really do not understand why the system I am running on does not accept QSYS.QCMDEXC)

     
  • Thomas Raddatz

    Thomas Raddatz - 2018-02-16

    How did you figure that out? Did you debug the Java code or could you get the information from the job log? Anyway: GOOD JOB!

    Unfortunately I cannot switch to QSYS2.QCMDEXC, because I do not want to disconnect all the users that are still on 6.1.
    Can you please try to run the commands like this:

    CALL QSYS.QCMDEXC('OVRDBF FILE(WOPHDRS14C) TOFILE(RADDATZ/WOPHDRS14C) MBR(FIRST) OVRSCOPE(JOB)', CAST(77 AS DECIMAL(15,5)));

    CALL QSYS.QCMDEXC('DLTOVR FILE(WOPHDRS14C) LVL(*JOB)', CAST(33 AS DECIMAL(15, 5)));

    I am just curious and I do not yet have another idea.

     
    • Sune Elvig

      Sune Elvig - 2018-02-16

      Hi Thomas
      I used DBMON to see what sql statements were used.
      Below is the two statements copy pasted directly from the database monitor statements.
      ~~~
      CALL QSYS.QCMDEXC('OVRDBF FILE(WOPHDRS14C) TOFILE(XUPL04SEL/WOPHDRS14C) MBR(FIRST) OVRSCOPE(JOB)', 0000000079,00000)
      CALL QSYS.QCMDEXC('DLTOVR FILE(WOPHDRS14C) LVL(*JOB)', 0000000033,00000) ~~~

      My colleague spotted the problem.

      If you look at the length parameter, you see that the statement say 0000000079 comma 00000 . If this is changed to 0000000079 period 00000 then the statement runs without problem.

      Br
      Sune

       
      • Sune Elvig

        Sune Elvig - 2018-02-16

        The MBR(FIRST) should of course be MBR( Asterisk FIRST) but the editor is removing the Asterisk.

         
        • Thomas Raddatz

          Thomas Raddatz - 2018-02-16

          You need to escape the asterisk with a blackslash to preserve it. Otherweise the asterisk is treated as a markup.

           
      • Thomas Raddatz

        Thomas Raddatz - 2018-02-16

        That is great news. Congratulations to your colleague.
        I do not know/understand why the period, that is used by iSphere gets translated to a command on your system. Could you already test the statements using CAST?
        I attached some pictures from the Eclipse debugger to show that I use a dot as the decimal point and I attached a txt document with the CALL statements. That should make it easy for you to run the statements with the CAST.

         
        • Sune Elvig

          Sune Elvig - 2018-02-16

          Hi Thomas
          My guess is that decimalFormatter uses the locale of my PC to format the the string with a comma.
          Br
          Sune

           
          • Thomas Raddatz

            Thomas Raddatz - 2018-02-16

            I do not think so, because decimalFormatter uses the following pattern, which contains a dot:

            public AbstractTypeDAO(OutputFile outputFile) throws Exception {
                super(outputFile.getConnectionName());
            
                this.outputFile = outputFile;
                this.decimalFormatter = new DecimalFormat("0000000000.00000");
            }
            

            But what about the SQL CALL statements that use the SQL CAST expression to call QCMDEXC? Does that work on your system?

             
            • Sune Elvig

              Sune Elvig - 2018-02-16

              Using CAST will work.

              Sune

               
              • Thomas Raddatz

                Thomas Raddatz - 2018-02-16

                I uploaded v3.2.3.b004, which uses the CASE version, now. Feel free to give it a try. You can download it from here:
                https://oc-tools400.dyndns.org/nextcloud/index.php/s/qKeNeyiaUXXxrgD
                The link will expire on Tuesday.

                 
            • Sune Elvig

              Sune Elvig - 2018-02-16

              Hi Thomas

              I just added -vmargs -Duser.language=en -Duser.country=US to my eclipse launch configuration.

              Now I can load a file into the Journal Explorer without problem.

               
              • Thomas Raddatz

                Thomas Raddatz - 2018-02-16

                OK, but that is not the final solution. As mentioned before, I changed the OVRDBF and DLTOVR commands to be produced with a CAST expression in order to make it universal. Therefore it was great if you got give beta 4 a try.

                I confirm, that DecimalFormat uses a comma, when started with locale "de". I did not expect that or had that in mind and first a was astonished. But on the other hand I can understand that it works like that. So using CAST should be the better option.

                 

                Last edit: Thomas Raddatz 2018-02-16
                • Sune Elvig

                  Sune Elvig - 2018-02-18

                  I can confirm that beta 4 works.

                  Br
                  Sune

                   
                  • Thomas Raddatz

                    Thomas Raddatz - 2018-02-19

                    Thank you for the update. I released v3.2.3.r this weekend. It is identical with beta 4.
                    Thank you for your help. It was a pleasure working with you.

                     
1 2 > >> (Page 1 of 2)

Log in to post a comment.