2009/6/13 Dan Daniels <sdsurfgeek / gmail.com>: > Daniel Berger wrote: >>> Platform: Windows Server 2003, Standard Edition Build 3790 Service Pack >>> >>> Application Layer Gateway Service >>> >>> ice.rb:1100: [BUG] Segmentation fault >>> ruby 1.8.6 (2007-09-24) [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. >> >> That's odd. Line 1100 is actually pure Ruby code: >> >> binary_path = binary_path.unpack('Z*')[0] >> >> I wonder if you've found a bug. >> >> A few questions. >> >> What version of Ruby are you running? >> One click or hand built? >> What version of win32-service? >> Does it always segfault at the same place? >> >> If it does segfault at the same place, can you open up your services >> explorer window and see what the next one on the list is? >> >> Control Panel -> Administrative Tools -> Services >> >> Or, if you could step through the debugger, I'd love to see what the >> 'binary_path' variable is set to when it dies. >> >> Regards, >> >> Dan > > I inserted "puts binary_path" on line 1101 in services.rb. > > W:\>ruby check_services_test.rb > C:\WINDOWS\system32\svchost.exe -k netsvcs > Application Experience Lookup Service > C:\WINDOWS\system32\svchost.exe -k LocalService > Alerter > C:\WINDOWS\System32\alg.exe > Application Layer Gateway Service > C:\WINDOWS\system32\svchost.exe -k netsvcs > Application Management > C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_state.exe > ASP.NET State Service > system32\DRIVERS\asyncmac.sys > RAS Asynchronous Media Driver > system32\DRIVERS\audstub.sys > Audio Stub Driver > "C:\Program Files\Research In Motion\BlackBerry Enterprise > Server\AttachServer\B > BAttachServer.exe" 1900 1999 3 32 > BlackBerry Attachment Service > C:\WINDOWS\system32\svchost.exe -k netsvcs > Background Intelligent Transfer Service > "C:\Program Files\Research In Motion\BlackBerry Enterprise > Server\BlackBerryCont > roller.exe" > BlackBerry Controller > "C:\Program Files\Research In Motion\BlackBerry Enterprise > Server\MDS\bin\DBCons > istency.exe" > BlackBerry Database Consistency Service > "C:\Program Files\Research In Motion\BlackBerry Enterprise > Server\BlackBerryDisp > atcher.exe" > BlackBerry Dispatcher > "C:\Program Files\Research In Motion\BlackBerry Enterprise > Server\MDS\bin\bmds.e > xe" -s jvmpath="C:\Program Files\Java\jre1.6.0_02\bin\client\jvm.dll" > -XX:+Disab > leExplicitGC -Xss64K -Xmx768M -Xms128M classpathdir="C:\Program > Files\Research I > n Motion\BlackBerry > c:/ruby/lib/ruby/gems/1.8/gems/win32-service-0.6.1-x86-mswin32-60/lib/win32/serv > ice.rb:1154:in `>': comparison of String with 0 failed (ArgumentError) > from > c:/ruby/lib/ruby/gems/1.8/gems/win32-service-0.6.1-x86-mswin32-60/l > ib/win32/service.rb:1154:in `services' > from > c:/ruby/lib/ruby/gems/1.8/gems/win32-service-0.6.1-x86-mswin32-60/l > ib/win32/service.rb:1057:in `upto' > from > c:/ruby/lib/ruby/gems/1.8/gems/win32-service-0.6.1-x86-mswin32-60/l > ib/win32/service.rb:1057:in `services' > from check_services_test.rb:12 > > > If I change line 1101 to "puts binary_path.inspect", the script > completes without error. I guess the error is due to too long path string. Altering line #1098 binary_path = 0.chr * 260 to binary_path = 0.chr * 1024 will fix the problem. Regards, Park Heesob