Bug 575178 - Search (Ctrl-H) on large projects crashes IDE
Summary: Search (Ctrl-H) on large projects crashes IDE
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: IDE (show other bugs)
Version: 4.20   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2021-08-02 06:48 EDT by Vincenzo Caselli CLA
Modified: 2021-08-10 09:14 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vincenzo Caselli CLA 2021-08-02 06:48:51 EDT
My env is:

Eclipse IDE for Enterprise Java and Web Developers
Version: 2021-06 (4.20.0)
Build id: 20210612-2011
OS: Linux, v.5.10.55-1-lts, x86_64 / gtk 3.24.30
Java vendor: Oracle Corporation
Java runtime version: 16.0.1+9-24
Java version: 16.0.1

but the issue has been experimented also with previous Eclipse and Java versions.
It is also reproducible in Windows.

When working on Angular projects (which by default include "node_modules", "dist" and other folders with tons of files and subfolders, e.g. 60.157 files, 4.926 sub-folders) making a simple File Search (Ctrl-H) leads to the IDE crash.

A workaround is to define a Working Set that exclude those "tools folders" and remember to perform the search on this Working Set.

However, since these kind of projects are quite often the norm nowadays, it could be nice to have those "known" subfolders excluded by default in search.
Comment 1 Andrey Loskutov CLA 2021-08-03 04:10:22 EDT
What is an IDE crash? Error shown, IDE freeze, IDE disappears and JVM crashes?
Please attach all error logs / crash dumps you have.

Please provide steps to reproduce (e.g. what exactly you are searching via Ctl+H with which options - what pattern, in which files, regex / not regex etc).
Comment 2 Vincenzo Caselli CLA 2021-08-04 13:24:34 EDT
No errors: the IDE becomes unresponsive (freeze) and after it disappears.
This happens not frequently and I am not able to reproduce on purpose.
Where can we find error/dumps logs when/if it happens again?
Comment 3 Andrey Loskutov CLA 2021-08-05 02:38:43 EDT
If you start Eclipse from shell, on JVM crash an error printed to console and there you should see the path where the crash dump file is written, typically it is current working directory (if writable) or /tmp. Check your disk for hs_err_pid*.log files.
Comment 4 Vincenzo Caselli CLA 2021-08-06 12:43:41 EDT
A crash just happened; below is the console content.
I can'f find any reference to a log file.
Also tried to make a full search on the system, with
sudo ls -lR / | grep hs_err_pid
but did not find anything.

The problem seems related to the Wild Web Developer tools, included in Eclipse JEE (not an external/third-party plugin).

Any suggestions?
Thank you


(WebKitWebProcess:88554): Gtk-WARNING **: 17:54:00.713: Theme parsing error: gtk.css:1:0: Expected a valid selector
(WebKitWebProcess:88554): Gtk-WARNING **: 17:54:00.723: Theme parsing error: gtk.css:4554:14: Invalid name of pseudo-class
(WebKitWebProcess:88554): Gtk-WARNING **: 17:54:00.728: Theme parsing error: gtk.css:7635:54: Using one color stop with linear-gradient() is deprecated.
(WebKitWebProcess:88569): Gtk-WARNING **: 17:54:01.562: Theme parsing error: gtk.css:1:0: Expected a valid selector
(WebKitWebProcess:88569): Gtk-WARNING **: 17:54:01.571: Theme parsing error: gtk.css:4554:14: Invalid name of pseudo-class
(WebKitWebProcess:88569): Gtk-WARNING **: 17:54:01.576: Theme parsing error: gtk.css:7635:54: Using one color stop with linear-gradient() is deprecated.
(WebKitWebProcess:88700): Gtk-WARNING **: 17:54:50.174: Theme parsing error: gtk.css:1:0: Expected a valid selector
(WebKitWebProcess:88700): Gtk-WARNING **: 17:54:50.183: Theme parsing error: gtk.css:4554:14: Invalid name of pseudo-class
(WebKitWebProcess:88700): Gtk-WARNING **: 17:54:50.190: Theme parsing error: gtk.css:7635:54: Using one color stop with linear-gradient() is deprecated.
(WebKitWebProcess:89126): Gtk-WARNING **: 17:58:39.746: Theme parsing error: gtk.css:1:0: Expected a valid selector
(WebKitWebProcess:89126): Gtk-WARNING **: 17:58:39.751: Theme parsing error: gtk.css:4554:14: Invalid name of pseudo-class
(WebKitWebProcess:89126): Gtk-WARNING **: 17:58:39.753: Theme parsing error: gtk.css:7635:54: Using one color stop with linear-gradient() is deprecated.
(node:78598) UnhandledPromiseRejectionWarning: Error: write EPIPE
    at afterWriteDispatched (internal/stream_base_commons.js:156:25)
    at writeGeneric (internal/stream_base_commons.js:147:3)
    at Socket._writeGeneric (net.js:785:11)
    at Socket._write (net.js:797:8)
    at writeOrBuffer (internal/streams/writable.js:358:12)
    at Socket.Writable.write (internal/streams/writable.js:303:10)
    at /sda-linux/dev/p2-pool/pool/plugins/org.eclipse.wildwebdeveloper_0.5.16.202104061435/node_modules/eslint-server/out/eslintServer.js:1:85005
    at new Promise (<anonymous>)
    at u.write (/sda-linux/dev/p2-pool/pool/plugins/org.eclipse.wildwebdeveloper_0.5.16.202104061435/node_modules/eslint-server/out/eslintServer.js:1:84923)
    at m.doWrite (/sda-linux/dev/p2-pool/pool/plugins/org.eclipse.wildwebdeveloper_0.5.16.202104061435/node_modules/eslint-server/out/eslintServer.js:1:74595)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:78598) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:78598) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Uncaught exception received.
Error: Connection is closed.
    at ne (/sda-linux/dev/p2-pool/pool/plugins/org.eclipse.wildwebdeveloper_0.5.16.202104061435/node_modules/eslint-server/out/eslintServer.js:1:55694)
    at Object.sendNotification (/sda-linux/dev/p2-pool/pool/plugins/org.eclipse.wildwebdeveloper_0.5.16.202104061435/node_modules/eslint-server/out/eslintServer.js:1:56590)
    at Object.sendNotification (/sda-linux/dev/p2-pool/pool/plugins/org.eclipse.wildwebdeveloper_0.5.16.202104061435/node_modules/eslint-server/out/eslintServer.js:1:155254)
    at process.exit (/sda-linux/dev/p2-pool/pool/plugins/org.eclipse.wildwebdeveloper_0.5.16.202104061435/node_modules/eslint-server/out/eslintServer.js:1:14312)
    at Socket.<anonymous> (/sda-linux/dev/p2-pool/pool/plugins/org.eclipse.wildwebdeveloper_0.5.16.202104061435/node_modules/eslint-server/out/eslintServer.js:1:169505)
    at Socket.emit (events.js:327:22)
    at Pipe.<anonymous> (net.js:673:12)
Comment 5 Andrey Loskutov CLA 2021-08-06 13:04:00 EDT
(In reply to Vincenzo Caselli from comment #4)
> A crash just happened; below is the console content.

Nothing I've personally expected, not a "usual" GTK or JRE crash.

> I can'f find any reference to a log file.

That is not standard JDK crash it seems.

> The problem seems related to the Wild Web Developer tools, included in
> Eclipse JEE (not an external/third-party plugin).
> 
> Any suggestions?

I have no idea, but @Michael may have?
Comment 6 Mickael Istria CLA 2021-08-10 09:08:31 EDT
(In reply to Andrey Loskutov from comment #5)
> I have no idea, but @Michael may have?

I imagine that the search may load of "document" and trigger a lot of open notification to the Language Server (LSP4E sends notification when document is created, not when it's shown in an editor, it's a known issue without obvious resolution at the moment). As a result of receiving a lot of document open notification, the LS crash and restarts frequently.
But a crash of the Language Server shouldn't crash the IDE. Do you have details about what breaks in the IDE itself? The log file could help.
Comment 7 Vincenzo Caselli CLA 2021-08-10 09:14:29 EDT
Hi @Michael,
as said in comment#4 I can't find any log file, even with
sudo ls -lR / | grep hs_err_pid
Any suggestion?
Thank you