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 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]
Shane Bester
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]
Shane Bester
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]
Shane Bester
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)
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.080 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: mysqlbinlog.exe crashes if --hexdump option is used. How to repeat: Command: mysqlbinlog.exe --host=localhost --port=5072 --user=root --read-from-remote-server --hexdump "mysql-bin.000001" -p Command Output: - 5.0.72 Enterprise ("Unzip in C" package) D:\MySQL\mysql-enterprise-gpl-5.0.72-win32\bin>mysqlbinlog.exe --host=localhost --port=5072 --user=root --read-from-remote-server "mysql-bin.000001" -p # ok, I get the output D:\MySQL\mysql-enterprise-gpl-5.0.72-win32\bin>mysqlbinlog.exe --host=localhost --port=5072 --user=root --read-from-remote-server --hexdump "mysql-bin.000001" -p # program crashes - 5.1.30 ("Unzip in C" package) D:\MySQL\mysql-5.1.30-win32\bin>mysqlbinlog.exe --host=localhost --port=51301 --user=root --read-from-remote-server --hexdump "mysql-bin.000006" -p # all works fine Workaround: Copy mysqlbinlog.exe from 5.1 and past it in the bin directory of 5.0.72 (do a backup copy of the old executable first).