sybase ASE 12.5.2 ESD 2# 于 2004-09-02 发布.
FIXES LIST :
List of Fixes for EBF 12060 --------------------------- Following is a list of fixes which are cumulative to this release. Each fix is listed along with the EBF in which it was first released and the description of the problem. The list is sorted by the EBFID column. The list of fixes represents changes included after the ASE 12.5.2 Release. For product changes up to ASE 12.5.2, please refer to the CPR and SPR files included in the %SYBASE%/ASE-12_5/install/SPR directory. EBFID BugID Description ----- ------ ------------------------------------------------------ 12060 364293 Update language module version, so that locales files will overlay earlier versions of the files. 12060 362369 On Tru64 Unix platform, ASE may generate stack traces with the wrong symbol names due to the missing libbtsymbols.so file. 12060 362041 Replication Agent may not send to Replication Server an INSERT or DELETE operation performed on a table with text/image column, if a partial rollback occurred during processing. 12060 361694 A 691 error: "Encountered invalid logical page '' while accessing object '' in database ''." may sometimes be encountered when inserting data into an Allpages Locked table with large length columns and having a clustered index. 12060 361498 SSL Clients specifying "Diffie-Hellman" key exchange algorithm in the ciphersuites fail in the SSLHandshake. Some clients, such as ODBC TDS based driver, offer ciphersuites which will cause the handshake failures. The certificates don't seem to matter in this problem. isql and OCS clients are fine as long as they specify the default ciphersuites but if the defaults are overridden and "Diffie-Hellman" is offered, the ASE fails in the handshake with them. 12060 360599 The current limit of 1024 AND/OR conditions in a WHERE clause has been raised to 2000. In order to take advantage of this new limit, it is necessary to adjust the default stack size upward, to approximately 300K. No change to the stack size is required unless the application desires to take advantage of this new limit. In addition to stack space, this new limit may result in a need to allocate more procedure cache space to the server. The dataserver must be started with traceflag 404 ( -T404 ) to allow this new limit to take effect. Otherwise, the current limit of 1024 will remain. 12060 360414 Under rare circumstances a session may hit a segmentation violation with message "current process () infected with 11" in module 'bufdlink' followed by a stack trace in the error log. This results in an implicit shutdown of ASE. 12060 360063 Under large number of user connections, if connections are killed repeatedly, then subsequent logins may take a long time to get through resulting in slower response time. 12060 359172 If Job Scheduler Task fails to initialize, infected with 10 in kbfalloc() is caused by running sp_sysmon with "cache wizard". 12060 359128 A 10479 error, "Conversion error detected while converting Java data to SQL data. Either the conversion is not supported or the datatype(s)is invalid." may be raised when using CONVERT() function to convert certain JAVA datatype values to NUMERIC SQL datatype values. 12060 358954 When CREATE TABLE and INSERT are in the same store procedure, and the table is a non-temporary table with IDENTITY column, the IDENTITY column data will be incorrect. 12060 358868 Character set conversions are rejected for older (DBlib) clients when the server's default character set is SJIS and the client's character set is EUCJIS. 12060 358800 On AIX platforms, there may be a problem with populating the aio_return field of an aio control block in a timely fashion within the ASE. 12060 358758 When a transaction is being implicitly rolled back by ASE, then the command "KILL WITH STATUSONLY" will mistakenly report the message "Status report cannot be obtained. ROLLBACK for spid: is not in progress.". 12060 358450 If a new data cache is created using sp_cacheconfig, the "APF Percent" for the default memory pool may be incorrectly set to zero when Adaptive Server is next rebooted. This can cause performance degradation when accessing any objects that are bound to this data cache. 12060 358418 Monitor tool to display in English only. 12060 358397 Transient 806, 691, 605 errors may be seen in very rare circumstances when multiple sessions are scanning the same page of an index in an Allpage Locked table. 12060 358269 A SELECT UNION query using a view which is materialized whereby columns of the view are used in an outerjoin- clause can return incorrect results. 12060 358092 When forcing an index, optimiser considers only the 1st SARG 12060 358007 Stored procedure executing INSERT into a table with some varchar columns may incorrectly leave trailing spaces in the varchar column if the source of the data is a table with CHAR column. 12060 357839 The command DUMP TRAN TO WITH STANDBY_ACCESS may take too much time to stop when interrupted with Ctrl C or killed from another session. 12060 357688 A 530 error, "Attempt to insert NULL value into column ... in work table (table id ...) column does not allow NULLS. UPDATE fails." may be raised when a java class running inside the ASE's JVM is connecting to the server using the internal JDBC driver and then executes a query on a table that has wide columns and a worktable is necessary to resolve that query. 12060 357658 In an HA environment that is configured "with proxy_db", the error "Infected with 11" followed by a stack trace that includes the module 'palt__gen_addcol_clause' will be printed in the error log and the process will be killed when a table is altered to add a new non-null column without providing a default. A 4997 error, "ALTER TABLE '' failed. Default clause is required in order to add non-NULL column ''", should be printed instead. 12060 357477 A 871 error, "Process is trying to release a latch on buffer (dbid: , pageno: ) without holding a latch on the buffer." may be raised in module 'getnext' or 'dol__get_lock' when the given process selects rows from a Data Only Locked table while DML commands are taking place concurrently by other processes. 12060 357181 The amount of memory needed by Adaptive Server may be overestimated. This could happen when a large number of "open objects", "open databases" or user-defined caches are configured so that following an upgrade, Adaptive Server may be unable to boot. The following message, "The value of the 'max memory' parameter () defined in the configuration file is not high enough to set the other parameter values specified in the configuration file...", is reported in the error log. 12060 356785 ASE 126.96.36.199 ESD#4 running on HP-64 platform after a few days suddenly becomes very slow, triggered by high network activity. Incoming network I/O is very high, ASE engines use 80% to 100% of CPU at Operating System level, but do not perform any useful work. New incoming connections are most of the time refused, effectively ASE seems to be hung. 12060 356027 A 8201 error, "Keep count of descriptor ... expected to be 1. Instead 0 was found." may be reported in the error log followed by a stack trace including the modules 'proc_get' and 'des_rekeep' during the execution of a stored procedure whose previous execution had failed with the message 'current process infected with 11' in the module 'proc__setdb_plan'. 12060 356005 A 2780 error, "maxlen (1) is less than length (2)" may be raised and reported to the errorlog together with a stack trace which includes the modules 'sybase_asejdbc_Param_nt_1setBigDecimal' and 'j2c_setVal' when executing a java method that uses ASE internal JDBC driver and tries to convert from BigDecimal java datatype to NUMERIC SQL datatype. 12060 355551 When an ASE (12.5.1 and beyond) listener encounters some recoverable network errors, like client aborting a connection, when ASE is in the process of accepting the client connection, ASE may consider the error to be unrecoverable and terminate that listener. If there is only one listener, no new connections can then be established. However if a system administrator isql session is available, then listener can be restarted. This condition may be triggered by some activities like a long duration shared memory dump. 12060 355375 ASE Replicator: On Windows, if the default system locale is set to French, "corrupted" characters may be seen instead of e with accent, o with circumflex, etc. There does not seem to be a straight-forward way to force Windows to use a specific charset. So, instead, that info can be directly provided to ASE Replicator. To provide the default charset to ASE Replicator, do the following: Edit the $SYBASE/RPL- 12_5/bin/aserep.[bat|sh] script and add the "- Dfile.encoding=xxx" parameter to the JRE command line where "xxx" is a valid *Java* charset. For example: "%JRE%" -Xmx64m "-Dfile.encoding=Cp850" "- Dinstall.root=%SYBASE_DIR%/RPL-12_5" -classpath "%SYBASE_DIR%/RPL- 12_5/classes/aserep.jar;%SYBASE_DIR%/jConnect- 5_5/classes/jconn2.jar;%SYBASE_DIR%/jConnect- 5_5/classes/jTDS2.jar;%CHARSETS%" com.sybase.replite.RepLite %* The Java charsets that display the French unicode characters correctly are cp437, cp850, cp852, and cp858, specifically, the charsets that are MS-DOS compatible. Other Latin charsets do not work and display "corrupted" characters. 12060 355370 ASE Replicator: On Windows, if the default system locale is set to French, "corrupted" characters may be seen instead of e with accent, o with circumflex, etc. There does not seem to be a straight-forward way to force Windows to use a specific charset. So, instead, that info can be directly provided to ASE Replicator. To provide the default charset to ASE Replicator, do the following: Edit the $SYBASE/RPL- 12_5/bin/aserep.[bat|sh] script and add the "- Dfile.encoding=xxx" parameter to the JRE command line where "xxx" is a valid *Java* charset. For example: "%JRE%" -Xmx64m "-Dfile.encoding=Cp850" "- Dinstall.root=%SYBASE_DIR%/RPL-12_5" -classpath "%SYBASE_DIR%/RPL- 12_5/classes/aserep.jar;%SYBASE_DIR%/jConnect- 5_5/classes/jconn2.jar;%SYBASE_DIR%/jConnect- 5_5/classes/jTDS2.jar;%CHARSETS%" com.sybase.replite.RepLite %* The Java charsets that display the French unicode characters correctly are cp437, cp850, cp852, and cp858, specifically, the charsets that are MS-DOS compatible. Other Latin charsets do not work and display "corrupted" characters. 12060 355108 When two instances of the same shared memory dump condition occur at almost the same time, it is possible for the number of shared memory dumps created to exceed the configured maxdumps value for that dump condition. 12060 355017 ASE Replicator: When a single quote mark is not doubled in the resource message, two things can happen: (1)the quote mark does not show up in the localized message and (2)if there is/are parameter placeholder(s) in the resource message, then the actual values do *not* show up in the localized message; instead, the placeholders themselves show up. 12060 355004 ASE Replicator: When trying to start ASE Replicator, a SQLException "S0022 column not found" error occurs. 12060 354984 A 694 error, " An attempt was made to read logical page '', virtpage '' from virtual device '' for object '' in database ''. The page was not read successfully. You may have a device problem or an operating system problem." may be reported under rare circumstances when CREATE INDEX and DUMP DATABASE are running concurrently and the server has large pools configured. 12060 354961 ASE Replicator: On Windows, if the default system locale is set to French, "corrupted" characters may be seen instead of e with accent, o with circumflex, etc. There does not seem to be a straight-forward way to force Windows to use a specific charset. So, instead, that info can be directly provided to ASE Replicator. To provide the default charset to ASE Replicator, do the following: Edit the $SYBASE/RPL- 12_5/bin/aserep.[bat|sh] script and add the "- Dfile.encoding=xxx" parameter to the JRE command line where "xxx" is a valid *Java* charset. For example: "%JRE%" -Xmx64m "-Dfile.encoding=Cp850" "- Dinstall.root=%SYBASE_DIR%/RPL-12_5" -classpath "%SYBASE_DIR%/RPL- 12_5/classes/aserep.jar;%SYBASE_DIR%/jConnect- 5_5/classes/jconn2.jar;%SYBASE_DIR%/jConnect- 5_5/classes/jTDS2.jar;%CHARSETS%" com.sybase.replite.RepLite %* The Java charsets that display the French unicode characters correctly are cp437, cp850, cp852, and cp858, specifically, the charsets that are MS-DOS compatible. Other Latin charsets do not work and display "corrupted" characters. 12060 354958 ASE Replicator: Usage command has garbled text when running aserep /? 12060 354936 In rare circumstances, ASE may report a timeslice error in the module 'lm_internal_ctxchain_release' if a session has acquired a very large number of locks. If the lock manager spinlock is held at this point, the server will crash. 12060 354798 Traceflag 7842 can be used to log a diagnostic message when a client cancels an operation. Traceflag 7843 can be used to reverse the changes from bugfix 269372 for situations where an existing application relies on the previous (incorrect) behaviour of ASE attention handling. 12060 354772 When the 'number of user connections' is configured to a large value (around 30000), ASE may fail to start due to a timeslice error in module 'dbt__getfree' after the message 'Opening Master Database ... ' has been reported in the error log. 12060 354768 Allocate memory for EJB connection sockets only under traceflag -T 1642. This new default behavior change eliminates unused memory reserved for EJB server when EJB server is not configured so that more user connections can be configured for the ASE server. 12060 354727 When the Statement Cache is enabled and a normalization error occurs, the keepcounts of other statements in the batch may not be decremented resulting in incorrect keepcounts. This prevents these statements from ever being purged using DBCC PURGESQLCACHE. 12060 354650 Noticeable performance degradation is observed in query performance when migrating to ASE 188.8.131.52 and later versions on IBM 64bit platform built on AIX 5.1 OS (ASE version string reported by 'dataserver -v' has "AIX 5.1" rather than "AIX 4.3.3"). 12060 354609 The error 208 will be incorrectly raised when trying to access an object that is qualified with the database name that is enclosed in double quotes and SET QUOTED_IDENTIFIER is ON. 12060 354585 A batch executing the sequence of statements: CREATE CLUSTERED INDEX on a table and then UPDATE table may fail with error 629, "Clustered index row entry for data page # is missing in index page # of table `tabname` in database 'dbname'; index row contains data page # instead. You can recreate the clustered index to fix this error Xactid is (xactid)." 12060 354578 CIS: sp_passthru is not returning the correct @rowcount value when no rows are fetched or affected by the pass-through query. 12060 354511 Msg. 156, "Incorrect syntax near ELSE" is raised when executing an IF ELSE construction whereby the SQL statement in the IF block is cached using the Statement Cache feature. 12060 354281 The message "current process infected with 11" in the module 'memshrink' together with a stack trace which includes the modules 'cri_physbuild' and 'cri_bldindex' may be reported in the error log when a DUMP DATABASE statement is run at the same time as a CREATE INDEX, SELECT INTO or BCP. The diagserver will return error message 3205 in this case. 12060 354208 Cannot Delete an Extended Stored Procedure in ASE Plug- in. This problem is seen in 12.5.2 version of ASE Plug- in. 12060 353866 A user trying to log into the server may be blocked forever if the master database is quiesced. 12060 353718 A 2628 or 2630 error together with message "Mass found in the buffer wash with incorrect state dirty but not writing" may sometimes be encountered while doing a lot of UPDATEs or DELETEs on a Data Only Locked table. 12060 353460 sp_monitor stored procedure executed with the 'connection' parameter gives incorrect time values for sleeping processes. 12060 352568 In rare circumstances, ASE may hang forever if the IO subsystem is overloaded and a process goes to sleep while holding the default data cache spinlock. The call stack of this process will show the modules 'dstartio', 'kd_p_semaphore' and 'upsleepgeneric'. 12060 352153 A 257 error, "Implicit conversion from datatype to is not allowed" may be raised when inserting a NULL value using a parameterized statement and the datatype of the parameter does not match with the datatype of the column. 12060 352103 CIS: SELECT..INTO from proxy table command against DB2 backend is slow when the WHERE clause is not forwarded to the remote server. 12060 352044 If character set conversion is already active, executing the statement "set char_convert on" will cause incorrect information to be reported via the global variables @@char_convert and @@client_csid, and it may ultimately lead to the process being terminated with a a stack trace. 12060 352027 A 7951 error may be reported by DBCC CHECKTABLE after a valid XML document that is encoded in a multi-byte character set, has been BCP'd into this table. 12060 351074 A 614 error, "Adaptive Server accessed a row that has an illegal length of while in database . Page pointer =, , pageno = , status = , objectid = , indexid = , level = . The minimum row length is %d. The page size is (pagesize>" may sometimes happen when a transaction doing DELETE and UPDATE operations on a Data Only Locked table is rolled back. 12060 351008 Replication Agent may report the error 691, including page '0', when trying to process an update where the before image has not been marked for replication. 12060 349790 CIS : Execution of multiple Extended Stored Procedures might result in performance improvement due to an efficient connection establishment model when routed through CIS RPC mechanism after both 'cis rpc handling' and 'negotiated logins' options are turned on. 12060 349251 When a single long transaction is aborted in a primary database because it has filled up the log, replication agent is not able to move the secondary truncation point, even if all transactions have been processed by replication agent. 12060 348384 The error 1505, "Create unique index aborted on duplicate key. Primary key is ''" may report an incorrect key value if the index is created in parallel mode as opposed to serial. 12060 347753 Enhanced diagnostics for access violation errors. 12060 347380 Msg. 103, "The identifier that starts with '' is too long. Maximum length is 30." is raised when executing the command WRITETEXT BULK . and colname is called "parameter". 12060 345943 After unmirroring the master device keeping the secondary side, dumps of the master database fail with an attempt to access the original master device. 12060 342856 Under very rare circumstances, DBCC CHECKSTORAGE may incorrectly report a large number of 100018 soft faults. 12060 335542 CIS: An outer join query declared inside a cursor can't be passed to the remote server completely even if all tables involved are on the same remote server. Cursors involving remote tables are READONLY by default. They can be made UPDATE-ABLE by default upon enabling traceflag 11218. 12060 95163 A column created with the system datatype 'sysname', defined as a varchar(30) NULL, will get a length of 1 char instead of 30.