tags 633302 + pending thanks Hello,
Cédric Boutillier escreveu isso aí: > Hi, > > I investigated this a little bit. The problem occurs during this call: > > lambda { BCrypt::Password.create(nil) }.should_not > raise_error(BCrypt::Errors::InvalidSecret) > > in the password_spec.rb test file. > > It seems that the value (10) of the BCrypt::Engine::DEFAULT_COST constant > is to high (at least in the case when the RUBY_PLATFORM is not java). > When BCrypt::Password.create is called with one argument, the default > value {:cost => BCrypt::Engine::DEFAULT_COST} is used for the second > parameter. > > In irb, BCrypt::Password.create(nil, :cost=> 4) works as expected, but > BCrypt::Password.create(nil, :cost=> 10) yields a segfault of ruby. > Values less or equal to 8 work ok. > > I see there is a test for cost>=GIL_UNLOCK_COST_THRESHOLD (set to 9) for > ruby1.9 in ext/mri/bcrypt_ext.c. > Lowering the value of the BCrypt::Engine::DEFAULT_COST helps passing > some tests, but it fails later (engine_spec.rb, during Engine.calibrate, > because the :cost constantly increases. > > Best regards, Actually this is a packaging problem: the tests for Ruby 1.8 are being run against the compiled extension for Ruby 1.9. I've fixed the problem in the git repository: http://anonscm.debian.org/gitweb/?p=pkg-ruby-extras/ruby-bcrypt.git;a=commitdiff;h=c4570588e765f51e779d426f745981ae4221189c As you can see in the changelog, an upload with the fix will have to wait for a new upload of gem2deb first. I will do this soon. -- Antonio Terceiro <terce...@softwarelivre.org> http://softwarelivre.org/terceiro
signature.asc
Description: Digital signature