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 <terceiro@softwarelivre.org>
http://softwarelivre.org/terceiro
Attachment:
signature.asc
Description: Digital signature