Bug #45168 assertion with convert() and empty set value
| Submitted: | 28 May 2009 19:47 | Modified: | 17 Jul 2009 3:36 |
|---|---|---|---|
| Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: DML | Severity: | S1 (Critical) |
| Version: | 5.1.36-debug | OS: | Linux (32-bit fc8) |
| Assigned to: | Martin Hansson | CPU Architecture: | Any |
| Tags: | convert, regression | ||
[28 May 2009 21:35]
Sveta Smirnova
Thank you for the report. Verified as described.
[11 Jun 2009 11:07]
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/76106 2931 Martin Hansson 2009-06-11 Bug#45168: assertion with convert() and empty set value The assertion in String::copy was added in order to avoid valgrind errors when the destination was the same as the source. Eased restriction to allow for the case when length is 0. @ mysql-test/r/func_set.result Bug#45168: Test Result @ mysql-test/t/func_set.test Bug#45168: Test case. @ sql/sql_string.cc Bug#45168: Fix and clarified comment.
[16 Jun 2009 14:40]
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/76399 2931 Martin Hansson 2009-06-16 Bug#45168: assertion with convert() and empty set value The assertion in String::copy was added in order to avoid valgrind errors when the destination was the same as the source. Eased restriction to allow for the case when str == NULL. @ mysql-test/r/func_set.result Bug#45168: Test result @ mysql-test/t/func_set.test Bug#45168: Test case @ sql/item_strfunc.cc Bug#45168: Code cleanup and grammar correction in comment @ sql/sql_string.cc Bug#45168: Fix
[17 Jun 2009 12:21]
Martin Hansson
Both reviewers are done.
[8 Jul 2009 13:30]
Bugs System
Pushed into 5.1.37 (revid:joro@sun.com-20090708131116-kyz8iotbum8w9yic) (version source revid:mhansson@mysql.com-20090618072546-8ksflicrhzi8yuyw) (merge vers: 5.1.36) (pib:11)
[9 Jul 2009 7:36]
Bugs System
Pushed into 5.1.37 (revid:joro@sun.com-20090708131116-kyz8iotbum8w9yic) (version source revid:mhansson@mysql.com-20090618072546-8ksflicrhzi8yuyw) (merge vers: 5.1.36) (pib:11)
[10 Jul 2009 11:20]
Bugs System
Pushed into 5.4.4-alpha (revid:anozdrin@bk-internal.mysql.com-20090710111017-bnh2cau84ug1hvei) (version source revid:mhansson@mysql.com-20090618064925-hf8g6oscvrdjk3qs) (merge vers: 5.4.4-alpha) (pib:11)
[17 Jul 2009 3:36]
Paul DuBois
Noted in 5.1.37, 5.4.4 changelogs. Use of CONVERT() with an empty SET value could cause an assertion failure.
[12 Aug 2009 22:18]
Paul DuBois
Noted in 5.4.2 changelog because next 5.4 version will be 5.4.2 and not 5.4.4.
[14 Aug 2009 23:09]
Paul DuBois
Ignore previous comment about 5.4.2.
[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:32]
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)
[7 Oct 2009 18:40]
Paul DuBois
The 5.4 fix has been pushed to 5.4.2.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.078 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: from today's 5.1 bzr: Version: '5.1.36-debug' socket: '/tmp/mysql.sock' port: 3306 yes [New Thread -1271387248 (LWP 15336)] mysqld: sql_string.cc:332: bool String::copy(const char*, uint32, CHARSET_INFO*, CHARSET_INFO*, uint*): Assertion `str != Ptr' failed. #0 in __kernel_vsyscall () #1 in raise #2 in abort #3 in __assert_fail #4 in String::copy at sql_string.cc:332 #5 in Item_func_conv_charset::val_str at item_strfunc.cc:2724 #6 in Item::send at item.cc:5508 #7 in select_send::send_data at sql_class.cc:1587 #8 in end_send at sql_select.cc:11986 #9 in do_select at sql_select.cc:10864 #10 in JOIN::exec at sql_select.cc:2199 #11 in mysql_select at sql_select.cc:2386 #12 in handle_select #13 in execute_sqlcom_select #14 in mysql_execute_command #15 in mysql_parse #16 in dispatch_command #17 in do_command #18 in handle_one_connection How to repeat: drop table if exists `t1`; create table `t1`(`a` set('a')); insert into `t1` values (''); select convert(`a` using latin1) from `t1` ;