Bug #37854 Test fails/aborts for collate latin2_czech_cs used with SET and ENUM datatypes
Submitted: 3 Jul 2008 21:46 Modified: 18 Oct 2008 15:53
Reporter: Hema Sridharan Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Charsets Severity:S3 (Non-critical)
Version:mysql-6.0-backup, mysql-6.0 OS:Any
Assigned to: Alexander Barkov CPU Architecture:Any
Triage: Triaged: D2 (Serious)

[3 Jul 2008 21:46] Hema Sridharan
Description:
1) I create database.
2) I create table having SET and ENUM data types, with character set latin2 and collate latin2_czech_cs.
3) When I run this test, the test gets timed out and is aborted by giving INT signal. Also master.err file shows signal 15(mysqld shutdown).

If we change the collation and then run the test, then the test runs fine and passes.

How to repeat:
SET NAMES latin2;
CREATE DATABASE bup_datatype;
USE bup_datatype;
CREATE TABLE d2(colours SET('red','blue','yellow'))CHARACTER SET latin2 COLLATE latin2_czech_cs;
CREATE TABLE d1(continent ENUM('Asia', 'Europe','Africa','Antartica'))CHARACTER SET latin2 COLLATE latin2_czech_cs;
INSERT INTO d1 VALUES('Asia');
INSERT INTO d2 VALUES('blue');
DROP DATABASE bup_datatype;

I get the following error after after some time
main.backup_czech2             [ fail ]  timeout

Aborting: main.backup_czech2 failed in default mode.
Stopping All Servers
Warning;  Aborted waiting on pid file: '/data0/backupjul2/mysql-6.0-backup/mysql-test/var/run/master.pid' after 70 seconds
mysql-test-run: WARNING: Forcing kill of process 14137
[4 Jul 2008 19:22] Sveta Smirnova
Thank you for the report.

Verified as described using mysql-6.0-backup tree.
[29 Jul 2008 22:18] Omer Barnir
Note: This is not a test case issue the hang is observed when running the first insert in the mysql client as well
[4 Sep 2008 8:26] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/53229

2824 Alexander Barkov	2008-09-04
      Bug#37854 Test fails/aborts for collate latin2_czech_cs used with SET and ENUM
      Problem: my_strnncoll_czech() hunged when comparing two equal strings.
      Loop didn't break on end-of-string (i.e. when NEXT_CMP_VALUE returned value=-1).
      Fix: changing loop condition to break on negative values.
[12 Sep 2008 11:55] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/53967

2824 Alexander Barkov	2008-09-12
      Bug#37854 Test fails/aborts for collate latin2_czech_cs used with SET and ENUM
      Problem: my_strnncoll_czech() hunged when comparing two equal strings.
      Loop didn't break on end-of-string (i.e. when NEXT_CMP_VALUE returned value=-1).
      Fix: changing loop condition to break on negative values.
      
      Extended comments for NEXT_CMP_VALUE were added.
[16 Sep 2008 5:40] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/54181

2814 Alexander Barkov	2008-09-16
      Bug#37854 Test fails/aborts for collate latin2_czech_cs used with SET and ENUM
      Problem: my_strnncoll_czech() hunged when comparing two equal strings.
      Loop didn't break on end-of-string (i.e. when NEXT_CMP_VALUE returned value=-1).
      Fix: changing loop condition to break on negative values.
      
      Extended comments for NEXT_CMP_VALUE were added.
[16 Sep 2008 5:40] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/54182

2814 Alexander Barkov	2008-09-16
      Bug#37854 Test fails/aborts for collate latin2_czech_cs used with SET and ENUM
      Problem: my_strnncoll_czech() hunged when comparing two equal strings.
      Loop didn't break on end-of-string (i.e. when NEXT_CMP_VALUE returned value=-1).
      Fix: changing loop condition to break on negative values.
      
      Extended comments for NEXT_CMP_VALUE were added.
[16 Sep 2008 5:41] Alexander Barkov
Pushed into 6.0.8-bugteam
[17 Oct 2008 16:41] Bugs System
Pushed into 6.0.8-alpha  (revid:bar@mysql.com-20080916053335-0eoxmicmgawoxxzo) (version source revid:bar@mysql.com-20080916053335-0eoxmicmgawoxxzo) (pib:5)
[18 Oct 2008 15:53] Paul Dubois
Noted in 6.0.8 changelog.

Comparisons could hang for SET or ENUM columns that used
latin2_czech_cs collation.