[Backgroundrb-devel] Intermittent "can't convert Float into Hash" and results.rb

Robert Bjarnason robert.bjarnason at gmail.com
Sun Jan 7 02:54:33 EST 2007


Hi Bob,

Thanks for the pointer, I agree this is probably not a directly 
backgroundrb related problem.  I built Ruby 1.8.4 on a Debian Linux box 
using gcc version 3.3.5.

Warm regards,
Robert Bjarnason

Bob Hutchison wrote:
> Hi,
>
> This sounds a bit like the trouble in OS X where you'd get a Fixednum 
> to String error. This was caused by a bug in the gcc 4.0 compiler. The 
> solution on OS X is to re-compile Ruby with -O1 optimisation level or 
> switch to the gcc 3.x compiler). As I understand it, with linux you 
> have the additional option of installing a newer version of gcc 4.x 
> and recompiling (I'm using 4.0.2 on one of my linux boxes and have 
> never seen the problem).
>
> Cheers,
> Bob
>
> On 4-Jan-07, at 11:44 AM, Robert Bjarnason wrote:
>
>> Hi,
>>
>> I'm using backgroundrb 0.2.1 in a production environment and for most
>> parts I'm very happy.  We are using it to do some heavy video editing on
>> the server side and it works great except that under, what seems heavy
>> load the below problem happens intermittently.
>>
>> The problem has only happened 5 times out of over 500 runs by our
>> backgroundrb worker.
>>
>> This is the code in our worker:
>>               logger.debug("info : progress: #{progress}")
>>               progress_percent = progress * 100
>>               if progress_percent >= 100
>>                 results[:progress] = 99.99
>>               else
>>                 results[:progress] = progress_percent <-- Line of the 
>> crash
>>               end
>>
>> Here is the error:
>> can't convert Float into Hash
>>
>> And the beginning of the stack trace:
>> /.../ContentStore/vendor/plugins/backgroundrb/server/lib/backgroundrb/results.rb:40 
>>
>> :in
>> `merge!'/.../ContentStore/vendor/plugins/backgroundrb/server/lib/backgroundrb/results.rb:40 
>>
>> :in `[]='/.../ContentStore/lib/workers/content_worker.rb:40
>> :in `execute_mp4box'/.../ContentStore/lib/workers/content_worker.rb:22:
>> in `execute_mp4box'/.../ContentStore/lib/workers/content_worker.rb:21
>> :in `execute_mp4box'/.../ContentStore/lib/workers/content_worker.rb:181
>> :in
>> `do_work'/.../ContentStore/vendor/plugins/backgroundrb/server/lib/backgroundrb/worker.rb:55: 
>>
>> ...
>>
>> The problem seems to happen only under heavy load where more than 1
>> worker process is active at the same time.
>>
>> Any ideas or leads?
>>
>> Thanks,
>> Robert Bjarnason
>>
>> _______________________________________________
>> Backgroundrb-devel mailing list
>> Backgroundrb-devel at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/backgroundrb-devel
>
> ----
> Bob Hutchison                  -- blogs at 
> <http://www.recursive.ca/hutch/>
> Recursive Design Inc.          -- <http://www.recursive.ca/>
> Raconteur                      -- <http://www.raconteur.info/>
> xampl for Ruby                 -- <http://rubyforge.org/projects/xampl/>
>
>
>
>



More information about the Backgroundrb-devel mailing list