Can't change bug status, Illegal mix of collations

RESOLVED INVALID

Status

()

Bugzilla
Creating/Changing Bugs
RESOLVED INVALID
12 years ago
11 years ago

People

(Reporter: Dave Carlton, Unassigned)

Tracking

Details

(URL)

Attachments

(4 attachments)

(Reporter)

Description

12 years ago
User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8) Gecko/20051025 Firefox/1.5
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8) Gecko/20051025 Firefox/1.5

Just setup bugzilla on MacOSX Server to track bugs for the Marten project and everything was looking fine until now when I tried to change a bug status from 'NEW' to 'ASSIGNED' and received the error message described in actual results.

I looked thru all the bugs and could not find any reference to 'illegal collations'
 

Reproducible: Always

Steps to Reproduce:
1. Cick on accept bug.
2. Clock on Commit

Actual Results:  
content-type: text/html
Software error:

DBD::mysql::st execute failed: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (macroman_bin,IMPLICIT) for operation 'case' [for Statement "update bugs
set
    rep_platform = 'Macintosh',
    priority = 'P2',
    bug_severity = 'normal',
    bug_file_loc = 'http://davec.us/bugzilla',
    short_desc = 'Need component tree for Marten',
    version = '1.2',
    op_sys = 'Mac OS',
    product_id = 2,
    component_id = 3,
    alias = NULL,
    bug_status = CASE WHEN bug_status IN('NEW', 'REOPENED', 'ASSIGNED', 'UNCONFIRMED') THEN (CASE WHEN everconfirmed = 1 THEN 'NEW' ELSE  'UNCONFIRMED' END) ELSE bug_status END,
    assigned_to = 1
where bug_id = 2"] at Bugzilla/DB.pm line 84
	Bugzilla::DB::SendSQL('update bugs\x{a}set\x{a}    rep_platform = \'Macintosh\',\x{a}    priorit...') called at /Library/WebServer/Documents/bugzilla/process_bug.cgi line 1414

Comment 1

12 years ago
Could you please include output of ./checksetup.pl -t? The output of the SQL command 'show table status' would be helpful too (it will be very wide, so please attach that as a file).

Just in case you do not know... you can run an SQL command by starting the following terminal program:
  mysql -u $user -p $databasename
Replace $user with the database user, $databasename with the databasename. It will ask you for the password. At after that, 'show table status;', enter.

thanks

(setting version to 2.20 as shown on davec.us)
Version: unspecified → 2.20
(Reporter)

Comment 2

12 years ago
Created attachment 202358 [details]
Result of checkout -t
(Reporter)

Comment 3

12 years ago
Created attachment 202359 [details]
Result of show table status on bugs table.
(Reporter)

Comment 4

12 years ago
Added results as attachments. Just upgraded to 10.4.3 and having trouble connecting to mysql using localhost socket method. I keep getting:

Can't connect to the database.
Error: Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (13)
  Is your database installed and up and running?
  Do you havethe correct username and password selected in localconfig?

I can ssh to the server and connect to localhost using 'mysql -S /var/mysql/mysql.sock' just fine. Temporarily fixed it by specifing my server instead of localhost in localconfig.

Comment 5

12 years ago
Created attachment 206836 [details]
output of 'show tables status;'

Comment 6

12 years ago
Created attachment 206837 [details]
output of 'checksetup.pl -t'

Comment 7

12 years ago
I've run across this bug on a bugzilla 2.20 installed on IIS 6.0/windows 2003.
(I've upgraded a bugzilla 2.16 database).
On a bugzilla 2.20 installed on IIS 5.0/windows-XP-SP2 installed from scratch (i.e. without updating an older dbase) this problem does not seem to happen.

Software error:
DBD::mysql::st execute failed: Illegal mix of collations (utf8_general_ci,COERCIBLE) and (hebrew_general_ci,IMPLICIT) for operation 'case' [for Statement "update bugs
set
    rep_platform = 'PC',
    priority = 'P2',
    bug_severity = 'normal',
    bug_file_loc = '',
    short_desc = 'bug with reading field value from server',
    version = '2.2',
    op_sys = 'Windows',
    product_id = 11,
    component_id = 38,
    reporter_accessible = 1,
    cclist_accessible = 1,
    everconfirmed = 1,
    bug_status = CASE WHEN bug_status IN('NEW', 'REOPENED', 'ASSIGNED', 'UNCONFIRMED') THEN (CASE WHEN everconfirmed = 1 THEN 'ASSIGNED' ELSE  'UNCONFIRMED' END) ELSE bug_status END
where bug_id = 510"] at Bugzilla/DB.pm line 84
	Bugzilla::DB::SendSQL('update bugs\x{a}set\x{a}    rep_platform = \'PC\',\x{a}    priority = \'P...') called at D:\bugzilla-2.20\process_bug.cgi line 1414

I've attached the output of 'checksetup.pl -t' & 'show tables status;'

Thanks,
Nadav

Comment 8

12 years ago
When I installed MySql on the windows2003 machine I set the default charset to UTF8 (I don't remember what the default charset was on the old bugzilla machine)
Could this be part of the problem?

Comment 9

12 years ago
Yes, The charset of the MySql server was part of the problem!
I changed the default charset of the MySql server to 'hebrew',
imported the database of the old bugzilla, rerun checksetup.pl and 
now everything seems to run just fine.

Nadav

Updated

12 years ago
Severity: critical → normal
OS: MacOS X → All
Hardware: Macintosh → All

Comment 10

11 years ago
I saw this immediately after upgrading a (Gentoo) MySQL install from 4.1.14 to 4.1.20, during which, the default character sets defined in /etc/mysql/my.cnf changed to utf8.

The fix on my system was to change the table character set as follows:
mysql> alter table bugs convert to character set 'utf8';
So... I gather this is not a bug in Bugzilla, so we can mark it RESOLVED INVALID?

Updated

11 years ago
Status: UNCONFIRMED → RESOLVED
Last Resolved: 11 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 374951

Comment 13

11 years ago
Oh, actually, this one isn't a dup, it's just INVALID, yes.
Resolution: DUPLICATE → INVALID
You need to log in before you can comment on or make changes to this bug.