Bug #42368 main.mysqlcheck: Found warnings!! (Can't find file: './test/@003f.frm')
Submitted: 27 Jan 2009 10:59 Modified: 29 Nov 2010 16:39
Reporter: Luis Soares Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Charsets Severity:S2 (Serious)
Version: OS:Any
Assigned to: Assigned Account CPU Architecture:Any
Tags: 5.1-rpl-green, 6.0-rpl-green, windows
Triage: Triaged: D3 (Medium)

[27 Jan 2009 10:59] Luis Soares
Description:
main.mysqlcheck                          [ fail ]  Found warnings in server log file!
        Test ended at 2009-01-27 00:29:32
@log_error
e:/var-n_mix-100/mysqld.1/mysqld.err
log_error
090127  2:29:30 [ERROR] mysqld.exe: Can't find file: './test/@003f.frm' (errno: 22)

^ Found warnings!!
ok

 - saving 'e:/var-n_mix-100/log/main.mysqlcheck/' to 'e:/var-n_mix-100/log/main.mysqlcheck/'

Retrying test, attempt(2/3)...

How to repeat:
5.1-rpl:

https://intranet.mysql.com/secure/pushbuild/showpush.pl?dir=bzr_mysql-5.1-rpl&order=120

vm-win2003-32-a: n_mix

6.0-rpl:

https://intranet.mysql.com/secure/pushbuild/showpush.pl?dir=bzr_mysql-6.0-rpl&order=154

'win2003-x86' -max-nt: 	n_mix, ps_row
'vm-win2003-32-a' Win32 VS2003 -max-nt: n_mix, 	ps_row
'vm-win2003-64-b' Win64 VS2005 -max-nt: n_mix,  ps_row

http://tinyurl.com/co4ehh
[27 Aug 2009 15:15] Daogang Qu
The problem can't be reproduced.
[24 Nov 2010 14:57] Luis Soares
This is happening again:

http://pb2.norway.sun.com/web.py?template=mysql_show_test_failure&test_failure_id=3414509

http://pb2.norway.sun.com/web.py?template=mysql_show_test_failure&test_failure_id=3414713

Perhaps because tests in these platforms are run with --parallel > 1 and
make the issue to surface more easily?
[25 Nov 2010 10:10] Luis Soares
Yet another one in mysql-trunk-bugfixing:
http://pb2.norway.sun.com/web.py?action=archive_download&archive_id=2583766&pretty=please
[26 Nov 2010 15:57] SaiKumar V
on windows Xp -x86 system was able to reproduce this defect, even without the parallel option.

i.e,
perl mysql-test.run.pl main.mysqlcheck

Identified the test in the testcase causing the error:

SET NAMES utf8;
CREATE TABLE `#mysql50#@` (a INT);
SHOW TABLES;
SET NAMES DEFAULT;
--echo mysqlcheck --fix-table-names --databases test
--exec $MYSQL_CHECK --fix-table-names --databases test
SET NAMES utf8;
SHOW TABLES;
DROP TABLE `@`;

CREATE TABLE `я` (a INT);
SET NAMES DEFAULT;
--echo mysqlcheck --default-character-set="latin1" --databases test
# Error returned depends on platform, replace it with "Table doesn't exist"
--replace_result "Can't find file: './test/@003f.frm' (errno: 22)" "Table doesn't exist" "Table 'test.?' doesn't exist" "Table doesn't exist"
--exec $MYSQL_CHECK --default-character-set="latin1" --databases test
--echo mysqlcheck --default-character-set="utf8" --databases test
--exec $MYSQL_CHECK --default-character-set="utf8" --databases test
SET NAMES utf8;
DROP TABLE `я`;
SET NAMES DEFAULT;

Things to note are that mysqld errors out with the below error in mysqld.1.err file ( only on windows and not on Linux)

101126 17:25:16 [ERROR] C:/WORK/2579861.mysql-5.6.1-m5-win-x86/mysql-5.6.1-m5-win-x86/sql/Relwithdebinfo/mysqld.exe: Can't find file: '.\test\@003f.frm' (errno: 22)
[29 Nov 2010 13:30] SaiKumar V
Here is a shorter testcase(bug.test):-

SET NAMES utf8;
CREATE TABLE `я` (a INT);
SHOW TABLES;
SET NAMES DEFAULT;
--echo mysqlcheck --default-character-set="latin1" --databases test
# Error returned depends on platform, replace it with "Table doesn't exist"
--replace_result ".*Can't find file: './test/@003f.frm' (errno: 22)" "Table doesn't exist" "Table 'test.?' doesn't exist" "Table doesn't exist"
--exec $MYSQL_CHECK --default-character-set="latin1" --databases test
SET NAMES utf8;
DROP TABLE `я`;
SET NAMES DEFAULT;

The failure can be reproduced on a Windows XP box x86 (Bar also verified this), with the MTR command perl mysql-test-run.pl main.bug.

Assigning this bug to runtime team to have a look at it.
[29 Nov 2010 13:35] SaiKumar V
Please note , would like to stress that mysqld fails here with an extra error ( as below) on Windows:

:/WORK/2579861.mysql-5.6.1-m5-win-x86/mysql-5.6.1-m5-win-x86/sql/Relwithdebinfo/mysqld.exe: Can't find file: '.\test\@003f.frm' (errno: 22)
[29 Nov 2010 16:39] Anitha Gopi
Bar,
Assigning to you since as per your discussion with Sai this is a product bug
[28 Jan 2013 10:03] Ben Welsh
Sorry to bring up an old thread but has this issue been fixed? if it is a bug, is it fixed in a maintenance release?