inveniosoftware / invenio

Invenio digital library framework
https://invenio.readthedocs.io
MIT License
625 stars 292 forks source link

assets: BundleError: 'vendors/jquery-tokeninput/styles/token-input.css' not found in load path: #3480

Closed tiborsimko closed 9 years ago

tiborsimko commented 9 years ago

Trying vanilla docker build on the current master branch tip 3fe911d81e367980e51ba7bc7a5f63af4977709e, one gets into a jquery-tokeninput asset trouble, see below. I don't have very fast network connection here, can you please recheck? CC @jirikuncar @crepererum

web_1           | --------------------------------------------------------------------------------
web_1           | ERROR in wrappers [/code/invenio/ext/logging/wrappers.py:310]:
web_1           | 
web_1           | --------------------------------------------------------------------------------
web_1           | Traceback (most recent call last):
web_1           |   File "/code/invenio/ext/legacy/__init__.py", line 106, in __call__
web_1           |     response = self.app.full_dispatch_request()
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
web_1           |     rv = self.handle_user_exception(e)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask_restful/__init__.py", line 270, in error_router
web_1           |     return original_handler(e)
web_1           |   File "/code/invenio/base/wrappers.py", line 133, in handle_user_exception
web_1           |     return super(Flask, self).handle_user_exception(e)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
web_1           |     reraise(exc_type, exc_value, tb)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
web_1           |     rv = self.dispatch_request()
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask_debugtoolbar/__init__.py", line 125, in dispatch_request
web_1           |     return view_func(**req.view_args)
web_1           |   File "/usr/local/lib/python2.7/cProfile.py", line 149, in runcall
web_1           |     return func(*args, **kw)
web_1           |   File "/code/invenio/base/decorators.py", line 106, in decorated_function
web_1           |     return render(template_name, **ctx)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/templating.py", line 128, in render_template
web_1           |     context, ctx.app)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/templating.py", line 110, in _render
web_1           |     rv = template.render(context)
web_1           |   File "/usr/local/lib/python2.7/site-packages/jinja2/environment.py", line 989, in render
web_1           |     return self.environment.handle_exception(exc_info, True)
web_1           |   File "/usr/local/lib/python2.7/site-packages/jinja2/environment.py", line 754, in handle_exception
web_1           |     reraise(exc_type, exc_value, tb)
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/views/../templates/search/index.html", line 19, in top-level template code
web_1           |     {%- extends "search/index_base.html" -%}
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/views/../templates/search/index_base.html", line 20, in top-level template code
web_1           |     {%- extends "search/collection.html" %}
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/views/../templates/search/collection.html", line 19, in top-level template code
web_1           |     {%- extends "search/collection_base.html" -%}
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/views/../templates/search/collection_base.html", line 32, in top-level template code
web_1           |     {%- macro collection_records(collection) -%}{% block collection_records scoped %}
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/views/../templates/search/searchbar_frame.html", line 19, in top-level template code
web_1           |     {%- extends "search/searchbar_frame_base.html" -%}
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/views/../templates/search/searchbar_frame_base.html", line 20, in top-level template code
web_1           |     {% extends "page.html" %}
web_1           |   File "/code/invenio/base/templates/page.html", line 19, in top-level template code
web_1           |     {%- extends "page_base.html" -%}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 26, in top-level template code
web_1           |     {%- block page -%}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 28, in block "page"
web_1           |     {%- block page_top -%}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 35, in block "page_top"
web_1           |     {%- block head %}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 89, in block "head"
web_1           |     {%- block _top_assets %}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 90, in block "_top_assets"
web_1           |     {%- block global_stylesheets %}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 91, in block "global_stylesheets"
web_1           |     {%- include "base/stylesheets.html" %}
web_1           |   File "/code/invenio/base/templates/base/stylesheets.html", line 20, in top-level template code
web_1           |     {%- extends "base/stylesheets_base.html" -%}
web_1           |   File "/code/invenio/base/templates/base/stylesheets_base.html", line 25, in top-level template code
web_1           |     {%- assets bundle %}
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/ext/jinja2.py", line 186, in _render_assets
web_1           |     urls = bundle.urls()
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/bundle.py", line 787, in urls
web_1           |     urls.extend(bundle._urls(new_ctx, extra_filters, *args, **kwargs))
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/bundle.py", line 746, in _urls
web_1           |     *args, **kwargs)
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/bundle.py", line 600, in _build
web_1           |     force, disable_cache=disable_cache, extra_filters=extra_filters)
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/bundle.py", line 456, in _merge_and_apply
web_1           |     resolved_contents = self.resolve_contents(ctx, force=True)
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/bundle.py", line 235, in resolve_contents
web_1           |     raise BundleError(e)
web_1           | BundleError: 'vendors/jquery-tokeninput/styles/token-input.css' not found in load path: [u'/home/invenio/static']
web_1           | 172.17.42.1 - - [02/Sep/2015 07:15:13] "GET / HTTP/1.1" 500 -
web_1           | Traceback (most recent call last):
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
web_1           |     return self.wsgi_app(environ, start_response)
web_1           |   File "/code/invenio/ext/legacy/__init__.py", line 110, in __call__
web_1           |     response = self.app.handle_exception(e)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask_restful/__init__.py", line 270, in error_router
web_1           |     return original_handler(e)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
web_1           |     reraise(exc_type, exc_value, tb)
web_1           |   File "/code/invenio/ext/legacy/__init__.py", line 106, in __call__
web_1           |     response = self.app.full_dispatch_request()
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
web_1           |     rv = self.handle_user_exception(e)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask_restful/__init__.py", line 270, in error_router
web_1           |     return original_handler(e)
web_1           |   File "/code/invenio/base/wrappers.py", line 133, in handle_user_exception
web_1           |     return super(Flask, self).handle_user_exception(e)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
web_1           |     reraise(exc_type, exc_value, tb)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
web_1           |     rv = self.dispatch_request()
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask_debugtoolbar/__init__.py", line 125, in dispatch_request
web_1           |     return view_func(**req.view_args)
web_1           |   File "/usr/local/lib/python2.7/cProfile.py", line 149, in runcall
web_1           |     return func(*args, **kw)
web_1           |   File "/code/invenio/base/decorators.py", line 106, in decorated_function
web_1           |     return render(template_name, **ctx)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/templating.py", line 128, in render_template
web_1           |     context, ctx.app)
web_1           |   File "/usr/local/lib/python2.7/site-packages/flask/templating.py", line 110, in _render
web_1           |     rv = template.render(context)
web_1           |   File "/usr/local/lib/python2.7/site-packages/jinja2/environment.py", line 989, in render
web_1           |     return self.environment.handle_exception(exc_info, True)
web_1           |   File "/usr/local/lib/python2.7/site-packages/jinja2/environment.py", line 754, in handle_exception
web_1           |     reraise(exc_type, exc_value, tb)
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/templates/search/index.html", line 19, in top-level template code
web_1           |     {%- extends "search/index_base.html" -%}
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/templates/search/index_base.html", line 20, in top-level template code
web_1           |     {%- extends "search/collection.html" %}
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/templates/search/collection.html", line 19, in top-level template code
web_1           |     {%- extends "search/collection_base.html" -%}
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/templates/search/collection_base.html", line 32, in top-level template code
web_1           |     {%- macro collection_records(collection) -%}{% block collection_records scoped %}
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/templates/search/searchbar_frame.html", line 19, in top-level template code
web_1           |     {%- extends "search/searchbar_frame_base.html" -%}
web_1           |   File "/usr/local/lib/python2.7/site-packages/invenio_search/templates/search/searchbar_frame_base.html", line 20, in top-level template code
web_1           |     {% extends "page.html" %}
web_1           |   File "/code/invenio/base/templates/page.html", line 19, in top-level template code
web_1           |     {%- extends "page_base.html" -%}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 26, in top-level template code
web_1           |     {%- block page -%}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 28, in block "page"
web_1           |     {%- block page_top -%}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 35, in block "page_top"
web_1           |     {%- block head %}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 90, in block "_top_assets"
web_1           |     {%- block global_stylesheets %}
web_1           |   File "/code/invenio/base/templates/page_base.html", line 91, in block "global_stylesheets"
web_1           |     {%- include "base/stylesheets.html" %}
web_1           |   File "/code/invenio/base/templates/base/stylesheets.html", line 20, in top-level template code
web_1           |     {%- extends "base/stylesheets_base.html" -%}
web_1           |   File "/code/invenio/base/templates/base/stylesheets_base.html", line 25, in top-level template code
web_1           |     {%- assets bundle %}
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/ext/jinja2.py", line 186, in _render_assets
web_1           |     urls = bundle.urls()
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/bundle.py", line 787, in urls
web_1           |     urls.extend(bundle._urls(new_ctx, extra_filters, *args, **kwargs))
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/bundle.py", line 746, in _urls
web_1           |     *args, **kwargs)
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/bundle.py", line 600, in _build
web_1           |     force, disable_cache=disable_cache, extra_filters=extra_filters)
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/bundle.py", line 456, in _merge_and_apply
web_1           |     resolved_contents = self.resolve_contents(ctx, force=True)
web_1           |   File "/usr/local/lib/python2.7/site-packages/webassets/bundle.py", line 235, in resolve_contents
web_1           |     raise BundleError(e)
web_1           | BundleError: 'vendors/jquery-tokeninput/styles/token-input.css' not found in load path: [u'/home/invenio/static']
web_1           | 172.17.42.1 - - [02/Sep/2015 07:15:13] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 -
web_1           | 172.17.42.1 - - [02/Sep/2015 07:15:13] "GET /?__debugger__=yes&cmd=resource&f=jquery.js HTTP/1.1" 200 -
web_1           | 172.17.42.1 - - [02/Sep/2015 07:15:13] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 -
web_1           | 172.17.42.1 - - [02/Sep/2015 07:15:13] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
web_1           | 172.17.42.1 - - [02/Sep/2015 07:15:13] "GET /?__debugger__=yes&cmd=resource&f=ubuntu.ttf HTTP/1.1" 200 -
web_1           | 172.17.42.1 - - [02/Sep/2015 07:15:14] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
web_1           | 172.17.42.1 - - [02/Sep/2015 07:15:14] "GET /?__debugger__=yes&cmd=resource&f=source.png HTTP/1.1" 200 -
^CGracefully stopping... (press Ctrl+C again to force)
Stopping invenio_worker_1...
Stopping invenio_web_1...
Stopping invenio_rabbitmq_1...
Stopping invenio_redis_1...
Stopping invenio_mysql_1...
Stopping invenio_elasticsearch_1...
crepererum commented 9 years ago

I can NOT reproduce your problem. Works fine on my machine.

tiborsimko commented 9 years ago

Interesting, thanks for checking. As for me, running:

$ docker-compose -f docker-compose-dev.yml build --no-cache

I now even get:

[...]
Step 5 : RUN npm update &&     npm install --silent -g bower less clean-css uglify-js requirejs
 ---> Running in f6e921ed9ca0
/usr/bin/r.js -> /usr/lib/node_modules/requirejs/bin/r.js
/usr/bin/uglifyjs -> /usr/lib/node_modules/uglify-js/bin/uglifyjs
/usr/bin/cleancss -> /usr/lib/node_modules/clean-css/bin/cleancss
/usr/bin/lessc -> /usr/lib/node_modules/less/bin/lessc
Service 'worker' failed to build: The command '/bin/sh -c npm update &&     npm install --silent -g bower less clean-css uglify-js requirejs' returned a non-zero code: 1

perhaps due to that bad network connection. (Maybe --silent is not the best here.)

I'll try to re-reproduce later...

crepererum commented 9 years ago

Some of the --silent options are removed by the #3380 :wink:

Sometimes it also helps to restart the docker daemon, because (at least on my system) it sometimes drops network for all containers, esp. after suspending the OS (which is kinda common for laptops).

tiborsimko commented 9 years ago

Some of the --silent options are removed by the #3380 :wink:

Good, this will make the failures more explicit.

Sometimes it also helps to restart the docker daemon

That was not the case here, as I've been having shaky non-docker connection too.

Anyway, now that I'm on a better Internet connection, I tried the rebuild and it works well... Hence closing this issue.