After a cache rebuild, the first time I'm on page with ckeditor I get and errors. My website is in French, it was installed in english and I switched to french after (but before installing ckeditor_media_embed).

I'm not sure it's linked to this module!

    Warning: file_get_contents(/libraries/ckeditor/plugins/embedbase/plugin.js): failed to open stream: No such file or directory in _locale_parse_js_file() (line 1145 of core/modules/locale/locale.module).
    _locale_parse_js_file('/libraries/ckeditor/plugins/embedbase/plugin.js') (Line: 543)
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

gagarine created an issue. See original summary.

grndlvl’s picture

Status: Active » Postponed (maintainer needs more info)

gagarine,

Can you confirm the plugins are installed? https://www.drupal.org/project/ckeditor_media_embed#ckeditor-media-embed...

It should tell you on the status page admin/reports/status.

flyke’s picture

I myself use the CKEditor Media Embed plugin in my Drupal 8 site.
The plugin works, and the admin/reports/status shows that the plugin is installed correctly.

However, i do get similar errors in the backoffice when editing a page.
All the files in the error message failed to open stream are there and i can open them using the paths given in the error message inside file_get_contents.

The error messages:

warning: file_get_contents(/libraries/ckeditor/plugins/embedbase/plugin.js): failed to open stream: No such file or directory in _locale_parse_js_file() (line 1145 of core\modules\locale\locale.module).

_locale_parse_js_file('/libraries/ckeditor/plugins/embedbase/plugin.js') (Line: 543)
locale_js_translate(Array) (Line: 305)
Drupal\ckeditor\Plugin\Editor\CKEditor->getJSSettings(Object) (Line: 81)
Drupal\editor\Plugin\EditorManager->getAttachments(Array) (Line: 92)
Drupal\editor\Element->preRenderTextFormat(Array)
call_user_func(Array, Array) (Line: 381)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 468)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 81)
__TwigTemplate_cf1a7f9241244c462e77dfcea7349c2ea404fb13f9f7c610fed377564318c94a->doDisplay(Array, Array) (Line: 381)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 355)
Twig_Template->display(Array) (Line: 366)
Twig_Template->render(Array) (Line: 64)
twig_render_template('core/themes/classy/templates/form/field-multiple-value-form.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('field_multiple_value_form', Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 468)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 47)
__TwigTemplate_b32be2f8c23ebdcb6efe7a7e41f1cb04e6b399eb63279258a57b815e3dc2d139->doDisplay(Array, Array) (Line: 381)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 355)
Twig_Template->display(Array) (Line: 366)
Twig_Template->render(Array) (Line: 64)
twig_render_template('core/themes/classy/templates/content-edit/node-edit-form.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render(Array, Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 574)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 144)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 62)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 98)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 77)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 50)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 628)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

Warning: file_get_contents(/libraries/ckeditor/plugins/embedsemantic/plugin.js): failed to open stream: No such file or directory in _locale_parse_js_file() (line 1145 of core\modules\locale\locale.module).

_locale_parse_js_file('/libraries/ckeditor/plugins/embedsemantic/plugin.js') (Line: 543)
locale_js_translate(Array) (Line: 305)
Drupal\ckeditor\Plugin\Editor\CKEditor->getJSSettings(Object) (Line: 81)
Drupal\editor\Plugin\EditorManager->getAttachments(Array) (Line: 92)
Drupal\editor\Element->preRenderTextFormat(Array)
call_user_func(Array, Array) (Line: 381)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 468)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 81)
__TwigTemplate_cf1a7f9241244c462e77dfcea7349c2ea404fb13f9f7c610fed377564318c94a->doDisplay(Array, Array) (Line: 381)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 355)
Twig_Template->display(Array) (Line: 366)
Twig_Template->render(Array) (Line: 64)
twig_render_template('core/themes/classy/templates/form/field-multiple-value-form.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('field_multiple_value_form', Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 468)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 47)
__TwigTemplate_b32be2f8c23ebdcb6efe7a7e41f1cb04e6b399eb63279258a57b815e3dc2d139->doDisplay(Array, Array) (Line: 381)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 355)
Twig_Template->display(Array) (Line: 366)
Twig_Template->render(Array) (Line: 64)
twig_render_template('core/themes/classy/templates/content-edit/node-edit-form.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render(Array, Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 574)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 144)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 62)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 98)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 77)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 50)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 628)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

Warning: file_get_contents(/libraries/ckeditor/plugins/notification/plugin.js): failed to open stream: No such file or directory in _locale_parse_js_file() (line 1145 of core\modules\locale\locale.module).

_locale_parse_js_file('/libraries/ckeditor/plugins/notification/plugin.js') (Line: 543)
locale_js_translate(Array) (Line: 305)
Drupal\ckeditor\Plugin\Editor\CKEditor->getJSSettings(Object) (Line: 81)
Drupal\editor\Plugin\EditorManager->getAttachments(Array) (Line: 92)
Drupal\editor\Element->preRenderTextFormat(Array)
call_user_func(Array, Array) (Line: 381)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 468)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 81)
__TwigTemplate_cf1a7f9241244c462e77dfcea7349c2ea404fb13f9f7c610fed377564318c94a->doDisplay(Array, Array) (Line: 381)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 355)
Twig_Template->display(Array) (Line: 366)
Twig_Template->render(Array) (Line: 64)
twig_render_template('core/themes/classy/templates/form/field-multiple-value-form.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('field_multiple_value_form', Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 468)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 47)
__TwigTemplate_b32be2f8c23ebdcb6efe7a7e41f1cb04e6b399eb63279258a57b815e3dc2d139->doDisplay(Array, Array) (Line: 381)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 355)
Twig_Template->display(Array) (Line: 366)
Twig_Template->render(Array) (Line: 64)
twig_render_template('core/themes/classy/templates/content-edit/node-edit-form.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render(Array, Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 574)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 144)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 62)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 98)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 77)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 50)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 628)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

Warning: file_get_contents(/libraries/ckeditor/plugins/notificationaggregator/plugin.js): failed to open stream: No such file or directory in _locale_parse_js_file() (line 1145 of core\modules\locale\locale.module).

_locale_parse_js_file('/libraries/ckeditor/plugins/notificationaggregator/plugin.js') (Line: 543)
locale_js_translate(Array) (Line: 305)
Drupal\ckeditor\Plugin\Editor\CKEditor->getJSSettings(Object) (Line: 81)
Drupal\editor\Plugin\EditorManager->getAttachments(Array) (Line: 92)
Drupal\editor\Element->preRenderTextFormat(Array)
call_user_func(Array, Array) (Line: 381)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 468)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 81)
__TwigTemplate_cf1a7f9241244c462e77dfcea7349c2ea404fb13f9f7c610fed377564318c94a->doDisplay(Array, Array) (Line: 381)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 355)
Twig_Template->display(Array) (Line: 366)
Twig_Template->render(Array) (Line: 64)
twig_render_template('core/themes/classy/templates/form/field-multiple-value-form.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('field_multiple_value_form', Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 448)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 468)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 47)
__TwigTemplate_b32be2f8c23ebdcb6efe7a7e41f1cb04e6b399eb63279258a57b815e3dc2d139->doDisplay(Array, Array) (Line: 381)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 355)
Twig_Template->display(Array) (Line: 366)
Twig_Template->render(Array) (Line: 64)
twig_render_template('core/themes/classy/templates/content-edit/node-edit-form.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render(Array, Array) (Line: 435)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 574)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 144)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 62)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 98)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 77)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 50)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 628)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
grndlvl’s picture

Status: Postponed (maintainer needs more info) » Active

Hrmm, OK I will try to look into this a little this weekend. It kind of seems that the wrong path is being used here with the _locale_parse_js_file() it's using "/libraries" instead of "DRUPAL_ROOT . '/libraries'".

flyke’s picture

Ok, hope this gets fixed.

For now I patched core\modules\locale\locale.module. Inside the function _locale_parse_js_file($filepath) (line 1133) I added a if(file_exists($filepath)) so I can work for now without those errors until it gets fixed.

gauladell’s picture

Patch needs reroll for core 8.2.x It would be nice if the patch could be generated with git diff.

flyke’s picture

I normally always create patches via phpstom menu, but since I had this problem again I tried to create a patch using git diff this time.
Does exactly the same as I mentioned in #6.

flyke’s picture

I seem to have did something wrong when adding the patch in the previous comment.

Andrew Gorokhovets’s picture

Hi everyone! I Think that we don't needed to patch the core in this issue.
As can be seen from the error message, the problem is generated in core/modules/locale/locale.module:1144

// Load the JavaScript file.
$file = file_get_contents($filepath);

Also we can see what $filepath is generated. It is '/libraries/ckeditor/plugins/embedbase/plugin.js' for example.
If you try manually run

// Load the JavaScript file.
$file = file_get_contents('/libraries/ckeditor/plugins/embedbase/plugin.js');

It will return FALSE. Because starting from Drupal 8.3 we don't need to use a first slash.
This will work fine.

// Load the JavaScript file.
$file = file_get_contents('libraries/ckeditor/plugins/embedbase/plugin.js');

Also take a look to the relevant issue and pathe: #2860254: Warning: file_get_contents(/libraries/ckeditor/plugins/filetools/plugin.js): failed to open stream: No such file or directory in _locale_parse_js_file() (/var/www/drupal/docroot/core/modules/locale/locale.module line 1134)

And I hope the notice will be fixed in core: #1803330: Add file_exists() to _locale_parse_js_file() to prevent PHP warning

Andrew Gorokhovets’s picture

Status: Active » Needs review

Status: Needs review » Needs work

The last submitted patch, 10: _2775233_Failed_to_open_stream__ckeditor_plugin__1.patch, failed testing.

Andrew Gorokhovets’s picture

Status: Needs review » Needs work
Andrew Gorokhovets’s picture

jlamp’s picture

Status: Needs review » Reviewed & tested by the community

Tested the patch on #18 with YouTube and Twitter embeds with translation turned on, the error messages are no longer generated with the change. Marked RTBTC.

grndlvl’s picture

Status: Reviewed & tested by the community » Fixed

Great job everyone! I finally got around to replicating and testing this thoroughly and it works great! Committed!

Status: Fixed » Closed (fixed)

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