<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>219437</bug_id>
          
          <creation_ts>2020-12-02 09:46:03 -0800</creation_ts>
          <short_desc>[Debug][GStreamer] Crash in fast/mediastream/change-tracks-media-stream-being-played.html</short_desc>
          <delta_ts>2020-12-16 12:58:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=209130</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alicia Boya García">aboya</reporter>
          <assigned_to name="Víctor M. Jáquez L.">vjaquez</assigned_to>
          <cc>calvaris</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1711363</commentid>
    <comment_count>0</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2020-12-02 09:46:03 -0800</bug_when>
    <thetext>At the moment this crash is reproduced very easily (so far I&apos;ve got it every time) in buildbox2 when using run-webkit-tests --gtk --debug

I looked at this one in particular because I made a patch for the black bars/resize at the end bug that prevents the tracks from being deleted on EOS and reuses the webkit track classes by changing the pad pointer. That is the only test where I see changes: It crashes both before and after, and in the same functions (videoSampleAvailable or audioSampleAvailable), but with my patch it&apos;s a virtual pure function being called and without it&apos;s a plain SIGSEGV.

Previous reports also mention a g_type_check_instance_cast segfault inside WebCore::WebKitMediaStreamTrackObserver::audioSamplesAvailable https://bugs.webkit.org/show_bug.cgi?id=209130

Having a cleaner base with no crash would be nice.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f36a3bf2efb in WebCore::RealtimeMediaSource::videoSampleAvailable (this=0x7f36875e4700, mediaSample=...) at ../../Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:208
208	        observer-&gt;videoSampleAvailable(mediaSample);
[Current thread is 1 (Thread 0x7f3687e479c0 (LWP 126))]

Thread 1 (Thread 0x7f3687e479c0 (LWP 126)):
#0  0x00007f36a3bf2efb in WebCore::RealtimeMediaSource::videoSampleAvailable(WebCore::MediaSample&amp;) (this=0x7f36875e4700, mediaSample=...) at ../../Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:208
#1  0x00007f36a3c1ecac in WebCore::RealtimeVideoSource::videoSampleAvailable(WebCore::MediaSample&amp;) (this=0x7f36875e4700, sample=...) at ../../Source/WebCore/platform/mediastream/RealtimeVideoSource.cpp:189
#2  0x00007f36a3bf2f14 in WebCore::RealtimeMediaSource::videoSampleAvailable(WebCore::MediaSample&amp;) (this=0x7f3687553000, mediaSample=...) at ../../Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:208
#3  0x00007f36a3c1d901 in WebCore::RealtimeVideoCaptureSource::dispatchMediaSampleToObservers(WebCore::MediaSample&amp;) (this=0x7f3687553000, sample=...) at ../../Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp:399
#4  0x00007f36a4830192 in WebCore::MockRealtimeVideoSourceGStreamer::updateSampleBuffer() (this=0x7f3687553000) at ../../Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:70
#5  0x00007f36a3c4d217 in WebCore::MockRealtimeVideoSource::generateFrame() (this=0x7f3687553000) at ../../Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp:449
#6  0x00007f36a3c5f051 in std::__invoke_impl&lt;void, void (WebCore::MockRealtimeVideoSource::*&amp;)(), WebCore::MockRealtimeVideoSource*&amp;&gt;(std::__invoke_memfun_deref, void (WebCore::MockRealtimeVideoSource::*&amp;)(), WebCore::MockRealtimeVideoSource*&amp;) (__f=@0x7f362e052ee8: (void (WebCore::MockRealtimeVideoSource::*)(WebCore::MockRealtimeVideoSource * const)) 0x7f36a3c4d024 &lt;WebCore::MockRealtimeVideoSource::generateFrame()&gt;, __t=@0x7f362e052ef8: 0x7f3687553000) at /usr/include/c++/10.2.0/bits/invoke.h:73
#7  0x00007f36a3c5eebf in std::__invoke&lt;void (WebCore::MockRealtimeVideoSource::*&amp;)(), WebCore::MockRealtimeVideoSource*&amp;&gt;(void (WebCore::MockRealtimeVideoSource::*&amp;)(), WebCore::MockRealtimeVideoSource*&amp;) (__fn=@0x7f362e052ee8: (void (WebCore::MockRealtimeVideoSource::*)(WebCore::MockRealtimeVideoSource * const)) 0x7f36a3c4d024 &lt;WebCore::MockRealtimeVideoSource::generateFrame()&gt;) at /usr/include/c++/10.2.0/bits/invoke.h:95
#8  0x00007f36a3c5ed4d in std::_Bind&lt;void (WebCore::MockRealtimeVideoSource::*(WebCore::MockRealtimeVideoSource*))()&gt;::__call&lt;void, , 0ul&gt;(std::tuple&lt;&gt;&amp;&amp;, std::_Index_tuple&lt;0ul&gt;) (this=0x7f362e052ee8, __args=...) at /usr/include/c++/10.2.0/functional:416
#9  0x00007f36a3c5ec27 in std::_Bind&lt;void (WebCore::MockRealtimeVideoSource::*(WebCore::MockRealtimeVideoSource*))()&gt;::operator()&lt;, void&gt;() (this=0x7f362e052ee8) at /usr/include/c++/10.2.0/functional:499
#10 0x00007f36a3c5eb46 in WTF::Detail::CallableWrapper&lt;std::_Bind&lt;void (WebCore::MockRealtimeVideoSource::*(WebCore::MockRealtimeVideoSource*))()&gt;, void&gt;::call() (this=0x7f362e052ee0) at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#11 0x00007f369fcda633 in WTF::Function&lt;void ()&gt;::operator()() const (this=0x7f3687553208) at DerivedSources/ForwardingHeaders/wtf/Function.h:83
#12 0x00007f36a3c5eb86 in WTF::RunLoop::Timer&lt;WebCore::MockRealtimeVideoSource&gt;::fired() (this=0x7f36875531e0) at DerivedSources/ForwardingHeaders/wtf/RunLoop.h:184
#13 0x00007f36912de9c1 in operator()(gpointer) const (__closure=0x0, userData=0x7f36875531e0) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:177
#14 0x00007f36912dea01 in _FUN(gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:181
#15 0x00007f36912de00d in operator()(GSource*, GSourceFunc, gpointer) const (__closure=0x0, source=0x561683020ef0, callback=0x7f36912de9e4 &lt;_FUN(gpointer)&gt;, userData=0x7f36875531e0) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:53
#16 0x00007f36912de05b in _FUN(GSource*, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:56
#17 0x00007f368a22004f in g_main_dispatch (context=0x561682c20af0) at ../glib/gmain.c:3325
#18 g_main_context_dispatch (context=0x561682c20af0) at ../glib/gmain.c:4016
#19 0x00007f368a2203f8 in g_main_context_iterate (context=0x561682c20af0, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:4092
#20 0x00007f368a220713 in g_main_loop_run (loop=0x561682ba1c10) at ../glib/gmain.c:4290
#21 0x00007f36912de624 in WTF::RunLoop::run() () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:108
#22 0x00007f36a11a2c25 in WebKit::AuxiliaryProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMainGtk&gt;(int, char**) (argc=4, argv=0x7fff70c1f4d8) at ../../Source/WebKit/Shared/AuxiliaryProcessMain.h:68
#23 0x00007f36a11a2438 in WebKit::WebProcessMain(int, char**) (argc=4, argv=0x7fff70c1f4d8) at ../../Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp:66
#24 0x0000561681c97d88 in main(int, char**) (argc=4, argv=0x7fff70c1f4d8) at ../../Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp:45</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715053</commentid>
    <comment_count>1</comment_count>
      <attachid>416320</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-12-16 02:03:22 -0800</bug_when>
    <thetext>Created attachment 416320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715205</commentid>
    <comment_count>2</comment_count>
      <attachid>416320</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-12-16 12:54:36 -0800</bug_when>
    <thetext>Comment on attachment 416320
Patch

Nice one ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715207</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-16 12:57:37 -0800</bug_when>
    <thetext>Committed r270906: &lt;https://trac.webkit.org/changeset/270906&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416320.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715208</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-16 12:58:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/72396234&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416320</attachid>
            <date>2020-12-16 02:03:22 -0800</date>
            <delta_ts>2020-12-16 12:57:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219437-20201216110320.patch</filename>
            <type>text/plain</type>
            <size>5609</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiMmMxYjJiZWFkYzZi
OGQ0ZDRhMDVmOWJiNWIyZTg4YzQ1Zjc5Yy4uNTA5YmQzYTQzOGE2ZmQzMjY1ZjhjOGQyYzYwOWE0
MmU2Mjk0YzZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTEyLTE2ICBWw61j
dG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0RlYnVnXVtHU3RyZWFtZXJdIENyYXNoIGluIGZhc3QvbWVkaWFzdHJlYW0vY2hhbmdlLXRyYWNr
cy1tZWRpYS1zdHJlYW0tYmVpbmctcGxheWVkLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTQzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjcmFzaCB3YXMgYSBwcm9kdWN0IG9mIGEgcmFj
ZSBjb25kaXRpb24gd2hlcmUgYSBuZXcgc2FtcGxlLCBlaXRoZXIgdmlkZW8gb3IgYXVkaW8sCisg
ICAgICAgIGFwcGVhcmVkIGFmdGVyIHRoZSB0cmFjayB3YXMgYWxyZWFkeSByZW1vdmVkIGZyb20g
dGhlIHN0cmVhbSBhbmQgdGhlIEdTdHJlYW1lcidzIHNvdXJjZSB3YXMKKyAgICAgICAgYWxyZWFk
eSByZW1vdmVkLiBUaGUgcmVzdWx0IHdhcyBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGVuIHRoZSBz
YW1wbGUgb2JzZXJ2ZXIgaXMgY2FsbGVkLAorICAgICAgICBzaW5jZSB0aGUgb2JzZXJ2ZXIgaXMg
Y291cGxlZCB3aXRoIHRoZSBHU3RyZWFtZXIncyBzb3VyY2UuCisKKyAgICAgICAgVGhpcyBmaXgg
Y29uc2lzdHMgb2YgcmVtb3ZpbmcgdGhlIG9ic2VydmVycyBhcyBzb29uIGFzIHRoZSB0cmFjayBp
cyByZW1vdmVkIGZyb20gdGhlIHN0cmVhbS4KKworICAgICAgICBObyBuZXcgdGVzdHMgbmVlZGVk
IHNpbmNlIGl0IGZpeCBvbmUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwOgorICAgICAgICAod2Via2l0TWVk
aWFTdHJlYW1TcmNSZW1vdmVUcmFja09ic2VydmVyKTogTmV3IGZ1bmN0aW9uLgorICAgICAgICAo
c3RvcE9ic2VydmluZ1RyYWNrcyk6IFVzZSBuZXcgZnVuY3Rpb24uCisgICAgICAgICh3ZWJraXRN
ZWRpYVN0cmVhbVNyY1NldHVwU3JjKTogVXNlIHRyYWNrJ3MgdHlwZSBtZXRob2QgcmF0aGVyIHRo
YW4gc291cmNlJ3MuCisKIDIwMjAtMTItMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEV4cG9zZSBTRnJhbWVUcmFuc2Zvcm0gdG8gRGVkaWNhdGVkV29ya2Vy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFt
ZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFtU291cmNlLmNwcApp
bmRleCBjYmFiOGE4YzZlM2NhMzcyMzFjYTJjZDI5NzlhZDJkMjY2NTJhOWUwLi5iZDg0YjA0M2Rl
ZWU2MjhmZjQ5YzQwZGEzMmYzMmNjNzA5NThjMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1l
ci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAgc3RhdGlj
IHZvaWQgd2Via2l0TWVkaWFTdHJlYW1TcmNQdXNoVmlkZW9TYW1wbGUoV2ViS2l0TWVkaWFTdHJl
YW1TcmMqLCBHc3RTYW1wbGUKIHN0YXRpYyB2b2lkIHdlYmtpdE1lZGlhU3RyZWFtU3JjUHVzaEF1
ZGlvU2FtcGxlKFdlYktpdE1lZGlhU3RyZWFtU3JjKiwgY29uc3QgR1JlZlB0cjxHc3RTYW1wbGU+
Jik7CiBzdGF0aWMgdm9pZCB3ZWJraXRNZWRpYVN0cmVhbVNyY1RyYWNrRW5kZWQoV2ViS2l0TWVk
aWFTdHJlYW1TcmMqLCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYpOwogc3RhdGljIHZvaWQgd2Vi
a2l0TWVkaWFTdHJlYW1TcmNSZW1vdmVUcmFja0J5VHlwZShXZWJLaXRNZWRpYVN0cmVhbVNyYyos
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUpOworc3RhdGljIHZvaWQgd2Via2l0TWVkaWFTdHJl
YW1TcmNSZW1vdmVUcmFja09ic2VydmVyKFdlYktpdE1lZGlhU3RyZWFtU3JjKiwgTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGUmKTsKIAogc3RhdGljIEdzdFN0YXRpY1BhZFRlbXBsYXRlIHZpZGVvU3Jj
VGVtcGxhdGUgPSBHU1RfU1RBVElDX1BBRF9URU1QTEFURSgidmlkZW9fc3JjIiwgR1NUX1BBRF9T
UkMsIEdTVF9QQURfU09NRVRJTUVTLAogICAgIEdTVF9TVEFUSUNfQ0FQUygidmlkZW8veC1yYXc7
dmlkZW8veC1oMjY0O3ZpZGVvL3gtdnA4IikpOwpAQCAtMTY0LDggKzE2NSwxMSBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIGRpZFJlbW92ZVRyYWNrKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFj
aykgZmluYWwKICAgICB7Ci0gICAgICAgIGlmIChtX3NyYykKLSAgICAgICAgICAgIHdlYmtpdE1l
ZGlhU3RyZWFtU3JjUmVtb3ZlVHJhY2tCeVR5cGUoV0VCS0lUX01FRElBX1NUUkVBTV9TUkMobV9z
cmMpLCB0cmFjay50eXBlKCkpOworICAgICAgICBpZiAoIW1fc3JjKQorICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgIHdlYmtpdE1lZGlhU3RyZWFtU3JjUmVtb3ZlVHJhY2tPYnNlcnZlcihX
RUJLSVRfTUVESUFfU1RSRUFNX1NSQyhtX3NyYyksIHRyYWNrKTsKKyAgICAgICAgd2Via2l0TWVk
aWFTdHJlYW1TcmNSZW1vdmVUcmFja0J5VHlwZShXRUJLSVRfTUVESUFfU1RSRUFNX1NSQyhtX3Ny
YyksIHRyYWNrLnR5cGUoKSk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAtMzQ5LDIxICszNTMsMzEg
QEAgc3RhdGljIHZvaWQgd2Via2l0TWVkaWFTdHJlYW1TcmNDb25zdHJ1Y3RlZChHT2JqZWN0KiBv
YmplY3QpCiAgICAgQVNTRVJUKGdfb2JqZWN0X2lzX2Zsb2F0aW5nKHNlbGYpKTsKIH0KIAorc3Rh
dGljIHZvaWQgd2Via2l0TWVkaWFTdHJlYW1TcmNSZW1vdmVUcmFja09ic2VydmVyKFdlYktpdE1l
ZGlhU3RyZWFtU3JjKiBzZWxmLCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYgdHJhY2spCit7Cisg
ICAgYXV0byogcHJpdiA9IHNlbGYtPnByaXY7CisgICAgc3dpdGNoICh0cmFjay50eXBlKCkpIHsK
KyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOgorICAgICAgICB0cmFj
ay5zb3VyY2UoKS5yZW1vdmVWaWRlb1NhbXBsZU9ic2VydmVyKCpwcml2LT5tZWRpYVN0cmVhbVRy
YWNrT2JzZXJ2ZXIpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OkF1ZGlvOgorICAgICAgICB0cmFjay5zb3VyY2UoKS5yZW1vdmVBdWRpb1NhbXBs
ZU9ic2VydmVyKCpwcml2LT5tZWRpYVN0cmVhbVRyYWNrT2JzZXJ2ZXIpOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKyAgICB0cmFjay5yZW1vdmVPYnNlcnZlcigqcHJp
di0+bWVkaWFTdHJlYW1UcmFja09ic2VydmVyKTsKK30KKwogc3RhdGljIHZvaWQgc3RvcE9ic2Vy
dmluZ1RyYWNrcyhXZWJLaXRNZWRpYVN0cmVhbVNyYyogc2VsZikKIHsKICAgICBHU1RfT0JKRUNU
X0xPQ0soc2VsZik7CiAgICAgYXV0byogcHJpdiA9IHNlbGYtPnByaXY7CiAgICAgaWYgKHByaXYt
PnN0cmVhbSkgewotICAgICAgICBmb3IgKGF1dG8mIHRyYWNrIDogcHJpdi0+c3RyZWFtLT50cmFj
a3MoKSkgewotICAgICAgICAgICAgdHJhY2stPnNvdXJjZSgpLnJlbW92ZUF1ZGlvU2FtcGxlT2Jz
ZXJ2ZXIoKnByaXYtPm1lZGlhU3RyZWFtVHJhY2tPYnNlcnZlcik7Ci0gICAgICAgICAgICB0cmFj
ay0+c291cmNlKCkucmVtb3ZlVmlkZW9TYW1wbGVPYnNlcnZlcigqcHJpdi0+bWVkaWFTdHJlYW1U
cmFja09ic2VydmVyKTsKLSAgICAgICAgICAgIHRyYWNrLT5yZW1vdmVPYnNlcnZlcigqcHJpdi0+
bWVkaWFTdHJlYW1UcmFja09ic2VydmVyKTsKLSAgICAgICAgfQotICAgIH0gZWxzZSBpZiAocHJp
di0+dHJhY2spIHsKLSAgICAgICAgcHJpdi0+dHJhY2stPnNvdXJjZSgpLnJlbW92ZUF1ZGlvU2Ft
cGxlT2JzZXJ2ZXIoKnByaXYtPm1lZGlhU3RyZWFtVHJhY2tPYnNlcnZlcik7Ci0gICAgICAgIHBy
aXYtPnRyYWNrLT5zb3VyY2UoKS5yZW1vdmVWaWRlb1NhbXBsZU9ic2VydmVyKCpwcml2LT5tZWRp
YVN0cmVhbVRyYWNrT2JzZXJ2ZXIpOwotICAgICAgICBwcml2LT50cmFjay0+cmVtb3ZlT2JzZXJ2
ZXIoKnByaXYtPm1lZGlhU3RyZWFtVHJhY2tPYnNlcnZlcik7Ci0gICAgfQorICAgICAgICBmb3Ig
KGF1dG8mIHRyYWNrIDogcHJpdi0+c3RyZWFtLT50cmFja3MoKSkKKyAgICAgICAgICAgIHdlYmtp
dE1lZGlhU3RyZWFtU3JjUmVtb3ZlVHJhY2tPYnNlcnZlcihzZWxmLCAqdHJhY2spOworICAgIH0g
ZWxzZSBpZiAocHJpdi0+dHJhY2spCisgICAgICAgIHdlYmtpdE1lZGlhU3RyZWFtU3JjUmVtb3Zl
VHJhY2tPYnNlcnZlcihzZWxmLCAqcHJpdi0+dHJhY2spOwogICAgIEdTVF9PQkpFQ1RfVU5MT0NL
KHNlbGYpOwogfQogCkBAIC01MTIsMTQgKzUyNiwxMyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRNZWRp
YVN0cmVhbVNyY1NldHVwU3JjKFdlYktpdE1lZGlhU3RyZWFtU3JjKiBzZWxmLCBNZWRpYVN0cmVh
bQogICAgIH0KIAogICAgIGF1dG8qIHByaXYgPSBzZWxmLT5wcml2OwotICAgIHRyYWNrLT5hZGRP
YnNlcnZlcigqcHJpdi0+bWVkaWFTdHJlYW1UcmFja09ic2VydmVyLmdldCgpKTsKLSAgICBhdXRv
JiBzb3VyY2UgPSB0cmFjay0+c291cmNlKCk7Ci0gICAgc3dpdGNoIChzb3VyY2UudHlwZSgpKSB7
CisgICAgdHJhY2stPmFkZE9ic2VydmVyKCpwcml2LT5tZWRpYVN0cmVhbVRyYWNrT2JzZXJ2ZXIp
OworICAgIHN3aXRjaCAodHJhY2stPnR5cGUoKSkgewogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZTo6QXVkaW86Ci0gICAgICAgIHNvdXJjZS5hZGRBdWRpb1NhbXBsZU9ic2VydmVy
KCpwcml2LT5tZWRpYVN0cmVhbVRyYWNrT2JzZXJ2ZXIpOworICAgICAgICB0cmFjay0+c291cmNl
KCkuYWRkQXVkaW9TYW1wbGVPYnNlcnZlcigqcHJpdi0+bWVkaWFTdHJlYW1UcmFja09ic2VydmVy
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpW
aWRlbzoKLSAgICAgICAgc291cmNlLmFkZFZpZGVvU2FtcGxlT2JzZXJ2ZXIoKnByaXYtPm1lZGlh
U3RyZWFtVHJhY2tPYnNlcnZlcik7CisgICAgICAgIHRyYWNrLT5zb3VyY2UoKS5hZGRWaWRlb1Nh
bXBsZU9ic2VydmVyKCpwcml2LT5tZWRpYVN0cmVhbVRyYWNrT2JzZXJ2ZXIpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>