From: Michael Widenius Date: March 30 1999 9:00am Subject: SIGFPE coredump inserting maximum bigint value List-Archive: http://lists.mysql.com/mysql/1181 Message-Id: <14080.37461.687625.275134@monty.pp.sci.fi> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit >>>>> "Anton" == Anton Krasovsky writes: >> Description: Anton> I'v getting coredump because of receiveing SIGFPE Anton> when I try to insert maximum possible value Anton> 18446744073709551615 to unsigned bigint column Anton> this not happens with hex value (0xffffffffffffffff) >> How-To-Repeat: Anton> # Anton> # Table structure for table 'ad' Anton> # Anton> CREATE TABLE ad ( Anton> id bigint(20) unsigned DEFAULT '0' NOT NULL auto_increment, Anton> client bigint(20) DEFAULT '0' NOT NULL, Anton> target bigint(20) unsigned DEFAULT '0' NOT NULL, Anton> category bigint(20) unsigned DEFAULT '0' NOT NULL, Anton> image varchar(255) DEFAULT 'UNKNOWN' NOT NULL, Anton> reference varchar(255) DEFAULT 'UNKNOWN' NOT NULL, Anton> impressions int(10) unsigned DEFAULT '0' NOT NULL, Anton> clicks bigint(20) unsigned DEFAULT '0' NOT NULL, Anton> status enum('on','off','pending') DEFAULT 'pending' NOT NULL, Anton> PRIMARY KEY (id) Anton> ); Anton> # Anton> # Dumping data for table 'ad' Anton> # Anton> INSERT INTO ad VALUES (1,1,18446744073709551615,1,'http://pekod.trans-m-radio.com/banners/bannerd10652.gif','http://www.one.com',30,0,'on'); Anton> INSERT INTO ad VALUES (2,2,18446744073709551615,1,'http://pekod.trans-m-radio.com/banners/bannero10648.gif','http://www.two.com',94,0,'on'); Anton> This program have the same effect: (tested under FreeBSD 3.0 and RedHat 5.1) Anton> #include Anton> void main (void) { Anton> unsigned long long ull=18446744073709551615ULL; Anton> double d; Anton> d = (double) ull; Anton> printf("double value %f\n", d); Anton> printf("longlong value %qu\n", ull); Anton> ull = (unsigned long long) d; Anton> } Hi! I tested this on RedHat 5.2 with gcc 2.9 without any problems. I suspect this is a gcc bug; Could you try to compile your test program with egcs 1.1.3. Regards, Monty