Bug #38101 shutdown causes assertion on netware debug build
Submitted: 14 Jul 2008 14:19 Modified: 25 Aug 2010 3:25
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: General Severity:S3 (Non-critical)
Version:5.0.66-debug, 5.0.67-debug OS:Novell NetWare
Assigned to: Marc ALFF CPU Architecture:Any

[14 Jul 2008 14:19] Shane Bester
Description:
shutting down the debug build of mysqld on netware causes this assertion to fail: Assertion failed: l_rc == 0, file MYSQLD.CC, line 1018

release build works fine.

InnoDB: The first specified data file .\/ibdata1 did not exist:
InnoDB: a new database to be created!
080714 16:15:54  InnoDB: Setting file .\/ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
080714 16:15:56  InnoDB: Log file .\/ib_logfile0 did not exist: new to be created
InnoDB: Setting log file .\/ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
080714 16:15:57  InnoDB: Log file .\/ib_logfile1 did not exist: new to be created
InnoDB: Setting log file .\/ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
080714 16:15:58  InnoDB: Started; log sequence number 0 0
080714 16:15:58 [Note] sys:/mysql/bin/mysqld.nlm: ready for connections.
Version: '5.0.66-debug'  socket: ''  port: 3306  Source distribution
Assertion failed: l_rc == 0, file MYSQLD.CC, line 1018
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
080714 16:16:10  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
080714 16:16:10  InnoDB: Started; log sequence number 0 43655
080714 16:16:10 [Note] sys:/mysql/bin/mysqld.nlm: ready for connections.
Version: '5.0.66-debug'  socket: ''  port: 3306  Source distribution
Assertion failed: l_rc == 0, file MYSQLD.CC, line 1018
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
080714 16:16:37  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
080714 16:16:37  InnoDB: Started; log sequence number 0 43655
080714 16:16:37 [Note] sys:/mysql/bin/mysqld.nlm: ready for connections.
Version: '5.0.66-debug'  socket: ''  port: 3306  Source distribution

How to repeat:
unzip files in package mysql-debug-5.0.66-netware-i686.zip to sys:\mysql
mysql_install_db
mysqld_safe --skip-grant-tables --skip-name-resolve
mysqladmin shutdown
[14 Jul 2008 14:49] MySQL Verification Team
the assertion failing is this:

in kill_server() there is this at line 1018:

if (sig != 0) // 0 is not a valid signal number
  my_sigset(sig, SIG_IGN);                    /* purify inspected */

my_sigset is a macro expanding to this:

#define my_sigset(A,B) do{struct sigaction l_s; sigset_t l_set; int l_rc;\
                           DBUG_ASSERT((A) != 0);                \
                           sigemptyset(&l_set);                  \
                           l_s.sa_handler = (B);                 \
                           l_s.sa_mask   = l_set;                \
                           l_s.sa_flags   = 0;                   \
                           l_rc= sigaction((A), &l_s, (struct sigaction *) NULL);\
                            DBUG_ASSERT(l_rc == 0);              \
                          } while (0)

So, sigaction is returning something we don't like.
[25 Jul 2008 9:20] MySQL Verification Team
workaround is to use this to stop the server instead of mysqladmin shutdown:

unload mysqld
[25 Aug 2010 3:25] Marc ALFF
Code for Netware has been removed from the code base,
this is no longer a platform supported by MySQL.

Closing as unsupported.