eclipse-theia / theia

Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
http://theia-ide.org
Eclipse Public License 2.0
20.11k stars 2.5k forks source link

0.3.19 Build Errors #4172

Closed 4oo4 closed 5 years ago

4oo4 commented 5 years ago

I attempted to rebuild Theia docker today using version 0.3.19, and received the following errors:

WARNING in ./node_modules/vscode-textmate/release/main.js 14:15-27
Critical dependency: the request of a dependency is an expression
 @ ./node_modules/@theia/monaco/lib/browser/textmate/monaco-textmate-service.js
 @ ./node_modules/@theia/monaco/lib/browser/textmate/index.js
 @ ./node_modules/@theia/typescript/lib/browser/javascript-language-config.js
 @ ./node_modules/@theia/typescript/lib/browser/typescript-frontend-module.js
 @ ./src-gen/frontend/index.js

WARNING in ./node_modules/vscode-textmate/release/main.js
Module Warning (from ./node_modules/source-map-loader/index.js):
(Emitted value instead of an instance of Error) Cannot find SourceMap '_suffix.js.map': Error: Can't resolve './_suffix.js.map' in '/home/theia/node_modules/vscode-textmate/release'
 @ ./node_modules/@theia/monaco/lib/browser/textmate/monaco-textmate-service.js 73:24-50
 @ ./node_modules/@theia/monaco/lib/browser/textmate/index.js
 @ ./node_modules/@theia/typescript/lib/browser/javascript-language-config.js
 @ ./node_modules/@theia/typescript/lib/browser/typescript-frontend-module.js
 @ ./src-gen/frontend/index.js

WARNING in ./node_modules/typescript-language-server/lib/commands.js
Module Warning (from ./node_modules/source-map-loader/index.js):
(Emitted value instead of an instance of Error) Cannot find source file '../src/commands.ts': Error: Can't resolve '../src/commands.ts' in '/home/theia/node_modules/typescript-language-server/lib'
 @ ./node_modules/@theia/typescript/lib/browser/typescript-frontend-contribution.js 93:17-67
 @ ./node_modules/@theia/typescript/lib/browser/typescript-frontend-module.js
 @ ./src-gen/frontend/index.js

The docker container still builds despite this, but when I open Theia after starting the container, the editor interface and terminal fail to load, and I see these errors in the console:

selection_007

Is there anything that can be done to fix the build and generate those missing .map files, or whatever else might be causing it? I believe I last created my docker image on version 0.3.18 without those issues.

Also, I had to bump up my --max-old-space-size up to 8192, or I would get the Javascript heap out of memory error as detailed here, not sure if that's related: https://github.com/theia-ide/theia/issues/4132

Cheers

EDIT: Also getting these errors in the console:

Preference name collision detected in the schema for property: plantuml.webservice preference-contribution.ts:85:16
    h</n.prototype.doSetSchema preference-contribution.ts:85:16
    h</n.prototype.init/< preference-contribution.ts:75:12
    h</n.prototype.init preference-contribution.ts:74:56
    t.resolveInstance/< instantiation.js:27
    t.resolveInstance instantiation.js:23
    l/< resolver.js:72
    t.resolveInstance/c< instantiation.js:11
    t.resolveInstance instantiation.js:6
    l/< resolver.js:72
    t.resolve resolver.js:95
    y</e.prototype._planAndResolve/< container.js:319
    y</e.prototype._get container.js:310
    y</e.prototype.get container.js:230
    s</e.prototype.toService/< binding_to_syntax.js:69:48
    l/</p< resolver.js:63:99
    c resolver.js:10
    l/< resolver.js:63
    t.resolve resolver.js:95
    y</e.prototype._planAndResolve/< container.js:319
    y</e.prototype._get container.js:310
    y</e.prototype.get container.js:230
    t.bindNotificationPreferences/< notification-preferences.ts:50:28
    l/</p< resolver.js:63:99
    c resolver.js:10
    l/< resolver.js:63
    t.resolveInstance/c< instantiation.js:11
    t.resolveInstance instantiation.js:6
    l/< resolver.js:72
    t.resolve resolver.js:95
    y</e.prototype._planAndResolve/< container.js:319
    y</e.prototype._get container.js:310
    y</e.prototype.get container.js:230
    s</e.prototype.toService/< binding_to_syntax.js:69:48
    l/</p< resolver.js:63:99
    c resolver.js:10
    l/< resolver.js:63
    t.resolveInstance instantiation.js:40
    l/< resolver.js:72
    t.resolveInstance/c< instantiation.js:11
    t.resolveInstance instantiation.js:6
    l/< resolver.js:72
    t.resolveInstance/c< instantiation.js:11
    t.resolveInstance instantiation.js:6
    l/< resolver.js:72
    t.resolve resolver.js:95
    y</e.prototype._planAndResolve/< container.js:319
    y</e.prototype._get container.js:310
    y</e.prototype.get container.js:230
    s</e.prototype.toService/< binding_to_syntax.js:69:48
    l/</p< resolver.js:63:99
    c resolver.js:10
    l/< resolver.js:63
    t.resolveInstance instantiation.js:40
    l/< resolver.js:72
    t.resolveInstance instantiation.js:40
    l/< resolver.js:72
    t.resolve resolver.js:95
    y</e.prototype._planAndResolve/< container.js:319
    y</e.prototype._get container.js:310
    y</e.prototype.get container.js:230
    e.exports< index.js:31

selection_006

akosyakov commented 5 years ago

@4oo4 Could you share package.json of your app? that we can reproduce an issue, it seems that you have some additional extensions, maybe they are incompatible with 0.3.19

4oo4 commented 5 years ago

@akosyakov Thanks for the quick reply, I think I was just using this from the theia-apps repo, I'll verify that when I get home. https://github.com/theia-ide/theia-apps/blob/master/theia-full-docker/latest.package.json

EDIT: Yep, was using that exact package.json.

akosyakov commented 5 years ago

@marcdumais-work Could someone investigate what is wrong with theia-full latest docker image?

marcdumais-work commented 5 years ago

Hi @akosyakov I tried to build theia-full's latest.package.json yesterday evening (outside docker) and was not able to reproduce the problems described in this issue.

4oo4 commented 5 years ago

Thanks @marcdumais-work, I suspect something strange is going on with my docker container itself, I added a few things (mainly installing php-language-server and a few cli tools), so I'm going to try it with the Dockerfile that's in the repo.

4oo4 commented 5 years ago

OK, when I build the container unmodified from what's in the theia-apps repo (using latest.package.json), I still get the same errors in the console. The editor appears to work again (but doesn't seem to recognize yaml anymore), while the terminal has text that I can read if I copy and paste into something else but just appears as blank in the browser.

EDIT: Just rebuilt the image with the next tag and the Dockerfile from the repo, and that seems to fix the issue (the console errors appear to be unrelated). I think before my docker image had the YAML extension, will have to add that back in. Not sure if more testing needs to be done to see if there's an issue with that Dockerfile, since @marcdumais-work tested latest.package.json. I'm happy to open an issue over in theia-apps or do some more testing. Would you be able to share your build environment, @marcdumais-work ?

Cheers

4oo4 commented 5 years ago

I'm closing this out since my build is now working, if someone wants to reopen this for further investigation, let me know.