| Bug #3568 | MySQL server crashes when built --with-debug and CHANGE MASTER +MASTER_POS_WAIT | ||
|---|---|---|---|
| Submitted: | 26 Apr 2004 14:18 | Modified: | 28 Apr 2004 18:38 | 
| Reporter: | Guilhem Bichot | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Replication | Severity: | S3 (Non-critical) | 
| Version: | 4.0 | OS: | Any (all) | 
| Assigned to: | Guilhem Bichot | CPU Architecture: | Any | 
   [26 Apr 2004 14:31]
   Guilhem Bichot        
  One more necessary condition to get the crash (which fortunately makes the crash much less probable): the master and slave must be the same MySQL server (then there is some problem due to the server id, which finally causes the assertion failure).
   [28 Apr 2004 18:38]
   Guilhem Bichot        
  Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.
If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html
Additional info:
Fixed in ChangeSet@1.1783.3.1, 2004-04-28 18:24:46+02:00, guilhem@mysql.com
 

Description: This assertion in slave.cc:2022: DBUG_ASSERT(*master_log_name || master_log_pos == 0); should be corrected. Indeed in the situation of the How-To-Repeat, master_log_name[0]==0 and master_log_pos==4. How to repeat: Use a debug build on slave. On master do RESET MASTER; On slave do CHANGE MASTER TO MASTER_PORT=master's_port ; START SLAVE; SELECT MASTER_POS_WAIT(log, pos) ; where log is any string and pos any integer. You'll get: mysqld: slave.cc:2022: int st_relay_log_info::wait_for_pos(THD*, String*, long long int, long long int): Assertion `*master_log_name || master_log_pos == 0' failed. Suggested fix: will fix it now.