FS#15242 - [libmysqlclient] broken variable binding
Attached to Project:
Arch Linux
Opened by Pierre Schmitz (Pierre) - Wednesday, 24 June 2009, 05:59 GMT
Last edited by Allan McRae (Allan) - Thursday, 25 June 2009, 01:32 GMT
Opened by Pierre Schmitz (Pierre) - Wednesday, 24 June 2009, 05:59 GMT
Last edited by Allan McRae (Allan) - Thursday, 25 June 2009, 01:32 GMT
|
Details
The update from libmysqlclient 5.1.34-1 to 5.1.35-1 broke
variable binding. The results are wrog data being written to
and read from the database. These problems have
beenconfirmed on several clients like PHP or Qt.
* Downgrading to the old libmysqlclient-5.1.34 package solved the problem * Recompiling the old package results in a broken package * Recompiling PHP did not solve the issue * Recompiling all mysql pacakges (mysql-client, mysql) did not solve the issue I would assume that the problem is our build system which produces broken binaries. I have attached a simple test case. (you should adjust at least the mysql password) The correct output should be: Stuttgart (DEU,Baden-Wuerttemberg) Bordeaux (FRA,Aquitaine) But we get: Stuttgart (DEU,0) Bordeaux (FRA,0) Note: This bug is imho critical because the results are data loss and unforseen behaviour. And even worse: Most won't notice the problem because no error is thrown. |
This task depends upon
Closed by Allan McRae (Allan)
Thursday, 25 June 2009, 01:32 GMT
Reason for closing: Fixed
Additional comments about closing: 5.1.35-2
Thursday, 25 June 2009, 01:32 GMT
Reason for closing: Fixed
Additional comments about closing: 5.1.35-2
I'll rerun the test to make sure its not some kind of random behaviour.
Edit: OK, it really seems to work when we use gcc 4.3.3 to compile. I am sure I did test this before; maybe I only tested using the webserver and forget to restart it.
In short:
gcc 4.4 + libmysqlclient = broken
gcc 4.3 + libmysqlclient = fine
Maybe we can check this with a more recent gcc snapshot.
FS#15189- [libnice] gcc optimizations -O2 (-fstrict-aliasing) breaks sha1.c