Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDE crashes on startup on systems w/ temp folder on RAM drive #2561

Open
3 tasks done
Aphexus opened this issue Nov 13, 2024 · 3 comments
Open
3 tasks done

IDE crashes on startup on systems w/ temp folder on RAM drive #2561

Aphexus opened this issue Nov 13, 2024 · 3 comments
Labels
topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project

Comments

@Aphexus
Copy link

Aphexus commented Nov 13, 2024

Describe the problem

Arduino IDE crashes on startup when the operating system is configured to use a RAM drive for the system temporary folder location.

To reproduce

  1. Create a RAM drive.
  2. Configure your system to use a folder on this drive as the temporary folder.
  3. Start Arduino IDE.

🐛 The IDE crashes on startup. The following error is shown in the terminal logs:

Failed to start the electron application.
Error: EISDIR: illegal operation on a directory, realpath 'Z:\Temp'
    at Function.<anonymous> (node:fs:2719:3)
    at Function.native (node:electron/js2c/asar_bundle:2:5101)
    at new d (C:\Apps\Programming\ArduinoIDE\resources\app\lib\backend\electron-main.js:2:769052)
    at Ee (C:\Apps\Programming\ArduinoIDE\resources\app\lib\backend\electron-main.js:8:633790)
    at C:\Apps\Programming\ArduinoIDE\resources\app\lib\backend\electron-main.js:8:637767
    at Le (C:\Apps\Programming\ArduinoIDE\resources\app\lib\backend\electron-main.js:8:637836)
    at C:\Apps\Programming\ArduinoIDE\resources\app\lib\backend\electron-main.js:8:638223
    at Fe (C:\Apps\Programming\ArduinoIDE\resources\app\lib\backend\electron-main.js:8:638164)
    at Oe (C:\Apps\Programming\ArduinoIDE\resources\app\lib\backend\electron-main.js:8:638198)
    at C:\Apps\Programming\ArduinoIDE\resources\app\lib\backend\electron-main.js:8:636512 {
  errno: -4068,
  syscall: 'realpath',
  code: 'EISDIR',
  path: 'Z:\\Temp'
}

Expected behavior

Arduino IDE can be used on systems that are configured to use a RAM drive for the temporary folder.

Arduino IDE version

nightly

Operating system

Windows

Operating system version

11

Additional context

I created the RAM drive using ImDisk.


The reason is, of course, even though I have 128GB of memory apps love to thrash the drives temp files so I use ramdisk to avoid this and it typically speeds up some applications.


This technically may be an issue with ImDisk or with node or whatever Arduino uses.

E.g., every once in a while I have an issue with some apps not working well with the temp dir being on a ramdisk. E.g., some recycle programs do not work well because the drive is not NTFS (does not contain a $recycle dir).

There technically should be no reason it shouldn't work though. I use thousands of programs and almost all work fine (from more complex apps like various IDE's to graphics apps to whatever).

Related

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest nightly build
  • My report contains all necessary details
@Aphexus Aphexus added the type: imperfection Perceived defect in any part of project label Nov 13, 2024
@Aphexus
Copy link
Author

Aphexus commented Nov 13, 2024

I was able to "solve" this issue by temporarily changing the TEMP env variable to a different drive.

@OzFalcon
Copy link

Have you tried formatting the Ram disk as NTFS?

imdisk -a -s 512M -m X: -p "/fs:ntfs /q /y"

-a initializes the virtual disk.
-s 512M is the size, 512 MegaBytes.
The full choices are b, k, m, g, t, K, M, G, or T.
These denote a number of 512-byte blocks, thousand bytes, million bytes, billion bytes, trillion bytes, KB, MB, GB, and TB, respectively.
-m X: sets up the mount point a.k.a. the drive letter, X:.
-p "fs:ntfs /q /y" formats the drive.
-p's parameters are actually for Windows' format program.
So, if you want the RAM disk in a different filesystem, just change ntfs to fat (FAT16) or fat32 (FAT32).

Ref: https://forums.guru3d.com/threads/guide-using-imdisk-to-set-up-ram-disk-s-in-windows-with-no-limit-on-disk-size.356046/

Note: I use Linux so the above was just a google search for "imdisk ntfs"

@Aphexus
Copy link
Author

Aphexus commented Nov 14, 2024

Have you tried formatting the Ram disk as NTFS?

imdisk -a -s 512M -m X: -p "/fs:ntfs /q /y"

-a initializes the virtual disk.
-s 512M is the size, 512 MegaBytes.
The full choices are b, k, m, g, t, K, M, G, or T.
These denote a number of 512-byte blocks, thousand bytes, million bytes, billion bytes, trillion bytes, KB, MB, GB, and TB, respectively.
-m X: sets up the mount point a.k.a. the drive letter, X:.
-p "fs:ntfs /q /y" formats the drive.
-p's parameters are actually for Windows' format program.
So, if you want the RAM disk in a different filesystem, just change ntfs to fat (FAT16) or fat32 (FAT32).

Ref: https://forums.guru3d.com/threads/guide-using-imdisk-to-set-up-ram-disk-s-in-windows-with-no-limit-on-disk-size.356046/

Note: I use Linux so the above was just a google search for "imdisk ntfs"

I tried it a long time ago but there were more problems with NTFS. I don't recall what they were but I would have used it instead if it worked right. Some other apps I use for other things fail also. E.g., if I use a recycle app to delete files to the recycle bin it will fail since obvious it doesn't exist on the drive.

The workaround works fine for me so I'll just keep using that.

@per1234 per1234 added the topic: code Related to content of the project itself label Jan 24, 2025
@per1234 per1234 changed the title Crashing on start IDE crashes on startup on systems w/ temp folder on RAM drive Jan 24, 2025
@per1234 per1234 marked this as a duplicate of #2619 Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
Development

No branches or pull requests

3 participants