contact contact

Eloquence B.06.32 release notes


Fixed problems and changes

The following problem fixes were incorporated in the Eloquence B.06.32 product release:

New start script (HP-UX and Linux)

  • On the HP-UX and Linux platform, Eloquence uses a new startup/shutdown script and a new startup configuration file. This allows to configure multiple database instances. Please refer to the platform specific installation notes for details.

  • The -p command line option has been added to the eloqsd, eloqdb6 and eloqdb5 daemons to specify the location of the pid file. If specified, this file contains the process id of the server process. This is used with the new startup/shutdown scripts.


  • The maximum code size for the main program or a function/subprogram (segment size) has been enlarged from 65534 bytes (32767 words) to 130560 bytes (65280 words) (#580, #783).

  • A bug in the parser has been fixed which accepted a trailing comma in the OFF KEY# statement (for example, OFF KEY#1,2,). This is an invalid syntax and causes an internal error at runtime (#245).

  • The NO OPERATOR function was changed to return a zero value if a DLG driver is used. Previously the NO OPERATOR function returned zero if stdin was connected to a tty device and non-zero if stdin was redirected from a file. This was changed because dialog programs may no longer use a terminal (eg. using WebDLG) but are still considered interactive (#878).
    The BACKGROUND function was not changed and returns non-zero if stdout is not connected to a tty device (eg. it is redirected to a file).

  • The POPUP BOX statement returned the undefined error number 884 instead of the correct error number 684 in case the connection to the dialog driver was terminated (#1128, #1132).

  • The RETURN statement (returning from a function) could issue runtime error 11 when used with a member variable of type DINTERGER or SHORT (#1383).

  • The NEW statement could result in an internal error:
       Internal error processing line 1150
       Assertion failed: (sym_ptype(sp->info) == SYM_UTYPE)
       file class.c, line 170
    This could happen if a type,derived from a base type was instantiated in a subsequent program segment (function, subroutine) but the base type was not resolved in the segment the type was defined in (for example the base class is defined dynamically from a data set or was defined after the derived type) (#1638).

  • When user defined types were used in a COM statement the variable value could be reset in some cases when loading another program file. Eloquence now uses a different strategy to declare use defined types (#674).

  • An internal error in the screen handler could happen in some cases when deleting characters from the last line on screen if that line and the following line were longer than 80 characters (#300).
    Platform: Linux

  • In some cases eloq on Linux could terminate with an error message after entering the first character.
      read_handler(): read mpty failed: Input/output error
    This happened when eloq belonged to a different process group and was not allowed to access stdin (because it was considered a background job by the operating system). This is the case when eloq is started in the .profile with exec (#346, #1290).
    Platform: Linux

  • On Linux eloqcore could terminate unexpectedly if started by eloq due to a race condition. Eloq sends a SIGCONT signal to notify eloqcore it is active. On some machines this could happen when eloqcore was not fully initialized which resulted in an error message or a crash of the eloqcore process (#1328, #1616).
    Platform: Linux

  • On some Linux glibc versions, the CATOPEN statement did not fail when the message catalog file did not exist. This was observed with some glibc2.1 library versions. Eloquence was modified to work around this issue (#527).
    Platform: Linux

  • eloqcore could fail to start on Linux or HP-UX if the home directory containing the .eloqrc file was not readable. While the .eloqrc file is optional, the directory must be searchable. This condition is now handled more gracefully (#1652).
    Platform: HP-UX, Linux

  • The eloqsd did not accept new connections if it was restarted while active eloqcore processes were still present.
    Platform: Windows

  • The eloqsd daemon has been changed to output startup messages (such as configuration warnings) by default to stderr.
    Platform: HP-UX, Linux


  • Possible data corruption during on-line backup
    Under rare circumstances data corruption could occur during on-line backup if a significant number of concurrent disk i/o operations happened simultaneously.

  • Fix possible hang during schema/dbcreate/dbpurge
    An internal stack overflow could cause schema/dbcreate/dbpurge to hang or fail.
    Platform: HP-UX, Linux

  • Improve performance for write operations
    The number of write requests to the transaction log volume have been reduced by bundling them to a single request whenever possible. This can result in a significant performance gain on write operations such as DBPUT or DBUPDATE up to 15 percent.

  • DBOPEN could result in status -700
    Due to a race condition the eloqdb6 could sometimes fail to accept an incoming connection, causing an error -700 on DBOPEN.
    Platform: Windows

  • dbctl backup status has been added to query if on-line backup is active for an eloqdb6 server process.

  • The NoDNS configuration item is now enabled by default (#1649).

  • The AllowSecondaryBlockingLock configuration item is now enabled by default (#1272).

  • dbctl shutdown could result in an error message about a problem communicating with the database server (#1161).
    This was caused by a race condition where the server could terminate before dbctl could close the connection properly when IPC communication (EnableIPC) was used. An error message is like below could be output:
      $ dbctl -u dba shutdown
      Shutting down now.
      (14909) P0: Unable to up semaphore
      (14909) P0: semop(UP): Invalid argument (errno 22)
      (14909) P0: Server notification failed 

  • dbctl killthread now allows to terminate an idle session. Previously, only blocked sessions could be terminated (#798).

  • When a log file is used (instead of syslog) eloqdb6 will prepend each line with the current date and time (#923).

  • If a volume reaches its maximum size, redundant log messages about the volume reaching its maximum size are now suppressed. Previously, a note was written to the log for each volume which had reached its maximum size whenever the volume size was extended. This note is only output once (#1063).

  • The average server load in the HTTP status display was changed to display the average server load for the last 10 minutes. Previously it covered the uptime of the server process (#1008).
    As a performance enhancement, the images used to create the bar graphs can now be cached in the web browser (#1342).

  • The HTTP status now displays the server title in the page header if specified in the server configuration file (#1173).

Windows GUI

  • DLG GET .focus/.focusobj did not always return the correct object of a previous DLG SET .focus.

  • DLG SET .focus on a container object (window, groupbox) could select a statictext (non-sensitive) object.

  • The .vheight attribute could be wrong in a listbox.

  • It took 2.5 seconds to initiate a DLG connection. This was caused by the DDEWait configuration which adds a delay after starting a DDE server program to ensure the protocol can be properly setup. This delay was also used when a DLG connection was established.

Text based DLG UI

  • Fixed possible crash when cloning a dialog object with active kbind

  • The ESC key can now be captured with kbind. This requires the ESC key is pressed twice.

  • The .ispassword attribute as been added to the EditText object. When set, the editttext content is output as asterisk.

  Privacy | Webmaster | Terms of use | Impressum Revision:  2003-02-14  
  Copyright © 1995-2003 Marxmeier Software AG