SAP Knowledge Base Article - Preview

2079895 - Targeted CR List for ASE 15.7 SP110 SAP ASE


The purpose of this KBA is to help SAP customers obtain a general idea of potential fixed situations in future Adaptive Server Enterprise (ASE) EBF/SP or PL releases. 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



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.


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.


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.


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.


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.


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.


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.


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


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


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.


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.


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.


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.


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.


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


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.


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


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.


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.


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.


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)”


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


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.


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


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.


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


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().


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


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 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.


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.


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 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.


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


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


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


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.


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.


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).


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.


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.


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.


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.


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.


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.


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.


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.


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.


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.


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.


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.


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.


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


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.


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.


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.


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.


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.


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.


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.


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


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.


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.


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


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


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.


The DBCC utility reset_cached_plan_stats incorrectly checks for granular permissions.


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.


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.


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.


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.


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


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.


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.


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.


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'".


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


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.


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.


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


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.


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


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.


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.


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


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.


Job Scheduler may go down during HADR deactivation.


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


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.


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



  • 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 15.7 ; SAP Adaptive Server Enterprise 15.7 Cluster Edition


CR, ASE 15.7 SP110, ASE 15.7, SP110, Adaptive, Server, Enterprise, Fix, Patch, Error, Bug, , 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.