SAP Knowledge Base Article - Preview

2076005 - Targeted CR List for ASE 16.0 GA - SAP ASE


The purpose of this KBA is to help SAP customers obtain a general idea of potential fixed situations in Adaptive Server Enterprise (ASE) 16.0 GA. Please be sure to read the Disclaimer below.

If the EBF/SP has been released, check the CR list and coverletter at the

Disclaimer: This document lists the targeted (not committed) release dates and the targeted fixed CR list for each release. Please be aware that the purpose of this posting is solely to provide you, our customers with estimated release dates and targeted CR lists. SAP does not commit to releasing on the specified dates or to including the CR fixes in the said release. While every effort will be made to meet the said targets, changes can occur at any time. It is also possible (although unlikely) that SAP may decide not to release an EBF/SP that was previously scheduled for release.

CR number



There is no convenient way to reclaim unneeded space from a database except to drop and recreate that database.


When replicating a cross database execution of a stored procedure using 'log_current' as its log mode and having at least one wide parameter, Rep Agent is terminating with errors 9254 and 9204.


The "enable large pool for load" configuration parameter is added to configure the use of large buffer pools during the recovery phase for LOAD DATABASE and LOAD TRANSACTION commands execution. This configuration parameter will default to 0 if "enable functionality group" is set to 0, and to 1 if "enable functionality group" is set to 1.


The paths for the cluster devices are not checked to insure they are not reused in the same input session when creating new cluster.


Cluster failed to start after creation if interfaces path contains "#".


Sybcluster show instance status does not show correct status if shutdown instance outside sybcluster immediately.


When quorum device cannot be accessed, running 'show cluster status' will report an inexplicit error "The cluster entry did not contain any servers"


Sybmigrate - unable to generate index ddl when user\db have same name


Temporary files are not cleaned up after cluster creation.


The command, 'diagnose instance', does not report any message if the interfaces file is missing the domain suffix of the machine name.


Long Running Transaction against an SAP ASE server can prevent the log being truncated, causing risk of data unavailability for DMLs. Improve how this can be managed.


Permissions on "sysslices" system table remain unchanged when "GRANT DEFAULT PERMISSIONS ON SYSTEM TABLES" or "REVOKE DEFAULT PERMISSIONS ON SYSTEM TABLES" SQL commands are executed.


Updating a TEXT value into a proxy TEXT column using the value from a local TEXT column results in garbage being inserted.


In parallel query mode, monProcessWorkerThread.ThreadsActive, monProcess.NumChildren, monSysWorkerThreads.PlansAltered and monProcessStatement.PlansAltered are always 0.


sp_sysmon appl_and_login does not show the detail of activity by application name and login name.


If a table is on an inner side of a join, the 'UsedCount' of the table could be incremented multiple times of 'OptSelectCount' of the table in monOpenObjectActivity table.


The message "dbid < dbid > objid < objid > open failed" may be reported when running DBCC EXTENTZAP or EXTENTCHECK on a table that is missing entries in sysobjects.


UPDATE STATISTICS command on a proxy table writes the wrong page count for a row having indid 0 or 1 into systabstats system table if the ASE page size is more than 2K.


Execution of stored procedure 'sp_renamedb' from read-only database results in a 3906 error, "Attempt to BEGIN TRANSACTION in database failed because database is READ ONLY." Message should reflect that "You must be in master in order to run stored procedure for read-only database."


In rare circumstances, after configuring a big data cache or a large stack size, SAP ASE might implicitly shut down following a JavaVM crash while executing a Java query. The message EXCEPTION_ACCESS_VIOLATION or 'ExceptionCode: c0000005' will be reported in the SAP ASE error log.


Error 1105 States 4, 5, and 7 may no longer mean what they are documented to mean in the ASE Troubleshooting Guide due to reuse of the values in new code.


TEXT/IMAGE page chains are not deleted properly from sysattributes when REORG REBUILD is called on a table with TEXT and IMAGE data. This can result in reduction of unreserved/available space in the database.


An UPDATE query running in a batch that includes a CREATE INDEX or UPDATE/DELETE STATISTICS or an UPDATE query running simultaneously with a workload that involves CREATE INDEX or UPDATE/DELETE STATISTICS may lead to data inconsistency.


If a query contains a join between partitioned tables and one of the partitioned tables degenerates to a single partition through dynamic partition elimination and there is a CIS table in the query, then a SEGV could occur in the PartNodeInfo::collocatedSite() method.


The message, "Current process infected with signal 11" followed by a stack trace that includes the module Partitions::initHintsForDegree() may be reported when a remote procedure is executed with the recompile option.


The limit for cache partitioning has been extended from 128 to 256.


New Feature Request ... add indicator to monCachedProcedures to show active entries


The sp_opt_querystats stored procedure reports error number 17077 indicating that the optimizer diagnostic results were incomplete and does not generate any output.


In some circumstances, the Operations value in the monOpenObjectActivity MDA table does not reflect the actual number of table accesses.


In some circumstance, the CPU usage of ASE might increase to near 100% after turning on the “plan text pipe active” option.


In some cases the output from the sp_opt_querystats stored procedure would be formatted incorrectly due to lines being broken in the middle of words or due to missing letters or characters.


Products: ASE 15.5 ESD#3 SQL Advantange 12.5.3 EBF 12338 DBISQL version 11.01, build 2430 Problem Description: Customer reports that DBISQL does not report as much detailed message compared with SQL Advantage. Since SQL Advantage is deprecated customer is requesting FR to be implemented:


Enhance index scan perforamce on little-endian platforms if the index includes large mount of duplicated keys.


Enhance sp_rename stored procedure to rename data and index partitions.


ASE does not respond and appears to hang when invalid packets are sent to it.


sybcluster should have a way to back off incomplete removal or alternately the CR 680891 should provide complete instructions for recovery from errors during "drop instance".


Allows stored procedures which reference temp tables created outside the procedure to not require recompilation for every execution. This was previously supported by trace flag 299.


DDL is now replicated within user stored procedures.


On Windows platforms, preupgrade eligibility test fails when using sysconfig.exe to upgrade ASE.


Excessive I/O to quorum devices is observed when SCC is up and cluster is down.


A 697 error, "An attempt was made to fetch logical page < pagenum > for database < dbname > ....", during transaction rollback, if the transaction is doing some DMLs to upgrade row lock to table lock.


Setting the configuration parameter 'send doneinproc tokens' to zero, can cause the global variable @@rowcount to report an incorrect value inside a stored procedure or trigger.


sybmigrate: initial login screen doesn't see servers named with "query"


In rare cases, a DUMP TRAN command is incorrectly allowed following a DUMP DATABASE command during which a partially-logged command like SELECT INTO was active that also commits some time towards the end of the DUMP DATABASE command. The partially logged operation will be lost when the database dump and transaction log are loaded.


Starting the Backup Server with -D4096 will suppress messages "Attempting DSync I/O for device ' < value > '." from being reported in the Backup Server error log during the execution of a DUMP DATABASE command.


sp_sysmon 'cache wizard' got Msg 3606 "Arithmetic overflow occurred"


Job Scheduler is enhanced to execute job from startdate:starttime to enddate:endtime under new schedule property 'continuous_run'.


The command DBCC SETTRUNC('ltm', 'end') extends the transaction log with one page before setting the Secondary Truncation Point to the new end of the log so as to avoid unwanted data replication.


Exception is raised from localize command in sybcluster if ASE-15_0/locales contains unnecessary files/dirs.


When a partitioned table has a local index and a query is used with a unbounded predicate and an order by clause that matches the key of the index, the query plan still uses a merge union all operator to preserve the sort ordering.


(New Feature) Supporting Lock Remastering for ASE CE edition. When the master assignment is set to affinity mode, the masters will gradually get re-allocated to the instances that initiates the lock convert requests, if “enable lock remastering” is set to 1(ON) in the configuration file. By default, “enable lock remastering” is set to 0 (OFF). It is not recommended to set “enable lock remastering” to 1 (ON) for badly partitioned cases. (Internal Only) Internally it is using Master Uncaching to achieve the lock remastering by affinity mode of master assignment. The algorithm introduced is to detected the masters that are allocated on the un-designated instances, and uncache these masters when it is possible, so that next time when the lock requests are coming from the designated instances, the masters will be allocated at the designated instances. PSE is able to use DBCC lockremastering(thresh) to set the threshold for the lock remastering for each instance. The thresh value can be from 0 to 255. When thresh is set to 0, the lock remastering is turned off for the instance. The higher the thresh value it is, the longer it will take to qualify the masters for uncaching on the instance. And the default value of thresh is set to 1.


Reduce additional logging done on page compressed DMLs for replication support, trigger support, and online utilities support.


Signal 11 in LeSarg::mapSarg is reported due to incorrect classification of Transitive Closure predicates, at optimization time.


New monitors have been added to collect each engine resource's Engine Local Caches (ELC) performance.


In circumstances whereby the select list of an INSERT SELECT with ORDER BY does not include the 'order by' columns, it is possible that the optimizer will favor a non-matching index scan using an index with the order by column(s) as opposed to a more efficient plan using a matching index scan for one or more of the filter predicates. A new optcriteria cr702725 has been introduced for this change. Use "set cr702725 1" to turn on the change and "set cr702725 0" to turn it off.


In specific circumstances it is possible to receive a 2601 error on execution of a stored procedure. The issue is much more likely to happen with 'deferred name resolution' enabled. This can happen when a stored procedure has been initially created, then for the 'first' execution, multiple concurrent connections all run the procedure at the 'same'time. If running with 'deferred name resolution' enabled at create procedure time, the error is much more likely to occur. It could also happen in circumstances where the query tree needs to be recreated from text as in after the ASE is upgraded.


ASE provides inaccurate estimation for 'kernel resource memory' configuration parameter.


Backup Server is enhanced to provide Multithread support needed for Tivoli Storage Manager options such as LAN-FREE. This support is off by default. It can be turned on by using the new –D8192 option during Backup Server startup. For example: ${BACKUPSERVER} -SSYB_BACKUP -I$SYBASE/interfaces -M${SYBMULTBUF} -D8192&


While executing large amount of dynamically prepared statements we could find DBT_SPIN as still contentious.


Log an informational message in the error log when memory allocation with Linux 'hugepages' succeeds. Add a configuration option 'enable HugePages' to control allocation as follows, with HugePages if available else regular pages, only with HugePages and fail if not available, only with Regular Pages.


Add new configuration option 'enable HugePages' for Linux to control whether to boot ASE with HugePages and 'enable ISM' for Solaris to control whether to boot ASE with ISM


Feature request to improve sp_configure to perform kernel resource memory consistancy checks.


In some ASE customer scenarios, PDES chain spinlocks are found to contain high contention.


sybmigrate and DDLGen fail when there is "&" in the object name


asehostname() can return null or truncated values when the hostname is greater than 30 characters.


When creating a cluster or adding an instance, sybcluster cannot detect invalid device name immediately after it is entered.


Release DBISQL 16 for ASE.


A new SpinlockSlotID column has been added to the monSpinlockActivity MDA table. This column provides a unique identifier for each spinlock in the current ASE server. This ID is not persistent across servers or restarts of the server.


It is possible for a spid to terminate and a stack trace to appear in the SAP ASE error log containing the functions memset and bi__xml_query/bi_xmlextract. This can happen under heavy usage when the session heap memory pool has become starved.


Timing and IO metrics in monCachedStatement for running queriy keep unchanged until the query completes.


rdesmgr_spinlock is hot, with lot of acquires and spins in some customer scenarios.


Deploy plugin raises an error but reports that it succeed


OPTDIAG and sp_showoptstats has been enhanced to support Precomputed Resultsets.


Error 14575, "CREATE TABLE WITH COMPRESSION is not supported for in-memory database", followed by error 11050, "Adaptive Server cannot process this ALTER TABLE statement due to one or more preceding errors. If there are no preceding errors, please contact Sybase Technical Support.", and error 11934, "REORG REBUILD of table 'tabname' failed due to an internal error. Please contact SYBASE Technical Support", may be reported when running 'reorg rebuild' command on table which has data or LOB compressedion defined after user is bind to temporary in-memory database.


Using sybcluster to add an instance in interactive mode failed.


sp_sysmon would report a 265 error, "Insufficient result space for explicit conversion of SMALLINT value '100' to a VARCHAR field" if ASE is configured with more than 100 engines.


If there are more than 32 columns used in an UPDATE STATISTICS command, either explicitly or implicitly through the auto_temptable_stats feature, then there is a possibility of a stacktrace.


If multi-column syntax is used with update statistics tabname (colname1, colname2,...) using out_of_range {on | off | default }, then the assignment of out_of_range behavior may not be associated with the correct columns.


The LAVA based index creation is enhanced to support the case where the index leading columns are duplicated.


sp_bindcache information is missing from DDLGen output.


sybcluster will fail to connect to the cluster if duplicated agents are specified.


Enhancement is made to sp_placeobject system procedure to support partitions.


sp_showoptstats output has been changed for the < statsOutRan > tag to have a value of "on" if the "using out_of_range on" phrase was used in update statistics, and "off" if the "using out_of_range off" phrase was used, and will not be printed if "default" is in effect. Previously "true" was printed when "on" or "off" was used.


Monitor server has been retired since 15.7 GA but sybcluster still contained the operations for configuring monitor server. These operation options have now been removed.


If the Cluster Editions is configured with both backup or xp servers, then adding an instance with an xml input file may fail.


Error 1503 may occur when index is created with LAVA based index creation if the number of distict index value is not greater than CONSUMERS number.


A 12319 error followed by a stack trace that includes the modules LeMergeStmtOp::_LeOpClose() and dol_def_update() may be reported when a MERGE statement is using cloned plans.


LIKE predicate optimizer estimations may be incorrect when UTF-8 is used. Optcriteria cr713638 is added to correct this issue.


Add functionality to the LOAD ... WITH LISTONLY=CREATE_SQL command to include the various database options (applied with sp_dboption) and attributes (applied with CREATE and ALTER DATABASE) of the source database, in the generated SQL.


In a multi-engine ASE running on the Unix platform, the tracefile for the spid (created using 'set tracefile < path > for < spid > ') is truncated in pre 15.7, while the tracefile is not populated post 15.7 in process kernel mode, when the spid being traced is affiniated to an engine other than the one which created the tracefile initially (This can happen if the engine that created the tracefile is offline).


DBCC CHECKSTORAGE does not detect LOB compression flag inconsistencies in the TIPSA. With DBCC CHECKTABLE and DBCC CHECKDB these types of inconsistencies were already being reported with message 15960.


Wrong result could happen when referencing a non-correlated scalar aggregate view at the inner side of an OUTER JOIN.


On HPIA64 platforms, ASE may report error 16747, "The 'enable hp posix async i/o' configuration option is only available on the HPUX platform. This option is not valid on the current platform." if 'number of disk tasks' is set as larger than 1 when 'enable hp posix async i/o' is enabled.


During an UPDATE command on a table that has in-row LOB columns defined, ASE may move some of these columns from in-row to off-row or vice-versa if the size of a datarow exceeds configured limits. When such a table has a datarow with an off-row LOB column that is not explicitly updated, ASE may not log this column data correctly. This will result in replication failing if this column is marked as always_replicate.


Improve spinlock efficiency on Solaris SPARC platform.


A signal 11 (SIGSEGV) error occured in kmuxtskGetThreadpool() while running sp_sysmon. This is a timing-related issue that is not easy to reproduce. It occurs only on a server that is running in threaded kernel mode.


Signal 11 in bufdlink() *also reporting ups_nosort_init_prestat() & us_allocate_stat_proc_hdr() * may appear in the error log along with the server shutting down. This can happen when there is a worktable used by an update statistics command that resides on an in-memory tempdb (IMDB)


Applications running against ASE on Solaris platform (SPARC and x64) in threaded mode may experience poor performance (response time and throughput). Analysis of sp_sysmon outputs and MDA tables may show high I/O Busy% and high wait times on disk-related events. Solution requires installation of OS patch for Oracle Bug 16054425 and setting ASE configuration parameter "solaris async i/o mode" to 1. This issue only affects ASE on the Solaris platforms.


When changing the character set to a multibyte character set and running DBCC FIX_TEXT for the table with TEXT columns, the DBCC CHECKTABLE will fail with error 7951, "Data size mismatch while checking a text value".


Immediate PRS creation with a LIKE clause throws a misleading error message that involves a builtin clause, because LIKE is internally converted to a BUILTIN operator.


The status field in sp_helpdb output does not give any indication for temporary databases created with durability of "no_recovery" and normal temporary databases.


sp_configure "o/s file descriptors" may show a larger value than the actual number of file descriptors as indicated in the error log.


When using a resource file with sybmigrate, despite having plenty of room on the repository device specified, sybmigrate does not create the work database at the size specified in the resource file.


When updating a column to have NULL value and an immediate refresh pre-computed result set (materialized view) exists which selects that column, the session will be disconnected unexpectedly and a stack trace that includes the module memmove() will be reported in the error log.


The user usedb_user should not be allowed to create any objects.


ASE at times sends extra TDS DONE packet for ct_cancel CT-Lib call.


When the following is true: (1) the statement cache is on and (2) a dynamic prepared SQL statement containing a abstract plan clause is executed and (3) the same statement is prepared and executed by another ASE session, then the entry in the statement cache that was created by the first execution is not found when the dynamic prepare command is executed in the second session. As a result, a new LWP is created by the second session.


With partitioned tables, some query plans may choose the MERGE UNION ALL operator, rather than Dynamic Partition Elimination.


sybmigrate fails with the error, "Attempt to insert duplicate key row in object 'sysattributes' with unique index 'csysattributes'" at set up stage (sybmigrate -m setup).


ASE Agent Plugin does not automatically detect the ASE error log file location changes.


On Windows 2012, using syconfig, the backup server does not start when using the default backup server name.


DDLGen does not support object dependency export.


Execution of a stored procedure sometimes raises message 10334, "Permission related internal error was encountered". The statement being executed involves many UNIONs selecting from derived tables based on a temp table and the server is configured for multiple tempdbs.


Configure server using different account


The execution of the command "DROP PRECOMPUTED RESULT SET < prs_name > " on the primary database cannot be replicated into the standby database successfully.


ASE does not respond and appears to hang when certain invalid packets are sent to it.


Support is now provided for "high domain" (i.e. > 65535 unique values) parallel create index HASH based statistics gathering on minor attributes.


Different behaviour for ISNULL on a MAX() or MIN() aggregate of a character column may be observed when statement cache is used with esql.


In an HA environment when a role that contains a role activation predicate is dropped on the primary server the secondary server does not remove the predicate metadata.


On Windows machines having multiple network interfaces i.e. both IPv4 and IPv6, ASE may fail to boot Job Scheduler with error, "JS: Failed to connect on socket" whereas JS Agent log indicates that JA Agent is listening with message, "SYB_JSAGENT waiting for connection".


Under some circumstances, a 4720 error "Cannot truncate table '%.*s' because there are one or more isolation level 0 scans, or REORG command, active on the table." may be reported while a temporray is being dropped. Such temporary table is found to have a dlevel0cnt = 12.


DDLGen generates data partition names instead of index partition names in the index partition clause for a clustered index on an all pages locked table . Also the semantic order of partitions in the index partition clause for both clustered and non clustered indexes is not correct. Also if index partition names are system generated, then they are not generated in the partition spec , when -XPN option is specified


The backupserver error message " Invalid RPC sequence at RPC as_cmd." followed by " RPC ('as_cmd') execution failed." may be reported when a LOAD DATABASE is executed and the backupserver name "hostname:portnumber" cannot be resolved correctly.


A new configuration option "ENABLE LARGE CHUNK ELC" is added to enable/disable large allocation auto tuning feature in engine local cache.


After changing the owner of a replicated user table while DDL is not setup for replication, RepAgent may replicate DML commands on that table using the wrong owner name.


In rare circumstances, a task may hang when LIKE clause or patindex builtin operator is used on columns which contain LOB data marked as compressed.


A segmentation fault in tally_fetch() after a 249 error may occur during BCP IN due to invalid column default. Previous CR number is 552227 and the fix is under trace flag -T2781. Please turn on the trace flag to check column default data type during table creation time.


A new database option "deallocate first text page", and a new configuration value 2 of table attribute "dealloc_first_txtpg", are provided for tables having TEXT/IMAGE/UNITEXT off-row storage columns, to control whether to deallocate the first text page after updating off-row LOB value from non-NULL to NULL, or whether to allocate a first text page when updating LOB value from NULL to NULL.


The audit option sproc_perms can not be configured with sp_audit.


Under certain circumstances, sp_monitorconfig 'number of locks' reports Max_Used as the total number of locks configured in SDC.


A 156 error, "Incorrect syntax near the keyword 'default'" may be reported when executing ALTER TABLE MOVE PARTITION to 'default' segment.


An 806 error, "Could not find virtual page for logical page < pagenum > in database < dbname > " may be reported when executing DBCC CHECKTABLE.


SELECT INTO and INSERT SELECTs that use UNION statements terminated by a UNION ALL statement may fail with a signal 11 and stack trace that includes the module tree*GcElement::GcGetVar(). This tends to happen if the table being inserted into contains any identity columns that are not explicitly generated in the UNION ALL query.


If there is an UNIQUE index with IGNORE_DUP_KEY option on a partitioned table with many partitions such as 60, the BCP loading performance of OLD DATA may be much slower than that of NEW DATA. NEW DATA means most rows of it will be loaded into the table. OLD DATA means most rows of it will be ignored because they have been loaded into the table.


The message "current process infected with 11" in the module 'bufreserve' together with a stack trace which includes the modules 'drop_al_dbid' and 'alterdb' may be reported in the error log when an ALTER DATABASE LOG OFF command is executed to shrink this database log space.


The Remote Backup Server name is extended to allow the use of IPV6 hostnames with domain name.


When configuring RepAgent to use a security mechanism, the RepAgent Thread may fail to start and report a 9210 error. Moreover, RepAgent is using the ASE server name instead of the ASE principal name.


In rare circumstances, recreation of in-memory databases during start up of SAP ASE may hang when there are more than one in-memory databases with the same template database. SAP ASE can still be used, but an attempt to use the in-memory databases that are not recreated will result in an error 962, "Database with ID ' < value > ' is not available. Please try again later." being reported.


In some rare cases, a UNION query could return wrong result resulting in truncation.


When executing a JOIN involving a proxy table, and the optimizer chooses GROUPINSERTING for the NESTED LOOP JOIN plan, the ordering information in the query is lost and the result is not ordered as expected.


sp_config_dump stored procedure will now display usage information if invoked as sp_config_dump help or sp_config_dump 'help'.


When a database is loaded, the dump history file does not show any record for it and hence it is not possible to generate the dump sequence for this database.


In 15.x, under the default isolation level (Level 1), DELETEs/UPDATEs involving JOINs and/or correlated SUBQUERY could cause more number of exclusive locks to be acquired even when the qualifying number of rows are much less.


DBCC SERVERLIMITS displays a wrong value for the limit 'Max database device size'.


In some rare cases, running queries involving SQLUDF could lead to stacktrace in cpysqludf().


The monThread MDA table should list all ASE threads, however, on Windows platforms, the ASE clock thread is not listed in this table.


ASE on Windows may report "LAST CHANCE EXCEPTION HANDLER on OS thread id < threadID > ...A SERIOUS UNHANDLED EXCEPTION HAS OCCURRED SERVER MAY NOT BE ABLE TO CONTINUE" with kcierrfmt() on the stack during shutdown when the server is forcefully shutdown, for example through CTRL-BREAK.


The VERIFY option for the DUMP and LOAD commands does not give the user any indication of whether errors were found or not. The errors are currently reported only in the backupserver errorlog.


The dataserver gets a segmentation violation when dropping a login while the dataserver configuration for 'number of open databases' is less than the actual number of databases defined in sysdatabases. The segmentation violation is followed by a 905 error, “Unable to allocate a DBTABLE descriptor to open database 'dbname'. Close or drop another database before opening this one, or ask your System Administrator to raise the configuration parameter 'number of open databases'”


Hit error 806 when running shrink database and reorg defrag concurrently.


When resource limits is activated and a maximum transaction elapsed time is set, in CHAINED mode, a transaction is not rolled back after the specified elapsed time limit is exceeded.


The performance of the rollback of a skewed transaction, that is, a transaction that has bursts of activity separated by periods of inactivity, is unnecessarily slow.


Miscellaneous enhancements to the performance of boot time, LOAD DATABASE and LOAD TRAN recovery including better performance in undoing long-running (incomplete) transactions i.e. those that have bursts of activity separated by periods of inactivity.


New feature that reduces the amount of recovery time during LOAD DATABASE at the expense of increasing the time taken by DUMP DATABASE. Data that is changed while DUMP DATABASE is active is included in the dump so that the dump has more up-to-date contents. This is enabled using sp_configure 'optimize dump for faster load', < percentage > . Changed data is included in the database dump when the percentage of database data changed during DUMP DATABASE is more than < percentage > . This defaults to 0 in which no changed data is copied, and there is no reduction in the recovery time of LOAD DATABASE.


The KILL WITH STATUSONLY command has been enhanced and now provides information on the amount of log space scanned and to be scanned for a full transaction rollback. It differentiates different types of rollbacks, and reports a subset of information in cases where the rollback is not a full transaction rollback.


On big-endian platforms, queries involving BIGINT columns in MDA tables may return wrong results.


A 15095 error, "An invalid 'data row id' value was found in first text page of a text/image/unitext column." may be reported when running DBCC CHECKTABLE or DBCC CHECKDB on replicated Data Only Locked tables that have TEXT columns with values on forwarded rows.


srvbuildres cannot configure ASE when the available free space on the disk is very large.


If a previous Job Scheduler configuration failed, syconfig.exe and sybatch.exe do not re-install the ASE-15_0/scripts/installjsdb script in a rerun.


Running ins_syn_sql on a 2K page ASE may lead to the log segment being full.


Under some rare conditions, a query using a NESTED LOOP JOIN in an OUTER JOIN may encounter a signal 11 followed by a stack trace that contains the module LeSarg::mapSarg().


A timeslice error followed by a stack trace that includes the module rvm_dispatch() may be reported when show switch or any server-wide statement is executed in stored procedures.


A 11051 error, "ALTER TABLE ' < table_name > ' failed. Table is currently being used by one or more other tasks." may be reported when a REORG REBUILD command is run while another process concurrently runs a SELECT query on the same table at isolation level read uncommitted. Following this error and while the SELECT query continues to execute, any process that attempts to reference this table will fail mistakenly with an error such as 17461 "Object does not exist in this database.".


Under some rare conditions, if there is a HASH AGGREGATE operator above a JOIN operator, wrong query results may occur.


DDLGen does not extract DDLs correctly when stored procedures are grouped.


sp_helpsegment reports wrong used_cnt after shrink database.


The command ALTER DATABASE LOG OFF can result in the error 5057 ("The free space counts for the log are incorrect ...") being raised if the database has been loaded from a database dump where the command ALTER DATABASE LOG ON was run initially to extend the log.


In rare cases of extreme heavy loading, it is possible that BCP/SELECT INTO a big table might lose allocation page entries from the OAM.


The message, "Current process infected with signal 11" followed by a stack trace that includes the module altdb__clear_chunk() may be reported when executing SHRINKDB concurrently with sp_placeobject.


When I/O fencing is enabled, the server may fail to correctly fence the devices and start up. Need environment variable SYBASE_MAX_MULTIPATHS to override number of paths iterated which should be set to 1 if PowerPath is enabled.


The message "current process infected with 11" in the module 'ksct_startio' together with a stack trace which includes the modules 'ra_init_rs' and 'ra__connect_server' may be reported in the error log when the Rep Agent Thread attempts to open a new connection to the Replication Server and a previous connection attempt has failed.


DDLGen does not generate DDLs of a logical key on VIEWs when using -TLK or -TV.


Display Stat Wizard may fail with the error message, "Client password encryption fails".


Enhancement is made to reduce the use of MASTER..SYSDATABASES scan in order to avoid high SPINLOCK contention on "DEFAULT DATA CACHE" in some cases.


ASE may report errors like "JS: failed to receive jsagent response" and "Job Scheduler Task lost its Agent connection". JS Agent terminates without any errors in the JS Agent log. If core dumps are enabled on the platform, a core file is generated from JS Agent that contains the function sybcsi_mem_free() on the stack.


Auditinit may fail to add devices on space larger than 1 TB.


The message "current process infected with 11" in the module 'th_curunreservedpgs' may be reported when a session executes a SELECT statement that uses the T-SQL function "curunreservedpgs" while another session is in the process of extending the size of the current database with ALTER DATABASE command.


If the user is granted system roles indirectly through a user defined role, execution of sp_addthreshold fails with error message 10353 "You must have any of the following role(s) to execute this command/procedure: ' < names > ' . Please contact a user with the appropriate role for help."


A 17260 error, "Can't run sp_dbextend from within a transaction" may be reported when sp_dbextend is invoked in CHAINED mode.


Query with long IN list might cause stack corruption.


sp_downgrade 'downgrade' will fail at step 990 with a 137 error, "Must declare variable '@show_'".


The APFPercentage value in the monCachePool MDA table may report incorrect value.


Downgrade to versions lower than 15.7 ESD#2 will not remove the predid column from sysprotects.csysprotects. sp_fixindex or dbcc reindex will not change the index to the pre 15.7 ESD#2 definition.


Trace flag 364 support added for ASE 15.0 which uses the range density instead of the total density for optimizer costing when constant sarg values are unknown. Trace flag 16982 is created which uses the total density instead of the computed join histogram density. If trace flag 364 and 16982 are both set, then the sarg density will be used for the join.


In rare cases, the TRANSFER TABLE command may skip exporting an updated row if a target table is a Datapage or Datarow Locked table and it has forwarded rows or may hang up if a target table is a Datapage or Datarow Locked table and it has forwarded rows and large I/O buffer pools are configured.


Auditinit may a core dump if the "LANG" environment variable is not set correctly.


When inserting data into a table containing LOB columns and ASE happens to run out of log space, the message "Space available in the log segment has fallen critically low in database < dbname > . All future modifications to this database will be aborted until the log is successfully dumped and space becomes available" followed by a stack trace that includes the module logmodify() may be reported in the error log.


An 806 error, "Could not find virtual page for logical page < pagenum > in database < dbname > " may be reported when executing a stored procedure whose query plan is cached.


DDLGen does not generate the partition name and segment information for a hash partitioned All Pages Locked table with a clustered index. Only the number of partitions are generated in the DDLGen output.


Running UPDATE STATISTICS on an index containing non-materializing column may hit an error with a stack trace containing the modules stat_bld_row() and collocate().


A 2601 error, "Attempt to insert duplicate key row in object 'sysattributes' with unique index 'csysattributes'", followed by an 11068 error, "Transaction was found in the incorrect state of 'Command-attached'. The expected state was 'Done command-attached'.", may be reported in the error log during ASE startup in a Windows environment, if the configuration file has a 'Dump Configuration' section where the 'stripe directory' option is set to a value where backslash characters are specified.


The message, "Current process infected with signal 11" followed by a stack trace that includes the module init__data_vs_strategy() may be reported when running REORG REBUILD following which a DROP TABLE is executed.


Upgrade from 12.5.4 may fail at step 1564 with message 3606, "Arithmetic overflow occurred."


In ASE 15.7 ESD#2 and above, under some circumstances, ASE may encounter signal 11 or timeslice error with a stack trace involving the module idt_remove_all_reservations() while cleaning up identity reservations assigned for specific object.


A 17879 error, "Only users that have System Administrator (SA) authorization granted directly may add, or modify thresholds in that database" may be reported if a user that has been granted sa_role indirectly through a user defined role executes sp_addthreshold in a database where the user is not the actual owner.


A stack trace may be encountered with sybcluster if other plugins are installed incorrectly in the same directory.


When the number of statements in the Adaptive Server statement cache is large (approximately 13,000 or more) a query on monCachedStatement may terminate with error 3621, "Command has been aborted".


A procedure having SELECT INTO a temp table having UNION ALL and encrypted columns could result in wrong data in the target table and a subsequent SELECT from the table will result in a 15417: "An internal error occurred during a decryption operation (error code < n > ). Please contact Sybase Technical Support." error.


When attempting to migrate objects that may have storable comments such as PROCEDUREs, VIEWs, UDFs, PRE-COMPUTED RESULTSETs etc, if there are braces (curly brackets) within the comment section migration will fail with with a java.sql.SQLException. The same error will be observed if a curly brace appears anywhere in the proc DDL (search argument for example).


ASE fails to install with Job Scheduler on roman8 charset.


Under some rare conditions, if there is a HASH AGGREGATE operator above a JOIN operator, wrong query results may occur.


Error 207 may occur while running the sp_dboption stored procedure if quoted_identifier is turned on. This may also affect the Sybase Control Center Database Properties dialog by preventing the database options from being viewed or modified within Sybase Control Center.


Fixed spelling abbraviation error, mesc (millisecond) to proper abbreviation: sec.


For some special table names, REORG REBUILD and ALTER TABLE fail with an infected with 11 error on IdentifierType::IdentifierType.


ASE on Windows crashes due to system exception (0xc0000005) generated by a storage access violation with error message "attempted write to memory location 0000000000000000 from instruction at location 0x0000000000000000". This issue only affects ASE on the Windows platforms.


Deadlock may occur when SHRINKDB runs concurrently with REORG DEFRAG.


Data Only Locked tables with placement index undergoing ALTER TABLE MERGE PARTITION may lead to index corruption with 696 errors.


ALTER TABLE MERGE PARTITION may fail with error 14108 on a empty range partitioned All Page Locked table with a clustered index.


During the execution of DUMP DATABASE if the "compress::" option is used and only one stripe is specified, ASE 15.7 ESD#3, 15.7 ESD#3.1 and 15.7 ESD#4 will ignore the compression option prefix, resulting in an uncompressed dump. Additionally loading a valid pre-15.7 ESD#3 compressed single stripe dump will fail.


Columns with more than 65535 unique values, which also have some skewed values (i.e. represented as frequency cells in the histogram) could result in inconsistent histograms in which weights are outside the range of 0.0 to 1.0


An 8201 error, "Keep count of descriptor was expected to be 1. Instead 0 was found" may be reported by the upgrade utility when upgrading from 12.5.4


In rare cases, after the last chance threshold is crossed and the user executes DUMP TRANSACTION to free up log space, the last chance bit DBTH_LASTCHANCE will remain set in memory in DBTABLE, which will continue to cause processes to be suspended by the last chance threshold mistakenly.


A new configuration value of '2' is added to configuration option 'enable xml' for external entity reference in XML documents, ie, set "sp_configure 'enable xml', 2" for external entity reference in XML documents.


The incorrect message "The dump configuration ' < value > ' supplied for SELECT is invalid. The change is completed. The option is dynamic and ASE need not be rebooted for the change to take effect." may be reported by sp_config_dump with an option that is longer than the supported length.


In very rare situations where incorrect port number is specified for sp_listener, subsequent calls to sp_listener might fail.


Enhancement is made to reduce the use of MASTER..SYSDATABASES scan for better performance when accessing tables in other databases.


A 2626 error, "Illegal attempt to insert duplicate key row in the clustered index partition database < dbname > , object < objname > , index < idxname > , partition < ptnname > " followed by a stack trace involving the module indinsert() may be reported when inserting and deleting duplicate key rows in the clustered index partition for All Pages Locked table numerous times.


getpass.exe which is utilized in Web Services on Windows only, is currently not compatible with x64 platforms. This issue only affects ASE on the Windows 64 platform.


DBCC REINDEX has been enhanced to provide a new option (option value: 32) to drop suspect replication indexes only. The syntax is DBCC REINDEX (tab_name | tabid , 32)


Increase the number of expressions allowed in an ORDER BY clause.


Extended stored procedures added using sp_addextendedproc are malformed leading to failure of the extended stored procedure. sp_helpextendedproc shows an extraneous '[' character in the DLL name.


The message, "Current process infected with signal 11" followed by a stack trace that includes the modules d_deleteplan() and proc_plan_get() may be reported when executing DBCC DELETEPLAN.


The Backup Server error message indicates that there is RPC parameter count mismatch between ASE 15.5 and Backup Server 15.0.3. The message needs enhancement to prompt user to verify Backup Server version compatibility with ASE.


12308 error with delete or update against table in a query with distinctness e.g. joining to a distinct view or distinct derived table, and exists subquery, a union view or union in a derived table. changes associated with optcriteria cr669847 are enabled by default, but previous behavior (i.e. turn on fix only if optcriteria cr669847 is on) can be obtained by using trace flag 16987


The sense of Trace Flag 7773 has been inverted. Use of Trace Flag 7773 now disables the fix for CR 653511, which is on by default, ie, if a stored procedure undergoes recompilation, and the procedure makes assumptions regarding the session's state (ie session environment settings), the resulting recompiled plan can be significantly different than the original. This fix is now disabled when Trace Flag 7773 is on.


sp_sysmon can return incorrect CPU metrics.


An update of a view that has an INSTEAD OF trigger can cause an infected with signal 11 stacktrace in function copy_one_resdom() if the update assigns values to local variables.


ASE might report the 225 error that some query--referenced object cannot be dropped during query optimization in sp_sysmon_kernel_threaded when running sp_sysmon in parallel.


Cache bindings may be ignored if a 'strict' database recovery order is specified.


The PCI Memory management layer is enhanced to better service memory allocation requests for ASE tasks executing JAVA operations. The layer now makes a better decision from where to allocate the requested memory. It either uses the PCI Fragment memory pool for end-user coded objects, or the O/S system run-time for JavaVM internal operations.


CREATE LOGIN does not check if the login name already exists before calling sp_extrapwdchecks. This can cause sp_extrapwdchecks to update information stored for the existing login.


While using the partition_name builtin on multiple objects, the active objects could be recycled resulting in an information message, "Increase the config parameter 'number of open partitions' to avoid descriptor reuse. Reuse may result in performance degradation" being printed in the ASE errorlog.


sybcluster: create cluster complain release not exist when just no permission


The global variable @@tranchained shows inconsistent value when "SET CHAINED ON" is executed in the login trigger.


When running installhasvss, an error message indicating that it has 'failed to locate the sybsecuritydb' is hit.


When downgrading from 15.7 SP100 to a lower version, a 943 error will be raised when booting the server with the lower version and a stack trace will be encountered when running installmaster.


Certain stored procedures created with "execute as caller" may encounter errors at execution time.


DUMP DATABASE is getting a inappropriate warning message about DUMP TRAN with truncate_only


The number of unreserved pages may be incorrect after LOAD DATABASE has been executed if the database dump is from an older ASE version and it contains a large number of tables, each having multiple partitions.


An arithmetic overflow error may be reported by the function sp_f_getval when sp_spaceused is executed against large tables.


The recovery redo pass unnecessarily attempts to fix problems with deallocations and reservations for some committed transactions in cases where there was a long-running transaction at the time of the last checkpoint.


A signal 11 occurs in the function collectMonCSInfo when a query is executed on the monCachedStatement MDA table and the statement cache contains a statement that was created with a user-defined optimization goal.


On tables with indexes, heavy insert activities can lead to 1295 errors, "Unconditional lock request for table or page was made while holding a latch".


DUMP DATABASE with verify[=header | full] options and LOAD DATABASE with verify[only][=header | full] options commands have been enhanced to detect a mismatch between the page header and tail timestamps for Data Only Locked tables.


sp_versioncrack returns NULL as ESD, with new ASE version strings.


Enhancement is made to use less SYSTYPES scans when creating table.


When DUMP DATABASE or DUMP TRANSACTION is run to a tape device, if the tape device configuration file ‘backup_tape.cfg’ exists, ASE will not be able to read it and the dump will fail. The Backup Server will report the error, "The format of the device configuration file < $SYBASE > /backup_tape.cfg is invalid. Remove the configuration file and reconfigure the device by issuing a DUMP with the INIT qualifier. Return code = 0".


When a character set conversion is required for very long string input ( > 255 character), for example converting client Windows code page 1252 to a server using code page 850, if the input string had a character unconvertible to the server character set, the connection would be inappropriately killed (with a stack trace), in addition to the issuance of the server conversion error message.


If ALTER TABLE is used to add a NOT MATERIALIZED column < c2 > with a default, then another nullable column < c3 > is added to the table and REORG REBUILD the table, a query to the table will also assign the default to the column < c3 > .


When executing UPDATE STATISTICS with an object name that contains unusual characters, the command may fail with an internal error.


In case of an exception, SAP ASE hits an error 1265 while aborting / rolling back the transaction. Abort or rollback of the transaction may happen because of some internal / external error. Error: 1265, Severity: 20, State: 1 An illegal attempt was made to release an invalid lock or a lock that is not owned by the process family.


The message, "An internal memory management error has occurred. Error code: Invalid slot id.", followed by a stack trace involving the modules mda_exec() and mda_populate_monTask() may be reported when querying table monTask with clause KTID=0.


If a LIKE predicate is used, then optimizer estimates for keys for a limiting index scan may be incorrect if a VARCHAR variable is used for the pattern match. This is especially true when there are no pattern matching characters used e.g. r.a LIKE "ABC". optcriteria CR731808 can be used to correct the optimizer estimate issue. Command line trace flag 16965 will also enable the fix.


The Backup Server is enhanced to perform consistency checks on All Pages Locked (APL) and Data Only Locked (DOL) data pages during DUMP DATABASE execution. If an error is detected on a page, the page is reread for validation. These checks will be performed if DUMP DATABASE is executed using WITH VERIFY option. Alternatively, start up the backup server with boot time trace flag -D64, or use the run time trace flag SYB_BACKUP...qatraceon 8, to enable these checks by default.


A 15432 error, "A validation check failed when Adaptive Server decrypted an encryption key. This error may indicate an incorrect password" is raised when a user with login association of a key executes a stored procedure that accesses a column that is encrypted with the key.


The message, "Current process infected with signal 11", followed by a stack trace that includes the module ptn_get_aphintpage() may be reported when executing a CREATE INDEX or REORG REBUILD command.


An ALTER TABLE command issued on a partitioned table where the partition degree is greater than the user's parallel degree may result in various failures.


Under some rare conditions, a 4720 error "Cannot truncate table '%.*s' because there are one or more isolation level 0 scans, or REORG command, active on the table" may be reported if auto_temptable_stats is turned on.


The message, "Current process infected with signal 11" followed by a stack trace that includes the module VTABRemoteAccess() may be raised when accessing a proxy table materialized at procedure whose name starts with a '$'.


An 804 error, "Unable to find buffer < buffer address > from cache < cache name > holding logical page < page number > in sdes < sdes address > kept buffer pool for object < table name > ", may be reported when inserting data into TEXT/IMAGE/UNITEXT columns.


sybmigrate does not preserve indexes in the indexid order.


In rare cases, dataserver can hang due to this deadlock situation: one session sleeps on grabbing DES while updating statistic in rollback a DELETE; the other session sleeps on writing dirty buffers when scavenging a DES.


A query against a remote table may get a signal 11 during UPDATE STATISTICS.


Under certain circumstances when a threshold action is defined, and user is dropping a procedure, and the procedure happens to be the last row of the sysprocedures page, an 873 error may be reported when log space is low, and the threshold proc gets spawned.


The summary stats for histogram (i.e. unique count, density) generated by hash based statistics gathering may be inaccurate. This could occur when OPTDIAG labels a histogram as "high domain".


The Job Scheduler fails to start if quoted_identifier property is set for the connection (which is used to start the Job Scheduler). The following error is logged in the SAP ASE errorlog: "Job Scheduler: IS_ISQL_EXT failed [set nocount on use sybmgmtdb print ":s: %1!", "sybmgmtdb"]"


REORG REBUILD < table_name > WITH ONLINE command, does not update the index create time-stamp(index_created field in sp_helpindex output) for the indexes rebuilt.


Schema lock displayed as GUID lock in sp_lock output


ALTER TABLE < TABLENAME > SPLIT PARTITION may fail with errors such as 2601 (Attempt to insert duplicate key row in object < name > with unique index < name > ) when there is a non-clustered index.


The unreserved space stored in the table sysusages can become a huge number bigger than the fragment itself if the number of allocated pages indicated in the OAM pages for some objects becomes corrupted and show pages allocated that are not.


Under some circumstances, a 4720 error "Cannot truncate table '%.*s' because there are one or more isolation level 0 scans, or REORG command, active on the table." may be reported while a temporray is being dropped. Such temporary table is found to have a dlevel0cnt = 12.


A 8201 error, "Keep count of descriptor (objid=14, dbid= < value > ) was expected to be 1. Instead 0 was found" followed by a stack trace that includes the module 'des__unkeep' may be raised if ASE fails to allocate space for either SYSGAMS or SYSDAMS.


Sometimes Procedure Cache ELC (Engine Local Cache) for some of the engines does not get configured during engine boot, which leads to Procedure cache ELC not getting used on the engine and thus leads to contention on the rproccache_spin spinlock. This condition can be detected using the ASE errorlog. If an engine is brought online but does not have the message "Proc header memory allocated < nn > pages for engine < engine_id > local cache" for that engine then the Procedure Cache ELC is not properly configured for that engine.


If the number of system roles of target server is more than source server's, after running symigrate -m migrate, sybmigrate will drop from sysusers those roles that are 'new' in the target server. This issue can specially be seen when users are migrating from ASE 12.5.4 to ASE 15.7.x


In rare cases, the message "Invalid column length" may be reported in the ASE errorlog to indicate there are issues in the index creation when creating an index on a Page Compressed table.


Incorrect disk activity may be reported by sp_sysmon_diskio when there is no disk I/O in given sample period on this device.


After upgrading, the value of systabstats.rowcnt for the syspartitions and sysobjects tables will be 1 less than the actual number of rows in these two system tables.


If a parallel plan's thread count exceeds the session's parallel degree, then the plan will undergo Compile time Thread Adjustment (CTA). If the plan contains a semantic scan under a semantic dependent operator (JOIN, DISTINCT, GROUP, or UNION_DISTINCT), then the semantic dependent operator's plan fragment (from its containing xchg op) may have it's degree adjusted incorrectly which could result in wrong results.


An ASE spid with remote I/O may hang when killed. Even reissuing the kill does not help.


The stored procedure sp_dropexternlogin will fail when executed by a user that has SSO_ROLE and not SA_ROLE when granular permissions is not enabled.


Provide downgrade support from 15.7 SP110 to SP100 to prevent loading database or transaction dumps containing transactional activity from INSERT-BULK with parallel index updates work load. Extend db_attr(), and loginfo() built-ins to examine database feature-set. Extend LOAD ... WITH HEADERONLY to report the features found in the dumps.


The "recovery prefetch size" configuration parameter is added to configure the lookahead size (in terms of log pages) in order for recovery to prefetch to-be-recovered pages. When set to 0, SAP ASE will automatically optimize the value.


In DDLGen 15.7 ESD#3 and later, 'set quoted_identifier on' is reported in the DDL output even when it is not specified in the actual create table SQL.


A timeslice error may occur followed by a stack trace involving the module itl_au_update_xfer_mark() with executing BCP-IN or update DMLs, if 'transfer table' is set on a large table with data more than 47GB on 2KB page size (95GB on 4KB pagesize, 190GB on 8KB pagesize, 380GB on 16KB pagesize).


Add the ability to suppress warning message regarding the ignoring of hints under the presence of abstract plans. This is enabled under Trace Flag 15381.


ASE allows configuration parameter 'max online engines' to be set to a value lower than 'number of engines at startup' leading to an incorrect value for the parameter 'max online Q engines'. This can result in incorrect calculations for the 'maximum number of engines' resulting in ASE hitting a SIGSEGV followed by a stack trace involving the module ueisonline().


Timeslices may occur with statistics gathering using hashing.


The estimate for NULLs in the optimizer may be incorrect if hash based statistics gathering is used, when the number of unique values in the column is greater than 65535.


The severity of error message 5805 and 5806 is now changed from EX_USER to EX_INFO since they are just warnings.


ASE no longer rejects requests to add remote logins with same server name as local server.


Device Props does not display databases that are using a device on little-endian machines. On big-endian machines, unintended databases may get displayed.


Active roles being reset leading to permission errors.


The error 822 "Could not start I/O for request.." followed by a stack trace that includes the module altdb_shrinklog() could be raised in a Cluster Edition server if a fragment of the database log is shurnk using the command ALTER DATABASE LOG OFF and the device where this fragment was is dropped.


When a user with sso_role runs a query accessing a table, a 2736 error, "Owner name that was specified is a group name. Objects cannot be owned by groups" may occur followed by a 706 error, "Process < n > tried to remove PROC_HDR < addr > that it does not hold in Pss", during recompiling a light-weight procedure if statement cache is enabled. The processed will be terminated.


When using hash based statistics gathering on columns with more than 65535 unique values there is a possibility of inaccurate summary statistics of the range density and range unique counts as displayed in optdiag. This may lead to suboptimal query plan selection.


Add open client version to monProcess under column ClientVersion


The 695 error, "An attempt was made to read logical page ' < n > ' for database ' < dbname > '..." could be raised in an archive database when the database dump contains more than 256 contiguous log pages.


If DBCC DBREBOOT is unsuccessful for some reason, the status in sysdatabases may sometimes incorrectly indicate that a forced shutdown is in progress, even after SAP ASE has been shutdown and rebooted successfully.


In rare occasions, Adaptive Server's internal timer becomes non-operational. Such occurrence is reported to the errorlog with messages like “Warning: Alarm Service for Timer non-operational. If this message generated multiple times, report to support and restart the server (alarminterval=-7001)”


When the configuration parameter 'max network peek depth' is configured to a positive value, ASE will look for an attention up to the specified depth in the pending input on a connection, and if one is found, all input preceding the attention packet as well as the attention packet itself are discarded, the currently executing command is canceled and an attention acknowledgement is sent to the client. When running with the default value 0 of the configuration parameter, ASE looks for an attention only at the start of pending input.


DDLGen can generate an incorrect header message while generating ddl for a load profile. Instead of saying 'DDL for LoadProfile', it can say 'DDL for :user'.


ASE hits SIGNAL 11 (SIGSEGV) when it runs out of spinlocks under heavy CT-Lib calls if 'max cis remote connections' configuration value is DEFAULT (which is 0). Setting 'max cis remote connections' to appropriate value is suggested to avoid reserving high number of spinlocks (upto four times 'number of user connections').


Command line trace flag 16964 is added to turn off the row constructor optimization for range predicates. This optimization may cause an underestimate of the limiting selectivity of an index scan when a range predicate exists on an indexed column followed by limiting predicates on subsequent columns. For example, if an index I(a,b,c) has predicates a > 5 and b=10 and c > 20 then the range predicate on “a” is followed by minor attributes “b” and “c” which also have limiting predicates... then the scan selectivity on the index "I" may be underestimated.


When ASE Server is not in single user mode during sp_downgrade 'prepare', report a warning message to indicate it instead of stopping the validation.


When dropping an encryption key, the 15401 message is reported with malformed values in the message.


When SAP ASE is booted with trace flag 7437 it will not switch from an OAM scan to an allocation page scan when an incorrect page count value in one or more OAM entries is found during boot time recovery and while calculating the free space page counts for a database.


The LogicalReads value in the monProcessActivity and monProcessStatement MDA tables remained unchanged when a long query is executing.


The index page scanning selectivity estimate may be too optimistic for an index, in which a prefix of 0 or more positioning equality predicates (such as r.a = 1 and r.b = 2) is followed by a positioning range predicate such as (r.c > 5) is following by subsequent trailing positioning predicates (such as r.d = 10 and r.e > = 20). The change enabled by the new optcriteria limit_row_constructor will limit the index page scan reduction by at most 50% (in our example it will limit reductions contributed by r.d, r.e).


Adaptive Server 15.7 may execute SELECT queries at isolation level 3 on Data Only Locked scheme tables slower than SAP ASE 15.0.3 or 15.5 if the session executing the SELECT query holds a large number of locks.


The error "Page Verification Error: Page mismatch. Page < page # > contains 0 in page header." could be incorrectly printed in the Backup Server errorlog when executing DUMP DATABASE WITH VERIFY. This error is spurious and can be ignored.


For objects with no storage, error 691 may be reported while running a CREATE INDEX command if either a dump is in progress or an incremental dump is in progress.


After running sp_reptostandby/sp_setreptable/sp_setrepcol with "use_index" option on compressed in-row LOB columns, dbcc checktable() may report various kinds of index errors.


At times the systabstats empty page count column may get values near to 2^32 (~4294967295) if inserts into a table are rolled back.


srvbuildres optimization fails when specifying '16K' as the logical page size in the resource file for the Adaptive Server.


Backup Server may occasionally report a spurious error when executing a DUMP or LOAD WITH VERIFY[ONLY], as a result of checking a page that is already deallocated. This is more likely to happen when the deallocated page belonged to compressed table.


The builtin asehostname() is now made a grantable builtin.


On a High Availability (HA) System, sp_companion may hang if sp_sysmon is running at the same time.


A 692 error, "Uninitialized logical page < pageno > was read while accessing database ...", may be reported after loading an in-memory database dump from a database where this page was used but was marked as deallocated incorrectly, resulting in this page not being archived in the dump.


Sometimes queries that involve multiple DERIVED TABLEs or VIEWs may return wrong results. The kind of queries that could be affected by this needs the following elements: (1) A DERIVED TABLE with a correlated expression SUBQUERY as one of the DERIVED TABLE’s SELECT list items. (2) Another correlated SUBQUERY in the parent query block which is referencing the expression SUBQUERY result from 1) as the correlated column. (3) Both 1) and 2) are under an IN SUBQUERY of the top query block. 1) and 2) lead ASE query tree to use a worktable for the DERIVED TABLE and 3) puts an EXISTS requirement over a table used by the DERIVED TABLE. The combination causes ASE to miss the EXISTS requirement on the table when generating a plan and leads to duplicate rows.


Added new option SET PLAN SHARED ON and server wide param 'abstract plan sharing'. It enables Abstract Plan sharing between different users. Tables in the query with shared abstract plan must be explicitly prefixed with the owner name or belong to the DBO user.


The built-ins or stored procedures that rely on OAM for space accounting get blocked on an exclusive table lock on the table.


When the source server is 15.7 ESD#2 or later, sybmigrate -m migrate session may fail with the error, "The catalog 'sysusers' in the target database appears to contain rows which were either installed by the user or were previously migrated. Cannot proceed with migration of 'Users'".


isql client may hang, or wrong TDS token error may be reorted by isql client, when running concurrent SELECT cmd and DELETE/UPDATE cmd on TEXT/IMAGE/UNITEXT columns


A 247 (arithmetic overflow) error may be reported when the syscachepoolinfo and syscacheinfo MDA tables are queried.


Adaptive Server Enterprise may crash and generate a core dump without any stack trace or messsage while multiple sessions run sp_companion simultaneously in threaded kernel mode.


A 2583 error, "Number of data pages < value > counted by DBCC differs from count in the data OAM < pageid > for dbid < dbid > object < objectid > ." may be reported when running DBCC CHECKTABLE on a table having a clustered index or placement index after the database that the table resides on experienced a load tran of ASE 15.5 or earlier to a server of ASE 15.7 or after.


Sometimes an insert query with union view or derived table with union in which tables have check constraint, could cause a signal 11 (SIGSEGV) and a stacktrace in errorlog involving the function NormalizeScalar().


For query SELECTing multiple count aggregates, wrong result could happen when the final plan uses two phase aggregates. One of the count aggregates could come from an AVG(). It is more likely to happen when the two phase aggregate plan is also a parallel plan, or when the query is also a GROUPBY query with a HAVING clause equal-comparing two of the count aggregates.


An ASE task making a remote procedure call to a server with server option 'net password encryption' set to true and 'cis_rpc_handling' disabled can go to sleep indefinitely and the client appears to be hung.


syconfig.exe fails to optimize the server.


A 692 error, "Uninitialized logical page '24' was read while accessing object '2' in database ' < dbid > '. Please contact Sybase Technical Support." may be reported when a 12.5.4 ASE database dump that was made with a 15.7 ESD#4.2 Backup Server is loaded back in a 12.5.4 ASE.


ALTER TABLE on a data compressed table may lead to heap memory (CPINFO pool) corruption. ASE stacktraces may be seen involving the functions kbfalloc() and cpinfo_allocbufs().


The error, "Table Corrupt: The row number and offset of each row in the page should have a matching entry in row number table ..." will be incorrectly reported in the Backup Server error log on pages with deleted rows that belong to an All Pages Locked table when executing DUMP/LOAD WITH VERIFY.


System table sysusers is accessed too often during procedure execution.


Need a mechanism to change the size of Engine Local Cache (ELC). By default ELC is 50 % of configured procedure cache size.


The Backup Server is enhanced to perform consistency checks on Data Only Locked (DOL) index pages besides data pages during DUMP DATABASE execution.


In rare scenarios, highly contended system with large number of databases, workload consisting of large number of short dmls, rdbts_spin could be highly contended.


The function row_count() when used on system tables returns zero after upgrade from SAP ASE 12.5.4


If a procedure get recompiled during execution, query against monProcessProcedures may get duplicate procedure entries.


When updating an in-row LOB datum to NULL, the LTL generated for the update of the datum wrongly includes the LTL qualifier 'tpinit' instead of the qualifier 'zerolen'. This does not cause data corruption, or interruption of replication. Nevertheless, according to the LTL specification, the qualifier 'zerolen' must be used.


The unreserved space reported by either the stored procedure sp_helpdb or the builtin curunreservedpgs() could be wrong after executing any of the stored procedures sp_addsegment, sp_extendsegment or sp_dropsegment.


In rare case, SELECT on a DOL table with index may cause ASE to shut down with a timeslice error and followed by a stack trace that includes the modules bt__handle_LAdone(), bt__qualpage(), bt__scan_massoffset() and bufoffset().


The backupserver sample resource file is missing ASE login and password attributes for sybatch.exe


A 7949 error, "The number of pages used and unused for object < objid > index 255 partition < ptnid > on allocation page < alloc_page_no > do not match the counts in the OAM entry." followed by error 7940, "The counts in the OAM are incorrect. This implies that there are entries missing. Run tablealloc utility with the FIX option on the table with the inaccurate OAM counts." may be reported by DBCC TEXTALLOC and FULL option after inserting data with BCP into a table that has LOB columns and the option 'lob_compression' is enabled in the target database.


When using hash based statistics collection and over 65535 unique values exist in the column then it is possible that the summary statistics (such as density) may be slightly inaccurate. If one looks at the optdiag output for the column and determines that a range cell is used for the first cell even though only one domain value can fit into the cell, then it is possible for summary statistics inaccuracies. It is possible, but unlikely, that query plans could be adversely affected.


A cheaper plan containing the merge_union_all operator may be skipped in favor of a more expensive plan using a sort operator on top of an append_union_all.


In rare cases in a cluster environment with more than one node, ONLINE DATABASE may hang if the log segment free space falls below a threshold.


A 3261 error, "You cannot load this dump because it contains functionality that is available only on the server on which it was dumped" will be reported by LOAD DATABASE when trying to load a database dump which was taken while the database option "deallocate first text page" was active, or at least one table in this database had the attribute "dealloc_first_txtpg" set to 2.


A login account that has a login-specific password expiration setting may have the global password expiration setting applied to it if the server encounters a 1204 (out of locks) error during the login attempt.


The Java Compile Suite layer in Adaptive Server that is responsible for UDF/ADT support and SQLJ queries execution towards the target JavaVM has been enhanced to allow the release of intermediate allocated Java objects. This was causing the JavaVM heap memory allocation to be exhausted under a heavy load application environment.


The message, "Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRAN is missing. Previous count = 1, Current count = 0" is wrongly reported in chain mode.


In rare circumstances, dropping a connection upon the CIS idle timeout may result in concurrent execution of Ct-library calls which may result in undesirable behavior.


Linux client failed to redirect connections to Windows Server.


sp_dbextend does not observe default device growby limits.


sp_sysmon gives wrong average values for 'Engine Busy Utilization' in process kernel mode.


Under rare circumstances a 696 error: "An attempt was made to read logical page ' < page# > ' for database ' < dbname > ' ( < dbid > ), object ' < tablename > ' ... from disk. Wrong logical page ' < page# > ' was brought into cache 'default data cache'." may be reported in the error log for allocation pages after the execution of CREATE, ALTER or LOAD DATABASE commands in an ASE installation using a page size that is greater than 2K-bytes and when during their execution the message "No large buffers were available, so pages are being cleared by writing each page separately. Please be patient" is reported. Alternatively a 2529 error, "Table Corrupt: Attempted to get page < page# > , partition ID 99; got page < page# > , partition ID 99." may be reported by DBCC CHECKALLOC.


In some rare cases, accessing a system table could result in 8201 error being raised.


When running REORG REBUILD against a table whose name or any column name might form part of a reserved double or triple keyword phrase it is possible for an error 156 error to be reported along with error 11934 and for the REORG REBUILD command to abort.


When ASE is configured with the 'process' kernel mode and with several engines, the RepAgent Thread may be infected with signal 11 in the module 'uctSetIssuedCnt' while shutting down with a stack trace reported in the error log which includes the modules 'usctclose' and 'ra_drop_csconn'.


After downgrading from ASE 15.7 to ASE 15.5GA, when booting the ASE 15.5GA server, a segmentation fault may be encountered during startup while attempting to reconcile the downgraded configuration options.


If there are significant concurrent activities which pin buffer cache pages in the named tempdb cache (or default data cache) then it is possible that the server could appear to hang due to lack of buffer cache. The kind of activity that could lead to this state is "hash based statistics gathering", "sorts", "query plans using hash operators".


The error 2550, "Missing segment in sysusages segmap", will be unnecessarily reported by DBCC CHECKCATALOG if a database has a fragment with a segmap equal to 0.


In rare circumstances, a 3474 error, "During redo the page timestamp value is less than old timestamp from log" may happen while loading a transaction log dump containing a rollback of a CREATE INDEX operation in database that has ddl_in_tran option on.


Optdiag tool was running as a ctlib application of a lower version, so it misinterpreted (and wrongly displayed) BIGDATETIME and BIGTIME values reported for statistics.


Improved the RAT Multiple Scanners code concurrency by removing the usage of un-needed locking primitives.


In certain circumstances, databases, including system databases, can incorrectly get into LOG SUSPEND mode, issuing message: "Space available in the log segment has fallen critically low in database ' < dbname > '. All future modifications to this database will be suspended until the log is successfully dumped and space becomes available." This may happen even though there is much unreserved space in the database. The problem may also manifest in 3475 errors: "There is no space available in SYSLOGS to log a record for which space has been reserved in database < dbname > ."


A 941 error, "Illegal database context operation." may be repeatedly reported in the error log by the housekeeper wash task. An ASE reboot is the only option to stop this message from being reported.


When a table is partitioned based on a list of values including the NULL value, the NULL value may be ignored when compared to NULL, leading to wrong results.


Assertion fail in le_subst.cpp maybe raised when index only contains fixed-length columns.


In some circumstances, monOpenObjectActivity may report ObjectCacheDate for the cached object as 'Jan 1 1900 12:00AM' or other wrong date value.


Querying a DATE column from remote DB2 table may result in cs_convert overflow error.


When the stored procedure sp_renamedb is executed from a read-only database, a wrong error message, "You cannot run stored procedure 'sp_renamedb' from a low durability database" is reported. The message should be "You cannot run stored procedure 'sp_renamedb' from a read-only database".


DUMP DATABASE to TSM API on Windows platforms can fail with the error message, "D00: SYBMULTBUF ERROR: Emulator interprocess communication failed with error state = 9, error code=109, system message=Cannot get operating system error tex." Occasionally, the message, "system message =The pipe has been ended. Refer to your operating system documentation for further details." can also be reported. This issues only affects ASE on the Windows platforms.


In rare cases, when updating CHAR, VARCHAR or IN-ROW-LOB columns on a PAGE compressed table and there are many non-printable characters in the existing column value, the update may fail.


In rare circumstances, an 8201 error, "Keep count of descriptor (objid= < obj_id > , dbid= < db_id > ) was expected to be 1. Instead 2 was found" followed by a stack trace that includes the modules des__clean() and des__scavenge() when a system is running out of descriptors.


Added a diagnostic check to help identify LRU chain issues. Trace flag 897 has been added to enable the instrumentation.


The 3702 error,"Cannot drop the procedure 'sp_aux_getsize' because it is currently in use." will be raised if a user tries to drop the stored procedure sp_aux_getsize before the server has finished the recovery of every database.


Intelligient index scan may lead to non-optimal index in plan selection.


When running UPDATE INDEX STATISTICS with SAMPLING command, numerous errors may be reported in the errorlog - 1105 errors: "Can't allocate space for object 'temp worktable' in database 'tempdb' because 'system' segment is full/has no free extents. If you ran out of space in syslogs, dump the transaction log. Otherwise, use ALTER DATABASE to increase the size of the segment" and 1764 errors: "Failed to insert row into worktable, when projecting base table on to work table for collecting statistics".


Certain stored procedures created with "execute as caller" and using user defined datatypes may produce 2716 errors at execution time.


The 12320 message, "Fatal internal error encountered when forwarding row < rowid > in table < tablename > , database < dbname > during update. Aborting the transaction" may be reported when updating a DOL row on a table defined as Page Compressed.


Under rare circumstances backup server may produce unpredictable text attached to the dump trailer.


The 18124 message, "No matching configuration options" may be reported when executing sp_configure "solaris async i/o mode"


Shrinkpage() will raise a 631 error if the parent nonleaf page has only one nonleaf row that points to the shrinking page.


When backup server is started with trace flag –D2048, the pages that have been allocated after the backup server built a list of pages to be archived and before the related allocation page is read by sybmultbuf, will be resent. Prior to dump a database one can run “SYB_BACKUP…qatraceon 105” that will add appropriate messages in the backup server error log when a resent has occurred.


If the server crashes in the middle of SHRINKDB, the segmap number on sysusages table may not be updated to 0.


Add option to Connect Dialog to connect to the last-used database (instead of the default database).


In rare circumstances, the RepAgent thread may fail to terminate and hang in the module 'upsleepgeneric'. The execution for DBCC STACKTRACE( < RepAgent_spid > ) would indicate the RepAgent sleeping in the modules 'usctcancel' and 'ksctsuspend'.


When auditing option to remove java classes is turned 'on', sp_audit stored procedure returns with a message that the option is 'off'.


The message, "Current process infected with signal 11", followed by a stack trace that includes the module ssql_release() or ssql_choose_victims() may be reported in the SAP ASE error log when the statement cache is full in a high concurrency SAP ASE environment.


Load dump with list_only=create_sql sometimes fails. A Unrecoverable I/O or volume error may be reported.


A core dump facility is added to the sybmon configurable shared memory dump feature. This is supported only on Windows platforms.


A 1209 error, "Internal Error in lock manager routine: Attempted lock upgrade from shared intent to shared table in parallel query thread is illegal", may be reported in the error log during a SELECT or SELECT-INTO query on a table with parallel plan if there are concurrent DMLs or utilities operating on the table.


In rare circumstances, the task will hang when LIKE clause or patindex(builtin) operator on the columns which contain the LOB data defined as compressed.


After multiple HADR failovers, new client connections to a server in the HADR group may fail with error message "Read from the server has timed out" or "There is a tds login error".


Backup Server introduces a remote access control feature that prevents remote dumps and loads and execution of remote procedure calls (RPC) from any client or server running on unauthorized servers. Local dumps are not affected by this feature. Authorization to dump or load, to or from Backup Server is achieved by including the authorized hosts in the host.allow access control file. The default location of hosts.allow file is $SYBASE. The location and name can be changed using the Backup Server parameter -h.


Stored procedures using "execute as caller" with builtin functions may attempt to access objects that do not belong to the caller (but do belong to the procedure owner).


The show_cached_plan_in_xml() function reports incorrect timings on the AIX platform.


When LOAD DATABASE < dbname > WITH LISTONLY=LOAD_SQL is executed, incorrect output may be generated if the database was dumped using a dump configuration with an external API. As an example "LOAD DATABASE test FROM 'C:\Windows\system32\syb_tsm::test.DB.20130429.171214.000'" may be reported instead of "LOAD DATABASE test FROM 'syb_tsm::test.DB.20130429.171214.000'".


"shutdown with nowait" may fail to shutdown the server followed by SIGSEGV stacktrace with modules ktMuxThreadGetSchedQ(), ktMuxThreadTick(), utpApplyAll(), utpmApplyAll(), kaclkintr_thread() on the stack.


If a table has small compressible off-row LOB columns that are not compressed due to size or other factors, ASE RepAgent may send an incorrect text length to Replication Server causing the Replication Server to stop replicating.


RepAgent may run out of memory and shutdown if started and stopped a large number of times.


Inappropriate right truncation error is raised when long BINARY values at or near the full width of a long column are inserted via dynamic SQL prepared statement.


Database device remapping is disabled when a database is loaded with VERIFY.


When a query involves multiple subqueries under ORs, and the final plan places the subquery JOIN operator at the top of the plan, then there a much better plan that may be skipped. Optcriteria cr738692 will turn on the fix.


A Fault Type Error 100008, "Fixed format error", may be reported by DBCC CHECKSTORAGE if DBCC CHECKDB or DBCC CHECKTABLE is run on a database/table which contains variable length columns previously.


An 806 error, "Could not find virtual page for logical page < page_id > in database < db_name > ", may be reported when executing DBCC CHECKTABLE/CHECKINDEX/CHECKDB/REINDEX after shrinking a database containing a table with suspect index.


The message, "Error: sdt_getpage: Attempt to read page '0' but device < device_name > is not open. Exiting", is reported when a cumulative dump is used as a metadata file for sybdumptran.


CIS spid in 'terminating' state might hang at times in the usctconnect() function as observed in the DBCC STACKTRACE(spid) output.


Under rare circumstances, a 12313 error, "Internal error: Insert into page id < pageno > of index id < indid > of table 'sysobjects' (id= 1) in database ' < dbname > ' tried to replace undeleted RID ( < pageid > , < rownum > ) at slot < slotnum > and ridposn < ridposn > . Try dropping and recreating the index." may be reported while loading a transaction log dump after onlining the database with STANDBY_ACCESS mode. The fix provides trace flag 3170 to bypass this error. Please turn on trace flag 3170 and reload the dump sequence.


ASE will now no longer cache INSERT VALUES statements that has LOB literals exceeding 16k size.


Some user queries might cause segmentation fault with signal 11 when auditing and compatibility mode options are turned on.


If an ODBC or JDBC client enables one or both of HADR_MAP and HADR_NOKILL capabilities, different message text for same error codes is seen in case of HADR errors.


The message, "Current process infected with signal 11", followed by a stack trace that includes the modules s_compile() and s_recompile() when a stored procedure is renormalized and phdr_nondiskres is set for the proc_hdr.


ASE Cluster Edition fails to boot when using EMC devices. A truss on AIX or Solaris will show repeated ioctl system calls. This issue only affects ASE Cluster Edition.


In rare circumstances, for APL table with both clustered index and non-clustered indexes which are created on a shared disk cluster ASE server, INSERT task may not respond even if it is cancelled (by CTRL C) when run with concurrent INSERT tasks. Meanwhile, lots of 1205 error messages, "Your server command (family id < value > , process id < value > ) encountered a deadlock situation. Please re-run your command", will also be seen in the error log.


ASE will fail to startup if I/O fencing is enabled on devices with virtual uplinks. This issue only affects ASE Cluster Edition.


In some scenarios, a database in single user mode could be used by a user session that is not expected to be using the database.


sp_showoptstats does not correctly display the derived statistics message. A derived statistics tag is now added to sp_showoptstats. < statParDer > true < /statParDer > will be displayed when histogram statistics are derived from underlying partition statistics.


If any of the system databases is > 2GB, the Update Adaptive Server in the installer or $SYBASE/ASE-15_0/bin/updatease (%SYBASE%\ASE-15_0\bin\updatease.exe on Windows) utility will fail with "Arithmetic overflow occurred." error.


The show_condensed_text built-in function returns a NULL value for queries in the statement cache when the 'enable literal autoparam' configuration parameter is enabled.


For a share disk cluster database with tables having identity column, the Error 2601, "Attempt to insert duplicate key row in object 'sysattributes' with unique index 'csysattributes'", may be encountered when executing DUMP DATABASE or REORG REBUILD TABLE if nodes leave and re-join the cluster. If the cluster is killed, the old identity values may also be generated.


ASE may report a 12062 error that the operation stack has overflowed when "execution time monitoring" is on.


The message, "Current process infected with signal 11" followed by a stack trace that includes the module ktMuxThreadGetSchedQ() may reported during shutdown and may not lead to a complete ASE shutdown.


When the example stored procedure sp_extrapwdchecks from Adaptive Server documentation is created in master database to perform additional password checking and password history maintenance, a new row is incorrectly inserted into the password history table with a value of “null” for the column “name” when the password change is done by a different user with role sso_role or Granular Permission privilege manage any login.


A non-privileged connection to primary with HADR_MAP capability enabled gets killed after primary is deactivated without any error message.


An undetected deadlock may occur between DUMP DATABASE and other tasks trying to reserve space in syslogs.


When a merge statement inserts a new record into a table with an identity column, the identity column will be populated with correct value but the global variable @@identity will remain unchanged.


If HASH based statistics gathering is used during an UPDATE STATISTICS or a CREATE INDEX statement, then there may be a failure if the respective column contains the next to lowest value of the domain but not the lowest value of the domain. The statement may be aborted. e.g. if the column is an unsigned integer then 1 is the next to lowest value and if the column contains a 1 but not a 0, then the statement may be aborted.


Inaccurate histograms can be created when the unique value count of the column exceeds 65535 unique values.


ASE logs the message, "Expected object passed to utGetThid is not of type thread", repeatedly.


DBCC HELP(PAGE) does not display the correct usage of the parameter 'logical'.


The message, "Current process infected with 11", followed by a stack trace which includes the modules lwp_create() and freeprocs() may be reported in the error log when a cached statement is normalized which can lead to other ASE tasks to wait indefinitely on the statement cache pool semaphore acquisition.


On Windows 2008 R2 platform, ASE HA may fail to create Sybase Companion Server. "sp_companion configure" fails with message "HA Config Error: Unable to write cluster resource properties for ASE server ' < name > ' (operating system error 183)."


If a column has more than 65535 unique values then UPDATE STATISTICS or CREATE INDEX with HASH based statistics gathering may result in an out of order boundary value in the first few cells of the histogram.


Add option to append results in text mode.


Running REORG DEFRAG from the same session multiple times might eventually cause a 705 error, "There is no room for process < spid > to store PROC_HDR < address > in Pss. ASE is terminating this process". Also, every run of REORG DEFRAG throws a noisy warning, "WARNING: memory usage in procedure headers (n) does not match memory usage count in Pss (m) for server process id < spid > "


Queries with OUTER JOIN and a reference to syscomments.text can get wrong results when "select on syscomments.text" is set to 0.


Generating DDL for a table using DDLGen does not generate DDL for indexes which have been created with sorted_data option.


Enable usage of subqueries in the SELECT with FOR UPDATE clause under global switch 7791.


ASE running in process kernel mode (pre 15.7 or 15.7 and above process kernel mode) may encounter issues like Error 14130 when an engine is onlined after some licensed feature is enabled.


sp_configure 'dump history filename' may return an incorrect filename on a Windows environment when a dump history filename has '\' characters specified and after an ASE restart. For example, dump history file 'D:\sybase\dumphist' would be returned as 'D:sybasedumphist' mistakenly.


Hard fault 100007 (extent id error) may be reported by sp_dbcc_faultreport if DBCC CHECKSTORAGE is run with frequent DDL commands.


A 12319 error, "Fatal internal error encountered during deferred dml on table < tabname > in database < dbname > . All rows that qualified during the first phase were not visited during second phase of dml" may be reported followed by a stack trace that includes the modules dol_def_update() and dodeferred() when running CREATE INDEX or REORG REBUILD with ONLINE option with concurrent DMLs on hot objects.


If a table is altered and is present in an UNION query in a derived table which is further defined in a VIEW, it could lead to permission denied errors.


Inaccurate overly optimistic cluster ratios could result when executing a parallel create index. This could lead to inaccurate index selection in the query plan. After the first UPDATE STATISTICS command on this new index, the cluster ratios will be corrected and plan selection should be more accurate. Optcriteria CR739820 enables the change to improve the accuracy of the cluster ratios during parallel create index


The optimizer estimates involving columns defined as BIGDATETIME and BIGTIME types may be suboptimial.


An incorrect negative value may be reported in the error message, "A system call has not responded for x seconds".


Under rare circumstances on Windows NT 64-bit platform ASE may stop with no errors being reported while processing Web Services requests that involve the execution of Java code.


If a high domain column (greater than 65535 unique values) has a histogram created by using the HASH based algorithm, then it is possible that an inconsistent histogram could be created if there are some skew values in the histogram.


"sp_hadr_admin status, 'anyvalue'" fails when executed on standby HADR server when quoted_identifier is on.


The message, "Current process infected with signal 11", followed by a stack trace that includes the module stu_get_next_active_hist_slot() may be reported in the error log when using HASH based statistics gathering and the column has more than 65535 unique values.


If an object name (such as a table) contained a parenthesis (as could be possible when using quoted identifiers), any SQL text for a statement using that object name would not be stored in the statement cache.


Under heavy network load, SAP ASE on the Windows platform may hang.


Job Scheduler can fail to execute jobs for users with high SUIDs.


Under some rare circumstances, a shrink-database operation can encounter errors that kill the processing thread but do not clean up the memory it was using.


Full text not being audited for DML when option update/select/insert/delete is turned on. Parameter values are also not printed for local variables and dynamic prepare statements.


UPDATE skip uncommitted insert row caused ABAP like below output unexpected error message. (pseudo code) UPDATE row if (no rows found) INSERT row if (duplicate key) UPDATE row if (no rows found) ERROR out (assumption this should not be possible) The new feature is enabled when the new configure option "donot skip uncommitted insert" is set as 1.


Sometimes a read for non-syslogs object on a stale syslogs page for a user tempdb may results in 692 error.


The message, "Current process infected with signal 11", followed by a stack trace that includes the module aud_getsdes() may be reported in the error log when opening cursors declared without user tables when auditing is turned on.


The loginfo() built-in may return wrong values for parameters 'can_free_using_dump_tran', 'oldest_active_transaction_pct', 'stp_span_pct' for databases having mixed log and data segments.


A 9633 error, "RepAgent( < dbid > ): Cannot authenticate Replication Server < RS_nname > to use multiple replication paths", may be reported when the RepAgent is configured for Multiple Paths Replication i.e. 'max number replication paths' is greater than 1 and 'multithread rep agent' is reset to false, preventing RepAgent from starting. This can be corrected by setting 'max number replication paths' to zero.


When HADR feature is enabled in ASE, internally spawned user spid would get killed during deactivation of the Primary server. Also these spids will not be able to start a transaction on a Standby server.


DELETEs or UPDATEs doing a table scan on a DOL table following an INSERT-BULK performed in a multi-statement transaction may sometimes not qualify all rows, and the DELETE / UPDATE may leave some qualifying rows unaffected. This is most likely to occur when the affected table is bound to a very small cache, usually of the minimum size.


The format for the Object_status column output of "sp_help < tablename > " may have a missing comma.


When MERGE JOIN is turned off, a SELECT query joining a local and proxy column with a search using an IN list will not return the correct result. Currently, traceflag 16976 provides the workaround to the problem.


Under some rare circumstances, a shrink-database operation can encounter errors of index not consistent on DOL table.


When RepAgent terminates abnormally with an error while connecting to Replication Server, the connection is not closed and the associated session is still held on Replication Server mistakenly.


In an HADR environment, the privileged connection (to the old primary) with info capabilities gets killed upon activation of the new primary server.


LOAD TRANSACTION of a transaction dump involving the log records of materialization of an indexed table with 'deferred allocation' property may fail with the 3474 error, "During redo the page timestamp value is less than old timestamp from log. Page #=x, object id = y, page timestamp=z. Log old timestamp=a. Log record marker =(p, q)."


A 9284 error, "RepAgent( < dbid > ). Cannot allocate 9024 bytes of memory. You may need to reconfigure the parameter 'replication agent memory size' with more memory." may be reported when LOB off-row data is replicated, resulting in the Rep Agent Thread for this database to be terminated abnormally.


The 1514 error, "Sort failed because it attempted to allocate page < page > and found that the page was busy. Buffer < buffer > contains a cached and referenced page with ptnid < ptnid > indid < indid > and status < status > ", may be reported when executing a subquery plan and there is a StoreIndex(reformatting) operator under the subquery.


If a database is configured to 'allow incremental dumps' updates to pages that happen when bringing the database online could be missing from the next incremental dump.


Using DDLGen to extract CREATE DATABASE DDL fails when the database name is greater than 23 characters and the "-F" option is used.


A new feature request to make ASE set 0 to segmap of sysusages if ASE finds segmap=0 in allocation pages of tempdb while rebuilding sysusages.


In rare scenarios, a timeslice error may be reported along with stack trace which includes the modules ind_ides_init() and ind__ides_install() after using the DBCC TUNE('des_bind') utility.


If a process uses up all the locks leading to error 1204, then a new login attempt may cause a stack trace that involves the module lock_do_logical() to be reported in the ASE error log.


Table scans may be used by the optimizer if parameters values are not visible at optimization time for range predicates since the magic numbers used by a range predicate " > ", " < ", " > =" or " < =" will use 33% selectivity, and an "in-between" predicate in which a lower and upper bound are specified will use 25% selectivity. sp_modifystats has a new option MODIFY_DEFAULT_SELECTIVITY for which the defaults of .33 and .25 can be overridden for a specific column if it is known that typical predicates for a column has different selectivities from the defaults.


Error 913:"Could not find row in sysdatabases with database id 4" observed while creating database asynchronously.


The message "current process infected with 11" in the module 'LeBulkOpOpenCleanup' together with a stack trace which includes the module 'LeBulkOpOpen' may be reported in the error log while migrating data from one platform to another using sybmigrate.


In rare circumstance, the size of non-unique indexes on DOL tables may grow very quickly if lots of data is inserted, or the index columns are updated frequently.


The 6914 message, "Procedure 'sp_dump_info', The parameter 'Invalid pointer param number 1, pointer value 0x000000000000000A' is not a valid dump type", will be raised if an invalid dump type is passed to the stored procedure sp_dump_info.


When executing a subquery with a scalar aggregate, ASE may fail to clean up resources and terminate processing after an attention thus leading to an 803 error.


The message, "Current process infected with signal 11", together with a stack trace that includes the module scan_getrow() may be reported in the error log when executing DBCC CHECKTABLE if a shrink-database operation is not completed and the dataserver is rebooted.


An 806 error, "Could not find virtual page for logical page < pagenum > in database < dbid > ", may be reported in the error log with a stack trace which includes the modules bufnewpage(), quitfn() and log_to_virt() if a session is killed while executing a query that required a work table creation in the tempdb database, or, required page allocations in a different database.


Under some rare circumstances, a shrink-database operation can encounter errors of index not consistent on DOL tables and little endian platform.


Permission denied errors might be reported when executing nested stored procedures if unrelated roles are modified.


In some cases, runtime rollback of a transaction that is done in parallel (parallel CREATE INDEX, SELECT INTO, REORG REBUILD or ALTER TALBLE (with data copy)) will be incomplete leaving the database in an inconsistent state.


The message, "Current process infected with signal 11", followed by a stack trace that includes the module ra__store_last_rs_error() may be reported in the error log if multiple Rep Agent threads are started on the same database at the same time.


The message, "Current process infected with signal 11", followed by a stack trace that includes the modules sparclock() and kssolnetctlrWaitForCompletion() may be reported in the error log when SAP ASE is running in the threaded kernel mode on the Solaris operating system after which the ASE may become non-responsive. This issue only affects SAP ASE on the Solaris platforms.


The stored procedure sp_helprotect does not display a row for built-in function asehostname for a user who has been granted SELECT on the built-in function.


Under rare circumstances the Rep Agent may report a 9219 error with state number 61, "RepAgent( < dbid > ): Internal coding error", when processing LOB data resulting in the Rep Agent termination.


If DDL IN TRAN is turned on and some indexes are created in an uncommitted transaction, then concurrent DBCC CHECKDB, DBCC CHECKTABLE or DBCC CHECKINDEX that involves the table will hang.


Schema creation is incorrectly logged for DDL replication if the CREATE SCHEMA is not the only statement in the batch and when the statement cache is ON.


The messages, "ncheck: select, Operation not applicable" or "poll() returned 32 on socket < # > " may be repeatedly reported in the errorlog after an ASE listener has migrated from a non-responsive engine.


A 4306 error, "There was activity on database since last load, unable to load", may be reported when loading a database or transaction log dump of a database whose size is smaller than the target database into which it is being loaded, thereby breaking the load sequence.


A 691: "Encountered invalid logical page ' < page > ' while accessing < partition > . This is an internal system error. Please contact Sybase Technical Support." error followed by a stack trace that contains the modules getpage_with_validation() and wrongpage() may be reported in the error log under the following conditions: (1) The configuration option "streamlined dynamic SQL" is enabled, either directly or by enabling functionality group and (2) A dynamic prepared INSERT or UPDATE statement is executed on a table that has been created with deferred_allocation and (3) The prepared statement has been executed successfully at least once and (4) The target table that is inserted/updated is dropped and re-created as a defered_allocation table and (5) The dynamic INSERT/UPDATE query is re-executed from the same ASE connection.


When ASE attempts to write a CSMD (configurable shared memory dump) after a failure, it fails to halt and resume the engine threads with the error, "SuspendThread failed for thread (n), error 6".


An 804 error, "Unable to find buffer < buffer_address > from cache < cachename > holding logical page < pageno > in sdes < sdes_address > kept buffer pool for object < objname > ", may be raised under heavy load of concurrent DMLs when the log is nearly full.


A timeslice error followed by a stack trace that involves the module buf__unhash_and_keep_grabbed_mass() may be reported in the error log during HASH based statistics gathering.


SAP ASE reports invalid process status messages like "kpsched: kpid 1962483841 bad status 0x400414" followed by "upstatus: kpid = 1962483841, status 0x400414 not valid". The exact bad status may vary across messages.


Under some conditions in threaded kernel mode, when the ASE task is blocked in some OS call, it can hit timeslice error if the thread gets a SIGUSR1 signal.


When a small table (number of rows is less than twice the number of steps in the histogram) has a unique index, the range density and range unique values may be inaccurate on the column set for the unique index. This costing change is enabled with optcriteria cr741742.


Enhance DBCC LOG to support specifying a start marker for the log scan when searching for log records affecting a page, or log records for a transaction. For some usages, the (indid, ptnid) arguments are over-loaded to specify a start (log page#, row #) marker for the log scan. Extend DBCC HELP('log') output to reflect the entire set of options, arguments and variations. Various other improvements to the scan filtering for DBCC LOG added.


The error message, "Could not execute login script for user sa", may be reported in the error log when the global login trigger is updated with a new login trigger.


A 706 error, "Process < pid > tried to remove PROC_HDR < phdr > that it does not hold in Pss", may be encountered when an SQL statement is executed and it is either stored in the SQL statement cache or it is a dynamic SQL statement and during execution a regeneration of the statement query tree from SQL text is required and an exception is encountered during the parsing of the corresponding SQL text.


The Sybmon restart command fails with an error, "Unknown command", when executed without specifying an engine number for a server running in process kernel mode.


The 3051 message, "The dump configuration '' supplied for DUMP DATABASE is invalid", can be mistakenly returned for the valid dump configuration which has a 30 bytes long name.


The sp_downgrade_esd stored procedure cannot be used to downgrade to ASE 15.7 SP50.


When DDL replication is ON, the execution of a DDL command as a prepared statement aborts with error 11314. Trace flag 9152 can be used to allow the DDL command to proceed without being replicated.


When a CREATE INDEX command is executed and the following conditions are met, (1) The configuration option, 'enable functionality group' is on and (2) The table upon which the index is being created has datarows locking scheme and (3) The first index-key column contains at least one NULL value and (4) a Lava parallel execution plan is used, then the resulting index may be missing rows for the NULL-valued columns.


Enable a login with mon_role to execute sp_monitorconfig on SAP ASE 15.7


An undetected deadlock might occur between a process that ran out of syslogs space and has crossed the last chance syslogs threshold and another process that is attempting to expand the syslogs size by executing an ALTER DATABASE command. The output of dbcc stacktrace( < spid > ) command for one of these two processes will show the modules 'th_sleep_on_lct' and 'upsleepgeneric' whereas for the other process the modules 'writeLock' and 'upyield'. An SAP ASE restart is needed to unblock this situation.


In rare circumstances, a time slice error may be reported in the error log followed by a stack trace which includes the modules ind_ides_init() and ind__ides_install() while DBCC TUNE ('des_bind') is executed concurrently with utility commands such as CREATE TABLE that is run at isolation level 0.


The message, "Current process infected with signal 11", followed by a stack trace that includes the module mda__process_sdes() may be reported in the error log when querying the monProcessObject MDA table.


A stack trace may occur when a CREATE INDEX command is interrupted (using Ctrl C) and the command is being executed using a parallel Lava query plan. The stack trace may include functions such as bt_create_index(), ups_stat_memalloc(), ups_get_stat_page() and/or memalloc_auxbufarray(), bufauxinstall() depending upon which phase of the CREATE INDEX processng is active at the time of the interrupt.


If a database that is created WITH ASYNC_INIT option is used before it is fully initialized as the target database of a LOAD command, the execution of system stored procedure sp_helpdb will display "Allocation Unit Initializer disk fragment" entries that should have been removed.


A 1265 error, "An illegal attempt was made to release an invalid lock or a lock that is not owned by the process family (lr= < value > , lrmagic= < value > )" together with a stack trace which includes the modules 'th_lct_admin' and 'num_logpages' may be reported in the error log if the builtin lct_admin("num_logpages", < dbid > ) is executed concurrently by several processes.


The message, "Current process infected with signal 11", in the module 'dam_prepare_dump_end' together with a stack trace which includes the modules 'dpdb_main' and 's_execute' may be reported in the error log when a DUMP DATABASE command is executed and the database option 'allow incremental dumps' is enabled and the system table SYSDAMS contains an extent that is the first extent of an allocation unit causing this table to have a number of pages that is not a multiple of 8.


The nested level of functions in expressions has been raised from 10 to 32.


On a server that has a large number of objects, the sp_sysmon report may take a long time to complete and error message 1508, "Create index aborted on duplicate rows. Primary key is < keyname > ", may be reported in the error log.


If 'literal autoparam' is enabled, the sometimes a print statement that uses a literal in a stored procedure could lead to remap error 2805 'Bad pointer 0x%p encountered while remapping stored procedure '%.*s'. Must re-create procedure.'.


When SAP ASE is running in process mode, if the dynamic listener is on a hung engine, SAP ASE may continuously report , "necheck: select, Bad file descriptor" in the errorlog.


Adaptive Server may hang without reporting an error when the pool of locks is exhausted.


Booting an SAP ASE may fail permission checks with an error message, "Permission denied, database master, owner dbo. You need the following permission(s) to run this command: MANAGE SERVER CONFIGURATION", when the configuration parameter 'enable granular permissions' is set in the default configuration file.


Support of DDL replication for prepared DDL statements is now provided. This is enabled by trace flag 16984.


Queries performing isnull() on a variable assignment may return null when ‘streamlined dynamic SQL’ is enabled.


With single engine configurations, a SAP ASE polite shutdown request may hang if the JS Agent is executing a job whose spid is set to LOW priority.


The error 14108, "Could not find partition descriptor for objid, indid -1, ptnid in dbid" may be reported when either the command DBCC DBSHUTDOWN or DBCC FAILBACK_DBSHUTDOWN is executed and the database option 'allow incremental dumps' is enabled in the given database.


Sybmon might get hang with huge garbage SQL text printed when running "sample context=y" command.


After running DUMP DATABASE, the time stamp of some pages may become incorrect. If DBCC CHECKSTOREAGE is subsequently executed, error message "Fault Type: 100004 (timestamp error); Hard fault" may be reported.


DDLGen generates duplicate partition values when a range or a list partitioned table has a local index


When running the DISK INIT/RE_INIT command or the sp_deviceattr stored procedure, ASE silently ignores dsync=false if DIRECTIO is not specified.


An 803 error, "Unable to place buffer < buf > from cache < cache_name > holding logical page < page_num > in sdes for object < object_name > - either there is no room in sdes or buffer already in requested slot", may be reported when running a multiple table join under parallel processing.


The built-in function set_appcontext() mistakenly allows the update of an attribute without running rm_appcontext().


Add extra diagnostics for the data change fragment pool in order to help catch incorrect memory accesses of the data change fragment pool and thus also improve robustness.


The message "current process infected with 11" in the module 'pthread_kill' together with a stack trace will be reported in the error log on Linux platforms only, when the Java option is enabled, the Kernel mode is set to process mode, and the PCI option is disabled.


If 'stack size' is configured too small, sometimes it could lead to error, 'Stack guardword corrupted', with OmniQuickPass::generateSelect(), OmniQuickPass::generateStatement() in the stacktrace when select large number of columns for a remote table.


RepAgent may not send table schema information to Replication Server if the table contains a compressible LOB column. RAT may also wrongly consider that a table contains a compressible column when it has sent the table schema to Replication Server.


New 'force' option to the kill command to forcibly kill the spid.


The PhysicalReads value in the monProcessActivity and monProcessStatement MDA tables do not include APF Reads. The PagesRead value in the monProcessActivity MDA table is also incorrect.


The message, "Current process infected with signal 11", followed by a stack trace that includes the module ulpspinlock() and kstcpnetctlrCancelRequests() may be reported by an SAP ASE running in the threaded kernel mode on the Solaris platform. The SAP ASE may subsequently hang.


A 1265 error, "An illegal attempt was made to release an invalid lock or a lock that is not owned by the process family (lr= < addr_val > , lrmagic= < char_val > )." may be reported when running DBCC FIX_TEXT on a table having one or more text columns.


Under some circumstances, an 8203 error, "Expected to find the descriptor for object < object_id > in database < db_name > in < state > state", followed by a stack trace that include the modules ssql_droptext() and procrm() may be reported in the error log.


Sometimes, sp_showplan may cause a signal 11 (SIGSEGV) with a stacktrace reported in the errorlog involving the function listChildQueries().


In very rare circumstances, error 1765 (related to level 0 scan) could be raised unexpectedly.


With a new set option 'set sqlnull on', string concatenation with NULL value will follow SQL standard, i.e. return NULL value


If 'procedure cache' is configured too small for a heavy loaded server, it could lead to stacktraces with s_chooselocks(), s_setup_lockrequest() and insert_to_heap().


In some cases, SAP ASE may report a timeslice error in module shm_mergedump() when "memory dump compression level" is set as non-zero value.


Default value of max total shared memory is insufficient to build server.


An 814 error, "Keep count of buffer < buf_num > in cache < cache_name > holding logical page < page_id > in database < db_name > has become negative", followed by an 837 error, "Attempted to grab wash header" may be reported during UPDATE STATISTICS or CREATE INDEX.


After a server crash while shrink database is sorting a non-unique index, boot-time recovery will set the index to be suspect with out any information in errorlog.


"alter database" option "with check_only" does not warn about indexes having many duplicated key entries, which could cause shrink database to keep the table locked for unacceptable lengths of time while it sorts index entries. Knowing about these potential problems can help customers plan their work.


When log segment of a database exhausts and tasks involving page allocation are in progress, ASE could hit 804 error : "Unable to find buffer '0x..' from cache '...' holding logical page '...' in sdes '0x...' kept buffer pool for object '...'.


sp_config_rep_agent enable must now be run with a non-NULL password.


A SAP ASE that running in threaded kernel mode on the Linux or HPUX operating systems may print a stack trace including ulpspinlock and kstcpnetctlrCancelRequests and thereafter the SAP ASE becomes non-responsive.


The configuration option, 'enable plan sharing' is no longer automatically enabled when the configuration option, 'enable functionality group' is enabled. The option 'enable plan sharing' must now be enabled explicitly.


Cumulative dumps cannot be done in Cluster Edition. An error will now be reported if sp_dboption is used with the "allow incremental dumps" option in Cluster Edition.


System stored procedures, such as sp_password, sp_extrapwdchecks, sp_addlogin, do not have asterisks stored in audit table for password parameters when 'exec_procedure' auditing option is on.


DDLGen cannot generate 'Granted by' permission clause for ASE 15.7 SP50 and higher version.


During BCP for a table which has undergone an ALTER TABLE DROP column with no datacopy operation, ASE may send wrong default values for columns to the client.


When a table is altered to have not materialized columns with default values, null values are sent to the Rep Server instead of the default values during the execution of an UPDATE command.


When an APL table is defined as PAGE COMPRESSED and contains a clustered index, some duplicate rows may be inserted successfully even though this is not allowed.


Altering a un-partition table with unique local index to a roundrobin partition table does not give an error.


The row count used when a histogram is created on a column is now printed by optdiag and sp_showoptstats. The line "Scanned Rows:" will be added to optdiag output, and the tag < scannedRows > will be added to the sp_showoptstats output.


Performing decryption of encrypted column data can be much slower for standard users.


Auditing of GRANT and/or REVOKE commands may cause a timeslice error when the command contains many whitespaces.


Under rare circumstances SAP Adaptive Server Cluster Edition may report during the execution of sp_config_rep_agent an inaccurate run value for parameter 'bind to engine' on some nodes in the Cluster.


The message "Current process infected with signal 11" in the module NormalizeScalar() with a stacktrace which includes the modules PesState::PesInit() may be reported when executing an UPDATE...FROM query on a table that has immediate refresh pre-computed result set (PRS) defined on it.


Stack trace with error 622 may occur when running update statistics


MERGE triggers on DOL tables may return the incorrect number of rows for the inserted table: too few rows for the UPDATE trigger and possibly too many rows for the INSERT trigger.


An 806 error, "Could not find virtual page for logical page < page_id > in database ' < db_name > '" may be reported when executing CHECKTABLE/CHECKINDEX/CHECKDB after shrinking a database containing a table with suspect index.


Audit table records might be malformed or missing for table access events when auditing is turned on.


ase_default optlevel changed to include all optimizer changes from all releases prior to ase 15.7 sp200


When using alter table not materialized with defaults replication needs to be supplied with the correct default values for log records created before the alter table if replication is behind in reading the log.


When a new plan for a procedure is installed, the accumulated metric LogicalReads in the monCachedProcedures table for the cached procedure maybe incorrect.


In rare circumstances, a SELECT FOR UPDATE query may return successfully without getting the exclusive lock on the row, even if READPAST mode was not being used. This only affects the AIX platforms and has been identified as an AIX compiler optimization issue when high levels of optimization are used on a specific module.


srvbuild/srvbuildres does not report any error message if the given device file paths do not have read/write permission.


In a High Availability server, sp_addlogin and sp_addremotelogin will fail with permission errors when the user executing the stored procedures is granted sso_role only.


syconfig: Syconfig.exe: additional argument cannot be read into "Command Line" field


When the RepAgent configuration parameter 'rs servername' is longer than 30 characters, the run value of that parameter gets corrupted in memory.


sp_help does not display information if partition locking is enabled on table.


When RepAgent is configured to use multi-path replication thru the option ‘multithread rep agent’ and the number of replication paths is at least set to 2 thru the option 'max number of replication paths', in rare circumstances the replicated data between the primary and the standby databases may show inconsistencies resulting in data not being correctly replicated.


The SAP ASE Rep Agent thread sends float values ending in .0 without the .0 which makes them appear to be integers instead of floating point values. This can cause statement caching to create multiple plans for the same table leading to contention in the statement cache and degrading query performance.


A 2760 error, "Column name '' does not exist in target table", may be reported during the automatic generation of temp table statistics when the temp table uses a NUMERIC datatype.


The message, "Current process infected with signal 11", may be reported in the error log when killing the spid (using the sql 'kill < spid > ') while running REORG DEFRAG.


When running reorg rebuild index on compressed index, error 12323 state 43 may be raised during key movement.


A 10707 error “Unhandled Java Exception: …” may be reported by the PCA/JVM Security Manager when the JRE needs to internally process information on native methods properties while executing a user supplied method. In order for the PCA/JVM Security Manager to allow the execution of native methods the directive "-Dsybase.allow.native.lib=true" in the "pca_jvm_java_options" configuration must be set to true in the sybpcidb database.


In rare circumstances, soft fault 100015 (page loop error) reported by DBCC CHECKSTORAGE may be upgraded to hard fault after running DBCC CHECKVERIFY.


When the SAP ASE builtin function ABS() is given a bigint or integer minimum value, a negative result is returned.


In cases where REORG DEFRAG or SHRINK DATABASE command encounters a signal 11 error, the table might not be usable by Level 0 scanners.


Reorg rebuild index on compressed index may hit assertion failure in bt__rowcmp() during key movement.


The scheduled jobs configured using the Job Scheduler, with 'repeats' value greater than one day (eg. repeats=2d or repeats=25h or repeats=1441m) may run daily at the incorrect time.


The message, "Current process infected with signal 8 (SIGFPE)", followed by a stack trace that includes the module sam_setup_ptn() may be reported in the error log under rare circumstances.


The datatype of 'starttime' output parameter of sp_xact_loginfo is not correct. This results in a NULL value in starttime when executing the stored procedure with the 'oldestactive' option.


Backup Server: does not support syntax " dump ... with compression = 0" contrary to documentation.


Assertion (ISUSERTABID(objid)) fails in the function xact__getdlm_fromxdes() during upgrade when running diagserver.


Error 2622 can be generated while gathering statistics on a DOL (data only locking) table, in which the set of attributes cannot fit into an APL (all pages locking) row of a worktable. This can happen when statistics are explicitly updated on a column(s), or implicitly when auto_temptable_stats is enabled (explicitly or thru an optlevel containing this optcriteria).


Improve HK Chores cleanup processing after errors.


The DBCC utility reset_cached_plan_stats incorrectly checks for granular permissions.


Support Volatile Table whose row count may change dramatically so corresponding statistics are not maintained.


When Engine local cache percent value is increased above the threshold, the server is infected with SIGNAL 11.


Under rare circumstances, shrinking a database can cause a subsequent recovery failure of that database. This is indicated by a message in the error log upon restart, saying that the object descriptor of object {N} cannot be installed. {N} may be 1, 2, or 28.


The show_condensed_text() function will return NULL with 208 error in some cases and will return NULL for dynamic prepared statement with the 102 error.


On the Hpia64 platform, when ASE is running on a real cluster in threaded kernel mode, if the XP server of an instance is shutdown from an isql session on another instance, the isql session will hang.


Backup Server may wrongly issue the message, "The change is completed. The option is dynamic and SAP ASE need not be rebooted for the change to take effect", for an invalid configuration with a config_name more than the 30 bytes allowed.


sqlupgrade and upgrade for unix to have dynamic timeout.


When displaying information about a dump from a file that was created on a different byte architecture with LOAD DATABASE ... WITH HEADERONLY, the error message, "Message too long", may be reported in the error log where it should display the originating device information.


If 'cis connect timeout' is exceeded, the local process with P_OMNI_TIMEDOUT set will continue to sleep.


Aborting a bulk page allocation process can give 'table already closed' error while closing SYSALLOCPG.


Memory usage keeps increasing when querying MDA tables in a loop in stored procedure.


The 692 error, "Uninitialized logical page < page_no > was read while accessing database < dbname > , object 'syslogs' (8), ...", could be raised if the loginfo() built-in function is executed concurrently with DUMP TRANSACTION.


When the default of a non-materialized column is altered on a table that is replicated, extraneous updates to that column may be sent for replication.


An incorrect index can be selected when a query contains a multi-column ORDER BY, if the avoid_bmo_sorts optcriteria is turned on explicitly or thru enabling the ase_current optimization level. If a sort is used below a nested loop join, and the ordering that the sort produced contains a unique key, and the ordering is extended by the nested loop join and eventually used to satisfy the ORDER BY, then this plan may be skipped if the avoid_bmo_sorts optcriteria is turned on.


TEXT/IMAGE data could be corrupted by byte-swap if the database once performed cross-platform database load on 15.0 ESD#2 or later version of SAP ASE, and the database was originally from a pre-12.0 version of SAP ASE.


set plan opttimeoutlimit does not follow the same rule as optgoal and optcritera for optimization and execution.


The message, "Current process infected with signal 11", followed by a stack trace that includes the module TcsState::tcs_merge() may be reported in the error log when optcriteria cr702725 is enabled and the query invokes referential integrity check and has an attribute in the ORDER BY clause which is not in the selection list.


syconfig.exe cannot select an empty directory correctly.


Signal 11 stacktrace might happen in LeEmitXchgOp::_LeOpNext() for a union query between a list partitioned table and other table(s).


(INTERNAL_ONLY) Development oversight.


Modify srvbuild[res] and syconfig.exe/sybatch.exe utilities to support Remote Dump Host Control.


Execution of stored procedures containing statements that are executed using deferred compilation causes the original SQL text in the monProcessSQLText MDA table to be replaced.


SAP ASE on AIX does not use 'Large Pages' with the configuration option of 'lock shared memory', resulting in suboptimal memory access


Boot SAP ASE with trace flag 9166 when dbcc logtransfer replication is used to diminish the likelihood of contention on the Network Memory Pool spinlock that can cause high CPU utilization when a user table is marked for replication. Don't use trace flag 9166 with Rep Agent replication because operations such as DDL replication or request functions won't work anymore.


A stacktrace may occur if auto_temptable_stats is enabled along with parallel sort, either explicitly or via using ase_current. This change will disable parallel statistics gathering on #temptables when update statistics is implicitly invoked via the auto_temptable_stats feature.


srvbuild creates a sparse file for tempdb file system device


If the number of the engines is over 33, max repartition degree is 1 (default) and the tables for the join is unpartitioned, it could lead to stacktrace.


A new configuration option "LARGE ALLOCATION AUTO TUNING" is added to enable/disable large allocation auto tuning feature


A 15052 error, "Index error: Table id < tabid > , indid < indid > calculated < name > < value1 > does not match value < value2 > in Sysindexes." may be reported when running DBCC CHECKCATALOG on a database containing tables with option 'transfer table' on.


When the command: sp_online "engine", < 42 > .. fails, i.e due to OS resource issue, SAP ASE's listener will hang, preventing new connections to be established.


In rare cases a 692 error, "Uninitialized logical page ' < pageno > ' was read while accessing database ..." may be reported sometime after loading a database dump that was taken of a database in both Enterprise Edition and Cluster Edition, that had been created on devices with “direct i/o” turned on, or taken of a database in a Cluster Edition system only, that had been created on devices with “dsync” turned on.


DBCC CHECKALLOC may report an incorrect number of unreserved log pages after ALTER DATABASE LOG OFF fails to remove a log fragment because some of the pages to remove are allocated.


If a UDR roleid is greater than 1024 a timeslice will occur.


feature request: backupserver binary compiled for 64-bit to enable larger memsize on solaris


In some rare cases, when DOL data pages are undergoing deallocation while table scans are concurrently executed on the table, inserts from other concurrent threads may incorrectly qualify to-be-deallocated pages. This may result in 7928 or other index corruption errors reported from DBCC CHECKTABLE.


New feature to specify configuration parameters like interface file or error log file for Job Scheduler Agent using sp_jsconfigure.


The fields NumberOfMempoolAllocates, NumberOfMempoolFrees, MempoolCurrentSize and MempoolHighUsage in master..monRepLogActivity are only maintained when sp_sysmon is running in parallel at the same time.


Enhance DBCC REINDEX to support RID comparison mode change for empty deferred_allocation table.


The cache partition maximum value has been increased to 256. The MAX value in cfg_options has been updated to be applicable for all stored procedures.


Logging into remote server using a login user granted with a user-defined role will fail.


Enhancement that adds the possibility to add a cyclic redundancy check to a database or transaction dump created with compression (VERIFY=CRC), as well as to verify that the compression blocks can be correctly read and decompressed (WITH VERIFY=READ_AFTER_WRITE).


The message, "Current process infected with signal 11", followed by a stack trace that includes the module mda_calc_proc_hdr_mem_KB() may be reported in the error log while querying the MDA table, monProcessProcedures.


When sp_maplogin LDAP, NULL, 'create login' enables an authenticated LDAP user to create their own login and master database replication is enabled, the CREATE LOGIN statement on the replicate database gets error: "Message: 10331, State 2, Severity 14 -- 'Permission denied, database master, owner dbo. You need the following permission(s) to run this command: MANAGE ANY LOGIN. " The error is mapped to stop replication.


SAP ASE may hang when doing a disk mirror in some situations. The disk controller thread consumes 100% of the CPU utilization while the server hangs. Also, no new connections to the server can be established.


Backup Server introduces a remote access control feature that prevents remote dumps and loads and execution of remote procedure calls (RPC) from any client or server running on unauthorized servers. Local dumps are not affected by this feature. Authorization to dump or load, to or from Backup Server is achieved by including the authorized hosts in the host.allow access control file. The default location of hosts.allow file is $SYBASE. The location and name can be changed using the Backup Server parameter -h. This feature failed when the connection to the backup server was through a named pipe.


monSpinlockActivity configuration option to decompose the aggregate data.


After shrinking database, DDLGen encounters the error message, "DDLGen started with the following .... Found 1 dbids with wrong number of rows cached in '#seginfo' v/s the rows in 'master.dbo.sysusages'".


Backup Server introduces a remote access control feature that prevents remote dumps and loads and execution of remote procedure calls (RPC) from any client or server running on unauthorized servers. Local dumps are not affected by this feature. Authorization to dump or load, to or from Backup Server is achieved by including the authorized hosts in the host.allow access control file. The default location of hosts.allow file is $SYBASE. The location and name can be changed using the Backup Server parameter -h. This feature failed when the connection to the backup server was through a AF_UNIX socket.


Stored procedures using "execute as caller" with queries that call builtin function ISNULL() and create and query #temporary tables fail with error: Msg 208, Level 16, State 1: Server ' < servername > ', Line 26: < #temporary_table > not found.


In an HADR configured server, "select * from monHADRMembers" may cause timeslice error like "timeslice -1001, current process infected at 0x15efbc4 (atomic_try+0x2)".


Killing a task which involves cursor or work tables might cause the server to hang, waiting for EX_LATCH on an allocation page on which EX_LATCH had been acquired by the same task before the 'kill' was issued on it. (A diagserver throws an 872 error).


A trigger defined on MERGE statement executing both INSERT and UPDATE actions may return incorrect rows for inserted table for the INSERT action. This happens if the same trigger is defined for both INSERT and UPDATE: "create trigger T on TAB for insert,update as ..."


In some cases an error may be reported in the SAP ASE errorlog, accompanied by a stack trace with the functions kbfalloc() and ptn__pdes_init_colupdcnt() in the stack.


When a table which is defined as compressed, and there is some fixed length column which is 'not null' and 'not materialized' in this table, update (index) statistics on this table may hit stack trace and SIGSEGV at decompress__column_by_colinfo().


INSERTs using normal page allocation running alongside operations using large-scale page allocation (LSA) scheme can overwrite the content put in by LSA operations in certain race circumstances between them.


A process can hang when executing ALTER DATABASE and DUMP DATABASE if another process goes to sleep when allocating a new page.


The text for error 9218 mistakenly stated sp_enable_rep_agent as opposed to sp_config_rep_agent in order to enable the Rep Agent for a given database.


Job Scheduler fails to schedule the job which does not specify end date and has the continuous_run property set.


Online database will fail with the message 2778, "The object 'sysdams' is not a table. Update statistics can be used only on user tables or system tables" if a cross platform database dump from a lower version that requires upgrade is loaded.


A 9950 error, "Workspace ' < name > ' is incorrectly allocated. Use sp_dbcc_createws to create a new workspace." may be reported when running DBCC CHECKSTORAGE.


The monitoring table monRepSenders has been enhanced with information such as counters for the number of bytes sent and number of commands processed with information that is useful for a single-task Rep Agent.


The DISK REMIRROR command hangs after simulating a disk I/O error on a mirrored device.


When Rep Agent is configured for 'stream replication' and sync or near sync stream mode, two user tasks running in parallel DML and DDL on the same table may lead to hang one of the user tasks and Rep Agent waiting each other till the 'max commit wait' is reached. Rep Agent will then switch to asynchronous mode.


When using syconfig to upgrade backup server 12.5.4 to 15.7, the character set in configure backup server dialog is empty.


In rare circumstances the message "WARNING: memory usage in procedure headers (...) does not match memory usage count in Pss (...) for server process id ..." may be reported in the error log when the configuration options "enable functionality group" and "plan sharing" are active and the execution of a prepared statement is interrupted due to an error that caused the current transaction to be aborted.


Add step to preupgrade to check the configuration option 'user log cache size' is sufficient for using buffer unpinning optimization in the ASE 16.0 server.


Password echo on console when entering it using auditinit in sa login screen.


Internal Only: Auditinit.exe failed to configure ASE Server on windows.


During extreme insert load on APL tables with clustered index, during page allocation, server might hit error 8419 as : Error: 8419, Severity: 20, State: 3 Could not find index descriptor for objid 240003886, indid 0 in dbid 19.


Customer may see error 644 when create a temp table and hit memory issue in the middle of update syspartitions table.


Alter table add/drop partition command gets 4956 error while level 0 scans are active. This new feature is enabled when the new configuration option 'enable utility lvl 0 scan wait' is set.


UPDATE a column referenced by a materialized computed column after an ALTER table modifying a column may corrupt the computed column.


100001 faults (Invalid page ids in header) may be reported for DOL tables by dbcc checkstorage() if it's run after shrink database operation.


A 3478 error: "During undo the page timestamp value is less than new timestamp from log...", or a 3474 error: "During redo the page timestamp value is less than old timestamp from log...", or a 12337 error: "Page < pageid > in database < dbname > was incorrectly found to be uninitialized when it was read. Recovery of this database cannot continue." may sometimes be reported during recovery if the server crashed while a transaction doing a CREATE TABLE operation was rolling back.


In HADR configuration: 1. If the length of hostname and port number together are equal to or more than 30 characters, login redirection fails. 2. ASE runs into different issues when server options are changed using sp_serveroption for HADR_GROUP class(17) entry in sysservers.


After loss of ASE_ENCRYPTION license, DROP ENCRYPTION KEY generates a segmentation violation and stacktrace.


The command ALTER DATABASE will fail silently to extend a database that is offline if the database dump is from an ASE version where the table SYSDAMS did not exist.


SAP ASE running in process kernel mode may hang waiting for disk IO completion.


Signal 11 in alt__lock_fix_computedcol


Add an option to disable the session-level lock wait period to the 'set lock wait' command.


The error IO_UNCOMPRESS_BUF_E, "The 'uncompress' call failed for database/archive device while working on stripe device < filename > with error number 0 (The operation completed successfully)." could be raised by sybmultbuf when using a block size bigger than the default.


Avoid a rare race condition in the SAP ASE buffer handling that may result in an 839 (Grabbed buffer dirty but not writing: %S_BUF) error.


Job scheduler upgrade sometimes hit this error failing Job Scheduler to boot : "Execution of rule check_jsc_state failed because of errors parsing the source text in syscomments during upgrade. Please drop and recreate dbo.check_jsc_state"


When DOL data pages are undergoing deallocation and table scans are concurrently executed on the table, inserts from other concurrent threads may incorrectly qualify to-be-deallocated pages. This may lead to error: "12316: Attempt to garbage collect a deallocated data page 13407 in table 'table1_PDR', database 'onlinedb'. Aborting the transaction" could be seen.


A dynamic sql statement with a LIKE and ESCAPE or builtin with more than one declaration in a where clause could have a performance issue if the plan is removed from procedure cache.


logical cluster failback without a failover leaves the logical in a timed_wait state.


Alter table split/ move partition on a table followed by drop column with no datacopy can cause data corruption.


Change in number are messages being printed in errorlog. Earlier used to print a message for every cache-partition in the cache, now it will be printed only for 1 cache-partition. This will avoid flooding messages in the errorlog.


When tracing systabstats values using trace flag 2701, during UPDATE STATISTICS operations that reference non-clustered indices, the command may be aborted due to printing an uninitialized float value.


DUMP DATABASE CUMULATIVE will silently fail when the auditing configuration option is turned on.


Various errors like 206, 4701, 247 maybe given when using EXECUTE AS CALLER procedure with select into a temporary table or create index statements.


A segmentation violation followed by a stack trace that contains the module strtok_r() will be raised at boot time on a Windows Adaptive Server Enterprise if the configuration option 'enable dump history' is enabled and the file configured in 'dump history filename' exists but it's empty.


Unrelated error messages might be seen when ASE raises 923 error to the end-user.


sybatch.exe: Usage message was not completely displayed.


internal only: version change.


installTemplateXml.bat fails with EOF error


The sybdumptran utility has been enhanced to switch automatically to the mirror of a log device when opening the primary log device fails. The metadata file used by sybdumptran must be a dump that has been made using an ASE version that contains the current fix.


The message "current process infected with 11" in the module 'getpage_with_validation' together with a stack trace which includes the modules 'apl__startscan' and 'startptnscan' may be reported in the error log when the stored procedure sp_helpdb is run and its execution is interrupted.


CREATE and ALTER DATABASE FOR LOAD initialize the database allocation pages when it's unnecessary.


If update statistics is used on a table with a large number of partitions (e.g. 1000), then the performance declines significantly, and an inordinate number of log records are created.


The connection to a backup server can be rejected if the client host has multiple IP addresses and the entries in the target backup server hosts.allow file are not authorizing the first remote IP address. Likewise, the connections will be rejected if the host name used in the first column of the hosts.allow file specifies a host alias different from the actual host name.


The command "select * from monHADRMembers" sometimes returns 0 rows when executed on a standby member of an HADR cluster.


A 422 error, "Too many nested expressions or logical operators to compile. Try splitting query or limiting ANDs and ORs." may be reported during the execution of a SELECT query that uses an abstract plan and references a table with more than 2000 range partitions.


A 3474 error: "During redo the page timestamp value is less than old timestamp from log." and other miscellaneous errors can be encountered upon loading a transaction log dump containing a CREATE INDEX transaction on a table that has compressed data and nonmaterialized columns having default values.


If JS Agent hits some inconsistency in operation then Job Scheduler auto restart attempts may enter into an infinite loop.


When the monDeviceSpaceUsage table is queried concurrently from different processes, ASE running with threaded mode might report SEGV error occurred in mda__init_FSList() on IBM AIX platform.


When a rule is created which is not compatible with the column to which it is bound, SAP ASE generates an error message when it tries to insert a value. After raising the error, a SIGSEGV is then reported.


When 'set option show_abstract_plan on', SELECT FOR XML query may return error instead of the acutal return


When using a large IN list and the statement cache is on, if the plan chosen has > 96 tables, the query may stack trace during compilation.


ddlgen not displaying ASE errors raised during execution


Job Scheduler may go down during HADR deactivation.


Under some rare situation, if statement cache is on and a plan need to be recompiled during execution time, it could leave the statement pagecount with a negative number for FBO binary and stacktrace for DEBUG binary.


When statement cache is on, it could cause SIG 11 stacktrace in s__make_param() function if less number of parameters are sent to ASE than query expected.


A Parallel query that uses a shared worktable may result in a 940 error "Dbtable in wrong state for Operation" and the process being terminated.


Loading a transaction dump created with NO_TRUNCATE will fail with a 4334 error, 'Specified file is out of sequence...' if it is loaded after a cumulative dump has been loaded.


internal review


Add new -D option to specify user data directory


In rare circumstances, a 2601 error, "Attempt to insert duplicate key row in object ' < name > ' with unique index ' < index name > '", may be reported during the load of an 12.5 database in a 15.7 dataserver.


While trying to create and access vhash tables, the table might not be accessible.


HADR deactivation process can fail or get delayed due to transactions started by housekeeper and checkpoint tasks.


HADR deactivation operation should not wait for open transactions belonging to non-replicated databases to be completed.


monSysStatement does not show stored proc when executed with other statement


If a database is dumped after an "alter database log off" command has failed, that database dump may produce an incorrect disk map after being loaded.


SAP ASE might report a SIGSEGV stacktrace in mda_flush_iostats() when "enable monitoring" is set to 1.


Support to create non-clustered local index in parallel for partitioned table with some empty partitions.


Dump database with protected password ('with passwd = ') option only worked if specified in all lowercase letters.


internal only: Auditinit didn't accepet empty sqlsrv.sa_password attribute in resource file.


In ASE 15.7 SP110 and above, under certain circumstances on AIX only, SAP ASE may erroneously produce the message "Message empty." while attempting to clean up after a previous failure.


Job Scheduler prints incorrect restart count while auto restarting.


INTERNAL ONLY: missing initialization of a local variable in exectrig(). This is being corrected in all codelines before 743637 had been shipped on any so does not need to be customer visible.


Need a script to calculate transaction log growth rate




REORG REBUILD cmd may take more time than before if table have TEXT/IMAGE/UNITEXT columns.


The LOAD DATABASE CUMULATIVE command succeeds incorrectly, rather than failing with a 4334 error, 'Specified file is out of sequence...', if the cumulative dump is loaded after loading a transaction log dump that was dumped before the cumulative dump.


A 1105 error, "Can't allocate space for object ' < object_name > ' in database ' < db_name > ' because ' < segment_name > ' segment is full/has no free extents. . . ." may be reported when running DBCC CHECKSTORAGE after the Server reboots from crash.


INSERT query raises error 225 (statement cache off) or 11060 (statement cache on) after loading a database with materialized columns using SQL functions to another database with different database id.


When RepAgent is configured to use multi-path replication where two paths are having a different set of transactions bound to them, the replication flow between the primary and the standby databases may stop working if this setup is used in conjunction with a warm standby setup.


There is high spinlock contention on the dbt_spin for some user workloads even when not using multiple databases.


ASE hit SEGV in ct__tds_fetch_cache_cols() and crashes.


internal only: support upgrade from 15.7 to 16.0


In rare circumstances, the execution of Java User Defined Functions (UDF) could mistakenly ignore the arguments it expects when these are presented to it through a single argument that holds a white space separated string.


Error 247:"Arithmetic overflow during implicit conversion of %s value %d to a %s field ." can be seen while running stored procedure sp_spaceusage on large table.


internal review


An SAP ASE task keeps sleeping in remote i/o state even if the connection terminates while the SAP ASE task is executing a query to the remote SAP ASE. This problem may occur if the client program executes a query accessing a proxy table. You have to kill the spid manually.


sybatch:Failed to Create Self Managment login/user


Correct an 814 (Keep count of buffer '0x%lx' in cache '%.*s' holding logical page '%u' in database '%.*s' has become negative) error situation.


On Windows 64-bit, sp_helpdevice incorrectly reports 'unknown device type' for file system devices that are 4Gb or larger. This also prevents sp_deviceattr from issuing the warning: "Warning: ' < large device physname > ', is a file system device. A system failure may cause data loss if the dsync option is set to false."


Server crash after writing the commit log during merge partition or online create index can cause data corruption. Pages deallocated during merge partition were getting allocated to same or other tasks even before merge partition is over.


Trace flag 7795 will force a union query to return results in a sorted order. The sort order is determined by the order of the projection list.


If the DUMP DATABASE is run on a database, a 691 error, "Encountered invalid logical page < page id > while accessing database < database name and id > , object < object name and id > , index < index name and id > , partition < partition name and id > . This is an internal system error. Please contact Sybase Technical Support.", might be reported when running SELECT INTO cmd to create a proxy table in this database.


A 12954 error, "Database < dbname > : upgrade could not install required upgrade item 80." may be reported when upgrading from ASE 12.5 or after to ASE 16.0.


DELETE not using row limit optimizations The optimization is enabled by optcriteria.


On the Windows platform, an SAP ASE server might fail to start up if it uses the -r option to specify the mirrored device. dcmpmirror and kdactivate messages are reported in the SAP ASE errorlog.


SQL Statement replication using CI is not supported for GA.


When Kerberos is configured and many engines are created using 'create thread pool', then deleted with "alter thread pool', and then created again, Security Control Layer initialization fails due to exhaustion of memory resources with errorlog message: 00:0061:00000:00000:2013/11/07 00:41:47.50 server Security Control Layer's memory allocation routine returned an error.


New option 'config_bs' for the built-in function hadr_admin() to add an entry to the hosts.allow file.


New feature request to allow DUMP TRANSACTION to use the options WITH VERIFY=CRC and VERIFY=READ_AFTER_WRITE as well as LOAD TRANSACTION WITH VERIFY[ONLY]=CRC. These options are applicable only at DUMP TRANSACTION time if the option WITH COMPRESSION is also used. Likewise, the CRC verification at LOAD TRANSACTION time is only applicable if the transaction dump is created with the CRC verification option as well.


Alter table split/ move partition on a table followed by add non materialize column can cause data corruption.


On AIX platform, dataserver and pair should match from the same build, otherwise stacktraces will be incorrect. There is no validation to indicate incorrect install/update process may result in a mismatch resulting in wrong stacktraces. This change issues a warning if there is mismatch like "kernel Warning: mismatch of dataserver (90112) and (90113)".


'REORG REBUILD WITH ONLINE' may fail with error 806 (Could not find virtual page for logical page %u in database '%S_DBID'.), if the table has undergone an 'ALTER TABLE DROP COLUMN WITH NO DATACOPY' operation.


During continuous replication Rep Agent configured for STREAM REPLICATION may shutdown when receiving an a retrievable error from the Component Interface native thread. "Error: Streaming replication stream error (-1). Severity 2, MSProdReceiver: receive error occurred, shutting down xport" will be found in the ASE errorlog.


Once Rep Agent has swirthed from (near)sync to async it will attempt to switch back again to (near)sync mode. In order to accomplish that the user task are slowed down so Rep Agent can reach again the end of the log. However if the initial scan after the switch is long, Rep Agent will not be able to slow down the user transacations for a long time.


When the SAP ASE kernel mode is configured as process and an SSL session/connection is abruptly killed/aborted, a SIGSEGV (infected with 11) with a stacktrace may be reported in the SAP ASE errorlog. The functions drop_connection() and ssl_nclose() are likely to be seen as part of the stacktrace.


If there are more than 32 columns in the GROUP BY list, and more than 6 tables in the query then the query plan performance could be signficantly different than equivalent queries which have less than or equal to 32 columns in the GROUP BY list. The optcriteria cr752225 eliminates the discontinuity in query plan selection/performance when the threshold of 32 columns in the group by list is passed.


sp_hadr_admin activate may report Msg 18703, "Please execute the procedure 'sp_hadr_admin' from master database."


In rare case, if DOL table has unique index, concurrent dmls may hit index corrupt(error 12313 "Insert into page id < page # > of index id < index # > of table ' < table name > ' (id = < id # > ) in database ' < db name > ' tried to replace undeleted RID ( < > , < > ) at slot < slot # > and ridposn < # > . Try dropping and recreating the index.")x.


In rare circumstances, a 3474 error, "During redo the page timestamp value is less than old timestamp from log....", may be reported during boottime or LOAD DATABASE recovery, when a transaction that allocated a page, rolled back that allocation while a checkpoint was active.


In rare circumstances, the message "current process infected with 11" in the module ‘ocm_hold’ together with a stack trace which includes the modules ‘des_has_onlutl_active’ and 'checkpoint’ may be reported in the error log by the process doing 'CHECKPOINT' in a Cluster Edition SAP ASE environment.


If upgrading from 15.7 GA or ESD#1,2,3 to 15.7 SP60 or 15.7 SP120, SAP ASE may encounter a segmentation fault error in the function upgd__find_basic_depends() during open database.


A segmentation violation occurs when the config option enable xact coordination is set to 0 and a connection is established between a primary and secondary server.


When the SAP ASE server is out of locks, a permission check can cause the error message "ulpspinlock: spinlock order violation" to be reported followed by a crash the SAP ASE server.


In rare circumstances, a signal 11 may be reported in the error log together with a stack trace that includes the modules 'rec_dynamic_prefetch' and 'rec_undo_session" when recovery is being run at boot time or during LOAD DATABASE or LOAD TRAN.


The error "table still open - dbid < value > table id 58" or the error 12330, "An attempt was made to fetch logical page < value > with partition ID '58', ..." followed by a stack trace that contains the module 'closetable' may be reported when the database option 'allow cumulative dumps' is enabled.


Bulk insert on tables with roundrobin partitions may encounter signal11 with pg_get_targetpage() in the stack.


The message "current process infected with 11" in the module 'cpynodes' together with a stack trace which includes the modules 's_copytmps' and 'batch_loopend' may be reported in the SAP ASE error log when a BATCH INSERT into a temporary table is executed, followed by 6103 and 703 error while SAP ASE attempts to free procedure cache memory.


A 644 error "Index row entry for data row id ( < page# > , < row# > ) is missing from index page < page# > of index id < value > of table ' < name > ' in database 'name'. Xactid is ( < page# > , < row# > ) ). Drop and re-create the index." may be reported when a clustered index on a Data Locked Only table permits duplicate keys and the index refers to pages with logical page numbers higher than the value of 2147483647.


DDLGen failed and showed error 'UDM51: java.sql.SQLException' if syslanguages.langid > 99


Trace flag 7796 will prevent the query from being aborted when the recompilation limit has been exceeded. Instead informational messages will be printed when some multiple of the recompilation limit has been reached.


There is an incorrect assertion that hits with diagserver during rebooting the server if server crashed during online reorg rebuild.


Fail to replicate a new login, or a password change in UTF8 dataserver when 'stream replication' is set to TRUE. A stacktrace is reported in the standby dataserver including the functions lobj_crtlogin()- > lobj_crtloginmain()


For internal use.


Tracing optimizer behavior may not use the correct indentation when print plan fragments


In a long running ASE server configured for SSL, SSL handshake errors due to memory allocation failures appear for new incoming connections.


The message "current process infected with 11" in the module 'plc__discard' together with a stack trace which includes the modules 'xact_endupdate' and 'reorg_main' may be reported in the error log during 'REORG REBUILD < table > WITH ONLINE' while this command is executed on a system where high concurrent DML activity is happening on the same table. Alternatively this error can occur during a high concurrent DML activity in a low durability database.


In an HA environment, when the same user tries to login on both primary and companion server at the same time then the login process occassionally hangs.


The monDeviceIO table Reads column value includes the count of APF reads. The description for this column in the monTableColumns table incorrectly stated that it did not. We removed this phrase from the description of this column.


A segmentation violation occurs when sp_listener starts an SSL listener where no SSL listeners had been started previously.


SAP ASE running on Unix/Linux platforms only prints the top 25 stack frames in a stack overflow stacktrace report which could mask the root cause and also provide insufficient diagnostics when a stack overflow is caused by a recursive function. If the stack overflow backout code uses too much stack, the backout process can cause stack guard word corruption resulting in server shutdown. This CR removes the limitation on number of frames in the stacktrace and if the stack overflow backout code use of the stack reaches within 4K bytes of the stack boundary, it then initiates forcible termination of the task to prevent stack guardword corruption. The default value of 'stack guard size' is increased by 4K bytes to retain earlier level of stack availability. Traceflag 3687 provides a stacktrace when a transaction is aborted due to insufficient stack space that can provide additional diagnostics on stack usage by the query. Traceflag 3686 disables this change. This change is not applicable to the Microsoft Windows platforms.


If quoted_identifier is ON and sp_hadr_admin primary is executed, next time HADR primary server reboots as standby, instead of primary.


In rare circumstances Online REORG / ONLINE CREATE INDEX may hit SIGSEGV when table contains compressed row but table is marked as not compressed.


In rare circumstances, 691 error, "Encountered invalid logical page '0' while accessing database 'dbname' (dbid), object 'object name' (object id), index 'index name' (index id), partition 'partition name' (partition id). This is an internal system error. Please contact SAP Technical Support." may be reported with stacktrace when inserting data into TEXT/IMAGE/UNITEXT columns.


When using ALTER DATABASE, an 806 error, "Could not find virtual page for logical page < page# > in database ' < dbname > '..." may be reported if ALTER DATABASE removes more than a single fragment from the end of the given database.


When an insert trigger exists on the target table of the MERGE statement, the wrong result may happen.


On Microsoft Windows platforms an isql session may hang when establishing an SSL connection to an SAP ASE.


An SAP ASE shutdown occurs after hitting a SIGSEGV (infected with 11). In the SIGSEGV message in the SAP ASE errorlog the faulting address may reference the function uppushaffinity().


In some rare conditions, error 8201, severity 26, state 1 might be raised during high availability failover accompanied by a stack trace with des_do_get/ha_session_check in it.


Signal 11 stacktrace could happen during LePipeRepart::LePipeWriteVtuple() call when a list partitioned table is the inner table of a parallel outer equi-join and the join is on the partition column. The same stacktrace could also happen for a range partitioned (instead of list partitioned) table when the upper bound of the partition condition is not MAX.


On the AIX platform, when SSL is enabled, after a few thousand connections, connection failures occur and error message "ks_falloc: Cannot allocate using ubfalloc" appears in the SAP ASE errorlog.


When upgrade from 16.0beta1 to 16.0beta2 or later version, If the master database has a secondary truncation point set, it indicates to turn the secondary truncation point off using older server, and when rebooting with the older server an error 950(Database 'master' is currently offline. Please wait and try your command again later) will be raised.


Client connections to SAP ASE may hang when SSL is enabled and the network memory pool is exhausted.


When using compatibility mode with more than 32 columns in an order by expression, the server may stack trace.


In rare circumstances, a 2583 error, "Number of data pages ( < count1 > ) counted by DBCC differs from count in the data OAM ( < count2 > ) for dbid < dbid > object < objid > ", may reported when running dbcc checkdb after rebooting a crashed server or loading a database dump, when a SELECT INTO or ALTER TABLE command was active at the time the server crashed or the dump was taken.


In some cases, a DML command is not correctly replicated because SAP ASE Replication Agent may mistakenly generate the table schema definition for metadata reduction for a table that is marked for replication. Schema building is needed when the table is created or altered in the same user transaction as the DML which affects the same table.


Updated sp_help_rep_agent 'config' output to include properties related to stream replication.


For tables with several indexes and TEXT/IMAGE/UNITEXT columns, a 605 error, "An attempt was made to fetch logical page < page id > from cache < cache > . Page belongs to database < db > , object < object > , index < index > , partition < partition > and not to database < db > , object < object > , index < index > , partition < partition > .", may be reported when running 'SELECT...INTO...FROM ... WHERE condition1 or condition2 or ...' command on it with concurrent DELETE/UPDATE/TRUNCATE TABLE commands.


When using LDAP, an assertion message and a SIGABRT/SIGIOT (infected with 6) stacktrace may be reported in the SAP ASE errorlog. The assertion will say "result == SYBCSI_RESULT_OK, file core/source/csimemory.c". The stacktrace will include the function login__ldapauth().


The DUMP DATABASE command may hang when run concurrently with a many other tasks if the option 'optimize dump for faster load' is set to a non zero value.


The message "timeslice -501, current process infected" in the module 'ra_ms_get_object_filters_for_path' together with a stack trace which includes the modules 'ra__ms_apply_repfilters' and 'ra_ms_get_object_filters_for_path' may be reported in the error log by the SAP Replication Agent scanner thread for the default path when the filter distribution model is used.


SAP ASE Replication Agent under a multiple path replication setup will not replicate the execution of rs_ticket stored procedure to all paths.


Under extreme OLTP activity in a mixed-log and data database (like tempdb), a task doing CREATE INDEX may report "Stack overflow detected: limit: 0x0x*, guardpage: 0x0x*, sp: 0x0x*" and "*** Stack guardword corrupted" together with a stack trace that includes the modules 'pg__updateoam', 'pg_oamspace', and 'pg_allocoam'.


The error 1120, "Adaptive Server failed to access page < pageno > in database ' < database name > ' because it is not an allocation page." can be raised if the commands DBCC CHECKALLOC or or DBCC TABLEALLOC(syslogs) are executed on an archive database.


When text is bound to a different cache than data for a given table, back-linking text partitions via dbcc shrinkdb_setup() can produce bad links.


Stack overflow may occur which would terminate the server, instead of the offending session. This may occur if the stack is insufficient and there are a large number of tables in the FROM lists of the query.


Applying update statistics in parallel mode on a HADR configured standby generates stacktrace and fails.


When reporting on the dump header of a dump that was taken with a higher SAP ASE version that has used new metadata in the dump, an error 3264, "The dump header contains device information with invalid token length ...", possibly followed by errors such as 3208 “Unexpected end of file while reading beginning of dump...” will be reported. An unknown element warning message will now be reported instead.


When there are nested subqueries with invariant materialization steps in each respective subquery, it is possible that a signal 11 can occur.


The message "Invalid column length: < num > . Value must be between 0 and 255 at offset 0 for 'data-only' row with minimum row length of 70." together with a stack trace including the modules 'collocate' and 'ra__new_schema' may be reported if a row for a replicated table with a name of the maximum length (255 char) created by a user with a name of the maximum length (30 char) is encountered by Replication Agent.


internal only: wrong cfg file name was created if make an overlay installation with ASE16.0GA.


When dbcc page(dbid,pageno, opt) searches the desired page in deleted cache, causing sig 11.


A 644 error, "Index row entry for data row id ( < pageid > , < rnum > ) is missing from index page < index_pagenum > of index id < indid > of table ' < tablename > ' in database ' < dbname > '. Xactid is ( < xactid > ). Drop and re-create the index." may sometimes be reported in heavily concurrent systems using DATAROWS LOCKED or DATAPAGES LOCKED tables.


Replication Agent running on 'stream replicaiton' mode may shutdown with the error 'Error: 9219, Severity: 20, State: 66' after a re-connection attempt.


When executing a DUMP command with more than one VERIFY option, the backup server will ignore all but the last one. Also, on Windows platform, if the archive is bigger than 4GB and we are executing WITH VERIFY=READ_AFTER_WRITE or VERIFY=CRC and the verification fails when reading a block that is at an offset greater than 4GB, the error message will report an offset value that is only the two lower bytes of the actual offset, for example "There was a failure decompressing < # > bytes at offset 804831240 when processing stripe ' < the stripe name > '" instead of the offset value for 5099798536.


An 8211 error: "Mismatch found between the name and id descriptor hash table for table < objname > , objid = < objid > " may sometimes be raised if an attention is hit while dropping an object.


Rolling back of a drop object sometimes could result in an error 8211 with "Mismatch found between the name and id descriptor hash table for table 'tablename'".


Cannot use syconfig to do backup server upgrade on Windows 64bit


In some rare scenarios, an utility command modifying a table and waiting for a level 0 scanner on the table to exit, might not respond to a client killing the session where utility command is executed.



  • AIX 64bit
  • HP-UX on IA64 64bit
  • Linux on Power 64bit
  • Linux on x86 64 64bit
  • Solaris on Sparc 64bit
  • Solaris on x86 64 64bit
  • Windows on x64 64bit


SAP Adaptive Server Enterprise 16.0


CR, ASE 16.0 GA, ASE 16, Adaptive, Server, Enterprise, Fix, Patch, Error, Bug, GA , KBA , BC-SYB-ASE , Sybase ASE Database Platform (non Business Suite) , BC-DB-SYB , Business Suite on Adaptive Server Enterprise , BC-SYB-ASE-CE , ASE Cluster Edition (Standalone) , BW-SYS-DB-SYB , BW on Adaptive Server Enterprise , Problem

About this page

This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).

Search for additional results

Visit SAP Support Portal's SAP Notes and KBA Search.