<?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>66378</bug_id>
          
          <creation_ts>2011-08-17 07:56:21 -0700</creation_ts>
          <short_desc>libdispatch based ParallelJobs is not enough parallel</short_desc>
          <delta_ts>2011-10-03 06:07:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Balazs Kelemen">kbalazs</reporter>
          <assigned_to name="Balazs Kelemen">kbalazs</assigned_to>
          <cc>ap</cc>
    
    <cc>loki</cc>
    
    <cc>mrowe</cc>
    
    <cc>pandras</cc>
    
    <cc>rhodovan.u-szeged</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>452243</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-08-17 07:56:21 -0700</bug_when>
    <thetext>We use the wrong API. We should use a concurrent dispatch queue with a dispatch group instead of using a serial queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452264</commentid>
    <comment_count>1</comment_count>
      <attachid>104175</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-08-17 08:15:19 -0700</bug_when>
    <thetext>Created attachment 104175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452265</commentid>
    <comment_count>2</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-08-17 08:20:04 -0700</bug_when>
    <thetext>Performance results on methanol (https://gitorious.org/methanol/) with the svg test set:

baseline:              2798.2 with 7.6% deviance
parallel jobs enabled: 2663.9 with 15.5% deviance
parallel jobs + patch: 1634.6 with 11.6% deviance

I don&apos;t know where are the huge deviance is coming from.
However I believe the results are convincing even with that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452269</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-17 08:23:49 -0700</bug_when>
    <thetext>Attachment 104175 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptCore/wtf/ParallelJobsLibdispatch.h:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ParallelJobsLibdispatch.h:67:  Missing space before {  [whitespace/braces] [5]
Total errors found: 2 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452431</commentid>
    <comment_count>4</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-08-17 11:42:11 -0700</bug_when>
    <thetext>Note that the style failure is because of the parallel libdispatch syle block: ^{(*m_threadFunction)(parameters);}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452625</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-08-17 15:04:53 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Note that the style failure is because of the parallel libdispatch syle block: ^{(*m_threadFunction)(parameters);}

You should have whitespace inside of the braces. In other words:

^{ (*m_threadFunction)(parameters); }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452628</commentid>
    <comment_count>6</comment_count>
      <attachid>104175</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-08-17 15:10:13 -0700</bug_when>
    <thetext>Comment on attachment 104175
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=104175&amp;action=review

&gt; Source/JavaScriptCore/ChangeLog:12
&gt; +        implementatoin was almost identical (less then 5% win).

*implementation* was almost identical (less *than* 5% win).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452868</commentid>
    <comment_count>7</comment_count>
      <attachid>104175</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2011-08-17 23:22:14 -0700</bug_when>
    <thetext>Comment on attachment 104175
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=104175&amp;action=review

&gt; Source/JavaScriptCore/wtf/ParallelJobsLibdispatch.h:63
&gt; -        dispatch_queue_t parallelJobsQueue = dispatch_queue_create(&quot;ParallelJobs&quot;, 0);
&gt; +        static dispatch_queue_t globalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

Good catch! However, could we use dispatch_queue_create(&quot;ParallelJobs&quot;, DISPATCH_QUEUE_CONCURRENT) instead of the global concurrent queue? I do not know what is the main difference between those (in terms of design and performance) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452916</commentid>
    <comment_count>8</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-08-18 02:14:08 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 104175 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=104175&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/wtf/ParallelJobsLibdispatch.h:63
&gt; &gt; -        dispatch_queue_t parallelJobsQueue = dispatch_queue_create(&quot;ParallelJobs&quot;, 0);
&gt; &gt; +        static dispatch_queue_t globalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
&gt; 
&gt; Good catch! However, could we use dispatch_queue_create(&quot;ParallelJobs&quot;, DISPATCH_QUEUE_CONCURRENT) instead of the global concurrent queue? I do not know what is the main difference between those (in terms of design and performance) ?

I don&apos;t know which solution is better. Maybe there is an overhead of creating our own queue each time we have been called. Mark, could you share your knowledge about that with us?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453120</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-08-18 10:34:16 -0700</bug_when>
    <thetext>One obvious point is that DISPATCH_QUEUE_CONCURRENT is only available on 10.7 and newer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454497</commentid>
    <comment_count>10</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-08-22 02:05:55 -0700</bug_when>
    <thetext>By the way, couldn’t the explicit loop be replaced with a call to dispatch_apply?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454505</commentid>
    <comment_count>11</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-08-22 02:26:14 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; By the way, couldn’t the explicit loop be replaced with a call to dispatch_apply?

Yes, the same idea came to my mind after a bit more documentation reading.
I will do that in the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456711</commentid>
    <comment_count>12</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-08-25 01:44:41 -0700</bug_when>
    <thetext>I have a new WIP patch with dispatch_apply that turns on ENABLE(THREADING_LIBDISPATCH) for testing but it crashes. If I&apos;m not doing smg wrong than it seems like there is an issue with FELightning. According to the crash log there are 4 threads and all of them crashing in FELightning::LightningData::interior. I&apos;m going to upload the WIP patch in a moment.
1   WTF::ByteArray::get(unsigned int) const
1   WTF::ByteArray::get(unsigned int) const
1   WTF::ByteArray::get(unsigned int) const
1   WTF::ByteArray::get(unsigned int) const
2   WebCore::FELighting::LightingData::interior(int, WebCore::IntPoint&amp;)
2   WebCore::FELighting::LightingData::interior(int, WebCore::IntPoint&amp;)
2   WebCore::FELighting::LightingData::interior(int, WebCore::IntPoint&amp;)
2   WebCore::FELighting::LightingData::interior(int, WebCore::IntPoint&amp;)
3   WebCore::FELighting::platformApplyGenericPaint(WebCore::FELighting::LightingData&amp;, WebCore::LightSource::PaintingData&amp;, int, int)
3   WebCore::FELighting::platformApplyGenericPaint(WebCore::FELighting::LightingData&amp;, WebCore::LightSource::PaintingData&amp;, int, int)
3   WebCore::FELighting::platformApplyGenericPaint(WebCore::FELighting::LightingData&amp;, WebCore::LightSource::PaintingData&amp;, int, int)
3   WebCore::FELighting::platformApplyGenericPaint(WebCore::FELighting::LightingData&amp;, WebCore::LightSource::PaintingData&amp;, int, int)
4   WebCore::FELighting::platformApplyGenericWorker(WebCore::FELighting::PlatformApplyGenericParameters*)
4   WebCore::FELighting::platformApplyGenericWorker(WebCore::FELighting::PlatformApplyGenericParameters*)
4   WebCore::FELighting::platformApplyGenericWorker(WebCore::FELighting::PlatformApplyGenericParameters*)
4   WebCore::FELighting::platformApplyGenericWorker(WebCore::FELighting::PlatformApplyGenericParameters*)
5   __execute_block_invoke_1
5   __execute_block_invoke_1
5   __execute_block_invoke_1
5   __execute_block_invoke_1
6   _dispatch_apply2
6   _dispatch_apply2
6   _dispatch_apply2
6   _dispatch_apply2
7   dispatch_apply_f
7   _dispatch_worker_thread2
7   _dispatch_worker_thread2
7   _dispatch_worker_thread2
8   WTF::ParallelEnvironment::execute(unsigned char*)
8   _pthread_wqthread
8   _pthread_wqthread
8   _pthread_wqthread
9   WTF::ParallelJobs&lt;WebCore::FELighting::PlatformApplyGenericParameters&gt;::execute()
9   start_wqthread
9   start_wqthread
9   start_wqthread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456712</commentid>
    <comment_count>13</comment_count>
      <attachid>105145</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-08-25 01:45:55 -0700</bug_when>
    <thetext>Created attachment 105145
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456715</commentid>
    <comment_count>14</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-08-25 02:08:33 -0700</bug_when>
    <thetext>There is some debugging info for SVG experts. The parameters given to the threads are seems to be valid so I have no clue about what&apos;s going on.

(gdb) f 3
#3  0x0000000101aa93bb in WebCore::FELighting::platformApplyGenericWorker (parameters=0x13c8010d0) at /Users/balazs/master_clean/Source/WebCore/platform/graphics/filters/FELighting.cpp:248
248         parameters-&gt;filter-&gt;platformApplyGenericPaint(parameters-&gt;data, parameters-&gt;paintingData, parameters-&gt;yStart, parameters-&gt;yEnd);
(gdb) p parameters
$2 = (&apos;WebCore::FELighting::PlatformApplyGenericParameters&apos; *) 0x13c8010d0
(gdb) p *parameters
$3 = {
  filter = 0x12b851130, 
  data = {
    pixels = 0x1338b2000, 
    surfaceScale = 0.0392156877, 
    widthMultipliedByPixelSize = 2036, 
    widthDecreasedByOne = 508, 
    heightDecreasedByOne = 355
  }, 
  paintingData = {
    lightVector = {
      m_x = -558, 
      m_y = -354, 
      m_z = 147.215683
    }, 
    colorVector = {
      m_x = 166.03772, 
      m_y = 60.3773499, 
      m_z = 0
    }, 
    lightVectorLength = 677.017334, 
    directionVector = {
      m_x = 0.624695003, 
      m_y = 0.624695003, 
      m_z = -0.468521267
    }, 
    privateColorVector = {
      m_x = 176, 
      m_y = 64, 
      m_z = 0
    }, 
    coneCutOffLimit = -0.342020124, 
    coneFullLight = -0.358020127, 
    specularExponent = 1
  }, 
  yStart = 407, 
  yEnd = 436
}
(gdb) f 0
#0  0x0000000101a9e12c in WTF::ByteArray::get (this=0x1338b2000, index=828655) at ByteArray.h:67
67                  ASSERT(index &lt; m_size);
(gdb) p index
$4 = 828655
(gdb) p m_size
$5 = 724816</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463265</commentid>
    <comment_count>15</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-09-07 03:14:32 -0700</bug_when>
    <thetext>I tried it on Linux with &apos;#define ENABLE_THREADING_GENERIC 1&apos; in Platform.h, and I increased the max number of threads from 2 to 8 (in ParallelJobsGeneric.h). I runned the methanol svg test suite on a 16 core machine and the same crash happened than on Mac with the WIP patch:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffa24ce700 (LWP 3978)]
0x00007ffff738cfc9 in WebCore::FELighting::platformApplyGenericWorker(WebCore::FELighting::PlatformApplyGenericParameters*) ()
   from /home/balazs/master_clean/WebKitBuild/Release/bin/../lib/libQtWebKit.so.4
(gdb) bt 10
#0  0x00007ffff738cfc9 in WebCore::FELighting::platformApplyGenericWorker(WebCore::FELighting::PlatformApplyGenericParameters*) ()
   from /home/balazs/master_clean/WebKitBuild/Release/bin/../lib/libQtWebKit.so.4
#1  0x00007ffff74698b9 in WTF::ParallelEnvironment::ThreadPrivate::workerThread(void*) ()
   from /home/balazs/master_clean/WebKitBuild/Release/bin/../lib/libQtWebKit.so.4
#2  0x00007ffff746841b in WTF::ThreadPrivate::run() () from /home/balazs/master_clean/WebKitBuild/Release/bin/../lib/libQtWebKit.so.4

Something is definitely wrong with FELightning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463458</commentid>
    <comment_count>16</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-09-07 11:02:36 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Something is definitely wrong with FELightning.

Looks like somebody swapped &quot;width&quot; in for &quot;height&quot; in FELighting::platformApplyGeneric, when determining the yStep. I&apos;ll file a separate bug about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463476</commentid>
    <comment_count>17</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-09-07 11:20:12 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=67719 is the crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463557</commentid>
    <comment_count>18</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-09-07 12:06:31 -0700</bug_when>
    <thetext>The speedup on the methanol benchmark with this patch is quite impressive! I&apos;m excited for this to land :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463718</commentid>
    <comment_count>19</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-09-07 15:44:10 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; The speedup on the methanol benchmark with this patch is quite impressive! I&apos;m excited for this to land :-)

Thank you for the fix! I think it&apos;s time to utilize the infrastructure. First I will update the patch without actually enabling PARALLEL_JOBS by default. The next step will be enabling it - the libdispatch implementation for Mac and the generic for other platforms. I hope these plans sounds good to everyone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463966</commentid>
    <comment_count>20</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-09-08 02:36:02 -0700</bug_when>
    <thetext>Current methanol results on a MacPro5,1 (6 cores) with SL Server:

ref -           2582.733 (16.12% deviance)
parallel jobs - 982.06 (19.9% diviance)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463974</commentid>
    <comment_count>21</comment_count>
      <attachid>106718</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-09-08 03:09:43 -0700</bug_when>
    <thetext>Created attachment 106718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469413</commentid>
    <comment_count>22</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-09-19 08:35:53 -0700</bug_when>
    <thetext>Ping ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476844</commentid>
    <comment_count>23</comment_count>
      <attachid>106718</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-10-03 02:02:31 -0700</bug_when>
    <thetext>Comment on attachment 106718
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=106718&amp;action=review

&gt; Source/JavaScriptCore/ChangeLog:12
&gt; +        was a misusage of the API). Enabling PARALLEL_JOBS is now

misuse

r=me with the typo fix above</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476933</commentid>
    <comment_count>24</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-10-03 06:06:07 -0700</bug_when>
    <thetext>Committed r96492: &lt;http://trac.webkit.org/changeset/96492&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104175</attachid>
            <date>2011-08-17 08:15:19 -0700</date>
            <delta_ts>2011-09-08 03:09:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66378-20110817171516.patch</filename>
            <type>text/plain</type>
            <size>2472</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI4NDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDVl
ZjQxYTcxN2NiNzA5ODhkOTcyNjcyMDVmOWQ5YjVkNzU1ZmU2YmQuLjU0M2ExNjE4M2Q5NWViZmUx
OTljZTU4MjY0OTYxZWY3OTcwMGI4OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE5IEBACisyMDExLTA4LTE3ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9y
Zz4KKworICAgICAgICBsaWJkaXNwYXRjaCBiYXNlZCBQYXJhbGxlbEpvYnMgaXMgbm90IGVub3Vn
aCBwYXJhbGxlbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYzNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBVc2UgdGhlIGRlZmF1bHQgbm9ybWFsIHByaW9yaXR5IGNvbmN1cnJlbnQgcXVldWUgaW5zdGVh
ZCBvZiBhIGN1c3RvbSBzZXJpYWwgcXVldWUuCisgICAgICAgIE9uIHRoZSBtZXRoYW5vbCBiZW5j
aG1hcmsgKGh0dHBzOi8vZ2l0b3Jpb3VzLm9yZy9tZXRoYW5vbCkgd2l0aCB0aGUgc3ZnIGNlbnRy
aWMKKyAgICAgICAgdGVzdCBzZXQgdGhpcyBpcyBhIDM4JSB3aW4gYWdhaW5zdCB0aGUgb2xkIGlt
cGxlbWVudGF0aW9uLgorICAgICAgICBFbmFibGluZyBQYXJhbGxlbEpvYnMgaXMgbm93IGEgNDEl
IHdpbiBvbiB0aGlzIGJlbmNobWFyayB3aGlsZSB0aGUgb2xkCisgICAgICAgIGltcGxlbWVudGF0
b2luIHdhcyBhbG1vc3QgaWRlbnRpY2FsIChsZXNzIHRoZW4gNSUgd2luKS4KKworICAgICAgICAq
IHd0Zi9QYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oOgorICAgICAgICAoV1RGOjpQYXJhbGxlbEVu
dmlyb25tZW50OjpleGVjdXRlKToKKwogMjAxMS0wOC0xMCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2Fy
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZWQgc29tZSBpbmNvcnJlY3QgY29kZSB0aGF0
IHdhcyBkZWFkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXJhbGxl
bEpvYnNMaWJkaXNwYXRjaC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXJhbGxlbEpv
YnNMaWJkaXNwYXRjaC5oCmluZGV4IDY4N2M3NzFiNjRmMDdkNzNjNGJhY2Y2NzdmYzVlN2JiNDAy
YjdjYWYuLjE0MDQzNTM4ZWYwOGFkMThlZTg1M2Q0NjgxZWFjYTJiMDYyZjkyYmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhcmFsbGVsSm9ic0xpYmRpc3BhdGNoLmgK
QEAgLTYwLDE2ICs2MCwxOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGV4ZWN1dGUodW5zaWduZWQg
Y2hhciogcGFyYW1ldGVycykKICAgICB7Ci0gICAgICAgIC8vIGxpYmRpc3BhdGNoIGlzIE5PVCBz
dXBwb3J0ZWQgaW5zaWRlIGEgdGVtcGxhdGUKLSAgICAgICAgZGlzcGF0Y2hfcXVldWVfdCBwYXJh
bGxlbEpvYnNRdWV1ZSA9IGRpc3BhdGNoX3F1ZXVlX2NyZWF0ZSgiUGFyYWxsZWxKb2JzIiwgMCk7
CisgICAgICAgIHN0YXRpYyBkaXNwYXRjaF9xdWV1ZV90IGdsb2JhbFF1ZXVlID0gZGlzcGF0Y2hf
Z2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKTsKKyAg
ICAgICAgZGlzcGF0Y2hfZ3JvdXBfdCBncm91cCA9IGRpc3BhdGNoX2dyb3VwX2NyZWF0ZSgpOwog
CiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbV9udW1iZXJPZkpvYnMgLSAxOyArK2kpIHsK
LSAgICAgICAgICAgIGRpc3BhdGNoX2FzeW5jKHBhcmFsbGVsSm9ic1F1ZXVlLCBeeygqbV90aHJl
YWRGdW5jdGlvbikocGFyYW1ldGVycyk7fSk7CisgICAgICAgICAgICBkaXNwYXRjaF9ncm91cF9h
c3luYyhncm91cCwgZ2xvYmFsUXVldWUsIF57KCptX3RocmVhZEZ1bmN0aW9uKShwYXJhbWV0ZXJz
KTt9KTsKICAgICAgICAgICAgIHBhcmFtZXRlcnMgKz0gbV9zaXplT2ZQYXJhbWV0ZXI7CiAgICAg
ICAgIH0KIAotICAgICAgICAvLyBUaGUgd29yayBmb3IgdGhlIG1haW4gdGhyZWFkLiBXYWl0IHVu
dGlsIGFsbCBqb2JzIGFyZSBkb25lLgotICAgICAgICBkaXNwYXRjaF9zeW5jKHBhcmFsbGVsSm9i
c1F1ZXVlLCBeeygqbV90aHJlYWRGdW5jdGlvbikocGFyYW1ldGVycyk7fSk7CisgICAgICAgIC8v
IFdvcmsgZm9yIHRoZSBtYWluIHRocmVhZC4KKyAgICAgICAgKCptX3RocmVhZEZ1bmN0aW9uKShw
YXJhbWV0ZXJzKTsKKworICAgICAgICAvLyBXYWl0IHVudGlsIGFsbCBqb2JzIGFyZSBkb25lLgor
ICAgICAgICBkaXNwYXRjaF9ncm91cF93YWl0KGdyb3VwLCBESVNQQVRDSF9USU1FX0ZPUkVWRVIp
OwogICAgIH0KIAogcHJpdmF0ZToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105145</attachid>
            <date>2011-08-25 01:45:55 -0700</date>
            <delta_ts>2011-09-08 03:09:34 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>0001-par_jobs_tmp.patch</filename>
            <type>text/plain</type>
            <size>3068</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">RnJvbSBjZjcyNTJhZDdkYmY0NmQwNTY4ZDYyOTYwNmQwOTk3OTE2MDViNDM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCYWxhenMgS2VsZW1lbiA8a2JhbGF6c0B3ZWJraXQub3JnPgpE
YXRlOiBNb24sIDIyIEF1ZyAyMDExIDE0OjM5OjI1ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gcGFy
X2pvYnNfdG1wCgotLS0KIC4uLi9KYXZhU2NyaXB0Q29yZS93dGYvUGFyYWxsZWxKb2JzTGliZGlz
cGF0Y2guaCAgIHwgICAyOCArKysrKy0tLS0tLS0tLS0tLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmggICAgICAgICAgICAgICB8ICAgIDIgKwogMiBmaWxlcyBjaGFuZ2Vk
LCAxMCBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1BhcmFsbGVsSm9ic0xpYmRpc3BhdGNoLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1BhcmFsbGVsSm9ic0xpYmRpc3BhdGNoLmgKaW5kZXggNjg3Yzc3MS4u
Y2E3ZDlhNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXJhbGxlbEpv
YnNMaWJkaXNwYXRjaC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFyYWxsZWxK
b2JzTGliZGlzcGF0Y2guaApAQCAtMzQsMjMgKzM0LDE4IEBACiAKIG5hbWVzcGFjZSBXVEYgewog
Ci1zdGF0aWMgY29uc3QgaW50IG1heFBhcmFsbGVsVGhyZWFkcyA9IDI7Ci0KIGNsYXNzIFBhcmFs
bGVsRW52aXJvbm1lbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHR5cGVkZWYgdm9pZCAoKlRocmVhZEZ1bmN0aW9uKSh2b2lkKik7CiAKLSAgICBQYXJhbGxl
bEVudmlyb25tZW50KFRocmVhZEZ1bmN0aW9uIHRocmVhZEZ1bmN0aW9uLCBzaXplX3Qgc2l6ZU9m
UGFyYW1ldGVyLCBpbnQgcmVxdWVzdGVkSm9iTnVtYmVyKSA6Ci0gICAgICAgIG1fdGhyZWFkRnVu
Y3Rpb24odGhyZWFkRnVuY3Rpb24pLAotICAgICAgICBtX3NpemVPZlBhcmFtZXRlcihzaXplT2ZQ
YXJhbWV0ZXIpCisgICAgUGFyYWxsZWxFbnZpcm9ubWVudChUaHJlYWRGdW5jdGlvbiB0aHJlYWRG
dW5jdGlvbiwgc2l6ZV90IHNpemVPZlBhcmFtZXRlciwgaW50IHJlcXVlc3RlZEpvYk51bWJlcikK
KyAgICAgICAgOiBtX3RocmVhZEZ1bmN0aW9uKHRocmVhZEZ1bmN0aW9uKQorICAgICAgICAsIG1f
c2l6ZU9mUGFyYW1ldGVyKHNpemVPZlBhcmFtZXRlcikKKyAgICAgICAgLCBtX251bWJlck9mSm9i
cyhyZXF1ZXN0ZWRKb2JOdW1iZXIpCiAgICAgewotICAgICAgICBpZiAoIXJlcXVlc3RlZEpvYk51
bWJlciB8fCByZXF1ZXN0ZWRKb2JOdW1iZXIgPiBtYXhQYXJhbGxlbFRocmVhZHMpCi0gICAgICAg
ICAgICByZXF1ZXN0ZWRKb2JOdW1iZXIgPSBtYXhQYXJhbGxlbFRocmVhZHM7Ci0KLSAgICAgICAg
QVNTRVJUKHJlcXVlc3RlZEpvYk51bWJlciA+IDApOwotCi0gICAgICAgIG1fbnVtYmVyT2ZKb2Jz
ID0gcmVxdWVzdGVkSm9iTnVtYmVyOworICAgICAgICAvLyBXZSBnbyB3aXRoIHRoZSByZXF1ZXN0
ZWQgbnVtYmVyIG9mIGpvYnMuIGxpYmRpc3BhdGNoIHdpbGwgZGlzdHJpYnV0ZSB0aGUgd29yayBv
cHRpbWFsbHkuCisgICAgICAgIEFTU0VSVF9BUkcocmVxdWVzdGVkSm9iTnVtYmVyLCByZXF1ZXN0
ZWRKb2JOdW1iZXIgPiAwKTsKICAgICB9CiAKICAgICBpbnQgbnVtYmVyT2ZKb2JzKCkKQEAgLTYw
LDE2ICs1NSw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZXhlY3V0ZSh1bnNpZ25lZCBjaGFyKiBw
YXJhbWV0ZXJzKQogICAgIHsKLSAgICAgICAgLy8gbGliZGlzcGF0Y2ggaXMgTk9UIHN1cHBvcnRl
ZCBpbnNpZGUgYSB0ZW1wbGF0ZQotICAgICAgICBkaXNwYXRjaF9xdWV1ZV90IHBhcmFsbGVsSm9i
c1F1ZXVlID0gZGlzcGF0Y2hfcXVldWVfY3JlYXRlKCJQYXJhbGxlbEpvYnMiLCAwKTsKLQotICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1fbnVtYmVyT2ZKb2JzIC0gMTsgKytpKSB7Ci0gICAg
ICAgICAgICBkaXNwYXRjaF9hc3luYyhwYXJhbGxlbEpvYnNRdWV1ZSwgXnsoKm1fdGhyZWFkRnVu
Y3Rpb24pKHBhcmFtZXRlcnMpO30pOwotICAgICAgICAgICAgcGFyYW1ldGVycyArPSBtX3NpemVP
ZlBhcmFtZXRlcjsKLSAgICAgICAgfQorICAgICAgICBzdGF0aWMgZGlzcGF0Y2hfcXVldWVfdCBn
bG9iYWxRdWV1ZSA9IGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJ
T1JJVFlfREVGQVVMVCwgMCk7CiAKLSAgICAgICAgLy8gVGhlIHdvcmsgZm9yIHRoZSBtYWluIHRo
cmVhZC4gV2FpdCB1bnRpbCBhbGwgam9icyBhcmUgZG9uZS4KLSAgICAgICAgZGlzcGF0Y2hfc3lu
YyhwYXJhbGxlbEpvYnNRdWV1ZSwgXnsoKm1fdGhyZWFkRnVuY3Rpb24pKHBhcmFtZXRlcnMpO30p
OworICAgICAgICBkaXNwYXRjaF9hcHBseShtX251bWJlck9mSm9icywgZ2xvYmFsUXVldWUsIF4o
c2l6ZV90IGkpIHsgKCptX3RocmVhZEZ1bmN0aW9uKShwYXJhbWV0ZXJzICsgKG1fc2l6ZU9mUGFy
YW1ldGVyICogaSkpOyB9KTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L1BsYXRmb3JtLmgKaW5kZXggZjUwMTEzMy4uY2Q3MTYwNCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaApAQCAtMTEzMiw2ICsxMTMyLDggQEAKICNkZWZpbmUgRU5BQkxFX1RIUkVB
RElOR19PUEVOTVAgMQogI2VuZGlmCiAKKyNkZWZpbmUgRU5BQkxFX1RIUkVBRElOR19MSUJESVNQ
QVRDSCAxCisKICNpZiAhZGVmaW5lZChFTkFCTEVfUEFSQUxMRUxfSk9CUykgJiYgIUVOQUJMRShT
SU5HTEVfVEhSRUFERUQpICYmIChFTkFCTEUoVEhSRUFESU5HX0dFTkVSSUMpIHx8IEVOQUJMRShU
SFJFQURJTkdfTElCRElTUEFUQ0gpIHx8IEVOQUJMRShUSFJFQURJTkdfT1BFTk1QKSkKICNkZWZp
bmUgRU5BQkxFX1BBUkFMTEVMX0pPQlMgMQogI2VuZGlmCi0tIAoxLjcuNS40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106718</attachid>
            <date>2011-09-08 03:09:43 -0700</date>
            <delta_ts>2011-10-03 06:07:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66378-20110908120831.patch</filename>
            <type>text/plain</type>
            <size>3531</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2NDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJi
Y2I2MGMxN2MzMTllMzBhZjM3NDgxMmQzODU3YzAzNWJiYWI3ZTguLjY3NjExZmY0NDE3MGRhM2Fl
ZmRiZjM0NzQ1OTcyNDdmN2Q1YmM2NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIzIEBACisyMDExLTA5LTA4ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9y
Zz4KKworICAgICAgICBsaWJkaXNwYXRjaCBiYXNlZCBQYXJhbGxlbEpvYnMgaXMgbm90IGVub3Vn
aCBwYXJhbGxlbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjYzNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBVc2UgdGhlIGFwcHJvcHJpYXRlIGxpYmRpc3BhdGNoIEFQSSBmb3Igb3VyIHVzZSBjYXNlLgor
ICAgICAgICBUaHJvdyBhd2F5IHRoZSBoYXJkIGNvZGVkIGxpbWl0IG9mIHBhcmFsbGVsIHRocmVh
ZHMKKyAgICAgICAgYW5kIHVzZSBkaXNwYXRjaF9hcHBseSB3aXRoIHRoZSBkZWZhdWx0IHByaW9y
aXR5IG5vcm1hbAorICAgICAgICBxdWV1ZSBpc3RlYWQgb2YgdXNpbmcgb3VyIG93biBjdXN0b20g
c2VyaWFsIHF1ZXVlICh3aGljaAorICAgICAgICB3YXMgYSBtaXN1c2FnZSBvZiB0aGUgQVBJKS4g
RW5hYmxpbmcgUEFSQUxMRUxfSk9CUyBpcyBub3cKKyAgICAgICAgYSA2MCUgd2luICgyLjYzeCBh
cyBmYXN0KSBvbiB0aGUgbWV0aGFub2wgYmVuY2htYXJrCisgICAgICAgIChodHRwczovL2dpdG9y
aW91cy5vcmcvbWV0aGFub2wpIHdpdGggYW4gU1ZHIGNlbnRyaWMgdGVzdCBzZXQKKyAgICAgICAg
d2hpbGUgdGhlIG9sZCBpbXBsZW1lbnRhdGlvbiB3YXMgYWxtb3N0IGlkZW50aWNhbCAobGVzcyB0
aGFuIDUlIHdpbikuCisKKyAgICAgICAgKiB3dGYvUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaDoK
KyAgICAgICAgKFdURjo6UGFyYWxsZWxFbnZpcm9ubWVudDo6UGFyYWxsZWxFbnZpcm9ubWVudCk6
CisgICAgICAgIChXVEY6OlBhcmFsbGVsRW52aXJvbm1lbnQ6OmV4ZWN1dGUpOgorCiAyMDExLTA5
LTA3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByOTQ2MjcgYW5kIHI5NDYzMi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaAppbmRleCA2
ODdjNzcxYjY0ZjA3ZDczYzRiYWNmNjc3ZmM1ZTdiYjQwMmI3Y2FmLi5jYTdkOWE0ZTg5NTBkMjgy
NjljYWNkYzYzYzU0NmVjMTgzYzYwZGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BhcmFsbGVsSm9ic0xpYmRpc3BhdGNoLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9QYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oCkBAIC0zNCwyMyArMzQsMTggQEAKIAog
bmFtZXNwYWNlIFdURiB7CiAKLXN0YXRpYyBjb25zdCBpbnQgbWF4UGFyYWxsZWxUaHJlYWRzID0g
MjsKLQogY2xhc3MgUGFyYWxsZWxFbnZpcm9ubWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiB2b2lkICgqVGhyZWFkRnVuY3Rpb24pKHZvaWQq
KTsKIAotICAgIFBhcmFsbGVsRW52aXJvbm1lbnQoVGhyZWFkRnVuY3Rpb24gdGhyZWFkRnVuY3Rp
b24sIHNpemVfdCBzaXplT2ZQYXJhbWV0ZXIsIGludCByZXF1ZXN0ZWRKb2JOdW1iZXIpIDoKLSAg
ICAgICAgbV90aHJlYWRGdW5jdGlvbih0aHJlYWRGdW5jdGlvbiksCi0gICAgICAgIG1fc2l6ZU9m
UGFyYW1ldGVyKHNpemVPZlBhcmFtZXRlcikKKyAgICBQYXJhbGxlbEVudmlyb25tZW50KFRocmVh
ZEZ1bmN0aW9uIHRocmVhZEZ1bmN0aW9uLCBzaXplX3Qgc2l6ZU9mUGFyYW1ldGVyLCBpbnQgcmVx
dWVzdGVkSm9iTnVtYmVyKQorICAgICAgICA6IG1fdGhyZWFkRnVuY3Rpb24odGhyZWFkRnVuY3Rp
b24pCisgICAgICAgICwgbV9zaXplT2ZQYXJhbWV0ZXIoc2l6ZU9mUGFyYW1ldGVyKQorICAgICAg
ICAsIG1fbnVtYmVyT2ZKb2JzKHJlcXVlc3RlZEpvYk51bWJlcikKICAgICB7Ci0gICAgICAgIGlm
ICghcmVxdWVzdGVkSm9iTnVtYmVyIHx8IHJlcXVlc3RlZEpvYk51bWJlciA+IG1heFBhcmFsbGVs
VGhyZWFkcykKLSAgICAgICAgICAgIHJlcXVlc3RlZEpvYk51bWJlciA9IG1heFBhcmFsbGVsVGhy
ZWFkczsKLQotICAgICAgICBBU1NFUlQocmVxdWVzdGVkSm9iTnVtYmVyID4gMCk7Ci0KLSAgICAg
ICAgbV9udW1iZXJPZkpvYnMgPSByZXF1ZXN0ZWRKb2JOdW1iZXI7CisgICAgICAgIC8vIFdlIGdv
IHdpdGggdGhlIHJlcXVlc3RlZCBudW1iZXIgb2Ygam9icy4gbGliZGlzcGF0Y2ggd2lsbCBkaXN0
cmlidXRlIHRoZSB3b3JrIG9wdGltYWxseS4KKyAgICAgICAgQVNTRVJUX0FSRyhyZXF1ZXN0ZWRK
b2JOdW1iZXIsIHJlcXVlc3RlZEpvYk51bWJlciA+IDApOwogICAgIH0KIAogICAgIGludCBudW1i
ZXJPZkpvYnMoKQpAQCAtNjAsMTYgKzU1LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBleGVjdXRl
KHVuc2lnbmVkIGNoYXIqIHBhcmFtZXRlcnMpCiAgICAgewotICAgICAgICAvLyBsaWJkaXNwYXRj
aCBpcyBOT1Qgc3VwcG9ydGVkIGluc2lkZSBhIHRlbXBsYXRlCi0gICAgICAgIGRpc3BhdGNoX3F1
ZXVlX3QgcGFyYWxsZWxKb2JzUXVldWUgPSBkaXNwYXRjaF9xdWV1ZV9jcmVhdGUoIlBhcmFsbGVs
Sm9icyIsIDApOwotCi0gICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbV9udW1iZXJPZkpvYnMg
LSAxOyArK2kpIHsKLSAgICAgICAgICAgIGRpc3BhdGNoX2FzeW5jKHBhcmFsbGVsSm9ic1F1ZXVl
LCBeeygqbV90aHJlYWRGdW5jdGlvbikocGFyYW1ldGVycyk7fSk7Ci0gICAgICAgICAgICBwYXJh
bWV0ZXJzICs9IG1fc2l6ZU9mUGFyYW1ldGVyOwotICAgICAgICB9CisgICAgICAgIHN0YXRpYyBk
aXNwYXRjaF9xdWV1ZV90IGdsb2JhbFF1ZXVlID0gZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShE
SVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKTsKIAotICAgICAgICAvLyBUaGUgd29y
ayBmb3IgdGhlIG1haW4gdGhyZWFkLiBXYWl0IHVudGlsIGFsbCBqb2JzIGFyZSBkb25lLgotICAg
ICAgICBkaXNwYXRjaF9zeW5jKHBhcmFsbGVsSm9ic1F1ZXVlLCBeeygqbV90aHJlYWRGdW5jdGlv
bikocGFyYW1ldGVycyk7fSk7CisgICAgICAgIGRpc3BhdGNoX2FwcGx5KG1fbnVtYmVyT2ZKb2Jz
LCBnbG9iYWxRdWV1ZSwgXihzaXplX3QgaSkgeyAoKm1fdGhyZWFkRnVuY3Rpb24pKHBhcmFtZXRl
cnMgKyAobV9zaXplT2ZQYXJhbWV0ZXIgKiBpKSk7IH0pOwogICAgIH0KIAogcHJpdmF0ZToK
</data>

          </attachment>
      

    </bug>

</bugzilla>