SAP Knowledge Base Article - Preview

2087819 - Targeted CR List for ASE 15.0.2 ESD #6


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



When nested VIEWs are used (i.e. VIEWs defined by referencing other VIEWs), then it is possible that the query will not be correctly processed and result in an error in which the session could be terminated. If this is suspected, then it can be verified by using the diagserver and looking for an assertion such as the following: "Assertion (infinite_loop != vrangep) failed"


License Monitoring is counting spids supporting the Job Scheduler as licensed users.


The message "process infected with signal 11" in the module 'procstat_get' may be reported in the error log together with a stack trace which includes the modules 'exec_dbcc' and 'memusage' when a DBCC MEMUSAGE command has been previously run against a busy ASE system resulting in ASE shutting down itself.


More efficient mergejoin/hashjoin plan might not be possible for MATCHNULL equijoin query. This includes the sybase extended column syntax query and the MATCHNULL join predicate coming from the predicate transformation on "r.a = s.a OR (r.a IS NULL and s.a IS NULL)".


DBISQL now allows user to change password if the login's password has expired.


ASE hangs or crashes when 3604 flag is enabled along with 7825, 7826 or 7827 flags.


There is no error message in the errorlog indicating shared memory is locked successfully into physical memory or otherwise.


Under rare conditions querying the monOpenObjectActivity table may result in error 14108 or a stack trace reported in the error log including the modules "mda_populate_monOpenObjectActivity", "mda__accumulate_ptnstats_for_obj" and "ind__get_sysindrow".


There is no error message in the errorlog indicating shared memory is locked successfully into physical memory or otherwise.


When an unloaded archive database exists the execution of SP_CACHECONFIG will report error 966 followed by either error 18140 or error 10855 when respectively an attempt to create a logonly cache or an attempt to drop a cache is made.


syconfig.exe utility shows corrupted Chinese characters when the default language is set to Traditional Chinese.


Disable installer console (text) mode on Windows because some license terms are not viewable on Command Prompt.


Concurrent executions of pageinfo built-in give different kinds of errors and stacktraces, like Error 833, "Attempt to read logical page into a buffer, that is hashed".


The DBCC DBCACHEREMOVE command is allowed to uncache a user defined temporary database from cache.


In some circumstances, the message "current process infected with 11" together with a stack trace that includes the modules "fdpr_glue_tramp_align__fdpr", "conn_hdlr__fdpr", may be reported when using XML features on IBM Linux Pseries platform.


Floating point overflow is not always detected correctly.


Adaptive Server Enterprise running on the Windows platform may encounter "SERIOUS UNHANDLED EXCEPTION" with exception number e06d7363.


A SELECT query with GROUP BY ALL and a scalar subquery like (SELECT 1) may report a signal 11 with a stack trace containing the module 'NormalizeScalar'.


xmltable() function may not work correctly if statement cache is enabled.


If an attempt is made to use DISK INIT/DISK RESIZE to add more space to a device than is actually available, the command aborts on some systems and on some systems the commands executes to add as much space as is available.


If an attempt is made to use DISK INIT/DISK RESIZE to add more space to a device than is actually available, the command aborts on some systems and on some systems the commands executes to add as much space as is available.


Unexpected exception is reported in the space_est report when it tries to estimate the space for a proxy table on a remote host that is down.


When a query on a base table with partitions is executed, and if some of its partitions are eliminated, the parallelism degree reported in the 'Abstract plan' might be incorrect.


sp_helpdevice runs slow after changing sortorder using sqlloc.


In rare circumstances, the message, "Stack guardword corrupted", might be printed in the errorlog when executing at higher nesting levels.


With a query having predicate like (COND1) OR (COND1 AND COND2) where COND2 contains a subquery then a stacktrace may be hit along with a server crash. The stacktrace contains the function name '_IcsAccumulatePeId' in it.


Previously DBISQL failed to edit datetime field. This has been fixed in DBISQL 9.0.2 Build 3620.


When we create a database with log on option, and then if we alter database to same log device (using override option) more than once, the extended device fragments (except the first extended fragment) are marked as "data and log".


Update Sybase Central 4.3 to Build 2468 to better support Windows Vista. Interactive SQL is updated to Build 3620.


Foreign key constraint is not checked when isolation level set to 1.


Historical Server doesn't respond anymore after hs_create_recording_session is issued


Previously DBISQL sometimes was not able to reliably cancel a query. This has been fixed


Performance issue might be hit for a query with upto 5 joining tables involving cartesian products and/or theta-only joins.


In ASE 15.0 and later, a procedure referencing a temporary table created in a caller procedure may result in signal 11 if the indexes created on the temporary table changes between executions of the caller procedure. This change of indexes on the temporary table could be caused by index creation failure due to resource issues.


In rare circumstances, ASE may not start with the error message, "Error: ./dataserver: fatal: open failed: No such file or directory" when $SYBASE/$SYBASE_OCS/lib3p64 is not included in LD_LIBRARY_PATH_64.


Using built-in character set conversions, ASE does not raise error 2402 and prevent the insertion of characters that are considered invalid in the client character set.


Set LD_POINTER_GUARD environment variable to workaround the Adaptive Server segmentation fault.


Optimizer doesn't choose the (join) SARGs present on multiple columns in an index when the columns happen to belong to same tcid i.e. are joined to only one column from outer table.


Incorrect SQL generated when querying a proxy table with an IN clause that compares a constant to a list of columns.


During UPDATE STATISTICS, the number of extended steps, that is, the product of the requested step count and the histogram tuning factor, is restricted to the maximum of 10% of the number of rows in the table and the requested step count. However, if the histogram tuning factor is at the default value of 20 and the proposed number of extended steps is greater than 400, then the actual number of steps in the histogram is restricted to a maximum of the requested step count and 400.


Sometimes, even if all the rows on a page get deleted the page is not deallocated.


A signal 11 may occured with a stacktrace involving 'ResRelOp' called from 'OptFindLegacyOj' for an OUTERJOIN query whose inner table is a VIEW with a CASE expression in the SELECT list and the CASE expression from the VIEW is also referenced in a correlated subquery above the OUTERJOIN.


On some Linux platforms, installer cannot display Chinese characters correctly.


When a procedure is created by sa (or a user with sa_role) and accesses an object in another database and the access permission on the object is granted to dbo through a group, then a user (who is aliased to dbo in both databases) executing the procedure may get a permission error on the object.


Migrate existing Sybase Central plugins on Vista.


The message "current process infected with 11" together with a stack trace which includes the modules 'cursor_process_error' and 's_handle' maybe be reported in the error log if a client session with a distributed transaction having open cursors had to be aborted.


In sp_sysmon, "Total ULC Flushes" under Transaction Management gives the total PLC flushes. At present, the PLC discards are also displayed under the column "by Other" in the PLC flushes section. This leads to erroneous counter value for PLC flushes.


When there is a DDL statement in a batch, at the time executing DDL statement, entire batch is getting displayed instead of single DDL statement that is currently being executed.


Need to install suite_conn_ocs_lang_en regardless of Open Client is chosen or not.


When an online database has previously been used to bring an archive database online a timeslice error may be reported in the error log. In this case, the timeslice error will be accompanied by a stack trace which includes the modules 'online_database' and 'th__recover_altered_logsegment'.


In very rare cases, when large scale allocation is enabled, alter table lock change may run into 1142 error: "Invalid OAM Page 0. ..."


The message "process infected with signal 11" may be reported in the error log together with a stack trace which includes the modules 'ptn_rowcopy' or 'ptn_nextcopy' along with 'ind__get_sysindrow' when previously running the DBCC commands EXTENTCHECK and LISTOAM.


A select statement which will return results against a local table will return error 403 against a proxy table. 125x version returned the same results for local and remote tables. The select clause evaluates to "where (null is null)" in the 15x version.


Signal 11 (SIGSEGV) could happen in the module 'ResRelOp' when compiling a query qualified for a general OR plan (e.g. with IN predicate). Also it would only happen when the index used for the general OR doesn't cover all search clause columns of the table and there is some equijoin on the column which is not part of the index.


Sub-optimal performance can be seen for queries involving MIN/MAX aggregates in the SELECT list and a equality predicate on the same aggregate column in the WHERE clause.


In some rare circumstances, a query which involves VIEW column (which returns a subquery) in an OR term having a subquery may fail with a stack trace being printed in the error log containing the functions 'sqx__do_transform' and 'GtcChildOptBlock*GtqSingleSubqScan::GtInterestingTcIdBm'.


In cases where the "max resource granularity" is set very low and/or a tempdb's pagesize cache pool is small, the hash operator could SEGV during the probe phase of processing. This case will only occur in underconfigured systems.


A 2546 error, "Table Corrupt: Extent id < pageno1 > on allocation < pageno2 > has objid < objid > , indid < indid > , and used bit on, but reference bit off", may be reported by DBCC CHECKALLOC if a sort was active just prior to an instance or a server being shut down abnormally.


When running SELECT command, if two columns end up having same names, and if one of those columns is used in the ORDER BY list also, then ordering of the result might be done on a wrong column with the same name.


sp_configure would allow "max resource granularity" to be set to 0. Valid values are documented to be between 1 and 100 inclusively. Using sp_configure to attempt to set "max resource granularity" to 0 will now generate an error.


A NOT IN subquery transformed into NOT EXISTS might use table scans instead of available indexes when isnull() builtin is used on either side of the NOT IN.


The le_execerr() routine could SEGV if it is dispatched a second time and the Lava context has been cleaned up. That is, if a second exception occurs while cleaning up for an initial exception. In these cases, the stack will show that there is some intervening handler before le_execerr(). In the typcial case, le_execerr() is the first handler dispatched below the exec_lava() routine and there is no problem.


The buffer size used by the SQL debugger command 'show where' to display stored procedure's parameters and their values is too small. It has been expanded to 2K.


The message "A listener with protocol < network_protocol > , host < hostname > , port < port_number > , engine < engine_number > already exists." may be encountered while starting a new listener on the abnormally terminated listener port. The status of that listener is listed as active. However, no logins can be made to ASE using that listener port.


The message, "Current process infected with signal 11" in the module 'col_encrypt' together with a stacktrace which includes the modules 'LeEvRun' and 'LeRun' may be reported in the error log when using encrypted column in a WHERE clause in a UNION query


Installer built with Generic Platform Pak searches and uses the JRE in PATH first. This can be a problem if the JRE version/vendor is not the supported JRE.


Error log may show errors like "kpsched: kpid #### bad status 0x440" when server is in heavy load and killing of ASE task(spid) has been happening.


ASE boots using normal mode if shmat fails to attach Intimate Shared Memory (ISM) for SUN. With traceflag 1656, ASE will not boot using normal mode if shmat fails with ISM.


A 8419 error, "Could not find index descriptor for objid < value > , indid < value > in dbid < value > " together with a stack trace which includes the modules 'ind_getrow' and 'startscan' maybe reported when a stored procedure which uses temporary tables (or tables create inside) and conditionally creates different indexes on them is executed reusing a query plan from a previous execution.


LOAD DATABASE command may change segment maps on the target database wrongly if a smaller database dump is loaded and the target database has more than 7 device fragments.


insert into a view on proxy table fails if column name is aliased.


When the RAND builtin function is used without a seed value or with a literal seed value and the RAND builtin appears in a SQL WHILE loop, the same value of RAND will be used in each iteration of the WHILE loop. An example is: delcare @v int select @v = 1 while @v < 10 begin if (rand() < .5) select 1 select @v = @v + 1 end go The result of rand() in the IF statement will not change for each of the 9 iterations of the WHILE loop.


A SQL statement containing an IN-list and an OR-clause, and with at least one NOT in the OR- clause such as: declare @v varchar(20) select 1 where @v IN ('abc', 'def') OR (@v in ('data') and NOT exists (select 1 from sysobjects where name = 'foo')) can return incorrect results. If the query is executed with the diagserver, and assertion will fire: Assertion (pNode->sym.node.type == AND) failed in file .../generic/source/preprocess/resrelop.cpp


Adding a column to a table using ALTER TABLE that already has an existing functional index can cause error 2780 "maxlen (10) is less than length (16)" or similar when a SELECT is executed.


When the RAND2 builtin function is used in a SQL statement that contains no table references, it will return incorrect results. An example SQL statement that returns wrong results is: if (rand2() < .5)


AP load might fail to load a previous dumped AP for query with comments.


When a user with sso_role executes a select into from a table in a database of which he is not an assigned user and which has no guest user, error 2736 is returned.


Network performance may degrade due to disabled "tcp no delay" config parameter if ASE has both tli and tcp master entries in interfaces file.


A error 8402 may be reported when we didn't find the requested index in table. The message "process infected with signal 15" may also be reported in the error log together with a stack trace which includes the module 'ind_refresh_ides'.


Improved "insert into < table > values " performance when statement cache is off.


Update variable assignment expression involving subquery was being evaluated at the Subquery Filter operator in order to improve subquery performance and avoid possible exception. But this led to some undefined behavior change compared to pre-15.0 with respect to some form of variable assignment. This happens only because we use a form on non-deterministic SQL syntax that is well documented. The fix here is temporary in nature using trace flag 15322 so that customers could use the old semantics with the possible caveat that this could lead to run time exceptions or performance issues.


When a stored procedure that accesses an externally created temporary table (#) is re-executed after the temporary table has been dropped and re-created, an assertion may fire when the diagserver is used instead of the dataserver. The calling stack that is printed as part of the assertion output will print out the filename, useful.c and line number 13251.


Include available sort order options all the time when using sqlloc with X.


Compilation of an UPDATE query that contains a join and at least one IN-list or OR clauses on the same column can choose deferred update mode, when direct update mode is possible. As a result performance of the UPDATE query can be negatively impacted. An example query is: update t1 set c2 = 3 from t1, t2 where t1.c1 in (1,2,3,4,5,6,7,8,9) and t1.c2 = t2.d2 where table t1 is being updated and the query joins tables t1 and t2 and there is a IN-list on column c1 of table t1.


Jsagent opens the port on all IP addresses.


Post-Commit Optimization performs poorly for transactions with large number of DELETEs.


A 332 error may be reported during a query that involves multiple nested VIEWs below a UNION VIEW.


Page size information was not presented in ASE Plug-in. Now, server page size information is displayed in the server's General tab of the Properties dialog.


A relocated join may get error 207 when joining on a column with upper case in the column name.


Incorporated SQLTEXT printing for CREATE PROC, CREATE RULE, CREATE DEFAULT and CREATE TRIGGER statements when application tracing and show_sqltext options are turned on.


After a database dump and load, ASE may not be able to access the SQL UDFs created before the dump.


While doing DISK MIRROR/REMIRROR/UNMIRROR for an inactive disk, a stacktrace with SIGSEGV may be reported.


The following message is seen in the error log upon server startup: "kernel Warning: Cannot resolve LDAP function ldap_search_ext_s".


In some circumstances, Adaptive Server may throw a message "current process infected with 11, in the module CgpUnion::_CgpInitProjection, together with a stacktrace which includes modules like CgpMergeUnionAll::cgpInit", when a UNION ALL query is being executed.


Error 530 may be reported when using output from SQLJ function on outer column of a join.


Java does not recognize UTF-8 byte order "EF BB BF" in *.txt license files.


The message "Invalid column length: < value > . Value must be between 0 and < value > for 'data-only' row with minimum row length of < value > ." may be reported in the error log followed by a stack trace in module 'collocate' when the DBCC PAGE command is run with the print option value of 4 on a datarows-only-locked table that has variable length columns with a size value greater than 256. The modules 'prvarlen_cols' and 'prDOL_ROWS' will also be reported in the stack trace.


When an encrypted column uses a key that requires an explicit password and has declared a decrypt default, then a reference to that column in a WHERE clause that uses an OR operator may return Error 15469 to a user who lacks decrypt permission.


The message 2834 may be reported in the error log when an ALTER TABLE DROP PARTITION or ALTER TABLE ADD PARTITION command is run while concurrent activity on the target table takes place.


Unexpected results could be returned under some circumstances when executing a query using CASE expressions involving inside comparisons to NULL literal values and ANSINULL session option is not active.


Adaptive Server might terminate the execution of a query containing GROUP BY ALL and a subquery in the WHERE clause.


RIDjoin (for OR predicate) inner to outerjoin operator could sometimes lead to execution error message 623,624 or 806 related to retrieving a row via its RID.


Kerberos logins with connection failover support fail to connect to ASE when HA is configured.


Export_options is enabled by default on the first login but not subsequent ones.


When configuration value "number of worker processes" is updated using 'sp_configure', its value printed by 'set option show long' is not updated until the next reboot of the server.


In rare circumstances, the message "timeslice -501, current process infected" together with a stack trace which includes the modules 'memalloc' or 'mempagecount' may be reported in the error log when running a complex query.


Under some circumstances the message "current process infected with signal 11" in the module 's_free' together with a stack trace which includes the modules 'metrics_proc_dump' and 's_cleanframe' may be reported in the error log when a session executing a stored procedure is killed and the configuration option "enable metrics capture" was set to 1.


Spurious error message 2513 "Table Corrupt: Object id 892527182 (object name = v1) does not match between syscolumns and sysattributes" is given when decrypt default is defined on an encrypted column and a VIEW is defined on the table with the encrypted column and decrypt default and DBCC CHECKCATALOG is run on the database.


To completely turn off ASE Plug-in's "remember passwords" feature, the system administrator can execute this command: "$SYBASE_JRE/bin/java -jar $SYBROOT/ASEP/lib/ASEPlugin.jar -s Setting.RememberPassword false". Once turned off, ASE Plug-in will always ask for password while attempting a connection. Furthermore, the "Remember passwords..." check boxes will not be shown on the plug-in Preferences page ("Tools"- > "Adaptive Server Enterprise"- > "Preferences").


Error message 942 "Database cannot be opened because a system descriptor cannot be installed." is enhanced to include the database name and the object ID of the system table whose table descriptor could not be installed. Similarly error message 952 "Database '%.*s' cannot be opened because a system index descriptor cannot be installed." is enhanced to include the object ID of the system table whose index descriptor could not be installed.


In ASE 12.5, cursors with DISTINCT, ORDER BY, GROUP BY or UNION in their defining SQL statements would often have their result rows stored in a worktable when the cursor OPEN command is executed. Subsequent cursor FETCH commands would read rows from the worktable, thus insulating the cursor from changes to the tables upon which the cursor was defined, in between FETCH commands. In ASE 15, the optimizer attempts to avoid creating worktables for better performance. In this CR, command line trace flag 457 has been introduced to force ASE 15 to internally convert many of the cursors that would have used a worktable in ASE 12.5, but would not use on in ASE 15 to insensitive cursors to force materialization of the cursor rows when the cursor OPEN command is executed.


A join containing an MDA table may stacktrace with a signal 10 if a Nested Loop Join is used.


In rare circumstances, a signal 11 may be encountered in the 'xls_getnext' routine at transaction commit time, with the stack trace showing modules 'xls_getnext' and 'xact__postcommit_processing'.


Running a query with large joins of more than six tables may get a stacktrace in the module 'stat_add_sample'.


A query involving a UNION such that 1) one side of the UNION is a SELECT from a derived table involving a join between two tables with a DISTINCT on the projection; and 2) the other side of the UNION is a SELECT < constant > might lead to wrong results. An example query would be: select et.col1 from (select DISTINCT et.col1 from et, cl clkp where et.col2 = clkp.col2 and clkp.col1 = 'Dependency' ) et UNION select 'All'


Scheduled jobs stop unexpectedly after running a few months on nt386 platform.


Error 511 could be raised incorrectly for queries having unknown result length if trace flag 244 is turned on.


Job Scheduler Agent on NT uses IPv4 even if IPv6 is enabled on the host machine.


Sybase Central ASE Plug-in needs to allow for sysindexes.fill_factor being NULL. If it is null, it will be displayed as 0 in the table Properties/Locking Scheme page. And the label is changed from "Fill factor (1 - 100)" to "Fill factor (0 - 100)".


On IPv6 enabled machines, the sp_listener stop/suspend command fails to stop/suspend a listener after starting the listener successfully by the command "sp_listerner start".


Query with AND/OR clauses may stacktrace for certain order of OR clauses in the query.


Arithmetic overflow for numeric +/- expression involving more than 2 operands could happen during execution.


Procedural query compiled in the deferred compilation mode may fail producing stack traces if during the compilation the server has to perform the internal upgrade of the DEFAULT clause. Errorlog indicates modules 'add_default', 's_getTreeOrPlan', 's_reinstallProcTree' and 's_normalize'.


TEXT values returned by remote procedure calls with CIS RPC handling could be corrupted when UTF-8 character set is used.


When turning on statement cache, subsequent execution of a query on VIEWs that fires an instead-of trigger and involves LOB may hit SIGSEGV and stack trace from the module 'eval_locator_bi'.


Loading a 12.5 transaction dump including REORG REBUILD log records into a 15.x ASE may fail with a segfault error showing the modules 'bt__rebld_row' and 'bt__rebld_prepdestrow'.


SEGV in the module 'CgpInplaceUpdateVars' could happen when the query has a subquery under an OR predicate and there are more than 6 joining tables.


Executing a query having more than 6 tables may hit a 540 error when the optimizer's alternative greedy algorithm leaves tables opened in the event of an exception.


In rare circumstances, a stack trace may be reported in the errorlog involving the modules 'GtuUnion::_GtcNTopPopsGenerate' and 'GtcChildOptBlockN::_GtcBestArgsGenerate' during a query that involves both more than 4 UNION sides, parallelism and one UNION side with a distinct projection and greater than 6 tables.


Monitor Server crashes in comn__sig_accept_thread upon receiving SIGHUP.


Job Scheduler fails to start on Windows with IPv6 enabled.


Wrong result could happen for MERGE or HASH join when there is an equijoin predicate t1.c1 = < expression on t2.c2 > and another redundant or equivalent equijoin predicate t2.c2 = < expression on t1.c1 > is added which is simply a transformation from the first one. For example, t1.c1 = t2.c2-1 and t2.c2 = t1.c1+1


In rare circumstances, the message "Infect with 11" in modules 'memcpy' and 'com__dateadd_both' may appear in the errorlog during a query involving more than 6 tables, Nested Loop Joins and SARGs with convert(), dateadd(), getdate() and datepart().


If statement cache is turned on and 'enable metrics capture' is also set, executing a query referencing temp tables will hit SIGSEV in the module 'memalloc' along with stack trace in the module 'metrics_dump' and 'ssql_purge_stmt_hastemp'.


The UPDATE STATISTICS command ignores the setting of the histogram tuning factor resulting in many fewer steps created when updating statistics. This can cause bad plans to be chosen due to the innacurate statistics.


When an instead-of trigger is defined on a VIEW that involves LOB columns and proxy tables, then executing a statement on the VIEW that fires the instead-of trigger may fail with message 3621, "Command has been aborted."


Executing UPDATE queries involving NULL LOBs may hit error 691, "Encountered invalid logical page 0 ..." with a stack trace in the modules 'updtext()' and 'wrongpage()'.


ASE running on Sun Solaris machines which do not have ISM configured within the kernel will cause additional engines to SEGV during their online operation.



  • SAP Adaptive Server Enterprise (ASE) 15.0.2 ESD#6
  • 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


Sybase Adaptive Server Enterprise 15.0 ; Sybase Adaptive Server Enterprise Cluster Edition 15.0


 Fix, Patch, 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.