[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [bug #32521] SIGKILL after ever-growing resource usage

From: Sandro Santilli
Subject: [Gnash-commit] [bug #32521] SIGKILL after ever-growing resource usage
Date: Sun, 13 Mar 2011 19:42:08 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Ubuntu/10.04 Chromium/9.0.597.107 Chrome/9.0.597.107 Safari/534.13

Follow-up Comment #5, bug #32521 (project gnash):

The loop seems to be this one (not confirmed):

do {                  /* 2nd type */                                    
  R3 = '0x'+R6.getPixel(random(R7),random(R8)).toString(16);            
  if( (R3!='0xff0000') ) {                                              
    R5 = this.darks.length;                                             
    while( (--R5>0) ) {                                                 
      if( (Number(R3)==this.darks[R5]) ) {                             
        vectorMC.colorID = R5;                                         
        R4 = false;                                                    
      } else {                                                         
} while( R4);

Benjamin said:

Logically it depends on a pixel in a BitmapData not being red, and then       
having its value contained in the array this.darks.                           
So the possibilities seem to be:                                              
1. Number conversion is not working.                                          
2. String conversion is not working (toString(16)).                           
3. this.darks contains incorrect values.                                      
4. getPixel() is returning wrong values.                                      
5. The BitmapData contains data that isn't expected (this is indeed           
likely if it was produced using loadBitmap() or draw(), as Gnash's            
values often differ slightly) and the code relies on it having a              
particular value. It could also contain no data.                              
I don't consider the first two to be likely, so it would be useful to         
know where the the 'darks' array comes from, and how the BitmapData is        

R6 = new                                                                      
R12 = new flash.geom.Transform(vectorMC);                                     
R9 = new flash.geom.Matrix();                                                 
R10 = vectorMC.getBounds();                                                   


So it does use draw(), and darks is a global array of fixed values. This      

may make it impossible to fix the infinite loop without getting agg to        

render exactly like the pp, but it would be good to verify that               

getPixel() is returning slightly different values from those expected.        



Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]