Mantis - Quercus
Viewing Issue Advanced Details
4354 major always 01-23-11 20:34 06-21-12 00:24
aaron  
nam  
normal  
closed 4.0.14  
fixed  
none    
none  
0004354: Error installing Drupal 7 - $_SESSION is an undefined variable, 'PDOStatement' is an unknown class.
- Downloaded and expanded Drupal 7.0 (via 'drush dl') into an empty ROOT webapp
- running 'drush site-install' yeilds "'PDOStatement' is an unknown class."
- accessing the Drupal site and manually going through the install yields these errors on the 3rd step 'Verify requirements' (the latter could be related to the former)

/home/aaron/workspace/drupal_dev/resin-root/webapps/ROOT/includes/errors.inc:247: Notice: $_SESSION is an undefined variable [drupal_set_message] /home/aaron/workspace/drupal_dev/resin-root/webapps/ROOT/includes/errors.inc:247: Notice: $_SESSION is an undefined variable [drupal_set_message]

'PDOStatement' is an unknown class.

This issue appears related but was closed as 'unable to reproduce' in 4.0.11 http://bugs.caucho.com/view.php?id=3971 [^]

Details of my machine:

[aaron@msi-cr620 drupal_dev]$ cat /etc/redhat-release
Fedora release 14 (Laughlin)
[aaron@msi-cr620 drupal_dev]$ uname -a
Linux msi-cr620 2.6.34.7-61.fc13.x86_64 0000001 SMP Tue Oct 19 04:06:30 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
[aaron@msi-cr620 drupal_dev]$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.4) (fedora-50.1.9.4.fc14-x86_64)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
[aaron@msi-cr620 drupal_dev]$ java -fullversion
java full version "1.6.0_20-b20"
[aaron@msi-cr620 drupal_dev]$

 quercus-drupal7-wiz1.png [^] (46,842 bytes) 01-26-11 11:09
 quercus-drupal7-wiz3.png [^] (35,932 bytes) 01-26-11 11:09
 quercus-drupal7-wiz_1.png [^] (46,842 bytes) 01-26-11 11:17

Notes
(0004993)
aaron   
01-23-11 20:37   
I can reproduce 0003971 on Resin 4.0.14, result is "false".

(0004997)
domdorn   
01-26-11 09:54   
drush uses zend php, so the error about PDOStatement is probably not related to Querucs. If you managed to run drush through quercus, please provide information how you did it.

@aaron: false is the correct result.
In Quercus, as well as Zend PHP, $_SESSION is not defined if session_start() isn't called before.

That's the reason for the NOTICEs above.


I'm currently in the process of reproducing the error you're having.
I'll keep you posted.
(0004998)
aaron   
01-26-11 10:53   
Hi domdorn. While I downloaded Drupal via "drush dl" (as a matter of convenience; drush dl alone does not perform an install AFIAK), this is reproducible via a manual install. I only mentioned drush for completeness. Presumably if I manually downloaded drupal 6.20 it would be identical although I suppose I had better test that assumption.
(0004999)
domdorn   
01-26-11 10:55   
aaron: are we talking about 6.20 or 7.0 here?

I'm currently testing with 7.0 and can reproduce the errors you're receiving.

which database are you going to use?
mysql/postgresql/sqlite
(0005000)
aaron   
01-26-11 11:08   
Yes, I reproduced it with a manually downloaded drupal 7 archive:

Roughly:

[aaron@msi-cr620 tmp]$ wget http://ftp.drupal.org/files/projects/drupal-7.0.tar.gz [^]
[aaron@msi-cr620 tmp]$ cp -pr /opt/software/resin-4.0.14/ resin
[aaron@msi-cr620 tmp]$ mkdir -p resin/webapps/ROOT/WEB-INF/lib
[aaron@msi-cr620 tmp]$ cp /opt/software/jdbc-drivers/mysql-connector-java-5.1.14/mysql-connector-java-5.1.14-bin.jar resin/webapps/ROOT/WEB-INF/lib/
[aaron@msi-cr620 tmp]$ cat > resin/webapps/ROOT/WEB-INF/resin-web.xml <<END
<web-app xmlns="http://caucho.com/ns/resin"> [^]
<welcome-file-list><welcome-file>index.php</welcome-file></welcome-file-list>
<rewrite-dispatch>
<dispatch regexp="\.(php|gif|css|jpg|png|ico|js|html|htm|txt)"/>
<forward regexp="^/" target="/index.php?q="/>
</rewrite-dispatch>
</web-app>
END
...
[aaron@msi-cr620 ROOT]$ tar -zxf ../../../drupal-7.0.tar.gz && mv drupal-7.0/* .
[aaron@msi-cr620 resin]$ bin/resin.sh console

(a correction: i've been running under the Sun VM 1.6.0_21-b06 FWIW)

(0005001)
aaron   
01-26-11 11:10   
6.20 works fine (well, at least install does, I think 6.x has been working on Quercus for a long time)

I don't know why, but my uploaded screenshots appear to not be valid after download so I'm not sure if they are useful.

(0005002)
aaron   
01-26-11 11:34   
To answer your last question, right now I was going to use mysql as I'm developing. However I have typically used postgres for production Drupal sites. (I have not tested Quercus/Drupal7/Postgres yet)
(0005003)
domdorn   
01-26-11 15:00   
Ok, I just fixed most of the bugs in the installation procedure.
However, Drupal 7 requires the filter extension, that we currently don't provide.

I created an open Quercus module for it here:

https://github.com/quercus/quercus-filter [^]

but this will take some time to implement, so if you need
Drupal urgently, better stick with version 6.20 for now.
(0005004)
aaron   
01-26-11 15:40   
Thanks for looking into this! I'm checking out the Quercus src (svn://svn.caucho.com/resin/trunk/modules/quercus) [^] and perhaps I will be able to contribute towards this. Please let me know if there are any docs on Quercus/PHP extension implementation I should be looking at. It looks like each module supplies a class, named by convention, which implements the particular extension.
(0005005)
domdorn   
01-26-11 16:01   
I pushed a basic mock implementation to
https://github.com/quercus/quercus-filter [^]

Still need to setup the test configuration, then we can start implementing it.
(0005020)
wasay   
02-03-11 16:00   
I am very new in implementing Resin and I get this error

Caucho\Resin\resin-4.0.14\webapps\drupal\includes\errors.inc:247: Notice: $_SESSION is an undefined variable [drupal_set_message]

I just downloaded the resin like an hour ago and followed the installation and the hello world worked fine.

Now the drupal installation is showing error and I don't want to go forward as I am not sure if there will be more errors.

Please advice as to where I can find a solution; do I have to download some daily build to resolve this error?

Please advice,
Thanks.
(0005021)
aaron   
02-03-11 16:21   
Hi wasay, are you using Drupal 7? It appears Drupal 7 (which is very new) is not yet fully supported. There are some newer PHP extensions which are used. Work has started on implementing these extensions (in the quercus-filter project on github noted in this issue). Until this is fully implemented I would advise using that last release of Drupal (6.20) which to my knowledge runs fine on Resin/Quercus.
(0005022)
wasay   
02-03-11 16:24   
Okay, thanks aaron. I will use the previous release for now.
(0005475)
timowest   
08-29-11 01:41   
Any chance to get all the Maven dependencies for quercus-filter to be available from the Quercus Maven repository?
(0005548)
chx   
10-06-11 21:53   
Waste no time on implementing filter, it's trivial to reimplement the few things we use in userspace. Make sure PDO works. That's the challenge.
(0005902)
nam   
06-21-12 00:24   
Fixed for 4.0.29.

However, drupal_parse_info_format() needs to be patched in order for the install to work properly. It needs to return a completely new array.

The underlying issue is PHP's reference counting, which Quercus does not support (Quercus instead uses the JVM's garbage collection).