Bug #34223 Assertion failed: (optp->var_type & 127) == 8, file .\my_getopt.c, line 830
Submitted: 1 Feb 2008 12:15 Modified: 15 Mar 2008 8:18
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: DML Severity:S6 (Debug Builds)
Version:5.0.54, 5.0.56 OS:Any
Assigned to: Gleb Shchepa CPU Architecture:Any
Triage: D2 (Serious) / R2 (Low) / E3 (Medium)

[1 Feb 2008 12:15] Shane Bester
Description:
got a debug assertion when setting a global variable, stack trace is:

mysqld-debug.exe!_NMSG_WRITE
mysqld-debug.exe!abort
mysqld-debug.exe!_wassert
mysqld-debug.exe!getopt_ull_limit_value
mysqld-debug.exe!fix_unsigned
mysqld-debug.exe!sys_var_long_ptr_global::update
mysqld-debug.exe!set_var::update
mysqld-debug.exe!sql_set_variables
mysqld-debug.exe!mysql_execute_command
mysqld-debug.exe!mysql_parse
mysqld-debug.exe!dispatch_command
mysqld-debug.exe!do_command
mysqld-debug.exe!handle_one_connection
mysqld-debug.exe!pthread_start
mysqld-debug.exe!_callthreadstart
mysqld-debug.exe!_threadstart
kernel32.dll!BaseThreadStart

Version: '5.0.56-br20918-enterprise-gpl-debug'  socket: ''  port: 3307  MySQL Enterprise Server - Debug (GPL)
Assertion failed: (optp->var_type & 127) == 8, file .\my_getopt.c, line 830

How to repeat:
run a debug build of the server.  

mysqld-debug --port=3307 --console --skip-grant-tables --skip-name-resolve --innodb_buffer_pool_size=300M --innodb_flush_log_at_trx_commit=0

then:

set global innodb_commit_concurrency=0;
[1 Feb 2008 12:33] Miguel Solorzano
Thank you for the bug report. Verified on 64-bit OS:

[New Thread 1157925200 (LWP 2847)]
080201 10:28:55 [Note] /home/miguel/dbs/5.0/libexec/mysqld: ready for connections.
Version: '5.0.56-debug'  socket: '/tmp/mysql.sock'  port: 3307  Source distribution
[New Thread 1158191440 (LWP 2849)]
mysqld: my_getopt.c:830: getopt_ull_limit_value: Assertion `(optp->var_type & 127) == 8' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 1158191440 (LWP 2849)]
0x0000003bfca30ec5 in raise () from /lib64/libc.so.6
(gdb) bt full
#0  0x0000003bfca30ec5 in raise () from /lib64/libc.so.6
No symbol table info available.
#1  0x0000003bfca32970 in abort () from /lib64/libc.so.6
No symbol table info available.
#2  0x0000003bfca2a11f in __assert_fail () from /lib64/libc.so.6
No symbol table info available.
#3  0x000000000099ceb6 in getopt_ull_limit_value (num=0, optp=0xe4d7d0, fix=0x45087787 "") at my_getopt.c:830
[4 Feb 2008 16:31] Shane Bester
5.0.52 didn't crash. 5.0.54 and up started crashing.
[6 Feb 2008 14:35] Gleb Shchepa
This bug is a regression of bug#31177.
[6 Feb 2008 19:43] Gleb Shchepa
Also innodb_autoextend_increment variable is affected.
[6 Feb 2008 20:10] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/41825

ChangeSet@1.2594, 2008-02-07 04:14:50+04:00, gshchepa@host.loc +3 -0
  Fixed bug#34223: Failure on assignment to my_innodb_autoextend_increment
  and my_innodb_commit_concurrency global variables.
  
  Type of the my_innodb_autoextend_increment and the
  my_innodb_commit_concurrency variables has been changed to
  GET_ULONG.
[7 Feb 2008 7:13] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/41848

ChangeSet@1.2595, 2008-02-07 11:12:49+04:00, gshchepa@host.loc +4 -0
  innodb_mysql.test, variables.result, variables.test, innodb_mysql.result:
    Minor post-fix for bug#34223.
[13 Mar 2008 19:29] Bugs System
Pushed into 6.0.5-alpha
[13 Mar 2008 19:36] Bugs System
Pushed into 5.1.24-rc
[13 Mar 2008 19:43] Bugs System
Pushed into 5.0.60
[15 Mar 2008 8:18] Jon Stephens
Documented bugfix in the 5.0.60, 5.1.24, and 6.0.5 changelogs as follows:

        Under some conditions, a SET GLOBAL innodb_commit_concurrency or SET
        GLOBAL innodb_autoextend_increment statement could fail.
[2 Apr 2008 19:36] Jon Stephens
Also noted in the 5.1.23-ndb-6.3.11 changelog.