Reproduce by drush (or by UI, no difference):

drush pmu simpletest -y

Result:

PHP Fatal error: Trait 'Drupal\Tests\SessionTestTrait' not found in PATH_TO_SITE\core\modules\simpletest\src\TestBase.php on line 25
....
PHP Fatal error:  Trait 'Drupal\Tests\RandomGeneratorTrait' not found in PATH_TO_SITE\core\modules\simpletest\src\TestBase.php on line 26
...
PHP Fatal error:  Trait 'Drupal\Tests\ConfigTestTrait' not found in PATH_TO_SITE\core\modules\simpletest\src\TestBase.php on line 29

Possible solutions:

  • #1: remove these traits
  • #3: delete all files in /sites/simpletest
CommentFileSizeAuthor
#11 434954.zip15.44 KBAnonymous (not verified)
1.patch903 bytesAnonymous (not verified)

Comments

Anonymous’s picture

vaplas created an issue. See original summary.

cilefen’s picture

Priority: Normal » Major
cilefen’s picture

If there are any files in /sites/simpletest, simpletest_clean_temporary_directories() calls file_unmanaged_delete_recursive($path, array('Drupal\simpletest\TestBase', 'filePreDeleteCallback')) and TestBase dies on a use statement with this error. I assume this is because the autoloader didn't load in this context.

As a workaround, delete all files in /sites/simpletest and try again.

Anonymous’s picture

delete all files in /sites/simpletest

@cilefen, thank you! It works for me.

Anonymous’s picture

Issue summary: View changes
mile23’s picture

Status: Needs review » Needs work

I can't repro this error on the module uninstall page, and I can't seem to get drush to notice that I have a fully installed D8 site to try and uninstall that way.

The reason it works if you pre-delete the simpletest temp directory is probably related to this: #2745123: Simpletest module crashes on cleanup, uninstall

cilefen’s picture

I can reproduce this every time. Are there any files in sites/simpletest when you uninstalled? simpletest_clean_temporary_directories() does nothing if there are no files.

mile23’s picture

I think it might only be from drush, which I can't seem to get working for anything, so I can't try using drush to uninstall.

cilefen’s picture

UI also.

cilefen’s picture

Ok.. the plot thickens. On one computer with PHP 5.6, fatal, on another with 7.0, perfect uninstall.

Anonymous’s picture

StatusFileSize
new15.44 KB

I have it with php 7.0.4 also (8.2.0-rc1).

For reproduce: create empty file "lololo.txt" in 'sites/simpletest' and unistall Testing module.
(Also I attached a zip with one of the real folders that were in my sites/simpletest).

Stack trace and Call Stack:

PHP Fatal error:  Trait 'Drupal\Tests\SessionTestTrait' not found in D:\devdesktop\site1\core\modules\simpletest\src\TestBase.php on line 25
PHP Stack trace:
PHP   1. {main}() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\drush.php:0
PHP   2. drush_main() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\drush.php:12
PHP   3. Drush\Boot\BaseBoot->bootstrap_and_dispatch() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\includes\preflight.inc:66
PHP   4. drush_dispatch() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\lib\Drush\Boot\BaseBoot.php:67
PHP   5. drush_command() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\includes\command.inc:192
PHP   6. _drush_invoke_hooks() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\includes\command.inc:224
PHP   7. drush_pm_uninstall() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\includes\command.inc:373
PHP   8. _drush_pm_uninstall() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\commands\pm\pm.drush.inc:1237
PHP   9. drush_module_uninstall() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\commands\core\drupal\pm_8.inc:82
PHP  10. Drupal\Core\ProxyClass\Extension\ModuleInstaller->uninstall() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\commands\core\drupal\environment.inc:227
PHP  11. Drupal\Core\Extension\ModuleInstaller->uninstall() D:\devdesktop\site1\core\lib\Drupal\Core\ProxyClass\Extension\ModuleInstaller.php:91
PHP  12. Drupal\Core\Extension\ModuleHandler->invoke() D:\devdesktop\site1\core\lib\Drupal\Core\Extension\ModuleInstaller.php:388
PHP  13. call_user_func_array:{D:\devdesktop\site1\core\lib\Drupal\Core\Extension\ModuleHandler.php:391}() D:\devdesktop\site1\core\lib\Drupal\Core\Extension\ModuleHandler.php:391
PHP  14. simpletest_uninstall() D:\devdesktop\site1\core\lib\Drupal\Core\Extension\ModuleHandler.php:391
PHP  15. simpletest_clean_environment() D:\devdesktop\site1\core\modules\simpletest\simpletest.install:188
PHP  16. simpletest_clean_temporary_directories() D:\devdesktop\site1\core\modules\simpletest\simpletest.module:634
PHP  17. file_unmanaged_delete_recursive() D:\devdesktop\site1\core\modules\simpletest\simpletest.module:682
PHP  18. spl_autoload_call() D:\devdesktop\site1\core\includes\file.inc:896
PHP  19. Composer\Autoload\ClassLoader->loadClass() D:\devdesktop\site1\core\includes\file.inc:896
PHP  20. Composer\Autoload\includeFile() C:\Program Files (x86)\DevDesktop\tools\vendor\composer\ClassLoader.php:301
PHP  21. include() C:\Program Files (x86)\DevDesktop\tools\vendor\composer\ClassLoader.php:412

Fatal error: Trait 'Drupal\Tests\SessionTestTrait' not found in D:\devdesktop\site1\core\modules\simpletest\src\TestBase.php on line 25

Call Stack:
    0.0005     350024   1. {main}() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\drush.php:0
    0.0030     486664   2. drush_main() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\drush.php:12
    4.0672    6690768   3. Drush\Boot\BaseBoot->bootstrap_and_dispatch() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\includes\preflight.inc:66
   12.2029   25308816   4. drush_dispatch() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\lib\Drush\Boot\BaseBoot.php:67
   13.0716   24995448   5. drush_command() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\includes\command.inc:192
   13.0722   24995752   6. _drush_invoke_hooks() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\includes\command.inc:224
   13.0772   25056760   7. drush_pm_uninstall() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\includes\command.inc:373
   13.0876   25087496   8. _drush_pm_uninstall() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\commands\pm\pm.drush.inc:1237
   13.6373   25815632   9. drush_module_uninstall() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\commands\core\drupal\pm_8.inc:82
   13.6374   25816224  10. Drupal\Core\ProxyClass\Extension\ModuleInstaller->uninstall() C:\Program Files (x86)\DevDesktop\tools\vendor\drush\drush\commands\core\drupal\environment.inc:227
   13.6793   26205168  11. Drupal\Core\Extension\ModuleInstaller->uninstall() D:\devdesktop\site1\core\lib\Drupal\Core\ProxyClass\Extension\ModuleInstaller.php:91
   13.9639   30009128  12. Drupal\Core\Extension\ModuleHandler->invoke() D:\devdesktop\site1\core\lib\Drupal\Core\Extension\ModuleInstaller.php:388
   13.9639   30009216  13. call_user_func_array:{D:\devdesktop\site1\core\lib\Drupal\Core\Extension\ModuleHandler.php:391}() D:\devdesktop\site1\core\lib\Drupal\Core\Extension\ModuleHandler.php:391
   13.9640   30009272  14. simpletest_uninstall() D:\devdesktop\site1\core\lib\Drupal\Core\Extension\ModuleHandler.php:391
   13.9640   30009272  15. simpletest_clean_environment() D:\devdesktop\site1\core\modules\simpletest\simpletest.install:188
   13.9791   30170168  16. simpletest_clean_temporary_directories() D:\devdesktop\site1\core\modules\simpletest\simpletest.module:634
   13.9804   30170864  17. file_unmanaged_delete_recursive() D:\devdesktop\site1\core\modules\simpletest\simpletest.module:682
   13.9804   30170912  18. spl_autoload_call() D:\devdesktop\site1\core\includes\file.inc:896
   13.9804   30171024  19. Composer\Autoload\ClassLoader->loadClass() D:\devdesktop\site1\core\includes\file.inc:896
   13.9810   30171104  20. Composer\Autoload\includeFile() C:\Program Files (x86)\DevDesktop\tools\vendor\composer\ClassLoader.php:301
   13.9842   30354104  21. include('D:\devdesktop\site1\core\modules\simpletest\src\TestBase.php') C:\Program Files (x86)\DevDesktop\tools\vendor\composer\ClassLoader.php:412

Drush command terminated abnormally due to an unrecoverable error.                                               [error]
Error: Trait 'Drupal\Tests\SessionTestTrait' not found in
D:\devdesktop\site1\core\modules\simpletest\src\TestBase.php, line 25
mile23’s picture

Status: Needs work » Closed (duplicate)

Thanks!

D:\devdesktop\site1\core\modules\simpletest\simpletest.module:634
   13.9804   30170864  17. file_unmanaged_delete_recursive() 

Yep, that's the one. This is a duplicate of #2745123: Simpletest module crashes on cleanup, uninstall

During uninstall, simpletest cleans up by calling simpletest_clean_environment().

The callback specified to file_unmanaged_delete_recursive() is TestBase::filePreDeleteCallback(). TestBase is not normally autoloadable during runtime.

Metal3d’s picture

#3 works for me, big thanks