From: Chris Shea Date: 2007-02-17T03:10:06+09:00 Subject: Re: cross-thread violation on rb_gc() and Windows arguments On Feb 16, 11:03 am, "bbiker" wrote: > On Feb 15, 11:20 pm, "Chris Shea" wrote: > > > > > Hello, > > > I was working on a script and running into problems with passing an > > argument with a wildcard with the C:\WINDOWS\System32 path. Observe: > > > --- > > C:\>more test.rb > > puts ARGV > > > C:\>test.rb C:\ruby\*.txt > > C:/ruby/ChangeLog.txt > > C:/ruby/LICENSE.txt > > C:/ruby/ReleaseNotes.txt > > > C:\>test.rb C:\WINDOWS\system32\runonce.exe > > C:\WINDOWS\system32\runonce.exe > > > C:\>test.rb C:\WINDOWS\system32\runonce.ex* > > [BUG] cross-thread violation on rb_gc() > > ruby 1.8.5 (2006-08-25) [i386-mswin32] > > > This application has requested the Runtime to terminate it in an > > unusual way. > > Please contact the application's support team for more information. > > > C:\>ruby -v > > ruby 1.8.5 (2006-08-25) [i386-mswin32] > > --- > > > I haven't been able to figure out or find a workaround (besides just > > knowing all the filenames) or fix. > > > I thought Windows takes care of the wildcard, generating the argument > > list. I don't know how that would help, but earlier today it made > > sense to me that it meant something. > > > And this happens even if ARGV is never referenced (e.g. an empty > > test.rb does the same thing), so it looks like the violation happens > > even before the script is interpreted. > > > And, yes, I'm logged in with an administrator account (Windows users > > usually are, aren't they?). > > > Anyone have any insight? Or is this just one of those things (one of > > those things about working with Windows)? > > Not the answer you want. > I've tried on my box and it works fine ... > > Have you tried: dir C:\WINDOWS\system32\runonce.ex* in a dos window? > > No problem on my box > > C:\Documents and Settings\Owner>dir c:\windows\system32\runonce.ex* > Volume in drive C has no label. > Volume Serial Number is 2CEC-6C29 > > Directory of c:\windows\system32 > > 08/10/2004 02:00 PM 14,336 runonce.exe > 1 File(s) 14,336 bytes > 0 Dir(s) 169,529,577,472 bytes free Yes. I thought of mentioning that similar wildcard arguments are fine with Windows commands (like dir). I've only found this to happen when passing that argument to ruby.