Thanks for the confirmation, I pushed the fix to incoming.

- Alon


On Sat, Feb 28, 2015 at 8:02 AM, Ishaan Venkatesan <
[email protected]> wrote:

> The patch did fix the problem with IE. It would be nice if the next SDK
> could generate the proper code automatically. Thanks!
>
> On Saturday, February 21, 2015 at 12:42:22 PM UTC-7, Alon Zakai wrote:
>>
>> Is this perhaps the same as
>>
>> https://github.com/kripken/emscripten/issues/3180
>>
>> Does the patch there fix your problem on IE?
>>
>> - Alon
>>
>>
>> On Fri, Feb 20, 2015 at 9:33 PM, Ishaan Venkatesan <[email protected]
>> > wrote:
>>
>>> It happens with the Current Version IE on the Windows 8 machine (IE 11,
>>> Version 11.0.9600.17631)
>>>
>>> On Friday, February 20, 2015 at 2:28:33 PM UTC-7, Alon Zakai wrote:
>>>>
>>>> "This' is not a function object" looks like a weird bug in IE9. Does it
>>>> happen in current versions of IE?
>>>>
>>>> - Alon
>>>>
>>>>
>>>> On Wed, Feb 18, 2015 at 2:04 PM, Ishaan Venkatesan <
>>>> [email protected]> wrote:
>>>>
>>>>> The screenshot of the error is attached for your reference. It shows
>>>>> that with "-s ALLOW_MEMORY_GROWTH=1", IE would fail when allocating 14MB 
>>>>> of
>>>>> memory indicating "enlargeMemory" errors. Same error would happen with
>>>>> Chrome when allocating much bigger memories.
>>>>>
>>>>> On Tuesday, February 17, 2015 at 10:19:33 PM UTC-7, Alon Zakai wrote:
>>>>>>
>>>>>> What do you mean by fail? What specific error do you see in the
>>>>>> console? Is it the same across all of these? I would expect to see
>>>>>> different ones, as if memory growth is on, the only possible failure 
>>>>>> should
>>>>>> be that the browser runs out of memory, and that error message does not
>>>>>> look like emscripten's "cannot enlarge memory arrays" notification.
>>>>>>
>>>>>> - Alon
>>>>>>
>>>>>>
>>>>>> On Tue, Feb 17, 2015 at 8:03 PM, Ishaan Venkatesan <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hi Alon,
>>>>>>>
>>>>>>> I removed Windows-related code and attached the web application that
>>>>>>> should run on Linux & Mac.
>>>>>>>
>>>>>>> As to Firefox:
>>>>>>> 1 Without "-s ALLOW_MEMORY_GROWTH=1", memory allocation of
>>>>>>> 11,000,000 bytes would succeed (better than Chrome), but 12,000,000 
>>>>>>> bytes
>>>>>>> would fail
>>>>>>> 2. With "-s ALLOW_MEMORY_GROWTH=1", we could allocate 1G of memory
>>>>>>> without any problem (much better than Chrome).
>>>>>>>
>>>>>>> Thus the surprising result is really IE as you've pointed out. This
>>>>>>> is a big concern though, as my application would often allocate 100-200 
>>>>>>> M
>>>>>>> of memories, and cross-platform support is important.
>>>>>>>
>>>>>>> Do you happen to know any work around? I noticed that when the
>>>>>>> Javascript sends a large file to the C++ side by calling FS.writeFile(),
>>>>>>> the code would not crash on all browsers even when we are not setting  
>>>>>>> "-s
>>>>>>> ALLOW_MEMORY_GROWTH=1".In the document here
>>>>>>> <http://kripken.github.io/emscripten-site/docs/api_reference/Filesystem-API.html>,
>>>>>>> it said that the default file system with Emscripten is actually
>>>>>>> implemented through memory (i.e. MEMFS). In other words, IE is able to
>>>>>>> handle large in-memory data (>500 M in my test) when the data is 
>>>>>>> accessed
>>>>>>> through the file system API. I am wondering if it possible to allocate
>>>>>>> large blocks of memory in Emscripten by using MEMFS as the back-end? 
>>>>>>> (not
>>>>>>> sure how)
>>>>>>>
>>>>>>> Thanks!
>>>>>>>
>>>>>>> On Tuesday, February 17, 2015 at 7:00:04 PM UTC-7, Alon Zakai wrote:
>>>>>>>>
>>>>>>>> I'm not on Windows so I can't build these.
>>>>>>>>
>>>>>>>> About 200,000,000 bytes, Chrome likely fails because it has
>>>>>>>> actually run out of memory (the next size it wants is 256MB or 512MB, 
>>>>>>>> and
>>>>>>>> maybe there isn't enough contiguous address space in the 32-bit 
>>>>>>>> process).
>>>>>>>> And failures without memory growth are not surprising, if the total 
>>>>>>>> used
>>>>>>>> memory reached the current size of memory.
>>>>>>>>
>>>>>>>> Aside from that, the other failures are potentially surprising,
>>>>>>>> which leaves just IE9 behavior. Likely IE9 bugs - how about other 
>>>>>>>> versions
>>>>>>>> of IE, and Firefox? If IE9 is the only one to fail, likely their bug.
>>>>>>>>
>>>>>>>> - Alon
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Feb 17, 2015 at 4:35 PM, Ishaan Venkatesan <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hi Alon,
>>>>>>>>>
>>>>>>>>> I was able to replicate the bug with a test case. Attached is the
>>>>>>>>> code for your reference.
>>>>>>>>>
>>>>>>>>> The code would build with Visual Studio 2012. When running WebApp
>>>>>>>>> project, you could enter the number of bytes you want to allocate, 
>>>>>>>>> and a
>>>>>>>>> popup window would show up indicating whether the allocation (i.e. 
>>>>>>>>> resizing
>>>>>>>>> an existing buffer) is successful or not.
>>>>>>>>>
>>>>>>>>> Running the software using a Surface Pro 3 with 8 G of memory &
>>>>>>>>> Windows 8 Pro OS, here are the test results I got:
>>>>>>>>> 1. Without "-s ALLOW_MEMORY_GROWTH=1", Chrome would allocate
>>>>>>>>> 8,000,000 bytes successfully, but would fail when allocating 
>>>>>>>>> 9,000,000 bytes
>>>>>>>>> 2. Without "-s ALLOW_MEMORY_GROWTH=1", IE9 would allocate
>>>>>>>>> 8,000,000 bytes successfully, but would fail when allocating 
>>>>>>>>> 9,000,000 bytes
>>>>>>>>> 3. With "-s ALLOW_MEMORY_GROWTH=1", Chrome would allocate
>>>>>>>>> 14,000,000 bytes successfully.
>>>>>>>>> 4. With "-s ALLOW_MEMORY_GROWTH=1", IE9 would would fail when
>>>>>>>>> allocating 14,000,000 bytes, although 9,000,000 bytes would work
>>>>>>>>> 5. With  "-s ALLOW_MEMORY_GROWTH=1", Chrome would allocate
>>>>>>>>> 200,000,000 bytes successfully. But after trying to resize the buffer 
>>>>>>>>> to
>>>>>>>>> 200,000,001 bytes, the call would fail.
>>>>>>>>>
>>>>>>>>> Please let me know if you need more information. Thanks Alon!
>>>>>>>>>
>>>>>>>>> On Monday, February 16, 2015 at 7:34:28 PM UTC-7, Ishaan
>>>>>>>>> Venkatesan wrote:
>>>>>>>>>>
>>>>>>>>>> Today I ran into the following exception after allocating an
>>>>>>>>>> std::vector<char> of size 718924 in C++. The exception said,
>>>>>>>>>>
>>>>>>>>>> "Cannot enlarge memory arrays. Either (1) compile with -s
>>>>>>>>>> TOTAL_MEMORY=X with X higher than the current value 16777216, (2) 
>>>>>>>>>> compile
>>>>>>>>>> with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but 
>>>>>>>>>> prevents
>>>>>>>>>> some optimizations"
>>>>>>>>>>
>>>>>>>>>> Although I was able to fix the exception by setting "-s
>>>>>>>>>> ALLOW_MEMORY_GROWTH=1" flag, it is still surprising that a memory 
>>>>>>>>>> block of
>>>>>>>>>> less than 1M would cause the exception in the first place. In 
>>>>>>>>>> addition, I
>>>>>>>>>> would prefer not to use ALLOW_MEMORY_GROWTH in order to maximize
>>>>>>>>>> performance.
>>>>>>>>>>
>>>>>>>>>> Interestingly, when I turned on "ALLOW_MEMORY_GROWTH" flag, the
>>>>>>>>>> Chrome browser was able to handle the large array correctly, but IE9 
>>>>>>>>>> threw
>>>>>>>>>> the same exception.
>>>>>>>>>>
>>>>>>>>>> Any thoughts on the cause of these problems?
>>>>>>>>>>
>>>>>>>>>> Thanks for your thoughts!
>>>>>>>>>>
>>>>>>>>>  --
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "emscripten-discuss" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to [email protected].
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "emscripten-discuss" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "emscripten-discuss" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "emscripten-discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to