Bug #14496


MJIT, Windows, MinGW and tmp dir

Added by MSP-Greg (Greg L) over 3 years ago. Updated over 3 years ago.

Target version:
ruby -v:
ruby 2.6.0dev (2018-02-19 trunk 62484) [x64-mingw32]


For the time being, I've shut off testing MJIT on ruby-loco, as (at least when I did so) tests seemed to be timing out.

As mentioned earlier in, when I try to test locally, I have a temp folder issue, as my standard user name has a space, and the temp folder used is /Users/user name/AppData/Local/temp. This causes issues when building/compiling with MJIT.

I believe the issue is related to the call to rb_w32_system_tmpdir in mjit.c on or about line 1229 (defined in win32/win32.c). With many other situations, it seems that Ruby first looks for env settings of TEMP, TMP, or TMPDIR before using the folder found with rb_w32_system_tmpdir.

I've used Ruby with a 'username space' for many years, and I've been using trunk as my day-to-day ruby for many months. I've never had any issues with user config files, gems installed to '--user-install', compiling and testing extension gems (no fat binary gems for trunk), building MYSY2/MinGW packages, etc. I believe all of these operations either use tempfiles or write to the user directory.

Hence, if MJIT could be changed to use the temp folder as used in other situations, it would be helpful. I would not be asking if it wasn't for all of the above working without issue...

Thanks, Greg

Actions #1

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • Status changed from Open to Closed

Applied in changeset trunk|r62492.

mjit.c: prefer $TMPDIR and $TMP

  • mjit.c (system_tmpdir): prefer $TMPDIR and $TMP over system defulat temporary directory, if exists, writable, and safe. [ruby-core:85651] [Bug #14496]

Also available in: Atom PDF