<?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>69589</bug_id>
          
          <creation_ts>2011-10-06 18:22:02 -0700</creation_ts>
          <short_desc>[chromium] Let rule_binding use os.execvp() instead of subprocess.call() to spawn fewer processes.</short_desc>
          <delta_ts>2011-10-11 17:40:21 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</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>
          <dependson>69626</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nico Weber">thakis</reporter>
          <assigned_to name="Nico Weber">thakis</assigned_to>
          <cc>eric</cc>
    
    <cc>loislo</cc>
    
    <cc>podivilov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>479690</commentid>
    <comment_count>0</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-06 18:22:02 -0700</bug_when>
    <thetext>[chromium] Let rule_binding use os.execvp() instead of subprocess.call() to spawn fewer processes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479694</commentid>
    <comment_count>1</comment_count>
      <attachid>110073</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-06 18:25:07 -0700</bug_when>
    <thetext>Created attachment 110073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479739</commentid>
    <comment_count>2</comment_count>
      <attachid>110073</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-06 19:42:38 -0700</bug_when>
    <thetext>Comment on attachment 110073
Patch

Clearing flags on attachment: 110073

Committed r96892: &lt;http://trac.webkit.org/changeset/96892&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479740</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-06 19:42:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480048</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-10-07 08:57:56 -0700</bug_when>
    <thetext>Broke chromium win build.

rule_binding.py passes *.idl file as last argument to generate-bindings.pl, however generate-bindings.pl expects *.idl file to be first argument. This all look very mysterious, and I have no idea how did it work before, but it stopped to work with subprocess on windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480050</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-10-07 08:59:15 -0700</bug_when>
    <thetext>s/with subprocess/without subprocess/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480062</commentid>
    <comment_count>6</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-07 09:20:07 -0700</bug_when>
    <thetext>Do you have error logs anywhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480107</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-10-07 10:23:06 -0700</bug_when>
    <thetext>http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20%28dbg%29%281%29/builds/7136/steps/compile/logs/stdio

Can&apos;t call method &quot;fileName&quot; without a package or object reference at ../bindings/scripts/IDLParser.pm line 102.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480117</commentid>
    <comment_count>8</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-10-07 10:40:02 -0700</bug_when>
    <thetext>Not sure if it is related, but you call os.execvp(&apos;perl&apos;, command) where command is [&apos;perl&apos;, &apos;-w&apos;, ...].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480119</commentid>
    <comment_count>9</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-07 10:42:04 -0700</bug_when>
    <thetext>That&apos;s how exec works, argv[0] is the command name. I&apos;ll try to find a windows box and debug, thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480166</commentid>
    <comment_count>10</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-10-07 11:37:54 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Do you have error logs anywhere?

good version of rule_binding.py (subprocess.call) is passing 36 arguments
bad version (os.execvp) is passing 111 arguments 
the difference is in the list of defines. execvp is splitting single long list of defines into separate arguments.

-----------
1&gt;  --defines
1&gt;  ENABLE_3D_PLUGIN=1 ENABLE_BLOB=1 ENABLE_BLOB_SLICE=1 ENABLE_CHANNEL_MESSAGING=1 ENABLE_CLIENT_BASED_GEOLOCATION=1 ENABLE_DASHBOARD_SUPPORT=0 ENABLE_DATA_TRANSFER_ITEMS=1 ENABLE_DETAILS=1 ENABLE_DEVICE_ORIENTATION=1 ENABLE_DIRECTORY_UPLOAD=1 ENABLE_DOM_STORAGE=1 ENABLE_DOWNLOAD_ATTRIBUTE=1 ENABLE_FILE_SYSTEM=1 ENABLE_FILTERS=1 ENABLE_FULLSCREEN_API=1 ENABLE_GAMEPAD=1 ENABLE_GEOLOCATION=1 ENABLE_GESTURE_EVENTS=1 ENABLE_GESTURE_RECOGNIZER=1 ENABLE_ICONDATABASE=0 ENABLE_INDEXED_DATABASE=1 ENABLE_INPUT_SPEECH=1 ENABLE_INPUT_TYPE_COLOR=0 ENABLE_INPUT_TYPE_DATE=0 ENABLE_INPUT_TYPE_DATETIME=0 ENABLE_INPUT_TYPE_DATETIMELOCAL=0 ENABLE_INPUT_TYPE_MONTH=0 ENABLE_INPUT_TYPE_TIME=0 ENABLE_INPUT_TYPE_WEEK=0 ENABLE_JAVASCRIPT_DEBUGGER=1 ENABLE_JAVASCRIPT_I18N_API=1 ENABLE_LINK_PREFETCH=1 ENABLE_MEDIA_STATISTICS=1 ENABLE_MEDIA_STREAM=1 ENABLE_METER_TAG=1 ENABLE_MHTML=1 ENABLE_MUTATION_OBSERVERS=0 ENABLE_NOTIFICATIONS=1 ENABLE_ORIENTATION_EVENTS=0 ENABLE_PAGE_VISIBILITY_API=1 ENABLE_PROGRESS_TAG=1 ENABLE_QUOTA=1 ENABLE_REQUEST_ANIMATION_FRAME=1 ENABLE_RUBY=1 ENABLE_SANDBOX=1 ENABLE_SHARED_WORKERS=1 ENABLE_SKIA_GPU=0 ENABLE_SMOOTH_SCROLLING=1 ENABLE_SQL_DATABASE=1 ENABLE_SVG=1 ENABLE_SVG_FONTS=1 ENABLE_TOUCH_EVENTS=1 ENABLE_TOUCH_ICON_LOADING=0 ENABLE_V8_SCRIPT_DEBUG_SERVER=1 ENABLE_VIDEO=1 ENABLE_VIDEO_TRACK=1 ENABLE_WEBGL=1 ENABLE_WEB_SOCKETS=1 ENABLE_WEB_TIMING=1 ENABLE_WORKERS=1 ENABLE_XHR_RESPONSE_BLOB=1 ENABLE_XPATH=1 ENABLE_XSLT=1 WTF_USE_LEVELDB=1 WTF_USE_BUILTIN_UTF8_CODEC=1 WTF_USE_OPENTYPE_SANITIZER=1 WTF_USE_WEBP=1 WTF_USE_WEBKIT_IMAGE_DECODERS=1 ENABLE_WEB_AUDIO=1 WTF_USE_ACCELERATED_COMPOSITING=1 ENABLE_3D_RENDERING=1 ENABLE_ACCELERATED_2D_CANVAS=1 WTF_USE_WEBAUDIO_FFMPEG=1 ENABLE_REGISTER_PROTOCOL_HANDLER=1 LANGUAGE_JAVASCRIPT V8_BINDING
1&gt;  --generator
1&gt;  V8
1&gt;  --inclus
1&gt;  --include
1&gt;  ../dom
1&gt;  --include
1&gt;  ../fileapi
1&gt;  --include
1&gt;  ../html
1&gt;  --include
1&gt;  ../notifications
1&gt;  --include
1&gt;  ../page
1&gt;  --include
1&gt;  ../plugins
1&gt;  --include
1&gt;  ../storage
1&gt;  --include
1&gt;  ../svg
1&gt;  --include
1&gt;  ../testing
1&gt;  --include
1&gt;  ../webaudio
1&gt;  --include
1&gt;  ../websockets
1&gt;  --include
1&gt;  ../workers
1&gt;  --include
1&gt;  ../xml
1&gt;  --outputHeadersDir
1&gt;  E:/src/chromium/src/build/Release//obj/global_intermediate/webkit/bindings
1&gt;  --outputDir
1&gt;  E:/src/chromium/src/build/Release//obj/global_intermediate/webcore/bindings
1&gt;  ..\html\HTMLTitleElement.idl
----------</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480190</commentid>
    <comment_count>11</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-10-07 12:02:49 -0700</bug_when>
    <thetext>the bad version

before #ARGS=111
-------------
1&gt;  --defines
1&gt;  ENABLE_3D_PLUGIN=1
1&gt;  ENABLE_BLOB=1
1&gt;  ENABLE_BLOB_SLICE=1
1&gt;  ENABLE_CHANNEL_MESSAGING=1
1&gt;  ENABLE_CLIENT_BASED_GEOLOCATION=1
1&gt;  ENABLE_DASHBOARD_SUPPORT=0
1&gt;  ENABLE_DATA_TRANSFER_ITEMS=1
1&gt;  ENABLE_DETAILS=1
1&gt;  ENABLE_DEVICE_ORIENTATION=1
1&gt;  ENABLE_DIRECTORY_UPLOAD=1
1&gt;  ENABLE_DOM_STORAGE=1
1&gt;  ENABLE_DOWNLOAD_ATTRIBUTE=1
1&gt;  ENABLE_FILE_SYSTEM=1
1&gt;  ENABLE_FILTERS=1
1&gt;  ENABLE_FULLSCREEN_API=1
1&gt;  ENABLE_GAMEPAD=1
1&gt;  ENABLE_GEOLOCATION=1
1&gt;  ENABLE_GESTURE_EVENTS=1
1&gt;  ENABLE_GESTURE_RECOGNIZER=1
1&gt;  ENABLE_ICONDATABASE=0
1&gt;  ENABLE_INDEXED_DATABASE=1
1&gt;  ENABLE_INPUT_SPEECH=1
1&gt;  ENABLE_INPUT_TYPE_COLOR=0
1&gt;  ENABLE_INPUT_TYPE_DATE=0
1&gt;  ENABLE_INPUT_TYPE_DATETIME=0
1&gt;  ENABLE_INPUT_TYPE_DATETIMELOCAL=0
1&gt;  ENABLE_INPUT_TYPE_MONTH=0
1&gt;  ENABLE_INPUT_TYPE_TIME=0
1&gt;  ENABLE_INPUT_TYPE_WEEK=0
1&gt;  ENABLE_JAVASCRIPT_DEBUGGER=1
1&gt;  ENABLE_JAVASCRIPT_I18N_API=1
1&gt;  ENABLE_LINK_PREFETCH=1
1&gt;  ENABLE_MEDIA_STATISTICS=1
1&gt;  ENABLE_MEDIA_STREAM=1
1&gt;  ENABLE_METER_TAG=1
1&gt;  ENABLE_MHTML=1
1&gt;  ENABLE_MUTATION_OBSERVERS=0
1&gt;  ENABLE_NOTIFICATIONS=1
1&gt;  ENABLE_ORIENTATION_EVENTS=0
1&gt;  ENABLE_PAGE_VISIBILITY_API=1
1&gt;  ENABLE_PROGRESS_TAG=1
1&gt;  ENABLE_QUOTA=1
1&gt;  ENABLE_REQUEST_ANIMATION_FRAME=1
1&gt;  ENABLE_RUBY=1
1&gt;  ENABLE_SANDBOX=1
1&gt;  ENABLE_SHARED_WORKERS=1
1&gt;  ENABLE_SKIA_GPU=0
1&gt;  ENABLE_SMOOTH_SCROLLING=1
1&gt;  ENABLE_SQL_DATABASE=1
1&gt;  ENABLE_SVG=1
1&gt;  ENABLE_SVG_FONTS=1
1&gt;  ENABLE_TOUCH_EVENTS=1
1&gt;  ENABLE_TOUCH_ICON_LOADING=0
1&gt;  ENABLE_V8_SCRIPT_DEBUG_SERVER=1
1&gt;  ENABLE_VIDEO=1
1&gt;  ENABLE_VIDEO_TRACK=1
1&gt;  ENABLE_WEBGL=1
1&gt;  ENABLE_WEB_SOCKETS=1
1&gt;  ENABLE_WEB_TIMING=1
1&gt;  ENABLE_WORKERS=1
1&gt;  ENABLE_XHR_RESPONSE_BLOB=1
1&gt;  ENABLE_XPATH=1
1&gt;  ENABLE_XSLT=1
1&gt;  WTF_USE_LEVELDB=1
1&gt;  WTF_USE_BUILTIN_UTF8_CODEC=1
1&gt;  WTF_USE_OPENTYPE_SANITIZER=1
1&gt;  WTF_USE_WEBP=1
1&gt;  WTF_USE_WEBKIT_IMAGE_DECODERS=1
1&gt;  ENABLE_WEB_AUDIO=1
1&gt;  WTF_USE_ACCELERATED_COMPOSITING=1
1&gt;  ENABLE_3D_RENDERING=1
1&gt;  ENABLE_ACCELERATED_2D_CANVAS=1
1&gt;  WTF_USE_WEBAUDIO_FFMPEG=1
1&gt;  ENABLE_REGISTER_PROTOCOL_HANDLER=1
1&gt;  LANGUAGE_JAVASCRIPT
1&gt;  V8_BINDING
1&gt;  --generator
1&gt;  V8
1&gt;  --include
1&gt;  ../css
1&gt;  --include
1&gt;  ../dom
1&gt;  --include
1&gt;  ../fileapi
1&gt;  --include
1&gt;  ../html
1&gt;  --include
1&gt;  ../notifications
1&gt;  --include
1&gt;  ../page
1&gt;  --include
1&gt;  ../plugins
1&gt;  --include
1&gt;  ../storage
1&gt;  --include
1&gt;  ../svg
1&gt;  --include
1&gt;  ../testing
1&gt;  --include
1&gt;  ../webaudio
1&gt;  --include
1&gt;  ../websockets
1&gt;  --include
1&gt;  ../workers
1&gt;  --include
1&gt;  ../xml
1&gt;  --outputHeadersDir
1&gt;  E:/src/chromium/src/build/Release//obj/global_intermediate/webkit/bindings
1&gt;  --outputDir
1&gt;  E:/src/chromium/src/build/Release//obj/global_intermediate/webcore/bindings
1&gt; ..\css\RGBColor.idl


after calling GetOptions almost all the arguments still in the list
------------------------
1&gt;  after ENABLE_BLOB=1 ENABLE_BLOB_SLICE=1 ENABLE_CHANNEL_MESSAGING=1 ENABLE_CLIENT_BASED_GEOLOCATION=1 ENABLE_DASHBOARD_SUPPORT=0 ENABLE_DATA_TRANSFER_ITEMS=1 ENABLE_DETAILS=1 ENABLE_DEVICE_ORIENTATION=1 ENABLE_DIRECTORY_UPLOAD=1 ENABLE_DOM_STORAGE=1 ENABLE_DOWNLOAD_ATTRIBUTE=1 ENABLE_FILE_SYSTEM=1 ENABLE_FILTERS=1 ENABLE_FULLSCREEN_API=1 ENABLE_GAMEPAD=1 ENABLE_GEOLOCATION=1 ENABLE_GESTURE_EVENTS=1 ENABLE_GESTURE_RECOGNIZER=1 ENABLE_ICONDATABASE=0 ENABLE_INDEXED_DATABASE=1 ENABLE_INPUT_SPEECH=1 ENABLE_INPUT_TYPE_COLOR=0 ENABLE_INPUT_TYPE_DATE=0 ENABLE_INPUT_TYPE_DATETIME=0 ENABLE_INPUT_TYPE_DATETIMELOCAL=0 ENABLE_INPUT_TYPE_MONTH=0 ENABLE_INPUT_TYPE_TIME=0 ENABLE_INPUT_TYPE_WEEK=0 ENABLE_JAVASCRIPT_DEBUGGER=1 ENABLE_JAVASCRIPT_I18N_API=1 ENABLE_LINK_PREFETCH=1 ENABLE_MEDIA_STATISTICS=1 ENABLE_MEDIA_STREAM=1 ENABLE_METER_TAG=1 ENABLE_MHTML=1 ENABLE_MUTATION_OBSERVERS=0 ENABLE_NOTIFICATIONS=1 ENABLE_ORIENTATION_EVENTS=0 ENABLE_PAGE_VISIBILITY_API=1 ENABLE_PROGRESS_TAG=1 ENABLE_QUOTA=1 ENABLE_REQUEST_ANIMATION_FRAME=1 ENABLE_RUBY=1 ENABLE_SANDBOX=1 ENABLE_SHARED_WORKERS=1 ENABLE_SKIA_GPU=0 ENABLE_SMOOTH_SCROLLING=1 ENABLE_SQL_DATABASE=1 ENABLE_SVG=1 ENABLE_SVG_FONTS=1 ENABLE_TOUCH_EVENTS=1 ENABLE_TOUCH_ICON_LOADING=0 ENABLE_V8_SCRIPT_DEBUG_SERVER=1 ENABLE_VIDEO=1 ENABLE_VIDEO_TRACK=1 ENABLE_WEBGL=1 ENABLE_WEB_SOCKETS=1 ENABLE_WEB_TIMING=1 ENABLE_WORKERS=1 ENABLE_XHR_RESPONSE_BLOB=1 ENABLE_XPATH=1 ENABLE_XSLT=1 WTF_USE_LEVELDB=1 WTF_USE_BUILTIN_UTF8_CODEC=1 WTF_USE_OPENTYPE_SANITIZER=1 WTF_USE_WEBP=1 WTF_USE_WEBKIT_IMAGE_DECODERS=1 ENABLE_WEB_AUDIO=1 WTF_USE_ACCELERATED_COMPOSITING=1 ENABLE_3D_RENDERING=1 ENABLE_ACCELERATED_2D_CANVAS=1 WTF_USE_WEBAUDIO_FFMPEG=1 ENABLE_REGISTER_PROTOCOL_HANDLER=1 LANGUAGE_JAVASCRIPT V8_BINDING ..\css\RGBColor.idl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482022</commentid>
    <comment_count>12</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 16:35:35 -0700</bug_when>
    <thetext>When running python on windows (not under cygwin), os.execv doesn&apos;t preserve spaces:

test.py is this: &quot;&quot;&quot;
#!/usr/bin/python
import sys
print sys.argv
&quot;&quot;&quot;

Called through execv:

&gt;&gt;&gt; os.execv(&apos;python&apos;, [&apos;python&apos;, &apos;test.py&apos;, &apos;a&apos;, &apos;b c&apos;])                       
                                                                                
[&apos;test.py&apos;, &apos;a&apos;, &apos;b&apos;, &apos;c&apos;]

subprocess mentions that it correctly does quoting for this: http://docs.python.org/library/subprocess.html#converting-argument-sequence

execv() doesn&apos;t do this. Let&apos;s just use subprocess on win32 as a workaround.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482030</commentid>
    <comment_count>13</comment_count>
      <attachid>110605</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 16:46:46 -0700</bug_when>
    <thetext>Created attachment 110605
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482032</commentid>
    <comment_count>14</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 16:47:05 -0700</bug_when>
    <thetext>new patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482036</commentid>
    <comment_count>15</comment_count>
      <attachid>110605</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-11 16:49:38 -0700</bug_when>
    <thetext>Comment on attachment 110605
Patch

rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482041</commentid>
    <comment_count>16</comment_count>
      <attachid>110605</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-10-11 16:52:00 -0700</bug_when>
    <thetext>Comment on attachment 110605
Patch

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

&gt; Source/WebCore/WebCore.gyp/scripts/rule_binding.py:132
&gt; +    else:

since os.execvp() doesn&apos;t return, you can delete this else and outdent the following code. You can also delete the trailing else, which is just incorrect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482054</commentid>
    <comment_count>17</comment_count>
      <attachid>110611</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2011-10-11 17:06:51 -0700</bug_when>
    <thetext>Created attachment 110611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482092</commentid>
    <comment_count>18</comment_count>
      <attachid>110611</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-11 17:40:14 -0700</bug_when>
    <thetext>Comment on attachment 110611
Patch

Clearing flags on attachment: 110611

Committed r97204: &lt;http://trac.webkit.org/changeset/97204&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482093</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-11 17:40:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110073</attachid>
            <date>2011-10-06 18:25:07 -0700</date>
            <delta_ts>2011-10-11 16:46:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69589-20111006182506.patch</filename>
            <type>text/plain</type>
            <size>2055</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY4MTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxZDczOTA0ZjEyNTU3NDMx
NzkyNmM0YmRmZmIwZTc4NGFmM2M4NTc1Li5kODI5Y2QyMTdhNWRiMDdmNGU3OTRmNGRlMzBhOTU0
NDIxZmRkZmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMDYgIE5pY28g
V2ViZXIgIDx0aGFraXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTGV0IHJ1
bGVfYmluZGluZyB1c2Ugb3MuZXhlY3ZwKCkgaW5zdGVhZCBvZiBzdWJwcm9jZXNzLmNhbGwoKSB0
byBzcGF3biBmZXdlciBwcm9jZXNzZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdoZW4gYnVpbGRpbmcgd2l0aCBgbWFrZSAtajQwYCwgYWxsIHRoZSBi
aW5kaW5nIHJ1bGVzIGFyZSBidWlsdCBlbiBibG9jLiBTaW5jZSB0aGlzIHNjcmlwdCBjdXJyZW50
bHkKKyAgICAgICAgdXNlcyBzdWJwcm9jZXNzLmNhbGwoKSwgdGhhdCBhY3R1YWxseSBzcGF3bnMg
ODAgcHJvY2Vzc2VzIGF0IG9uY2UuIE9TIFggaGFzIGEgbWF4IHByb2Nlc3MgbGltaXQgb2YKKyAg
ICAgICAgMjU1IGJ5IGRlZmF1bHQsIHNvIHRoZSBidWlsZCB1c2VkIHRvIGZhaWwgd2l0aAorICAg
ICAgICAib3BlbjI6IGZvcmsgZmFpbGVkOiBSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJs
ZSBhdCAuLi9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbSBsaW5lIDYwIgorICAgICAg
ICBBcyBhIGZpeCwgdXNlIGV4ZWN2cCgpIGluc3RlYWQsIHdoaWNoIHJlcGxhY2VzIHRoZSBjdXJy
ZW50IHByb2Nlc3MgaW5zdGVhZCBvZiBzcGF3bmluZyBhIG5ldyBvbmUuCisKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9zY3JpcHRzL3J1bGVfYmluZGluZy5weToKKwogMjAxMS0xMC0wNiAgU2hlcmlm
ZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjk2NzkxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXAvc2NyaXB0cy9ydWxlX2JpbmRpbmcucHkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cC9zY3JpcHRzL3J1bGVfYmluZGluZy5weQppbmRleCA1YTQxODA4MTNkZjMzYzBjMzg5ZjJjODhl
MDkyNTg3MTI3YjQyNGY1Li5mZTNlYmJkYTQ0ZWU5ZDMzYzMyODNiNzA3MGI4NTI5ZjhkNzI2NWRj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL3J1bGVfYmlu
ZGluZy5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL3J1bGVfYmlu
ZGluZy5weQpAQCAtNDksNyArNDksNiBAQCBpbXBvcnQgZXJybm8KIGltcG9ydCBvcwogaW1wb3J0
IHNobGV4CiBpbXBvcnQgc2h1dGlsCi1pbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHN5cwogCiAK
QEAgLTEyNCwxMyArMTIzLDkgQEAgZGVmIG1haW4oYXJncyk6CiAgICAgY29tbWFuZC5leHRlbmQo
WyctLW91dHB1dEhlYWRlcnNEaXInLCBoZGlyXSkKICAgICBjb21tYW5kLmV4dGVuZChbJy0tb3V0
cHV0RGlyJywgY3BwZGlyLCBpbnB1dF0pCiAKLSAgICAjIERvIGl0LiBjaGVja19jYWxsIGlzIG5l
dyBpbiAyLjUsIHNvIHNpbXVsYXRlIGl0cyBiZWhhdmlvciB3aXRoIGNhbGwgYW5kCi0gICAgIyBh
c3NlcnQuCi0gICAgcmV0dXJuQ29kZSA9IHN1YnByb2Nlc3MuY2FsbChjb21tYW5kKQotICAgIGFz
c2VydCByZXR1cm5Db2RlID09IDAKLQotICAgIHJldHVybiByZXR1cm5Db2RlCisgICAgIyBEbyBp
dC4KKyAgICBvcy5leGVjdnAoJ3BlcmwnLCBjb21tYW5kKQogCiAKIGlmIF9fbmFtZV9fID09ICdf
X21haW5fXyc6Ci0gICAgc3lzLmV4aXQobWFpbihzeXMuYXJndikpCisgICAgbWFpbihzeXMuYXJn
dikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110605</attachid>
            <date>2011-10-11 16:46:46 -0700</date>
            <delta_ts>2011-10-11 17:06:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69589-20111011164644.patch</filename>
            <type>text/plain</type>
            <size>2372</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcxOTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlMTY4MmFkODhmYmI3ZDk3
N2FmYWU0MzUwZWY4NjU0ODc4ZGY3ZjNjLi5hNDBjM2EwNTAwMmMzZTI2ZmQ4MGQ0ODkzYzE0NTIw
NDc2OGI0ZTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMTEgIE5pY28g
V2ViZXIgIDx0aGFraXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTGV0IHJ1
bGVfYmluZGluZyB1c2Ugb3MuZXhlY3ZwKCkgaW5zdGVhZCBvZiBzdWJwcm9jZXNzLmNhbGwoKSB0
byBzcGF3biBmZXdlciBwcm9jZXNzZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdoZW4gYnVpbGRpbmcgd2l0aCBgbWFrZSAtajQwYCwgYWxsIHRoZSBi
aW5kaW5nIHJ1bGVzIGFyZSBidWlsdCBlbiBibG9jLiBTaW5jZSB0aGlzIHNjcmlwdCBjdXJyZW50
bHkKKyAgICAgICAgdXNlcyBzdWJwcm9jZXNzLmNhbGwoKSwgdGhhdCBhY3R1YWxseSBzcGF3bnMg
ODAgcHJvY2Vzc2VzIGF0IG9uY2UuIE9TIFggaGFzIGEgbWF4IHByb2Nlc3MgbGltaXQgb2YKKyAg
ICAgICAgMjU1IGJ5IGRlZmF1bHQsIHNvIHRoZSBidWlsZCB1c2VkIHRvIGZhaWwgd2l0aAorICAg
ICAgICAib3BlbjI6IGZvcmsgZmFpbGVkOiBSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJs
ZSBhdCAuLi9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbSBsaW5lIDYwIgorICAgICAg
ICBBcyBhIGZpeCwgdXNlIGV4ZWN2cCgpIGluc3RlYWQsIHdoaWNoIHJlcGxhY2VzIHRoZSBjdXJy
ZW50IHByb2Nlc3MgaW5zdGVhZCBvZiBzcGF3bmluZyBhIG5ldyBvbmUuCisKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9zY3JpcHRzL3J1bGVfYmluZGluZy5weToKKwogMjAxMS0xMC0xMSAgS2VubmV0
aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBDaGVjayBm
b3IgbG9zdCBjb250ZXh0IGF0IGJlZ2lubmluZyBvZiBjb21wb3NpdG9yJ3MgZXhlY3V0aW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL3J1bGVfYmluZGlu
Zy5weSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvcnVsZV9iaW5kaW5nLnB5
CmluZGV4IDVhNDE4MDgxM2RmMzNjMGMzODlmMmM4OGUwOTI1ODcxMjdiNDI0ZjUuLmZjYTlhZmIy
ZTIyMTM3OGVhNDExZGJjY2UwNjBiNzQ0NzA4ZDhlMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvcnVsZV9iaW5kaW5nLnB5CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvcnVsZV9iaW5kaW5nLnB5CkBAIC0xMjQsMTIgKzEyNCwx
OCBAQCBkZWYgbWFpbihhcmdzKToKICAgICBjb21tYW5kLmV4dGVuZChbJy0tb3V0cHV0SGVhZGVy
c0RpcicsIGhkaXJdKQogICAgIGNvbW1hbmQuZXh0ZW5kKFsnLS1vdXRwdXREaXInLCBjcHBkaXIs
IGlucHV0XSkKIAotICAgICMgRG8gaXQuIGNoZWNrX2NhbGwgaXMgbmV3IGluIDIuNSwgc28gc2lt
dWxhdGUgaXRzIGJlaGF2aW9yIHdpdGggY2FsbCBhbmQKLSAgICAjIGFzc2VydC4KLSAgICByZXR1
cm5Db2RlID0gc3VicHJvY2Vzcy5jYWxsKGNvbW1hbmQpCi0gICAgYXNzZXJ0IHJldHVybkNvZGUg
PT0gMAotCi0gICAgcmV0dXJuIHJldHVybkNvZGUKKyAgICAjIERvIGl0LiBVc2Ugb3MuZXhlY3Zw
KCkgdG8gc2F2ZSBhIGNoaWxkIHByb2Nlc3Mgb24gcG9zaXguIE9uIHdpbjMyLAorICAgICMgZXhl
Y3ZwKCkgZG9lcyd0IGRvIHRoZSBlc2NhcGluZyBvZiBzcGFjZXMgdGhhdCBzdWJwcm9jZXNzLmNh
bGwoKSBkb2VzLAorICAgICMgc28gdXNlIHN1YnByb2Nlc3MuY2FsbCgpIG9uIHdpbjMyLgorICAg
IGlmIHN5cy5wbGF0Zm9ybSAhPSAnd2luMzInOgorICAgICAgICBvcy5leGVjdnAoJ3BlcmwnLCBj
b21tYW5kKQorICAgIGVsc2U6CisgICAgICAgICMgY2hlY2tfY2FsbCBpcyBuZXcgaW4gMi41LCBz
byBzaW11bGF0ZSBpdHMgYmVoYXZpb3Igd2l0aCBjYWxsIGFuZAorICAgICAgICAjIGFzc2VydC4K
KyAgICAgICAgcmV0dXJuQ29kZSA9IHN1YnByb2Nlc3MuY2FsbChjb21tYW5kKQorICAgICAgICBh
c3NlcnQgcmV0dXJuQ29kZSA9PSAwCisgICAgICAgIHJldHVybiByZXR1cm5Db2RlCisgICAgZWxz
ZToKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110611</attachid>
            <date>2011-10-11 17:06:51 -0700</date>
            <delta_ts>2011-10-11 17:40:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69589-20111011170650.patch</filename>
            <type>text/plain</type>
            <size>2195</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcxOTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlMTY4MmFkODhmYmI3ZDk3
N2FmYWU0MzUwZWY4NjU0ODc4ZGY3ZjNjLi5hNDBjM2EwNTAwMmMzZTI2ZmQ4MGQ0ODkzYzE0NTIw
NDc2OGI0ZTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTAtMTEgIE5pY28g
V2ViZXIgIDx0aGFraXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTGV0IHJ1
bGVfYmluZGluZyB1c2Ugb3MuZXhlY3ZwKCkgaW5zdGVhZCBvZiBzdWJwcm9jZXNzLmNhbGwoKSB0
byBzcGF3biBmZXdlciBwcm9jZXNzZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdoZW4gYnVpbGRpbmcgd2l0aCBgbWFrZSAtajQwYCwgYWxsIHRoZSBi
aW5kaW5nIHJ1bGVzIGFyZSBidWlsdCBlbiBibG9jLiBTaW5jZSB0aGlzIHNjcmlwdCBjdXJyZW50
bHkKKyAgICAgICAgdXNlcyBzdWJwcm9jZXNzLmNhbGwoKSwgdGhhdCBhY3R1YWxseSBzcGF3bnMg
ODAgcHJvY2Vzc2VzIGF0IG9uY2UuIE9TIFggaGFzIGEgbWF4IHByb2Nlc3MgbGltaXQgb2YKKyAg
ICAgICAgMjU1IGJ5IGRlZmF1bHQsIHNvIHRoZSBidWlsZCB1c2VkIHRvIGZhaWwgd2l0aAorICAg
ICAgICAib3BlbjI6IGZvcmsgZmFpbGVkOiBSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJs
ZSBhdCAuLi9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbSBsaW5lIDYwIgorICAgICAg
ICBBcyBhIGZpeCwgdXNlIGV4ZWN2cCgpIGluc3RlYWQsIHdoaWNoIHJlcGxhY2VzIHRoZSBjdXJy
ZW50IHByb2Nlc3MgaW5zdGVhZCBvZiBzcGF3bmluZyBhIG5ldyBvbmUuCisKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9zY3JpcHRzL3J1bGVfYmluZGluZy5weToKKwogMjAxMS0xMC0xMSAgS2VubmV0
aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBDaGVjayBm
b3IgbG9zdCBjb250ZXh0IGF0IGJlZ2lubmluZyBvZiBjb21wb3NpdG9yJ3MgZXhlY3V0aW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL3J1bGVfYmluZGlu
Zy5weSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvcnVsZV9iaW5kaW5nLnB5
CmluZGV4IDVhNDE4MDgxM2RmMzNjMGMzODlmMmM4OGUwOTI1ODcxMjdiNDI0ZjUuLjY1NTg3NmIx
ODk5NjZiYzJkNTU2NTE4ZWFmMzI1ODhjZmY5ZWY5YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvcnVsZV9iaW5kaW5nLnB5CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvcnVsZV9iaW5kaW5nLnB5CkBAIC0xMjQsOCArMTI0LDEz
IEBAIGRlZiBtYWluKGFyZ3MpOgogICAgIGNvbW1hbmQuZXh0ZW5kKFsnLS1vdXRwdXRIZWFkZXJz
RGlyJywgaGRpcl0pCiAgICAgY29tbWFuZC5leHRlbmQoWyctLW91dHB1dERpcicsIGNwcGRpciwg
aW5wdXRdKQogCi0gICAgIyBEbyBpdC4gY2hlY2tfY2FsbCBpcyBuZXcgaW4gMi41LCBzbyBzaW11
bGF0ZSBpdHMgYmVoYXZpb3Igd2l0aCBjYWxsIGFuZAotICAgICMgYXNzZXJ0LgorICAgICMgRG8g
aXQuIFVzZSBvcy5leGVjdnAoKSB0byBzYXZlIGEgY2hpbGQgcHJvY2VzcyBvbiBwb3NpeC4gT24g
d2luMzIsCisgICAgIyBleGVjdnAoKSBkb2VzJ3QgZG8gdGhlIGVzY2FwaW5nIG9mIHNwYWNlcyB0
aGF0IHN1YnByb2Nlc3MuY2FsbCgpIGRvZXMsCisgICAgIyBzbyB1c2Ugc3VicHJvY2Vzcy5jYWxs
KCkgb24gd2luMzIuCisgICAgaWYgc3lzLnBsYXRmb3JtICE9ICd3aW4zMic6CisgICAgICAgIG9z
LmV4ZWN2cCgncGVybCcsIGNvbW1hbmQpICAjIERvZXMgbm90IHJldHVybi4KKworICAgICMgY2hl
Y2tfY2FsbCBpcyBuZXcgaW4gMi41LCBzbyBzaW11bGF0ZSBpdHMgYmVoYXZpb3Igd2l0aCBjYWxs
IGFuZCBhc3NlcnQuCiAgICAgcmV0dXJuQ29kZSA9IHN1YnByb2Nlc3MuY2FsbChjb21tYW5kKQog
ICAgIGFzc2VydCByZXR1cm5Db2RlID09IDAKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>