Bug #41943 | mysqlbinlog.exe crashes if --hexdump option is used | ||
---|---|---|---|
Submitted: | 8 Jan 2009 5:35 | Modified: | 30 May 2009 19:54 |
Reporter: | Santo Leto | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Command-line Clients | Severity: | S2 (Serious) |
Version: | 5.0.42 -> 5.0.74, 5.1.15 -> 5.1.30 | OS: | Windows (XPSP3) |
Assigned to: | Alexey Kopytov | CPU Architecture: | Any |
Tags: | hexdump, mysqlbinlog |
[8 Jan 2009 5:35]
Santo Leto
[8 Jan 2009 10:02]
Valeriy Kravchuk
Thank you for a problem report. I can not repeat this with 5.0.74 on XP SP3. Can you try that newer version? Can you upload the problematic binary log, or this happens with any one for you?
[8 Jan 2009 11:01]
Santo Leto
Valeriy, I verified this with version 5.0.74 too. Attached please find a screenshot. I can't see any correlation with the used binlog. I tested this also with the first binlog the server creates at first startup. Attached please find the file I've used. Are you sure you used the --hexdump option?
[8 Jan 2009 11:03]
Santo Leto
screenshot related to #41943
Attachment: binlog.jpg (image/jpeg, text), 220.43 KiB.
[8 Jan 2009 11:04]
Santo Leto
binlog file related to #41943
Attachment: mysql-bin.000001 (application/octet-stream, text), 98 bytes.
[8 Jan 2009 12:26]
MySQL Verification Team
I tried 5.0.76 built from source and I couldn't repeat too.
[8 Jan 2009 12:43]
Santo Leto
I've asked to a colleague of mine to check this, and he answered he got the same crash on his XP machine too. I'll try to test this on a fresh virtual machine if I can, and get back to you as soon as possible. Thanks.
[8 Jan 2009 12:48]
MySQL Verification Team
I repeat this easily on 5.0.74-winx64: mysqlbinlog.exe!Log_event::print_header Line 992 mysqlbinlog.exe!Start_log_event_v3::print Line 2232 mysqlbinlog.exe!process_event mysqlbinlog.exe!dump_remote_log_entries mysqlbinlog.exe!dump_log_entries mysqlbinlog.exe!main So I'd suggest using valgrind or debug build to see a problem easier.
[8 Jan 2009 12:55]
MySQL Verification Team
valgrind errors in 5.1.30: Conditional jump or move depends on uninitialised value(s) : Query_log_event::print_query_header(st_io_cache*, st_print_event_info*) (log_event.cc:2750) : Query_log_event::print(_IO_FILE*, st_print_event_info*) (log_event.cc:2827) : process_event(st_print_event_info*, Log_event*, unsigned long long, char const*) (mysqlbinlog.cc:904) : _ZL16dump_log_entriesPKc (mysqlbinlog.cc:1590) : main (mysqlbinlog.cc:2003) Discarding syms at 0x400A000-0x4015000 in /lib/libnss_files-2.5.so due to munmap() ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 20 from 1) 1 errors in context 1 of 1: Conditional jump or move depends on uninitialised value(s) : Query_log_event::print_query_header(st_io_cache*, st_print_event_info*) (log_event.cc:2750) : Query_log_event::print(_IO_FILE*, st_print_event_info*) (log_event.cc:2827) : process_event(st_print_event_info*, Log_event*, unsigned long long, char const*) (mysqlbinlog.cc:904) : _ZL16dump_log_entriesPKc (mysqlbinlog.cc:1590) : main (mysqlbinlog.cc:2003)
[8 Jan 2009 12:56]
MySQL Verification Team
valgrind errors from 5.0.74: Invalid read of size 4 Log_event::print_header(_IO_FILE*, st_print_event_info*) (log_event.cc:988) Start_log_event_v3::print(_IO_FILE*, st_print_event_info*) (log_event.cc:2230) process_event(st_print_event_info*, Log_event*, unsigned long long) (mysqlbinlog.cc:628) _ZL16dump_log_entriesPKc (mysqlbinlog.cc:1211) main (mysqlbinlog.cc:1534) Address 0x9 is not stack'd, malloc'd or (recently) free'd =
[8 Jan 2009 14:37]
MySQL Verification Team
Got the crash now: > mysqlbinlog.exe!Log_event::print_header(_iobuf * file=0x0064d2d8, st_print_event_info * print_event_info=0x0012fba8) Line 988 + 0x3 C++ mysqlbinlog.exe!Start_log_event_v3::print(_iobuf * file=0x0064d2d8, st_print_event_info * print_event_info=0x0012fba8) Line 2232 C++ mysqlbinlog.exe!process_event(st_print_event_info * print_event_info=0x0012fba8, Log_event * ev=0x00b793e8, unsigned __int64 pos=0x0000000000000004) Line 628 + 0x16 C++ mysqlbinlog.exe!dump_remote_log_entries(st_print_event_info * print_event_info=0x0012fba8, const char * logname=0x00373309) Line 1211 + 0x1e C++ mysqlbinlog.exe!dump_log_entries(const char * logname=0x00373309) Line 997 + 0x1b C++ mysqlbinlog.exe!main(int argc=0x00000000, char * * argv=0x00372628) Line 1534 + 0x1a C++ mysqlbinlog.exe!mainCRTStartup() Line 259 + 0x19 C kernel32.dll!7c817067()
[7 May 2009 14:31]
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/73578 2734 Alexey Kopytov 2009-05-07 Bug #41943: mysqlbinlog.exe crashes if --hexdump option is used The --hexdump option crashed mysqlbinlog when used together with the --read-from-remote-server option due to use of uninitialized memory. Since Log_event::print_header() relies on temp_buf to be initialized when the --hexdump option is present, dump_remote_log_entries() was fixed to setup temp_buf to point to the start of a binlog event as done in dump_local_log_entries(). The root cause of this bug is identical to the one for bug #17654. The latter was fixed in 5.1 and up, so this patch is backport of the patches for bug #17654 to 5.0. Only 5.0 needs a changelog entry. modified: client/mysqlbinlog.cc mysql-test/r/mysqlbinlog.result mysql-test/t/mysqlbinlog.test
[28 May 2009 7:42]
Bugs System
Pushed into 5.0.83 (revid:joro@sun.com-20090528073529-q9b8s60vlpu28fny) (version source revid:jimw@mysql.com-20090512212033-5f2l893u3rhrsw53) (merge vers: 5.0.82) (pib:6)
[28 May 2009 8:21]
Bugs System
Pushed into 5.1.36 (revid:joro@sun.com-20090528073639-yohsb4q1jzg7ycws) (version source revid:mats@sun.com-20090511132802-nnkiyb2huih1tklz) (merge vers: 5.1.35) (pib:6)
[30 May 2009 2:46]
Paul DuBois
Noted in 5.0.83, 5.1.36 changelogs. Using --hexdump together with --read-from-remote-server caused mysqlbinlog to crash. Setting report to NDI pending push into 6.0.x.
[30 May 2009 19:54]
Paul DuBois
Correction: This bug was fixed previously in 5.1 and 6.0 so the changelog entry is only in 5.0.83.
[17 Jun 2009 19:28]
Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090616183122-chjzbaa30qopdra9) (version source revid:alexey.kopytov@sun.com-20090508175345-5yq0ntwtz7d99d1i) (merge vers: 6.0.12-alpha) (pib:11)
[26 Aug 2009 13:46]
Bugs System
Pushed into 5.1.37-ndb-7.0.8 (revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers: 5.1.37-ndb-7.0.8) (pib:11)
[26 Aug 2009 13:46]
Bugs System
Pushed into 5.1.37-ndb-6.3.27 (revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (version source revid:jonas@mysql.com-20090826105955-bkj027t47gfbamnc) (merge vers: 5.1.37-ndb-6.3.27) (pib:11)
[26 Aug 2009 13:48]
Bugs System
Pushed into 5.1.37-ndb-6.2.19 (revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (version source revid:jonas@mysql.com-20090825194404-37rtosk049t9koc4) (merge vers: 5.1.37-ndb-6.2.19) (pib:11)
[27 Aug 2009 16:33]
Bugs System
Pushed into 5.1.35-ndb-7.1.0 (revid:magnus.blaudd@sun.com-20090827163030-6o3kk6r2oua159hr) (version source revid:jonas@mysql.com-20090826132541-yablppc59e3yb54l) (merge vers: 5.1.37-ndb-7.0.8) (pib:11)