Martin, I've nailed down a workaround for iOS in
https://github.com/Polymer/polymer-gestures/pull/57.

I'll make a new build of polymer in the master branch if you'd like to test
with it.

Thanks for your patience!

On Fri, Sep 5, 2014 at 12:14 PM, Martin Kleinschrodt <
[email protected]> wrote:

> Thanks Daniel, thats great to hear. Any idea on how long this might take
> to fix? Meanwhile, can you think of a possible workaround?
>
> On 5. September 2014 at 02:38:55, Daniel Freedman ([email protected])
> wrote:
>
> Hi Martin,
>
> I've identified what I believe to be the root cause (touchevents on nodes
> stamped from a template + edge case timing of the removal of a node that is
> a tap target) and reported the crash case to Apple (
> https://bugs.webkit.org/show_bug.cgi?id=136506)
>
> The fix in Polymer is going to take me some more time to complete.
>
> In the mean time, I've filed
> https://github.com/Polymer/polymer-gestures/issues/56 to track for myself.
>
> Thanks!
>
>
> On Thu, Sep 4, 2014 at 1:06 AM, Martin Kleinschrodt <
> [email protected]> wrote:
>
>>  Thanks, guys! I really appreciate the help. Glad, Daniel could
>> reproduce this and it's not something stupid I did.
>>
>>  For what it's worth, I think your analysis is pretty spot on. It seems
>> there is some race condition going on since the problem occurs only part of
>> the time. All things considered, I now think the problem was most likely
>> introduced in polymer-gestures since TemplateBinding didn't see a lot of
>> changes between 0.3.4 and 0.3.5.
>>
>> On 3. September 2014 at 23:14:40, 'Daniel Freedman' via Polymer (
>> [email protected]) wrote:
>>
>>   I was able to make a repro case just with templates and tap handlers.
>>
>> It looks like this error is triggered when the a node with a touch
>> handler is being removed by a template model update while a touch event is
>> being dispatched.
>>
>> Minimal repro: https://gist.github.com/azakus/72d2b7d1ffde1e94283a
>>
>> Since this seems related to template stamping timing, I'll have to sit
>> down with the template polyfill authors to get a better understanding of
>> the exact timing of the polyfill.
>>
>> Thanks for your patience.
>>
>>
>> On Wed, Sep 3, 2014 at 10:23 AM, Daniel Freedman <[email protected]>
>> wrote:
>>
>>> Hi Martin,
>>>
>>> I'm not very familiar with iOS, but it looks like there was a bad
>>> dereference inside of the WebView (that 0xfffffff9 looks like the highest
>>> address on your process stack).
>>>
>>> I did get it to fail in the ios simulator as well, but mobile safari
>>> only reports a "bus error", which suggests that this is a bad pointer
>>> dereference.
>>>
>>> I have a hunch that this is related to a node being removed from the DOM
>>> that also has a touch listener on it, but that idea is just based on the
>>> fact that safari stops sending touch events when the origin node is removed.
>>>
>>> The WebCore::Document::touchEventsChangedTimerFired code is an IOS only
>>> extension to WebKit, so I'm not sure how to look at what that is doing.
>>>
>>>
>>> On Wed, Sep 3, 2014 at 9:46 AM, Rob Dodson <[email protected]> wrote:
>>>
>>>> Hey Martin, sorry for the delay, I think we're still catching up a bit
>>>> from the long weekend :)
>>>> We're looking into this and hopefully will have a response soon.
>>>>
>>>> - Rob
>>>>
>>>>
>>>> On Wednesday, September 3, 2014 7:29:18 AM UTC-7, Martin Kleinschrodt
>>>> wrote:
>>>>>
>>>>> Anyone? I could really use some help on this...
>>>>>
>>>>> On Monday, September 1, 2014 11:39:55 AM UTC+2, Martin Kleinschrodt
>>>>> wrote:
>>>>>>
>>>>>> After some more experimentation, I narrowed it down a little more: It
>>>>>> seems the issue was introduced between versions 0.3.4 and 0.3.5. Also, it
>>>>>> seems that the problem is inside the polymer package, *not* the
>>>>>> platform layer as one might expect (I reproduced the crashes with
>>>>>> Polymer/polymer#0.3.5 + Polymer/platform#0.3.2). Then again, apparently
>>>>>> TemplateBinding and polymer-expressions are contained in the polymer
>>>>>> package, so maybe not that surprising after all. So it seems the culprit 
>>>>>> is
>>>>>> hiding in one of these changesets:
>>>>>>
>>>>>> https://github.com/Polymer/polymer-dev/compare/0.3.4...0.3.5
>>>>>> https://github.com/polymer/TemplateBinding/compare/0.3.4...0.3.5
>>>>>> https://github.com/polymer/polymer-expressions/compare/0.3.4...0.3.5
>>>>>> https://github.com/Polymer/polymer-gestures/compare/0.3.4...0.3.5
>>>>>>
>>>>>> Anything else I missed that is part of the polymer package?
>>>>>>
>>>>>> On Monday, September 1, 2014 10:56:18 AM UTC+2, Martin Kleinschrodt
>>>>>> wrote:
>>>>>>>
>>>>>>> Ever since updating from v0.3.2, my Polymer app crashes all the
>>>>>>> time. The problem is extremely hard to debug since I don't get any error
>>>>>>> messages in the browser console but instead the app crashes completely.
>>>>>>> This happens both in mobile safari and in the web view. The only clue 
>>>>>>> that
>>>>>>> I have is this log from my cordova app:
>>>>>>>
>>>>>>>   Process 15971 stopped
>>>>>>> * thread #6: tid = 0x5783c3, 0x36ae071a
>>>>>>> WebCore`WebCore::Document::touchEventsChangedTimerFired(WebCore::Timer<WebCore::Document>*)
>>>>>>> + 254, name = 'WebThread', stop reason = EXC_BAD_ACCESS (code=1,
>>>>>>> address=0xfffffff9)
>>>>>>>     frame #0: 0x36ae071a
>>>>>>> WebCore`WebCore::Document::touchEventsChangedTimerFired(WebCore::Timer<WebCore::Document>*)
>>>>>>> + 254
>>>>>>>  
>>>>>>> WebCore`WebCore::Document::touchEventsChangedTimerFired(WebCore::Timer<WebCore::Document>*)
>>>>>>> + 254:
>>>>>>> -> 0x36ae071a:  ldr.w  r8, [r0]
>>>>>>>    0x36ae071e:  cmp.w  r8, #0x0
>>>>>>>    0x36ae0722:  beq    0x36ae07e4                ;
>>>>>>> WebCore::Document::touchEventsChangedTimerFired(WebCore::Timer<WebCore::Document>*)
>>>>>>> + 456
>>>>>>>    0x36ae0724:  movs   r0, #0x0
>>>>>>>
>>>>>>> I don't know enough about WebCore to get anything from this, but
>>>>>>> based on when the crashes occur (usually after updating a model) I 
>>>>>>> suspect
>>>>>>> that the problem has something to do with either polymer-expressions or
>>>>>>> TemplateBinding.
>>>>>>>
>>>>>>> I'm currently using Polymer 0.4.0 but I think the problem exists
>>>>>>> since 0.3.3.
>>>>>>>
>>>>>>> If you want to reproduce the problem yourself, go ahead and open
>>>>>>> http://maklesoft.github.io/padlock on your iPhone (or iOS
>>>>>>> simulator) and follow these steps:
>>>>>>>
>>>>>>> - Choose a master password (you can simply use an empty one)
>>>>>>> - Create a record
>>>>>>> - Go back
>>>>>>> - Create another record
>>>>>>> - Switch back and forth between the two records (tap a record to
>>>>>>> select it), at some point the app will crash (probably sooner rather 
>>>>>>> than
>>>>>>> later)
>>>>>>>
>>>>>>> Other ways to reproduce the crash
>>>>>>>
>>>>>>> - Delete a record
>>>>>>> - Add a field to a record
>>>>>>> - Add a category to a record
>>>>>>>
>>>>>>> I wish I could offer more information, but at this point I am pretty
>>>>>>> much clueless. If you want to dig through the code, you can find it at
>>>>>>>
>>>>>>> https://github.com/maklesoft/padlock
>>>>>>>
>>>>>>> I probably don't have to mention that this is a show stopper for me.
>>>>>>> I wonder if anybody is having similar problems?
>>>>>>>
>>>>>>      Follow Polymer on Google+: plus.google.com/107187849809354688692
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Polymer" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>>  To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/polymer-dev/8b2b71eb-2508-4aea-a7c2-de1ad34bec25%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/polymer-dev/8b2b71eb-2508-4aea-a7c2-de1ad34bec25%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>>>
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>> Follow Polymer on Google+: plus.google.com/107187849809354688692
>> ---
>>  You received this message because you are subscribed to a topic in the
>> Google Groups "Polymer" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/polymer-dev/YE0U38xqXig/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/polymer-dev/CAAUAVAi2HB-eveg06Q0Be3VAEgtgPZdX790%2BOSyzz2sowrCx2w%40mail.gmail.com
>> <https://groups.google.com/d/msgid/polymer-dev/CAAUAVAi2HB-eveg06Q0Be3VAEgtgPZdX790%2BOSyzz2sowrCx2w%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>

Follow Polymer on Google+: plus.google.com/107187849809354688692
--- 
You received this message because you are subscribed to the Google Groups 
"Polymer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/polymer-dev/CAAUAVAhF4_ZMq_D6ZGmeNugpY6QsAnopcGairMpQ4TEUAc%2Br9w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to