6 Replies Latest reply on Mar 9, 2015 11:32 PM by thatJeffSmith-Oracle

    SQL Developer ScriptRunner Task runs forever on Linux

    jmarton

      The following scenario makes SQL Developer 4.1 EA1 and also 4.0.3 hang in the ScriptRunner Task on linux 64 bit, but not on Windows XP 32bit. Please investigate this case. See details below, and feel free to ask me if I missed to include some required info.

       

      Software versions used:

      SQL Developer version: 4.1.0.17.29

      Oracle JDK: 1.8.0_31, 64bit, Linux

      Instant client: not used.

      Database: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

       

      Attached files:

      • sql_develper_scriptrunner_hang.txt -  script to reproduce the behaviour
      • sql_develper_scriptrunner_hang-debuglog.txt - Debugging log output of SQL Developer. Script started at log sequence 1147.

       

      Steps to reproduce:

      1. Download attached script sql_develper_scriptrunner_hang.txt and rename to sql_develper_scriptrunner_hang.sql
      2. Fire up SQL Developer on 64 bit linux using Oracle JDK
      3. connect to the database
      4. open the sql_develper_scriptrunner_hang.sql script
      5. without selecting anything, execute the Run script command by clicking on the icon
      6. when prompted, select the connection to use
      7. the output of select * from dual; is shown, script steps forward to the next select, but output is never displayed.

       

      At this point, ScriptRunner Task progressbar continues infinitely, until killed. The screenshot below shows a moment that continues until interrupted.

       

      Some workaround that make the script to run after restarting SQL Developer:

      • removing set pages and set lines from the script, it runs without problem
      • increasing linesize to 1500 makes the script run without any problem

      In SQL*Plus (of Instant client for Linux x64-12.1.0.2.0), the original, unmodified script runs without any problem.

       

      sqldeveloper_hangs.png

       

      Edited by: jmarton debuglog replaced. Entries 1132-1149 show the script running. 1150 is the cancel of the infinite process.