Bug #3375 nested select crashes mysqld
Submitted: 2 Apr 2004 15:19 Modified: 3 Apr 2004 7:51
Reporter: Marek Baczynski Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:4.1.1a-alpha OS:Windows (Windows XP SP1)
Assigned to: CPU Architecture:Any

[2 Apr 2004 15:19] Marek Baczynski
Description:
Executing queries containing nested selects crashes the database. (I don't know if this kind of queries is allowed by any standard.)

How to repeat:
    $q = "SELECT models.id, models.name, (SELECT variants.id FROM variants, models WHERE variants.idmodel = models.id AND variants.status = 'shown' LIMIT 1) AS idmodel
    FROM models, variants
    WHERE models.status = 'shown'";

This crashed mysqld-nt, called by PHP 4.3.4 binary edition. Involved table definitions with some data:

-- begin dump
SET CHARACTER SET utf8;

--
-- Table structure for table `models`
--

DROP TABLE IF EXISTS models;
CREATE TABLE models (
  id int(11) NOT NULL auto_increment,
  idbrand int(11) NOT NULL default '0',
  name varchar(255) NOT NULL default '',
  status enum('shown','hidden') NOT NULL default 'shown',
  description text NOT NULL,
  PRIMARY KEY  (id),
  KEY idbrand (idbrand)
) ENGINE=InnoDB DEFAULT CHARSET=latin2;

--
-- Dumping data for table `models`
--

/*!40000 ALTER TABLE models DISABLE KEYS */;
LOCK TABLES models WRITE;
INSERT INTO models VALUES (1,1,'Panda','shown','Fiat Panda: mały samochód kompaktowy z charakterem, gotów zawsze Ci towarzyszyć. W mieście, w pracy, w czasie wolnym: Fiat Panda jest doskonały na każdą okazję. Pięcioro drzwi i różnorodne poziomy wyposażenia sprawią, że jazda będzie zawsze prawdziwą przyjemnością. Jedenaście jasnych, żywych kolorów oświetli drogę. Przezroczysty dach \"Skydome\" przybliży Cię do chmur. Wnętrze to połączenie atrakcyjnego wyglądu i oryginalności.'),(2,1,'Punto','shown','Wsiądź do Fiata Punto i przekonaj się, dlaczego teraz jest on jeszcze lepszy, doskonalszy i niezawodny.\r\n\r\n\r\n\r\nOprócz zmian stylistycznych ma wszystko, co potrzebne, aby jazda była prawdziwą przyjemnością. Oznacza to technologiczne innowacje, zapewniające bezpieczeństwo i łatwość prowadzenia, a także szereg innych udogodnień.\r\n\r\nNowe rewolucyjne silniki 1.3 JTD 16v i 1.4 16v zapewnią wspaniałe osiągi i ekonomikę.\r\n\r\nWspomaganie kierownicy Dual Drive oraz czujniki parkowania ułatwią życie na zatłoczonych parkingach.\r\n');
UNLOCK TABLES;
/*!40000 ALTER TABLE models ENABLE KEYS */;

--
-- Table structure for table `variants`
--

DROP TABLE IF EXISTS variants;
CREATE TABLE variants (
  id int(11) NOT NULL auto_increment,
  idmodel int(11) NOT NULL default '0',
  name varchar(255) NOT NULL default '',
  status enum('shown','hidden','parent hidden') NOT NULL default 'shown',
  idphoto int(11) NOT NULL default '0',
  base_price int(11) NOT NULL default '0',
  description text NOT NULL,
  PRIMARY KEY  (id),
  KEY idmodel (idmodel)
) ENGINE=InnoDB DEFAULT CHARSET=latin2 COMMENT='base_price w groszach';

--
-- Dumping data for table `variants`
--

/*!40000 ALTER TABLE variants DISABLE KEYS */;
LOCK TABLES variants WRITE;
INSERT INTO variants VALUES (1,1,'1.1 Actual','shown',0,2830000,' Fiat Panda: mały samochód kompaktowy z charakterem, gotów zawsze Ci towarzyszyć. W mieście, w pracy, w czasie wolnym: Fiat Panda jest doskonały na każdą okazję.\r\nPięcioro drzwi i różnorodne poziomy wyposażenia sprawią, że jazda będzie zawsze prawdziwą przyjemnością. Jedenaście jasnych, żywych kolorów oświetli drogę. Przezroczysty dach \"Skydome\" przybliży Cię do chmur. Wnętrze to połączenie atrakcyjnego wyglądu i oryginalności.'),(2,1,'1.1 Active','shown',0,3080000,'Fiat Panda: mały samochód kompaktowy z charakterem, gotów zawsze Ci towarzyszyć. W mieście, w pracy, w czasie wolnym: Fiat Panda jest doskonały na każdą okazję.\r\nPięcioro drzwi i różnorodne poziomy wyposażenia sprawią, że jazda będzie zawsze prawdziwą przyjemnością. Jedenaście jasnych, żywych kolorów oświetli drogę. Przezroczysty dach \"Skydome\" przybliży Cię do chmur. Wnętrze to połączenie atrakcyjnego wyglądu i oryginalności.'),(3,1,'1.2 Dynamic','shown',0,3480000,'Fiat Panda: mały samochód kompaktowy z charakterem, gotów zawsze Ci towarzyszyć. W mieście, w pracy, w czasie wolnym: Fiat Panda jest doskonały na każdą okazję. Pięcioro drzwi i różnorodne poziomy wyposażenia sprawią, że jazda będzie zawsze prawdziwą przyjemnością. Jedenaście jasnych, żywych kolorów oświetli drogę. Przezroczysty dach \"Skydome\" przybliży Cię do chmur. Wnętrze to połączenie atrakcyjnego wyglądu i oryginalności.'),(5,2,'1.2 Actual 3D','shown',0,3380000,'Punto...');
UNLOCK TABLES;
/*!40000 ALTER TABLE variants ENABLE KEYS */;

Suggested fix:
No idea.
[2 Apr 2004 16:27] MySQL Verification Team
Could you please attach the dump file using the tab Files
instead to paste it. I wasn't able for to insert the data.

Thanks in advance.
[2 Apr 2004 17:03] Marek Baczynski
Here you are. Hope this helps.

Attachment: foo.sql (application/octet-stream, text), 4.46 KiB.

[3 Apr 2004 5:57] Marek Baczynski
I've added the file yesterday, but no email was generated, therefore this comment.
[3 Apr 2004 7:51] MySQL Verification Team
Thank you for the bug report I was able to repeat with version 4.1.1a
however with a new server 4.1.2 built from source 2 days older the crash
not happens anymore.