Bug #304 Server freezes when default-character-set=win1250ch
Submitted: 17 Apr 2003 13:01 Modified: 28 Apr 2003 4:28
Reporter: Ondra Zizka Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:3.23.55 OS:Microsoft Windows (Windows 2000 SP2)
Assigned to: Bugs System CPU Architecture:Any

[17 Apr 2003 13:01] Ondra Zizka
Description:
On my friend's advice, I tried:

[mysqld]
default-character-set=win1250ch

Notice the ch at the end. That was written by mistake - it should be "win1250" of course.

But the mysqld-nt starting as Windows 2000 service doesn't generate an error, it seems it falls in an endless loop. It takes over 98% of processor time and the service can't be stopped (or at least it doesn't stop in less than 30 minutes :) The only solution is to press reset.

When I deleted the line "default-character-set=win1250ch", it ran properly again.

Ondra Zizka

How to repeat:
Have the standard distribution of MySQL server 3.23.55 windows binaries.
Stop the MySQL service (mysqld-nt).
To the standard my-medium.cnf from 3.23.55 add to the section
[mysqld]
default-character-set=win1250ch
.
Start the service. Now windows are saying the service is starting, sometimes it even starts, but actually it hangs out and does nothing. I was unable to stop the service.
[17 Apr 2003 15:54] MySQL Verification Team
Thanks for the debug report. Actually the server stuck in
the shut down process. However the correct message error
is sent at mysql.err file. Also this happens with any
not valid character ser.

Suggested fix:

*** d:\mysql-dev\mysql\sql\mysqld.cc	Thu Apr 17 18:09:34 2003
--- c:\3.23.56\sql\mysqld.cc	Thu Apr 17 19:44:40 2003
***************
*** 785,791 ****
    if (!opt_bootstrap)
      (void) my_delete(pidfile_name,MYF(0));	// This may not always exist
  #endif
!   if (print_message)
      sql_print_error(ER(ER_SHUTDOWN_COMPLETE),my_progname);
    x_free((gptr) my_errmsg[ERRMAPP]);	/* Free messages */
    my_thread_end();
--- 785,791 ----
    if (!opt_bootstrap)
      (void) my_delete(pidfile_name,MYF(0));	// This may not always exist
  #endif
!   if (print_message && errmesg)
      sql_print_error(ER(ER_SHUTDOWN_COMPLETE),my_progname);
    x_free((gptr) my_errmsg[ERRMAPP]);	/* Free messages */
    my_thread_end();
[28 Apr 2003 4:28] MySQL Verification Team
Thanks for the bug report.
It was fixed in the latest mysql-3.23 BK tree.