Bug #16382 | SELECT with IF and GROUP BY on VIEW can crash server | ||
---|---|---|---|
Submitted: | 11 Jan 2006 18:23 | Modified: | 28 Feb 2006 2:34 |
Reporter: | Eli Dickinson | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S2 (Serious) |
Version: | 5.0.18/5.0.19 BK | OS: | Windows (Windows/Linux) |
Assigned to: | Igor Babaev | CPU Architecture: | Any |
[11 Jan 2006 18:23]
Eli Dickinson
[11 Jan 2006 20:41]
MySQL Verification Team
Thank you for the bug report. I was able to repeat: mysql> select if(x is null,'blank','not blank') as x from crashview group by x; ERROR 2013 (HY000): Lost connection to MySQL server during query 030411 18:39:14 [Note] /home/miguel/dbs/5.0/libexec/mysqld: ready for connections. Version: '5.0.19-debug' socket: '/tmp/mysql.sock' port: 3306 Source distribution [New Thread 1131862960 (LWP 7346)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1131862960 (LWP 7346)] 0x0825071e in find_order_in_list (thd=0x8e59910, ref_pointer_array=0x8e7a388, tables=0x8e794e0, order=0x8e79740, fields=@0x8e59c0c, all_fields=@0x8e838d0, is_group_field=true) at sql_select.cc:12302 12302 current_thd->where); (gdb) bt full #0 0x0825071e in find_order_in_list (thd=0x8e59910, ref_pointer_array=0x8e7a388, tables=0x8e794e0, order=0x8e79740, fields=@0x8e59c0c, all_fields=@0x8e838d0, is_group_field=true) at sql_select.cc:12302 view_ref = (class Item *) 0x8e7a490 order_item = (class Item *) 0x8e79688 order_item_type = FIELD_ITEM select_item = (class Item **) 0x8e7949c from_field = (class Field *) 0x2 counter = 0 unaliased = false el = 136489781 <cut>
[2 Feb 2006 4:44]
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/2039
[10 Feb 2006 5:22]
Igor Babaev
ChangeSet 1.2026 06/02/01 20:43:43 igor@rurik.mysql.com +3 -0 Fixed bug #16382. When an ambiguous field name is used in a group by clause a warning is issued in the find_order_in_list function by a call to push_warning_printf. An expression that was not always valid was passed to this call as the field name parameter. sql/sql_select.cc 1.390 06/02/01 20:43:37 igor@rurik.mysql.com +2 -1 Fixed bug #16382. When an ambiguous field name is used in a group by clause a warning is issued in the find_order_in_list function by a call to push_warning_printf. An expression that was not always valid was passed to this call as the field name parameter. mysql-test/t/view.test 1.134 06/02/01 20:43:37 igor@rurik.mysql.com +17 -0 Added a test case for bug #16382. mysql-test/r/view.result 1.145 06/02/01 20:43:37 igor@rurik.mysql.com +34 -0 Added a test case for bug #16382. The fix will appear in 5.0.19 and 5.1.7
[28 Feb 2006 2:34]
Paul DuBois
Noted in 5.0.19, 5.1.7 changelogs. <literal>SELECT</literal> with <literal>GROUP BY</literal> on a view can cause a server crash. (Bug #16382)