Closed (fixed)
Project:
Drupal core
Version:
7.x-dev
Component:
database system
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
14 Jan 2010 at 02:31 UTC
Updated:
6 Feb 2010 at 16:51 UTC
Jump to comment: Most recent file
Comments
Comment #1
webchickYikes. This is another one of our new features and it would be wonderful for this to work in the first alpha.
Comment #2
mfer commentedThe commit that looks to have caused this problem is http://drupal.org/cvs?commit=311418
Comment #3
Exteris commentedConfirmed for php-5.3.1-3 on apache 2.2.14-2.
There is also another error:
[Wed Jan 13 19:58:00 2010] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function drupal_exit() in /srv/http/includes/install.inc on line 884
Comment #4
TacoV commentedI just reproduced this error on a fresh checkout. PHP 5.3.0, apache 2.2.13. However, no drupal_exit() error, so I doubt there is a connection with http://drupal.org/node/637146
Comment #5
heine commentedBTW The registry table is completely empty so autoloading won't work.
Comment #6
mfer commentedWhen the update to the batch api went in the issue came up. Batch API is used in the install process to install the modules. I wonder how many loops through the batch is happening.
Comment #7
heine commentedBelow is an entire install, until the point of failiure.
DrupalDatabaseCache->set does a merge.
This is all before the registry update ever runs.
Comment #8
heine commentedThe batch system cannot find a batch on SQLite:
Compare with MySQL where a batch IS found:
Comment #9
heine commentedIn case you wonder, that's because $_REQUEST['id'] is an empty string.
Comment #10
carlos8f commentedRe #6, the relevant code might be here (from the batch API update patch):
Possible that SQLite has a problem with using db_next_id() here?
Comment #11
heine commentedAs $batch['id'] = db_next_id();
It seems that the db_next_id implementation for SQLite doesn't work properly during install (maybe never).
Comment #12
heine commentedretitling.
Comment #13
carlos8f commentedOuch. This is an example of our lack of unit testing for other DB engines :(
Comment #14
carlos8f commentedcross posted.
Comment #15
carlos8f commentedIndeed the function is broken:
Notice $new_value here is undefined!
Comment #16
carlos8f commentedComment #17
Exteris commentedInstallation completed succesfully with this patch :-)
Comment #18
heine commentedStill needs testbot love.
Comment #19
aspilicious commentedvery true Heine
Comment #20
heine commentedrerolled
Comment #21
chx commentedhold it for a second.
Comment #22
chx commentedOK, SQLite transactions lock the table on the first write at latest.
Comment #23
carlos8f commentedNote to selves:
check all the code for undefined variables. easy way to prevent critical bugs like this.
Comment #24
heine commentedThe cause lies in #633678: Make sequence API work on non-MySQL databases btw, edited to add: or even earlier issues as that commit merely moved the parent implementation.
Comment #25
webchickWow, folks! Well done!! That has to be among the highest "fewest lines of code changed : gnarliest bug to debug" ratio ever!
Since this *only* changed sqlite files and those files couldn't possibly be more jacked up right now than they currently are, I'm going to break my "no commits 24 hours before release" rule and commit this to HEAD.
Comment #26
adshill commentedHi,
I think this happens on MySQL also... I can report exactly the same errors. Please see my post here:
http://drupal.org/node/686196
I will check with my hosts but I'm sure I'm using Mysql and not sqlite.
EDIT: Infact, same problem and the patch is already committed. I don't think I should mark my post as a duplicate, as I am on Mysql (verified) not sqlite. Can anyone help there?! Thanks.
Comment #27
mfer commented@adshill That problem might be throwing the same error but it's unrelated. The sequences code is there in MySQL and I've installed D7 fine in MySQL numerous times recently.
Comment #28
adshill commentedOK thanks mfer. I'll continue to de-bug as much as I can and leave feedback there. Seems I'm not the only one having this problem.
Comment #29
vaccinemedia commentedSame problem here and I'm running a VM with Ubuntu Linux, Apache, MySQL and PHP 5
Comment #30
heine commentedIf you try to use Drupal on MySQL, you don't have the _same_ problem. This is SQLite specific. The error you get is a symptom of another problem. Please file a new issue.
Comment #31
adshill commentedFortina, can you please check http://drupal.org/node/686196 to see if it is the issue you are having - I'm trying to find others with this problem so we can define that its not just my host or a mistake I'm making!
To clarify - this issue is regarding SQLITE, not MYSQL. Thanks,
Adam
Comment #33
Pimmy commentedI am facing the same problem on PostgreSQL. I hope that the solution for SQLite would work for PostgreSQL as well.
Comment #34
Pimmy commentedI have tested this with Alpha release and I can confirm that it is working fine.