Bug #1350 Character set incompatibility on upgrade from 4.1 to 4.1.1-alpha (bk)
Submitted: 19 Sep 2003 10:29 Modified: 22 Sep 2003 22:44
Reporter: Brian O'Kelley Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Installing Severity:S2 (Serious)
Version:4.1.1-alpha (bk) OS:Linux (Gentoo Linux)
Assigned to: Alexander Barkov CPU Architecture:Any

[19 Sep 2003 10:29] Brian O'Kelley
Downloaded source; tests fail:

030919 13:18:01  mysqld started
030919 13:18:02  Character set is not supported for messagefile '/usr/local/mysql/data/mysql/english/errmsg.sys'
030919 13:18:02  Aborting

I am using default character set (latin1), which has worked in the past.

How to repeat:
Configured as follows:

glob_warns=" \
    -Wimplicit \
    -Wreturn-type \
    -Wswitch \
    -Wtrigraphs \
    -Wcomment \
    -W \
    -Wchar-subscripts \
    -Wformat \
    -Wparentheses \
    -Wsign-compare \
    -Wwrite-strings \

    $glob_warns \
    -Wunused \
    -O3 \
    -Wuninitialized \
    -march=pentium4 \
    -msse2 \
" \
CXX=gcc \
    -felide-constructors \
    -fno-exceptions \
    -fno-rtti \
    $glob_warns \
    -Woverloaded-virtual \
    -Wsign-promo \
    -Wreorder \
    -Wctor-dtor-privacy \
    -Wnon-virtual-dtor \
" \
./configure \
    --prefix=/usr/local/mysql \
    --bindir=/usr/local/mysql/bin \
    --sbindir=/usr/sbin \
    --libexecdir=/usr/mysql/bin \
    --datadir=/usr/local/mysql/data \
    --sysconfdir=/etc/mysql \
    --localstatedir=/usr/local/mysql/data \
    --libdir=/usr/local/mysql/lib \
    --includedir=/usr/local/mysql/include \
    --infodir=/usr/local/share/info \
    --mandir=/usr/local/share/man \
    --enable-thread-safe-client \
    --enable-assembler \
    --with-pthread \
    --with-comment \
    --with-isam \
    --without-innodb \
    --with-debug \
    --with-mysqld-user=mysql \

make -j 4

Suggested fix:
Not exactly sure. It would help if the error message said "Character set XXXX is not supported for messagefile...."
[21 Sep 2003 23:13] Alexander Barkov
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
[22 Sep 2003 5:20] Brian O'Kelley
Built from source - still seeing this issue.

cd mysql-test ; ./mysql-test-run
Installing Test Databases
Removing Stale Files
Installing Master Databases
running  ../sql/mysqld --no-defaults --bootstrap --skip-grant-tables     --basedir=. --datadir=./var/master-data --skip-innodb --skip-bdb --language=../sql/share/english/
head[30] = 0
030922 15:17:59  Character set is not supported for messagefile '/usr/local/src/mysql-4.1/sql/share/english/errmsg.sys'
030922 15:17:59  Aborting

../scripts/mysql_create_system_tables: line 309:   602 Broken pipe             cat  <<END_OF_DATA
use mysql;






Error executing mysqld --bootstrap
Error:  Could not install master test DBs
[22 Sep 2003 5:43] Alexander Barkov
You have to recreate and install sys files.

cd sql/share
rm */*.sys
make install
[22 Sep 2003 7:02] Brian O'Kelley
OK... no luck. Should I open this as a new bug?

bok@rm2 mysql-4.1 $ cd sql/share
bok@rm2 share $ rm */*.sys
bok@rm2 share $ make
../../extra/comp_err -C./charsets/ czech/errmsg.txt czech/errmsg.sys
Found 279 messages in language file czech/errmsg.sys
../../extra/comp_err -C./charsets/ danish/errmsg.txt danish/errmsg.sys
Found 279 messages in language file danish/errmsg.sys
../../extra/comp_err -C./charsets/ dutch/errmsg.txt dutch/errmsg.sys
Found 279 messages in language file dutch/errmsg.sys
../../extra/comp_err -C./charsets/ english/errmsg.txt english/errmsg.sys
Found 279 messages in language file english/errmsg.sys
../../extra/comp_err -C./charsets/ estonian/errmsg.txt estonian/errmsg.sys
Found 279 messages in language file estonian/errmsg.sys
../../extra/comp_err -C./charsets/ french/errmsg.txt french/errmsg.sys
Found 279 messages in language file french/errmsg.sys
../../extra/comp_err -C./charsets/ german/errmsg.txt german/errmsg.sys
Found 279 messages in language file german/errmsg.sys
../../extra/comp_err -C./charsets/ greek/errmsg.txt greek/errmsg.sys
Found 279 messages in language file greek/errmsg.sys
../../extra/comp_err -C./charsets/ hungarian/errmsg.txt hungarian/errmsg.sys
Found 279 messages in language file hungarian/errmsg.sys
../../extra/comp_err -C./charsets/ italian/errmsg.txt italian/errmsg.sys
Found 279 messages in language file italian/errmsg.sys
../../extra/comp_err -C./charsets/ japanese/errmsg.txt japanese/errmsg.sys
Unknown character 'ujis' in 'japanese/errmsg.txt'
Can't uppdate messagefile japanese/errmsg.txt, errno: 0
make: *** [japanese/errmsg.sys] Error 1
[22 Sep 2003 22:44] Alexander Barkov
I'm sorry, it somehow worked for me previous time.
Please pull the latest changes. I fixed it now.
[23 Sep 2003 6:24] Brian O'Kelley
Not sure if this is a related issue, but I got this this time (if not I'll open as a separate issue):

cd mysql-test ; ./mysql-test-run
Installing Test Databases
Removing Stale Files
Installing Master Databases
running  ../sql/mysqld --no-defaults --bootstrap --skip-grant-tables     --basedir=. --datadir=./var/master-data --skip-innodb --skip-bdb --language=../sql/share/english/
mysqld got signal 11;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 225791 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
Cannot determine thread, fp=0x4099e8f8, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://www.mysql.com/doc/en/Using_stack_trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x838c3d8 =  CREATE TABLE help_category (   help_category_id   smallint unsigned not null,   name               varchar(64) not null,   parent_category_id smallint unsigned null,   url                varchar(128) not null,   primary key        (help_category_id),   unique index       (name) )   comment='help categories'
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.
Error executing mysqld --bootstrap
Error:  Could not install master test DBs

The resolved stack trace is:
0x80b5065 handle_segfault + 453
0x8203a35 __pthread_sighandler + 113
0x81dde54 _checkchunk + 28
0x81ddc3d _sanity + 85
0x81dd7d1 _myfree + 577
0x81dcd75 free_root + 264
0x80eb002 _Z8closefrmP8st_table + 220
0x813878c _Z15ha_create_tablePKcP24st_ha_create_informationb + 308
0x812965e _Z16rea_create_tableP3THDPcP24st_ha_create_informationR4ListI12create_fieldEjP6st_key + 1430
0x8143fc0 _Z18mysql_create_tableP3THDPKcS2_P24st_ha_create_informationR4ListI12create_fieldERS5_I3KeyEbbj + 4994
0x80c7c7c _Z21mysql_execute_commandP3THD + 4782
0x80cc555 _Z11mysql_parseP3THDPcj + 247
0x80c4f72 handle_bootstrap + 822
0x81ffe3f pthread_start_thread + 376
0x8238577 clone + 103