With an up-to-date copy of head, a fresh db, and an upped copy of cvs_deploy, any and all Simpletests are broken with a fatal error whenever CVS Deploy module is enabled.

An error occurred.

/batch?id=6&op=do

Fatal error: Exception thrown without a stack frame in Unknown on line 0
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Senpai’s picture

More info. It appears that this module is not the culprit, but is aggravating an already existing problem. With all contribs switched off, I ran each Simpletest on its own. All of them passed, with the exception of Database and Field tests. Those fail every time, both with the same fatal error.

An HTTP error 500 occurred.
/batch?id=56&op=do

However, with the CVS Deploy module switched on, none of the tests will complete. All of them fail with the same fatal error.

An error occurred.
/batch?id=63&op=do

Fatal error: Exception thrown without a stack frame in Unknown on line 0

This has been a drive-by bug report. Thanks for playing. ;)

Senpai’s picture

Status: Active » Fixed

Maybe it was CVS Deploy, and maybe not, but when I updated to the latest versions of everything today, this problem stopped. Cool. Devel, however, breaks every time on every page with the Fatal error: Exception thrown without a stack frame in Unknown on line 0 error. See #376824: Query log displays dreaded Fatal error: Exception thrown without a stack frame in Unknown on line 0 on Views pages

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Pedro Lozano’s picture

Title: Simpletests are broken while this module is enabled » Simpletests are broken when cvs_deploy is enabled
Priority: Normal » Critical
Status: Closed (fixed) » Active

I don't know why but the cache_get call in line 107 (HEAD) breaks simpletest.

Senpai’s picture

I came here to re-open this issue because I just ran into the same fatal error as when I originally posted it, but alas, someone has beaten me to it. I will simply confirm that the original issue is repeatable and disabling cvs_deploy allows Simpletest to run unimpeded.

Dave Reid’s picture

Using latest CVS deploy HEAD and latest D7 head, tests work just fine for me.

Senpai’s picture

Well then, it's got to be a module interaction. Right now, I have all core modules enabled, as well as head versions of cvs_deploy, devel, coder, drush_extras, and admin_menu. I think that about covers my list. CHX asked me to tarball my local instance and send it over, so I shall do that today and we'll see what's up.

This really is an odd problem to track down because as you can see from the comments in this issue, it has appeared, disappeared, and then reappeared.

Pedro Lozano’s picture

@dave I can confirm that using the latest head of drupal 7 and cvs_deploy with a clean install and only cvs_deploy enabled the testing framework doesn't work.

I've debugged it and my conclusion is that when cvs_deploy makes the cache_get call PDO throws a "table doesn't exist" exeption, that results in a 500 http response in the first ajax request made by the progress bar page. I haven't had more time to find the precise cause.

Dave Reid’s picture

I have actually had the same problem without the cvs_deploy module enabled (testing failed because of an cache_update table that did not exist). Sometimes the errors would go away after I visited admin/reports/status. Let me see if I can find the existing issue with simpletest...

See #360925: Need to reset module_list()

dww’s picture

Status: Active » Closed (duplicate)

It seems this isn't a problem with cvs_deploy as per #360925: Need to reset module_list().

Dave Reid’s picture

Status: Closed (duplicate) » Active

I just confirmed with a fresh Drupal 6.x install that with only CVS deploy + SimpleTest installed, there are a crap ton of cache_update table exceptions. If I disable CVS deploy, I no longer get all the exceptions. Something is still amiss here causing testing to break.

willmoy’s picture

I am also experiencing HTTP 500 status Fatal error: Exception thrown without a stack frame in Unknown on line 0 error. when CVS deploy is enabled. Disabling it gets my tests running again. This is on HEAD.

Dave Reid’s picture

Project: CVS deploy » Drupal core
Version: 7.x-1.x-dev » 7.x-dev
Component: Code » system.module
Status: Active » Needs review

FIGURED IT OUT! OMG!

Basically, the hook_system_info_alter gets called from system_get_theme_data() in system_install, which is run from drupal_install_system() in DWTC->setUp(). We don't clear the module list or module_implements() caches before this, so cvs_deploy is called in the drupal_alter('system_info'....). This little patch fixes the entire thing.

Dave Reid’s picture

FileSize
659 bytes

Attached patch for review.

dww’s picture

Status: Needs review » Reviewed & tested by the community

Makes perfect sense. I can confirm that simpletests are completely fubar in HEAD with cvs_deploy enabled, and they work again once this patch is applied. This is probably going to help a lot of other things since simpletests finally run in a more clean environment.

Dave Reid’s picture

Minor change in documentation. No need to change issue status. Also providing a patch for Drupal 6 because this same thing happens with SimpleTest in D6.

Dave Reid’s picture

Fixing tag...

Dave Reid’s picture

Small error in D7 documentation. Uploading both again for posterity. Still RTBC.

webchick’s picture

Version: 7.x-dev » 6.x-dev

Committed to HEAD. Thanks!

Marking for 6.x-dev, but I'm not sure how Gábor will feel about committing this for the benefit of a contributed module. Doesn't seem like it would hurt anything, anyway...

Gábor Hojtsy’s picture

Status: Reviewed & tested by the community » Needs review

Who tested on D6?

Dave Reid’s picture

dww and myself tested it. Works perfectly.

Gábor Hojtsy’s picture

Status: Needs review » Reviewed & tested by the community

That was not clear from the issue to me.

Gábor Hojtsy’s picture

Status: Reviewed & tested by the community » Fixed

Committed to Drupal 6 without the code style hunks, so we have a clean bugfix: http://drupal.org/cvs?commit=284914 Thanks!

Status: Fixed » Closed (fixed)
Issue tags: -Needs backport to D6

Automatically closed -- issue fixed for 2 weeks with no activity.