[Webkit-unassigned] [Bug 55728] [fileapi] Worker File API calls that create Blobs fail in debug builds due to random number generator thread assertion

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue May 17 14:16:41 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=55728





--- Comment #39 from David Levin <levin at chromium.org>  2011-05-17 14:16:40 PST ---
(In reply to comment #38)
> > > This may be a good place for judicious use of PLATFORM(CHROMIUM).
> > 
> > Sounds good to me.
> 
> Based on comment #32, looks like setting ENABLE_WTF_MULTIPLE_THREADS does have bad consequences for chromium on linux. A more focused change right now to get rid of the particular ASSERTION we're running into would be to not set that flag, and instead poke directly at CryptographicallyRandomNumber.cpp.
> 
> #if ENABLE(WTF_MULTIPLE_THREADS) || PLATFORM(CHROMIUM)
> #define THREAD_SAFE_ARC4_RAND 1
> #endif
> 
> class ARC4RandomNumberGenerator {
> public:
>     ARC4RandomNumberGenerator();
> 
>     uint32_t randomNumber();
>     void randomValues(void* buffer, size_t length);
> 
> private:
>     inline void addRandomData(unsigned char *data, int length);
>     void stir();
>     void stirIfNeeded();
>     inline uint8_t getByte();
>     inline uint32_t getWord();
> 
>     ARC4Stream m_stream;
>     int m_count;
> #if THREAD_SAFE_ARC4_RAND
>     Mutex m_mutex;
> #endif
> };

It feels like there may be a deeper issue that is being glossed over with that failure from #32. If you look at what ENABLE_WTF_MULTIPLE_THREADS does, I wonder why it would cause any problems.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list