instructure / canvas-lms

The open LMS by Instructure, Inc.
https://github.com/instructure/canvas-lms/wiki
GNU Affero General Public License v3.0
5.7k stars 2.51k forks source link

compile_assets failed with error #1386

Closed srdurai closed 5 years ago

srdurai commented 5 years ago

Summary:

Recent stable version (release/2018-11-17.16-10639-g370812d) failed on compile_assets. OS: "Ubuntu 16.04.3 LTS" node -v v8.10.0 yarn -v 1.10.1 bundle -v Bundler version 1.13.6 ruby -v ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux-gnu]

Steps to reproduce:

bundle install and yarn install suceeded.

  1. RAILS_ENV=production bundle exec rake canvas:compile_assets As the above command failed, I tried: ./script/nuke_node.sh Error below is from the nuke_node script.

    Expected behavior:

    compile_assets should succeed.

    Actual behavior:

    ... ... ` warning "workspace-aggregator-c368c61b-f528-4745-9931-897a6e0863ac > canvas_quizzes > jasmine_react > react@0.10.0" has unmet peer dependency "envify@~1.2.0".
    Running 'yarn run build'... r.js build failure: { Error: Error: Loader plugin did not call the load callback in the build: jsx: jsx!canvas_quizzes/apps/statistics/views/app_unnormalized3 jsx!canvas_quizzes/apps/statistics/views/app jsx!canvas_quizzes/apps/statistics/views/summary jsx!canvas_quizzes/apps/statistics/views/summary/score_percentile_chart jsx!canvas_quizzes/apps/statistics/views/questions/multiple_choice jsx!canvas_quizzes/apps/statistics/views/charts/correct_answer_donut jsx!canvas_quizzes/apps/statistics/views/questions/answer_table jsx!canvas_quizzes/apps/statistics/views/questions/short_answer jsx!canvas_quizzes/apps/statistics/views/questions/fill_in_multiple_blanks jsx!canvas_quizzes/apps/statistics/views/questions/essay jsx!canvas_quizzes/apps/statistics/views/questions/calculated jsx!canvas_quizzes/apps/statistics/views/questions/file_upload Module loading did not complete for: canvas_quizzes/apps/statistics/main, canvas_quizzes/apps/statistics/core/delegate, canvas_quizzes/apps/statistics/views/app, canvas_quizzes/apps/statistics/views/summary, canvas_quizzes/apps/statistics/views/summary/score_percentile_chart, d3, canvas_quizzes/apps/statistics/views/questions/multiple_choice, canvas_quizzes/apps/statistics/views/charts/correct_answer_donut, canvas_quizzes/apps/statistics/views/questions/answer_table, canvas_quizzes/apps/statistics/views/questions/short_answer, canvas_quizzes/apps/statistics/views/questions/fill_in_multiple_blanks, canvas_quizzes/apps/statistics/views/questions/essay, canvas_quizzes/apps/statistics/views/questions/calculated, canvas_quizzes/apps/statistics/views/questions/file_upload at Function.build.checkForErrors (/var/canvas/node_modules/requirejs/bin/r.js:26695:19)

    at /var/canvas/node_modules/requirejs/bin/r.js:25150:19 at /var/canvas/node_modules/requirejs/bin/r.js:3056:39 at /var/canvas/node_modules/requirejs/bin/r.js:2996:25 at Function.prim.nextTick (/var/canvas/node_modules/requirejs/bin/r.js:24901:9) at Object.errback (/var/canvas/node_modules/requirejs/bin/r.js:2995:26) at Object.callback (/var/canvas/node_modules/requirejs/bin/r.js:2981:23) at Object.then (/var/canvas/node_modules/requirejs/bin/r.js:3035:23) at build (/var/canvas/node_modules/requirejs/bin/r.js:25107:12) at runBuild (/var/canvas/node_modules/requirejs/bin/r.js:27115:17) at Object.execCb (/var/canvas/node_modules/requirejs/bin/r.js:1943:33) originalError: Error: Loader plugin did not call the load callback in the build: jsx: jsx!canvas_quizzes/apps/statistics/views/app_unnormalized3 jsx!canvas_quizzes/apps/statistics/views/app jsx!canvas_quizzes/apps/statistics/views/summary jsx!canvas_quizzes/apps/statistics/views/summary/score_percentile_chart jsx!canvas_quizzes/apps/statistics/views/questions/multiple_choice jsx!canvas_quizzes/apps/statistics/views/charts/correct_answer_donut jsx!canvas_quizzes/apps/statistics/views/questions/answer_table jsx!canvas_quizzes/apps/statistics/views/questions/short_answer jsx!canvas_quizzes/apps/statistics/views/questions/fill_in_multiple_blanks jsx!canvas_quizzes/apps/statistics/views/questions/essay jsx!canvas_quizzes/apps/statistics/views/questions/calculated jsx!canvas_quizzes/apps/statistics/views/questions/file_upload Module loading did not complete for: canvas_quizzes/apps/statistics/main, canvas_quizzes/apps/statistics/core/delegate, canvas_quizzes/apps/statistics/views/app, canvas_quizzes/apps/statistics/views/summary, canvas_quizzes/apps/statistics/views/summary/score_percentile_chart, d3, canvas_quizzes/apps/statistics/views/questions/multiple_choice, canvas_quizzes/apps/statistics/views/charts/correct_answer_donut, canvas_quizzes/apps/statistics/views/questions/answer_table, canvas_quizzes/apps/statistics/views/questions/short_answer, canvas_quizzes/apps/statistics/views/questions/fill_in_multiple_blanks, canvas_quizzes/apps/statistics/views/questions/essay, canvas_quizzes/apps/statistics/views/questions/calculated, canvas_quizzes/apps/statistics/views/questions/file_upload at Function.build.checkForErrors (/var/canvas/node_modules/requirejs/bin/r.js:26695:19) at Function.build.traceDependencies (/var/canvas/node_modules/requirejs/bin/r.js:26579:19) at /var/canvas/node_modules/requirejs/bin/r.js:25335:38 at /var/canvas/node_modules/requirejs/bin/r.js:3089:24 at /var/canvas/node_modules/requirejs/bin/r.js:3038:37 at /var/canvas/node_modules/requirejs/bin/r.js:2986:25 at Function.prim.nextTick (/var/canvas/node_modules/requirejs/bin/r.js:24901:9) at Object.callback (/var/canvas/node_modules/requirejs/bin/r.js:2985:26) at Object.then (/var/canvas/node_modules/requirejs/bin/r.js:3035:23) at /var/canvas/node_modules/requirejs/bin/r.js:3088:29 } BUILD FAILURE: Compiling JSX: apps/events/actions.js Compiling JSX: apps/events/bundles/routes.js Compiling JSX: apps/events/collections/events.js Compiling JSX: apps/events/collections/questions.js Compiling JSX: apps/events/components/button.js Compiling JSX: apps/events/config.js Compiling JSX: apps/events/config/environments/development.js Compiling JSX: apps/events/config/environments/production.js Compiling JSX: apps/events/config/environments/test.js Compiling JSX: apps/events/config/initializer.js Compiling JSX: apps/events/config/initializers/backbone.js Compiling JSX: apps/events/config/initializers/rsvp.js Compiling JSX: apps/events/constants.js Compiling JSX: apps/events/core/controller.js Compiling JSX: apps/events/core/delegate.js Compiling JSX: apps/events/core/dispatcher.js Compiling JSX: apps/events/main.js Compiling JSX: apps/events/mixins/paginated_collection.js Compiling JSX: apps/events/mixins/with_sidebar.js Compiling JSX: apps/events/models/event.js Compiling JSX: apps/events/models/question_answered_event_decorator.js Compiling JSX: apps/events/models/question.js Compiling JSX: apps/events/models/submission.js Compiling JSX: apps/events/routes/answer_matrix.js Compiling JSX: apps/events/routes/app.js Compiling JSX: apps/events/routes/event_stream.js Compiling JSX: apps/events/routes/question.js Compiling JSX: apps/events/stores/events.js Compiling JSX: apps/events/views/answer_matrix.js Compiling JSX: apps/events/views/answer_matrix/cell.js Compiling JSX: apps/events/views/answer_matrix/emblem.js Compiling JSX: apps/events/views/answer_matrix/inverted_table.js Compiling JSX: apps/events/views/answer_matrix/legend.js Compiling JSX: apps/events/views/answer_matrix/option.js Compiling JSX: apps/events/views/answer_matrix/table.js Compiling JSX: apps/events/views/event_stream.js Compiling JSX: apps/events/views/event_stream/event.js Compiling JSX: apps/events/views/question_inspector.js Compiling JSX: apps/events/views/question_inspector/answer.js Compiling JSX: apps/events/views/question_inspector/answers/essay.js Compiling JSX: apps/events/views/question_inspector/answers/fill_in_multiple_blanks.js Compiling JSX: apps/events/views/question_inspector/answers/matching.js Compiling JSX: apps/events/views/question_inspector/answers/multiple_answers.js Compiling JSX: apps/events/views/question_inspector/answers/multiple_choice.js Compiling JSX: apps/events/views/question_inspector/answers/multiple_dropdowns.js Compiling JSX: apps/events/views/question_inspector/answers/no_answer.js Compiling JSX: apps/events/views/question_listing.js Compiling JSX: apps/events/views/session.js Compiling JSX: apps/events/webpack_config.js Compiling JSX: apps/statistics/actions.js Compiling JSX: apps/statistics/bundles/notifications.js Compiling JSX: apps/statistics/collections/quiz_reports.js Compiling JSX: apps/statistics/collections/quiz_statistics.js Compiling JSX: apps/statistics/config.js Compiling JSX: apps/statistics/config/environments/development.js Compiling JSX: apps/statistics/config/environments/production.js Compiling JSX: apps/statistics/config/environments/test.js Compiling JSX: apps/statistics/config/initializer.js Compiling JSX: apps/statistics/config/initializers/backbone.js Compiling JSX: apps/statistics/config/initializers/rsvp.js Compiling JSX: apps/statistics/constants.js Compiling JSX: apps/statistics/core/controller.js Compiling JSX: apps/statistics/core/delegate.js Compiling JSX: apps/statistics/core/dispatcher.js Compiling JSX: apps/statistics/ext/react.js Compiling JSX: apps/statistics/main.js Compiling JSX: apps/statistics/mixins/chart.js Compiling JSX: apps/statistics/mixins/components/actor.js Compiling JSX: apps/statistics/mixins/components/chart_inspector.js Compiling JSX: apps/statistics/models/quiz_report_descriptor.js Compiling JSX: apps/statistics/models/quiz_report.js Compiling JSX: apps/statistics/models/quiz_statistics.js Compiling JSX: apps/statistics/models/ratio_calculator.js Compiling JSX: apps/statistics/notifications/report_generation_failed.js Compiling JSX: apps/statistics/services/poll_progress.js Compiling JSX: apps/statistics/stores/common/populate_collection.js Compiling JSX: apps/statistics/stores/notifications.js Compiling JSX: apps/statistics/stores/reports.js Compiling JSX: apps/statistics/stores/statistics.js Compiling JSX: apps/statistics/util/format_number.js Compiling JSX: apps/statistics/views/app.js Compiling JSX: apps/statistics/views/charts/correct_answer_donut.js Compiling JSX: apps/statistics/views/charts/discrimination_index.js Compiling JSX: apps/statistics/views/charts/discrimination_index/chart.js Compiling JSX: apps/statistics/views/charts/discrimination_index/help.js Compiling JSX: apps/statistics/views/notifications.js Compiling JSX: apps/statistics/views/notifications/report_generation_failed.js Compiling JSX: apps/statistics/views/question.js Compiling JSX: apps/statistics/views/questions/answer_table.js Compiling JSX: apps/statistics/views/questions/answer_table/answer_row.js Compiling JSX: apps/statistics/views/questions/calculated.js Compiling JSX: apps/statistics/views/questions/essay.js Compiling JSX: apps/statistics/views/questions/file_upload.js Compiling JSX: apps/statistics/views/questions/fill_in_multiple_blanks.js Compiling JSX: apps/statistics/views/questions/header.js Compiling JSX: apps/statistics/views/questions/multiple_choice.js Compiling JSX: apps/statistics/views/questions/short_answer.js Compiling JSX: apps/statistics/views/questions/user_list_dialog.js Compiling JSX: apps/statistics/views/summary.js Compiling JSX: apps/statistics/views/summary/report.js Compiling JSX: apps/statistics/views/summary/report/status.js Compiling JSX: apps/statistics/views/summary/score_percentile_chart.js Compiling JSX: apps/statistics/views/summary/section_select.js Compiling JSX: apps/statistics/webpack_config.js Compiling JSX: components/alert.js Compiling JSX: components/dialog.js Compiling JSX: components/icon.js Compiling JSX: components/popup.js Compiling JSX: components/screen_reader_content.js Compiling JSX: components/sighted_user_content.js Compiling JSX: components/spinner.js Compiling JSX: components/text.js Compiling JSX: config.js Compiling JSX: constants.js Compiling JSX: core/adapter.js Compiling JSX: core/dispatcher.js Compiling JSX: core/environment.js Compiling JSX: core/store.js Compiling JSX: models/common/from_jsonapi.js Compiling JSX: models/common/pick_and_normalize.js Compiling JSX: models/notification.js Compiling JSX: models/progress.js Compiling JSX: util/array_wrap.js Compiling JSX: util/class_set.js Compiling JSX: util/convert_case.js Compiling JSX: util/date_time_helpers.js Compiling JSX: util/i18n_interpolate.js Compiling JSX: util/inflections.js Compiling JSX: util/round.js Compiling JSX: util/seconds_to_time.js Compiling JSX: util/xhr_request.js rake aborted! Build script failed for client app canvas_quizzes /var/canvas/lib/tasks/js.rake:27:in block (4 levels) in <top (required)>' /var/canvas/lib/tasks/js.rake:12:inchdir' /var/canvas/lib/tasks/js.rake:12:in block (3 levels) in <top (required)>' /var/canvas/lib/tasks/js.rake:9:ineach' /var/canvas/lib/tasks/js.rake:9:in block (2 levels) in <top (required)>' /var/canvas/lib/tasks/canvas.rake:52:inblock (2 levels) in <top (required)>' /var/canvas/vendor/bundle/ruby/2.4.0/gems/rake-12.3.1/exe/rake:27:in <top (required)>' Tasks: TOP => js:build_client_apps (See full trace by running task with --trace)

smartameer commented 5 years ago
1)
multiple sub expressions error on line 5: "Handlebars 1.3 doesn't support multiple sub-expressions in the options hash"
app/views/jst/modules/ProgressionModuleCollection.handlebars

Finished in 19.606 seconds

2343 files, 7743 strings, 1 failures
Error extracting JS translations; confirm that `./gems/canvas_i18nliner/bin/i18nliner generate_js` works
rake aborted!
Parallel::DeadWorker: Parallel::DeadWorker
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:74:in `rescue in work'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:71:in `work'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:382:in `block (4 levels) in work_in_processes'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:495:in `with_instrumentation'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:381:in `block (3 levels) in work_in_processes'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:369:in `loop'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:369:in `block (2 levels) in work_in_processes'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:206:in `block (2 levels) in in_threads'

Caused by:
EOFError: end of file reached
~/.rvm/gems/ruby-2.4.0/gems/activesupport-5.1.6.1/lib/active_support/core_ext/marshal.rb:4:in `load'
~/.rvm/gems/ruby-2.4.0/gems/activesupport-5.1.6.1/lib/active_support/core_ext/marshal.rb:4:in `load'
~/canvas-lms/gems/canvas_ext/lib/canvas_ext/marshal.rb:25:in `load'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:72:in `work'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:382:in `block (4 levels) in work_in_processes'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:495:in `with_instrumentation'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:381:in `block (3 levels) in work_in_processes'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:369:in `loop'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:369:in `block (2 levels) in work_in_processes'
~/.rvm/gems/ruby-2.4.0/gems/parallel-1.12.1/lib/parallel.rb:206:in `block (2 levels) in in_threads'
Tasks: TOP => canvas:compile_assets
(See full trace by running task with --trace)

The error reported by @srdurai is because of this. I did a yarn cache clean and tried again which pointed me to handlebar version not supporting app/views/jst/modules/ProgressionModuleCollection.handlebars#L5.

thattejada commented 5 years ago

Hey @srdurai, we had a similar problem and the solution was this: https://github.com/instructure/canvas-lms/issues/830#issuecomment-220783090

halyihev commented 5 years ago

So, that comment indicates that we should use node 0.12.x, but if you do that it tells you "Node version 0.12.18 is not supported, please use Node.js 4.0 or higher." And if you try 4.x (4.9.1 at the moment), you get: error har-validator@5.1.3: The engine "node" is incompatible with this module. Expected version ">=6". Got "4.9.1" It would be wonderful if there were a list somewhere of what versions, exactly, are required for all the prerequisite software. I've been plowing through this swamp of trying to get the build to work for over a week and constantly hitting errors, first with node-sass, now with webpack.

simonista commented 5 years ago

Hey all, sorry you're having trouble. The https://github.com/instructure/canvas-lms/blob/master/package.json file should be correct, it's being used successfully in many places.

I can tell you specifically that we are using node 10.16.3 and yarn 1.15.2 for our own production build, and we also have many people successfully using https://github.com/instructure/canvas-lms/blob/master/Dockerfile locally for development (latest node 10 release + yarn 1.19.1).

We use github primarily for application level bugs, so you might have better luck debugging your specific issues in either the google group (https://groups.google.com/forum/#!forum/canvas-lms-users) or in our IRC channel: #canvas-lms on Freenode.

simonista commented 5 years ago

One other thing I should add is that we're still running on Ubuntu 16.04 (as you can see in that dockerfile). So there may be issues with the install instructions as listed in the wiki for 18.04.

halyihev commented 5 years ago

I have been running Canvas on Ubuntu 18.04 for about a year, and am just trying to upgrade now, so that part should be okay. I'll make my node and yarn versions match yours and try it. I'll report back how it went. And thanks for the tip on the Google group!

simonista commented 5 years ago

Cool, a few other things off the top of my head, do you have any local modifications that could be conflicting? Are you upgrading by changing the git HEAD in place, or in a new directory? If the former, sometimes old files could be hanging around causing issues.

halyihev commented 5 years ago

None of those. The only local stuff I've done is what we're supposed to adjust in the .yml files in config. And I saved those out and then put them back once I had the latest version. I just grabbed the very latest off git, since what I had was from the 10/23/2019 update that went into production, cleaned up all the stuff I had from that older-but-recent update, made sure I have the same node and yarn versions as you, and am about to start the upgrade process again. Fingers crossed!

halyihev commented 5 years ago

You are amazing and definitely my hero today! After doing the above, all the steps of the upgrade completed and I now have a working self-hosted Canvas install again! Thank you so much!!

simonista commented 5 years ago

Oh good, I'm so glad it worked out! Weird that some combination of versions seemed to be failing for you...

Kulgar commented 4 years ago

Hello, I had the same issue today, for other people that may see this message, a too recent node version seems to be the culprit. I tried with node v12 and had an issue with node-sass compilation on Ubuntu 18. Everything worked fine with latest node v10 (v10.19.0) and latest yarn v1 (1.22.4).

thoughtafter commented 4 years ago

I've encountered this same issue this week. I have not found any combination of versions of node and yarn which have resolved the issue.

Here is the error message: https://pastebin.com/FLdT1z8r

pinkfloydsito commented 4 years ago

Hi, I have encountered the same issue today. Anyone solved it? image

Distribution: Manjaro Linux Node version: v10.19.0 Yarn version: 1.22.4

https://pastebin.com/f405EBcy

thoughtafter commented 4 years ago

I was able to get past this with the latest code. I pulled latest stable (b889629117f505baa58e2c4bd038ffcb3a549a2a).

node: v10.20.1 yarn: v1.22.4

And needed 6GB of available RAM to get through webpack.

bharatpareek commented 4 years ago

Facing the same issue

Tried Node 10.20.1 - yarn 1.10.1, 10.21.0 - yarn 1.22.4, 10.20.1 - yarn 1.22.4 but same issue.

/var/canvas/node_modules/rimraf/rimraf.js:321
        throw er
        ^

Error: ENOTEMPTY: directory not empty, rmdir 'tmp'
    at Object.rmdirSync (fs.js:684:3)
    at rmkidsSync (/var/canvas/node_modules/rimraf/rimraf.js:364:25)
    at rmdirSync (/var/canvas/node_modules/rimraf/rimraf.js:342:7)
    at Function.rimrafSync [as sync] (/var/canvas/node_modules/rimraf/rimraf.js:312:9)
    at Object.removeSync (/var/canvas/client_apps/canvas_quizzes/node_modules/fs-extra/lib/remove/index.js:4:17)
    at Object.<anonymous> (/var/canvas/client_apps/canvas_quizzes/script/build:16:4)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
BUILD FAILURE:
rake aborted!
Build script failed for client app canvas_quizzes
thoughtafter commented 4 years ago

@bharatpareek - How much available memory is on the system?

akgalaxy commented 3 years ago

compile_assets failed with error #1386 I was getting same error, I think this was due to .git folder HEAD Reset So you might have deleted or reset .git folder. Because i also deleted and put another .git folder to Resolve this issue I took fresh checkout from my stagging server and everything was working fine.