Hi Joe,

I've had a similar-looking problem when trying to use a library that internally 
lazy-loads (aka `autoload`) some of its files in a multi-threaded context. The 
lazy-loading would be triggered by one thread, but the other threads would then 
try to use the internal constant before it was fully loaded. In my case, I was 
able to force loading of the internal constant before the threaded section of 
my code.

I don't know if you're facing the same circumstance, but maybe this is of some 
use.

-- Emmanuel

On Jun 7, 2011, at 11:14 AM, Joe Kutner wrote:

> I get this error inconsistently when I have multiple threads entering
> the same code that wraps a transaction around my services at about the
> same time:
> 
> NameError: unitialized constant Digest::SHA256
>          const_missing at org/jruby/RubyDigest.java:140
>             initialize at /opt/torquebox/vendor/jruby/1.8/gems/
> data_objects-0.10.6/lib/data_objects/transaction.rb:30
>         create_for_uri at /opt/torquebox/vendor/jruby/1.8/gems/
> data_objects-0.10.6/lib/data_objects/transaction.rb:21
>  transaction_primitive at /opt/torquebox/vendor/jruby/1.8/gems/dm-
> transactions-1.1.0/lib/dm-transactions/adapters/dm-do-adapter.rb:20
>        connect_adapter at /opt/torquebox/vendor/jruby/1.8/gems/dm-
> transactions-1.1.0/lib/dm-transactions.rb:303
>                   send at org/jruby/RubyKernel.java:2063
>           each_adapter at /opt/torquebox/vendor/jruby/1.8/gems/dm-
> transactions-1.1.0/lib/dm-transactions.rb:250
>               each_key at org/jruby/RubyHash.java:1235
>           each_adapter at /opt/torquebox/jruby/1.8/gems/dm-
> transactions-1.1.0/lib/dm-transactions.rb:249
>                  begin at /opt/torquebox/jruby/1.8/gems/dm-
> transactions-1.1.0/lib/dm-transactions.rb:108
>                 commit at /opt/torquebox/jruby/1.8/gems/dm-
> transactions-1.1.0/lib/dm-transactions.rb:130
> 
> When it happens, it only happens to one thread (out of 4 usually).
> I've also seen an error "Mutex is locked" or something like that.  But
> again, I can't reproduce it consistently.
> 
> Any one have some ideas?
> 
> I know this may not be datamapper related - sorry if its not.
> 
> Thanks,
> 
> Joe
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "DataMapper" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/datamapper?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"DataMapper" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/datamapper?hl=en.

Reply via email to