Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 2.5.0b5

Bug #19677 Call to undefined function: MDB2_Driver_mysql::isError()
Submitted: 2012-10-28 00:00 UTC
From: rhsoftware Assigned: danielc
Status: Closed Package: MDB2 (version 2.5.0b4)
PHP Version: 5.3.18 OS: Linux
Roadmaps: (Not assigned)    
Subscription  


 [2012-10-28 00:00 UTC] rhsoftware (Harald Reindl)
Description: ------------ Starting to download MDB2-2.5.0b4.tgz (133,407 bytes) .............................done: 133,407 bytes upgrade ok: channel://pear.php.net/MDB2-2.5.0b4 [root@buildserver:/var/log/roundcubemail]$ cat errors [24-Oct-2012 15:43:39 Europe/Vienna] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::isError(). in /usr/share/pear/MDB2.php on line 1996 [24-Oct-2012 16:17:41 Europe/Vienna] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::isError(). in /usr/share/pear/MDB2.php on line 1996 [24-Oct-2012 16:17:42 Europe/Vienna] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::isError(). in /usr/share/pear/MDB2.php on line 1996 [24-Oct-2012 16:17:43 Europe/Vienna] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::isError(). in /usr/share/pear/MDB2.php on line 1996 [24-Oct-2012 16:17:43 Europe/Vienna] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::isError(). in /usr/share/pear/MDB2.php on line 1996 [24-Oct-2012 16:17:43 Europe/Vienna] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::isError(). in /usr/share/pear/MDB2.php on line 1996 [24-Oct-2012 16:17:44 Europe/Vienna] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::isError(). in /usr/share/pear/MDB2.php on line 1996 [24-Oct-2012 16:17:44 Europe/Vienna] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::isError(). in /usr/share/pear/MDB2.php on line 1996 [24-Oct-2012 16:17:44 Europe/Vienna] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::isError(). in /usr/share/pear/MDB2.php on line 1996 [27-Oct-2012 20:54:20 Europe/Vienna] PHP Fatal error: Call to undefined function: MDB2_Driver_mysql::isError(). in /usr/share/pear/MDB2.php on line 1996 Expected result: ---------------- working roundcubemail Actual result: -------------- white login page

Comments

 [2012-10-28 00:47 UTC] danielc (Daniel Convissor)
-Status: Open +Status: Feedback -Assigned To: +Assigned To: danielc
Which version of Roundcube are you using?
 [2012-10-28 00:47 UTC] danielc (Daniel Convissor)
-Package: MDB2_Driver_mysql +Package: MDB2
 [2012-10-28 02:09 UTC] rhsoftware (Harald Reindl)
version of roundcube does not matter at the begin 0.7.3 and in the hope it may be better with 0.8.2 i upgraded all roundcube setups but i have still to downgrade the pear packages (which are brand new) to get roundcube working
 [2012-10-28 06:54 UTC] danielc (Daniel Convissor)
-Status: Feedback +Status: Bogus
The version of Roundcube does matter. The 0.8.2 release was improperly using the isError() method. There are two $this->db_handle->isError() calls in ./program/include/rcube_mdb2.php. That has been removed in master. Please open a ticket with Roundcube to get them to change the calls to MDB2::isError().
 [2012-10-28 12:43 UTC] rhsoftware (Harald Reindl)
> The version of Roundcube does matter. > The 0.8.2 release was improperly using the isError() method. what exavtly did you not undersatnd in the fact that the pear-update breeaks 0..x too? > There are two $this->db_handle->isError() calls in > ./program/include/rcube_mdb2.php. hmmm > That has been removed in master. aaah - PEAR does incompatible changing interfaces but a bugreport is bogus and a long tme working application faulty? the typical PHP attitude............ > Please open a ticket with Roundcube to get them to > change the calls to MDB2::isError() why do you not do this? becasue YOU can explain them why THEY have to fix YOUR incompaible change
 [2012-10-28 13:12 UTC] cweiske (Christian Weiske)
> aaah - PEAR does incompatible changing interfaces According to our version policy, normal beta versions may not break BC: http://pear.php.net/group/docs/20040226-vn.php
 [2012-10-28 17:12 UTC] danielc (Daniel Convissor)
> PEAR does incompatible changing interfaces but a bugreport is bogus > and a long tme working application faulty? MDB2 did not change it's _defined_ interface. The isError() method has always been static method of the MDB2 class. Roundcube made a mistake by calling the method on an instantiated MDB2_Driver_mysqli object.
 [2012-10-28 17:18 UTC] rhsoftware (Harald Reindl)
and that is why is is now HARD broken instead having a compatible MDB2 version which is throwing an DEPRECATED message since years? sorry but YOUR understanding of quality and compatibility is far away from mine * declare methods as private if you do not want them accessed * do not define/use static methods at all in code which is typically instantiated * do NOT break with "fatal error" without warnings in previous releases
 [2012-10-28 23:50 UTC] till (Till Klampaeckel)
-Status: Bogus +Status: Feedback
@Daniel @Christian I agree that if a method was public before, it shouldn't be gone all of a sudden. Even if it was used wrong which of course is unfortunate. I am guessing MDB2 stopped extending PEAR somewhere in between? Hence the method is gone?
 [2012-10-29 00:14 UTC] danielc (Daniel Convissor)
-Summary: MDB2-2.5.0b4 breaks roundcubemail +Summary: Call to undefined function: MDB2_Driver_mysql::isError() -Status: Feedback +Status: Analyzed -Package Version: +Package Version: 2.5.0b4
I figured out this morning what was going on then had to go out. MDB2_Driver_Common used to extend PEAR. I'm working on a resolution now.
 [2012-10-29 03:48 UTC] rhsoftware (Harald Reindl)
thank you for removing the "Bogus" it would be much easier for people to keep calm down if the "bogus" would be used MUCH more carfeul in the php-world. seeing a pear-update, test on the staging server with a widely used application like roundcubemail and even try out a major upgrade of roundcube while with both you get a whrite page should be enough to prove where the problem exists without a long discussion (especially if the rpeorter does upgrades/downgrades in all directions with all involved components to nail down the problem)
 [2012-10-29 12:30 UTC] remicollet (Remi Collet)
Even if I think this sould be solved in MDB2, I also think it worth to be reported upstream. https://github.com/roundcube/roundcubemail/pull/40
 [2012-10-29 19:35 UTC] danielc (Daniel Convissor)
-Status: Analyzed +Status: Closed
Fix committed to SVN. A new release will be created shortly.
 [2012-10-29 23:25 UTC] rhsoftware (Harald Reindl)
upgrade ok: channel://pear.php.net/MDB2-2.5.0b5 upgrade ok: channel://pear.php.net/MDB2_Driver_mysql-1.5.0b4 roundcube is working fine again thank you!