FUJIMOTO Hisa
hisa****@fobj*****
Thu Jun 21 23:52:52 JST 2007
mmh... I can't replay your issue anyway. my log: $ cat foo.rb require 'osx/cocoa' STR = 'Hello World' HTML_A = "<h1>#{STR}</h1>".freeze data = OSX::NSData.dataWithBytes_length(HTML_A) obj = OSX::NSAttributedString.alloc.initWithHTML_documentAttributes(data, nil) $ time ruby foo.rb real 0m0.287s user 0m0.205s sys 0m0.051s $ time ruby -d foo.rb (snip) real 0m5.693s user 0m0.297s sys 0m0.070s Your log seems the ffi_call takes much time. It may be good to try again after updating the misc/libffi completely. thanks hisa On 6/21/07, Eloy Duran <eloy.****@gmail*****> wrote: > This morning I updated to rev 1852. > Thanks to the patches by Hisa-san I now have no more failures. > However I still have the test that takes forever to pass. > The test that has this problem is test_initWithHTML in > tc_nsattributedstring.rb > > > I have tested this with a fresh rubycocoa install with: ruby 1.8.6 from > macports and the apple supplied ruby 1.8.2 > I'm on 10.4.9 intel. > Hisa-san has the same setup but does not have this problem: > > > p Time.now ; > OSX::NSAttributedString.alloc.initWithHTML_documentAttributes(data, > nil) ; p Time.now > > Thu Jun 21 17:22:25 JST 2007 > > Thu Jun 21 17:22:25 JST 2007 > > => nil > > irb(main):012:0> > > On my machine: > > > > irb(main):005:0> p Time.now ; > OSX::NSAttributedString.alloc.initWithHTML_documentAttributes(data, > nil) ; p Time.now > > Thu Jun 21 10:23:54 +0200 2007 > > Thu Jun 21 10:24:54 +0200 2007 > > => nil > > > > > So that's one minute exactly?! > > > > > Here's the output of the test when I run it with ruby -d (I interrupt it > myself at the point where it just seems to hang for a minute): > > 2007-06-21 15:21:33.988 ruby[27636] OBJWRP : registering Ruby instance > method `initWithHTML_documentAttributes' on > `OSX::NSAttributedString' > 2007-06-21 15:21:33.989 ruby[27636] OBJWRP : registered Ruby instance method > `initWithHTML_documentAttributes' on > `OSX::NSAttributedString' > 2007-06-21 15:21:33.989 ruby[27636] OBJWRP : ocm_send > (NSConcreteAttributedString#initWithHTML:documentAttributes:): > args_count=2 ret_type=@ > 2007-06-21 15:21:33.989 ruby[27636] OBJWRP : found metadata description > 2007-06-21 15:21:33.989 ruby[27636] LIBFFI : argc expected 2 given 2 delta 2 > 2007-06-21 15:21:33.989 ruby[27636] LIBFFI : detected 0 array length > argument(s) > 2007-06-21 15:21:33.989 ruby[27636] LIBFFI : arg[0] (0x6686a4) : @ > 2007-06-21 15:21:33.989 ruby[27636] LIBFFI : arg[1] (0x4) : ^@ > 2007-06-21 15:21:33.989 ruby[27636] LIBFFI : retval (0xbfff8200) : @ > 2007-06-21 15:21:33.990 ruby[27636] LIBFFI : allocated 4 bytes for the > result > 2007-06-21 15:21:33.990 ruby[27636] LIBFFI : ffi_call 0x935afcba with 4 args > ^CException `Interrupt' at > /Users/eloy/Documents/DEVELOPMENT/RubyCocoa/src/rubycocoa-latest3/framework/build/Default/RubyCocoa.framework/Versions/A/Resources/ruby/osx/objc/oc_wrapper.rb:50 > - > Exception `Interrupt' at > /opt/local/lib/ruby/1.8/test/unit/testcase.rb:82 - > /Users/eloy/Documents/DEVELOPMENT/RubyCocoa/src/rubycocoa-latest3/framework/build/Default/RubyCocoa.framework/Versions/A/Resources/ruby/osx/objc/oc_wrapper.rb:50:in > `ocm_send': Interrupt > from > /Users/eloy/Documents/DEVELOPMENT/RubyCocoa/src/rubycocoa-latest3/framework/build/Default/RubyCocoa.framework/Versions/A/Resources/ruby/osx/objc/oc_wrapper.rb:50:in > `method_missing' > from tests/tc_nsattributedstring.rb:24:in > `test_initWithHTML' > from > /opt/local/lib/ruby/1.8/test/unit/testcase.rb:78:in > `__send__' > from > /opt/local/lib/ruby/1.8/test/unit/testcase.rb:78:in `run' > from > /opt/local/lib/ruby/1.8/test/unit/testsuite.rb:34:in `run' > from > /opt/local/lib/ruby/1.8/test/unit/testsuite.rb:33:in `each' > from > /opt/local/lib/ruby/1.8/test/unit/testsuite.rb:33:in `run' > from > /opt/local/lib/ruby/1.8/test/unit/testsuite.rb:34:in `run' > ... 6 levels... > from > /opt/local/lib/ruby/1.8/test/unit/autorunner.rb:216:in > `run' > from > /opt/local/lib/ruby/1.8/test/unit/autorunner.rb:12:in `run' > from /opt/local/lib/ruby/1.8/test/unit.rb:278 > from tests/tc_nsattributedstring.rb:21 > > > > > On 6/20/07, jeanp****@gmail***** <jeanp****@gmail*****> wrote: > > > > On 6/19/07, jeanp****@gmail***** <jeanp****@gmail*****> wrote: > > > > > On 6/19/07, Eloy Duran < eloy.****@gmail*****> wrote: > > > > > > > At rev 1846: > > > > > > > > […] > > > > > > > > > i am on an intel mac running 10.4.9 / ruby 1.8.6 (via macports) running > 'rake clean && rake build' on HEAD (r1846) i get 5 failures and 1 error. > > > > > > all files in my workspace are up to date, free of conflicts and local > modifications. is the info below of any help? > > > > > > […] > > > > > > > > and on another intel machine running 10.4.9 / ruby 1.8.6 (macports) after > running rake clean && rake build on HEAD (r1846) i get 6 failures and 1 > error. no conflicts or local modifications in my source tree. > > > > cheers, > > jean-pierre > > > > > > ** BUILD SUCCEEDED ** > > strip -x > build/Default/RubyCocoa.framework/Versions/Current/RubyCocoa > > <--- framework > > ---> lib > > ---> lib/osx > > <--- lib/osx > > <--- lib > > ---> ext > > ---> ext/rubycocoa > > make > > gcc -fno-common -F../../framework/build/Default -fno-common -g > -fobjc-exceptions -arch ppc -arch i386 -isysroot > /Developer/SDKs/MacOSX10.4u.sdk -I/usr/include/libxml2 -DHAS_LIBXML2 > -I../../misc/libffi/include -I../misc/libffi/include -DMACOSX > -I/opt/local/include -c -o rubycocoa.o rubycocoa.m > > cc -dynamic -bundle -undefined suppress -flat_namespace > -F../../framework/build/Default -framework RubyCocoa -undefined suppress > -flat_namespace -arch ppc -arch i386 > -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -lxml2 > -L../../misc/libffi -L../misc/libffi -lffi -L"/opt/local/lib" -o > rubycocoa.bundle rubycocoa.o -lruby -lpthread -ldl -lobjc > > /usr//bin/ld: warning -L:usr/bin/ld: warning -L: directory name > (directory. name (../misc/libffi) does not exist > > /usr/bin/ld: for architecture ppc > > /usr/bin/ld: warning ./opt/local/lib/libxml2.dylib cputype/ misc/libffi) > does not( 7exist > > /usr/bin/ld: for architecture i386 > > /usr/bin/ld: ,warning multiple definitions of symbol _setregid > > /opt/local/lib/libruby.dylib(process.o) definition of _setregid > > /Developer/architecture i386) doesSDKs not match cputype (18) for/ > specifiedMacOSX10.4u.sdk/ > usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libpthread.dylib(setregid.So) > definition of _setregid > > /usr/bin/ld-: warning multiple definitions of symbol _setreuid > > /opt/local/lib/archlibruby .dylib( process.o) definition of _setreuid > > /Developer/SDKs/MacOSX10.4u.sdk/usr > /lib/gcc/i686-apple-darwin8/4.0.1/../.flag.:/ .ppc. > /(libpthread.dylibfile( setreuid.Sonot) loadeddefinition) > > of/ usr_setreuid/ > > bin/ld: warning /opt/local/lib/libruby.dylib cputype (7, architecture > i386) does not match cputype (18) for specified -arch flag: ppc (file not > loaded) > > <--- ext/rubycocoa > > <--- ext > > install.rb: setup done. > > /opt/local/bin/ruby install.rb test > > install.rb: entering test phase... > > ---> tests > > extention ok: dyld: loaded: ../ext/rubycocoa/rubycocoa .bundle, > cpu-sub-type: 3 > > framework ok: dyld: loaded: > ../framework/build/Default/RubyCocoa.framework/Versions/A/RubyCocoa, > cpu-sub-type: 3 > > "/opt/local/bin/ruby" -I../ext/rubycocoa -I../lib testall.rb > > Loaded suite testall > > Started > > > FF..F../Volumes/local/Users/jpm/sandbox/rubycocoa/trunk/tests/Test > Ruby Cocoa/rakefile:12: warning: already initialized constant VERSION > > F.......................................F.F................. > ...................................................................................................found > action setFoo in BulletsController > > found action setBar in BulletsController > > found action setBaz in BulletsController > > found action hoge in BulletsController > > E............................................ > > Finished in 13.654928 seconds. > > > > 1) Failure: > > default_test(Blah) [testall.rb:3]: > > No tests were specified. > > > > > > 2) Failure: > > test_add(RubyCocoaCommandTest) > > [./../framework/tool/rubycocoa /test/test_rubycocoa.rb:112:in > `test_add' > > /opt/local/lib/ruby/1.8/fileutils.rb:121:in `chdir' > > /opt/local/lib/ruby/1.8/fileutils.rb:121:in `cd' > > > ./../framework/tool/rubycocoa/test/test_rubycocoa.rb:107:in > `test_add']: > > <false> is not true. > > > > 3) Failure: > > test_create(RubyCocoaCommandTest) > > > [./../framework/tool/rubycocoa/test/test_rubycocoa.rb:49:in > `test_create' > > /opt/local/lib/ruby/1.8/fileutils.rb:121:in `chdir' > > /opt/local/lib/ruby/1.8 /fileutils.rb:121:in `cd' > > > ./../framework/tool/rubycocoa/test/test_rubycocoa.rb:36:in > `test_create']: > > <false> is not true. > > > > 4) Failure: > > test_raketasks(RubyCocoaCommandTest) > > > [./../framework/tool/rubycocoa/test/test_rubycocoa.rb:120:in > `test_raketasks' > > /opt/local/lib/ruby/1.8/fileutils.rb:121:in `chdir' > > /opt/local/lib/ruby/1.8/fileutils.rb:121:in `cd' > > > ./../framework/tool/rubycocoa/test/test_rubycocoa.rb:118:in > `test_raketasks']: > > <false> is not true. > > > > 5) Failure: > > test_indirect_function_constant(TC_Constants) > [./tc_constants.rb:44]: > > <false> is not true. > > > > 6) Failure: > > test_nonexistent_constant(TC_Constants) > [./tc_constants.rb:55]: > > <NameError> exception expected but was > > Class: <SystemStackError> > > Message: <"stack level too deep"> > > ---Backtrace--- > > > /opt/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/core_ext/load_error.rb:32:in > `new' > > > /opt/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/core_ext/load_error.rb:32:in > `new' > > > /Volumes/local/Users/jpm/sandbox/rubycocoa/trunk/framework/build/Default/RubyCocoa.framework/Versions > /A/Resources/ruby/osx/objc/oc_import.rb:154:in > `import_c_constant' > > > /Volumes/local/Users/jpm/sandbox/rubycocoa/trunk/framework/build/Default/RubyCocoa.framework/Versions/A/Resources/ruby/osx/objc/oc_import.rb:154:in > `const_missing' > > /Volumes/local/Users/jpm > /sandbox/rubycocoa/trunk/framework/build/Default/RubyCocoa.framework/Versions/A/Resources/ruby/osx/objc/oc_import.rb:167:in > `_osx_const_missing_prev' > > > /Volumes/local/Users/jpm/sandbox/rubycocoa/trunk/framework/build/Default/RubyCocoa.framework/Versions/A/Resources/ruby/osx/objc/oc_import.rb:169:in > `const_missing' > > /opt/local/lib/ruby/gems/1.8/gems/activesupport- > 1.4.2/lib/active_support/dependencies.rb:260:in > `load_missing_constant' > > > /opt/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:468:in > `_osx_const_missing_prev' > > /Volumes/local/Users/jpm > /sandbox/rubycocoa/trunk/framework/build/Default/RubyCocoa.framework/Versions/A/Resources/ruby/osx/objc/oc_import.rb:169:in > `const_missing' > > ./tc_constants.rb:55:in `test_nonexistent_constant' > > ./tc_constants.rb:55:in `test_nonexistent_constant' > > --------------- > > > > 7) Error: > > test_action(TC_SubClass): > > OSX::OCMessageSendException: Can't get Objective-C method signature for > selector 'setBar:' of receiver #<TestActionClass:0xb92e784 > class='TestActionClass' id=0x16c5df80> > > > /Volumes/local/Users/jpm/sandbox/rubycocoa/trunk/framework/build/Default/RubyCocoa.framework/Versions/A/Resources/ruby/osx/objc/oc_wrapper.rb:44:in > `ocm_send' > > /Volumes/local/Users/jpm > /sandbox/rubycocoa/trunk/framework/build/Default/RubyCocoa.framework/Versions/A/Resources/ruby/osx/objc/oc_wrapper.rb:44:in > `objc_send' > > ./tc_subclass.rb:148:in `test_action' > > ./tc_subclass.rb:148:in `test_action' > > > > 211 tests, 767 assertions, 6 failures, 1 errors > > <--- tests > > install.rb: test done. > > > > > > > > > > _______________________________________________ > > Rubycocoa-devel mailing list > > Rubyc****@lists***** rge.jp > > > http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel > > > > > > > _______________________________________________ > Rubycocoa-devel mailing list > Rubyc****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel > > -- hisa