Server crashes on creating/opening tables on Windows debug build

Description

See for example here:
http://buildbot.askmonty.org/buildbot/builders/win32-debug2/builds/6712/steps/build/logs/stdio

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 161> CMake Error at C:/bzr/bb-win32/win32-debug2/build/sql/create_initial_db.cmake:83 (MESSAGE): 161> Could not create initial database ... 161>CUSTOMBUILD : error : Run-Time Check Failure #3 - The variable 'srid' is being used without 161> being initialized. At c:\bzr\bb-win32\win32-debug2\build\sql\table.cc:1638 161> 161> 141206 0:14:00 [ERROR] mysqld got exception 0x80000003 ; 161> This could be because you hit a bug. It is also possible that this binary 161> or one of the libraries it was linked against is corrupt, improperly built, 161> or misconfigured. This error can also be caused by malfunctioning 161> hardware. 161> 161> To report this bug, see http://kb.askmonty.org/en/reporting-bugs 161> We will try our best to scrape up some info that will hopefully help 161> diagnose the problem, but since we have already crashed, 161> something is definitely wrong and this may fail. 161> 161> Server version: 10.1.2-MariaDB-debug 161> key_buffer_size=134217728 161> read_buffer_size=131072 161> max_used_connections=0 161> max_threads=501 161> thread_count=1 161> It is possible that mysqld could use up to 161> key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 161> 1223328 K bytes of memory 161> Hope that's ok; if not, decrease some variables in the equation. 161> 161> Thread pointer: 0x0x3365198 161> Attempting backtrace. You can use the following information to find out 161> where mysqld died. If you see no messages after this, something went 161> terribly wrong... 161> 161> mysqld.exe!handle_rtc_failure()[my_init.c:284] 161> mysqld.exe!failwithmessage() 161> mysqld.exe!_RTC_UninitUse() 161> mysqld.exe!TABLE_SHARE::init_from_binary_frm_image()[table.cc:1638] 161> mysqld.exe!ha_create_table()[handler.cc:4667] 161> mysqld.exe!rea_create_table()[unireg.cc:394] 161> mysqld.exe!create_table_impl()[sql_table.cc:4806] 161> mysqld.exe!mysql_create_table_no_lock()[sql_table.cc:4920] 161> mysqld.exe!mysql_create_table()[sql_table.cc:4981] 161> mysqld.exe!mysql_execute_command()[sql_parse.cc:3375] 161> mysqld.exe!mysql_parse()[sql_parse.cc:7029] 161> mysqld.exe!handle_bootstrap_impl()[sql_parse.cc:787] 161> mysqld.exe!do_handle_bootstrap()[sql_parse.cc:837] 161> mysqld.exe!handle_bootstrap()[sql_parse.cc:820] 161> mysqld.exe!pthread_start()[my_winthread.c:60] 161> mysqld.exe!_callthreadstartex()[threadex.c:314] 161> mysqld.exe!_threadstartex()[threadex.c:297] 161> kernel32.dll!BaseThreadInitThunk() 161> ntdll.dll!RtlInitializeExceptionChain() 161> ntdll.dll!RtlInitializeExceptionChain() 161> 161> Trying to get some variables. 161> Some pointers may be invalid and cause the dump to abort. 161> Query (0x1edd44b8): CREATE TABLE IF NOT EXISTS db ( Host char(60) binary 161> DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(80) 161> binary DEFAULT '' NOT NULL, Select_priv enum('N','Y') COLLATE 161> utf8_general_ci DEFAULT 'N' NOT NULL, Insert_priv enum('N','Y') COLLATE 161> utf8_general_ci DEFAULT 'N' NOT NULL, Update_priv enum('N','Y') COLLATE 161> utf8_general_ci DEFAULT 'N' NOT NULL, Delete_priv enum('N','Y') COLLATE 161> utf8_general_ci DEFAULT 'N' NOT NULL, Create_priv enum('N','Y') COLLATE 161> utf8_general_ci DEFAULT 'N' NOT NULL, Drop_priv enum('N','Y') COLLATE 161> utf8_general_ci DEFAULT 'N' NOT NULL, Grant_priv enum('N','Y') COLLATE 161> utf8_general_ci DEFAULT 'N' NOT NULL, References_priv enum('N','Y') COLLATE 161> utf8_general_ci DEFAULT 'N' NOT NULL, Index_priv enum('N','Y') COLLATE 161> utf8_general_ci DEFAULT 'N' NOT NULL, Alter_priv enum('N','Y') COLLATE 161> utf8_general_ci DEFAULT 'N' NOT NULL, Create_tmp_table_priv enum('N','Y') 161> COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Lock_tables_priv 161> enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, 161> Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT 161> NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT 161> NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' 161> NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 161> 'N' NOT NULL, Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 161> 'N' NOT NULL, Event_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' 161> NOT NULL, Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' 161> NOT NULL, PRIMARY KEY Host (Host,Db,User), KEY User (User) ) engine=MyISAM 161> CHARACTER SET utf8 COLLATE utf8_bin comment='Database privileges'; 161> 161> Connection ID (thread ID): 1 161> Status: NOT_KILLED

The table structure doesn't matter.
Win32/64 does not matter.
Reproducible outside the buildbot.

The problem appeared on 10.1 tree with these two revisions (it wouldn't compile at all after the first one, so they can't be easily separated for the test, but apparently the first one is too blame):

1 2 3 4 5 6 7 8 9 10 11 12 13 14 commit 7a474162598c6d708ff969b9fbd85851bac35ec7 Author: Sergei Golubchik <serg@mariadb.org> Date: Thu Dec 4 14:31:31 2014 +0100 compilation failure on windows commit c4cb15e87ba8cf4f1e7fd8e7cda5c88098ecd515 Author: Alexey Botchkov <holyfoot@askmonty.org> Date: Wed Dec 3 14:07:43 2014 +0400 MDEV-60 Support for Spatial Reference systems for the GIS data. The GEOMETRY field metadata is stored in the FRM file. SRID for a spatial column now can be stored, it was added to the CREATE TABLE syntax, so the AddGeometryData() stored procedure is now possible. Script adding the required Add/DropGeometryColumn sp-s added.

Environment

Win 7 64-bit, Visual Studio 2012

Status

Assignee

Alexey Botchkov

Reporter

Elena Stepanova

Labels

External issue ID

None

External issue ID

None

Components

Fix versions

Affects versions

10.1.2

Priority

Blocker
Configure