espressif / idf-eclipse-plugin

Espressif-IDE (based on Eclipse CDT) for ESP-IDF CMake based projects 4.x and above
https://docs.espressif.com/projects/espressif-ide/en/latest/index.html
Eclipse Public License 2.0
313 stars 121 forks source link

Eclipse muzz never stuck building espressif plugin project (IEP-1241) #963

Open powerbroker opened 6 months ago

powerbroker commented 6 months ago

Describe the bug Building attached project within Eclipse + espressif plugin causes Eclipse stucks on "Build project" phase and doesn't respond for a long period of time. So, you have to kill Eclipse process and build the project some other way outside it.

To Reproduce

  1. Expand the "-Xmx" Eclipse JVM resource up to "-Xmx8192m" or more in your eclipse.ini
  2. Import the attached project into your projects zoo of 25-30+ native/AVR/STM32 C/C++ projects ESP32-Blink-fucking.zip
  3. Configure the Eclipse C/C++ indexer to eagerly index resources, not only directly linked to projects - so it doesn't generate fake errors on ESP32 projects.
  4. Build this one

Expected behavior Build succeeded. IDE GUI never stucks and remains responsive through the whole build process, like on building native C/C++ or C for AVR/STM32.

Espressif-IDE Product Information: Operating System: windows 11 Java Runtime Version: 19+36 Eclipse Version: 4.31.100.v20240229-0520 Eclipse CDT Version: 11.5.0.202312062348 IDF Eclipse Plugin Version: 2.12.1.202402231119 ESP-IDF v5.2.1-dirty Python set for IDF_PYTHON_ENV: Python 3.9.16

BTW, guys... 16-hardware-cores CPU(32 virtual cores) + 80 GB of RAM - what stucking and hungs???

Eclipse Error log: eclipse errors.log

powerbroker commented 5 months ago

unfortunately with last Eclipse update to Version: 2024-06 (4.32.0) Build id: 20240606-1231 things getting worse.

Eclipse now hangs not only during build process, but spontaneously from time to time, when working with ESP-IDF project. even with stable ESP-IDF plugin or installed from beta channel. even with built-in JDK or Oracle's one 21.0.3.

looks like default -Xms256m in eclipse.ini now is totally not enough, -Xms2048m(and e.g. -Xmx16384) helps a little...