From: bbiker Date: 2007-02-17T03:05:06+09:00 Subject: Re: cross-thread violation on rb_gc() and Windows arguments 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