<?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>42756</bug_id>
          
          <creation_ts>2010-07-21 08:14:36 -0700</creation_ts>
          <short_desc>JIT requires VM overcommit (particularly on x86-64), Linux does not by default support this without swap?</short_desc>
          <delta_ts>2013-07-16 09:48:49 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>donaldcallen</reporter>
          <assigned_to name="Xan Lopez">xan.lopez</assigned_to>
          <cc>ademar</cc>
    
    <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>camaradetux</cc>
    
    <cc>darxus</cc>
    
    <cc>edwin+webkit</cc>
    
    <cc>ggaren</cc>
    
    <cc>jens.timmerman</cc>
    
    <cc>kevin-webkit</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ojab</cc>
    
    <cc>oliver</cc>
    
    <cc>scottt.tw</cc>
    
    <cc>uzytkownik2</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>254295</commentid>
    <comment_count>0</comment_count>
      <attachid>62181</attachid>
    <who name="">donaldcallen</who>
    <bug_when>2010-07-21 08:14:36 -0700</bug_when>
    <thetext>Created attachment 62181
gdb backtrace

I have been experiencing segfaults in memcpy using recent nightly builds. This problem occurs on only one of my 4 computers running Slackware 13.1. The machines are a Lenovo S10 workstation (4-core Q6600 processor, 4 Gb), a mini itx machine with Intel Atom D510 motherboard and 2 Gb, a Thinkpad X61 (Core 2 Duo, 2 Gb) and a Toshiba netbook (single core Atom N450, 2 Gb). The segfault I am reporting occurs only on the mini itx machine. I download the nightly build, plus the webkit slackbuild from slackbuild.org, edit the webkit.Slackbuild script to reflect the proper version number of the nightly build, and build the Slackbuild on the fast Lenovo workstation. If I install the resulting package on the workstation (or the netbook or the Thinkpad) and build uzbl or surf against it, either one will run. Do the same thing on the mini itx machine, and either one will segfault on startup. I tried building webkit on the mini itx machine (which takes a couple of hours on a machine that slow), installed it and built uzbl against that, and it segfaulted. I then copied *that* slackbuild to the workstation, installed it, built and installed uzbl against that version, and it worked on the workstation. The same is true of the version built on the workstation (interestingly, the two slackware packages are not identical, despite the two machines having identical package-sets) -- uzbl built against that works everywhere but the mini itx machine.

If you are suspecting the hardware, all I can tell you is that everything else works correctly on the mini itx machine, including google chrome. There are absolutely no signs of sick hardware, and that machine is my primary machine -- I use it every day.

I built a version of webkit (on the workstation) with CFLAGS changed from -O2 to -g and the slackbuild script modified not to strip the symbols from the executable. I then modified the uzbl-browser script to run uzbl-core under gdb. I am attaching a backtrace of the crash.

I also modified the uzbl-browser script to run uzbl-core under valgrind. The output of that session is also attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254298</commentid>
    <comment_count>1</comment_count>
      <attachid>62182</attachid>
    <who name="">donaldcallen</who>
    <bug_when>2010-07-21 08:17:14 -0700</bug_when>
    <thetext>Created attachment 62182
Valgrind output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254584</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-21 16:50:47 -0700</bug_when>
    <thetext>#0  0x00007ffff37f2e51 in memcpy () from /lib64/libc.so.6
#1  0x00007ffff7649dba in JSC::JIT::privateCompileCTIMachineTrampolines(WTF::RefPtr&lt;JSC::ExecutablePool&gt;*, JSC::JSGlobalData*, JSC::TrampolineStructure*) () from /usr/lib64/libwebkitgtk-1.0.so.0
#2  0x00007ffff7666400 in JSC::JIT::compileCTIMachineTrampolines(JSC::JSGlobalData*, WTF::RefPtr&lt;JSC::ExecutablePool&gt;*, JSC::TrampolineStructure*) () from /usr/lib64/libwebkitgtk-1.0.so.0
#3  0x00007ffff76ccdb3 in JSC::JSGlobalData::JSGlobalData(JSC::JSGlobalData::GlobalDataType, JSC::ThreadStackType) () from /usr/lib64/libwebkitgtk-1.0.so.0
#4  0x00007ffff76ccf13 in JSC::JSGlobalData::create(JSC::ThreadStackType) () from /usr/lib64/libwebkitgtk-1.0.so.0
#5  0x00007ffff76cd832 in JSC::JSGlobalData::createLeaked(JSC::ThreadStackType) () from /usr/lib64/libwebkitgtk-1.0.so.0
#6  0x00007ffff6b8e5f2 in WebCore::JSDOMWindowBase::commonJSGlobalData() () from /usr/lib64/libwebkitgtk-1.0.so.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267188</commentid>
    <comment_count>3</comment_count>
    <who name="Adrien Nader">camaradetux</who>
    <bug_when>2010-08-20 03:21:42 -0700</bug_when>
    <thetext>I am experiencing the same problem on my computer with webkit-gtk 1.3.3.

GtkLauncher fails and simply creating a web_view and using load_uri (no matter if the target exists or not, local or remote) makes it crash.

  g_thread_init(NULL); g_type_init(); gtk_init(&amp;argc, &amp;argv);
  WebKitWebView* wv = WEBKIT_WEB_VIEW(webkit_web_view_new ());
  webkit_web_view_load_uri(wv, &quot;http://google.com&quot;);

If I don&apos;t load any page, it doesn&apos;t crash.


I&apos;m also using slackware 13.1, custom-compiled kernel (2.6.35+, meaning git). gcc 4.4.4, glib2 2.22.5, glibc 2.11.1, gtk+ 2.18.9, libsoup 2.30.2, icu4c 4.4.1, webkit-gtk 1.3.3. Webkit was compiled without any non-default option (cflags=cxxflags=&quot;-O2 -fPIC&quot;).

I&apos;m compiling on a quad-core (phenom ii x4 955) which has the same configuration (except the kernel) and running an a laptop (core2duo t5450). The quad-core is currently headless.

I&apos;m going to try several builds with different options (first, --disable-jit) and building on my laptop (it&apos;s only 5 times slower...) and will report back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267217</commentid>
    <comment_count>4</comment_count>
    <who name="Adrien Nader">camaradetux</who>
    <bug_when>2010-08-20 05:49:50 -0700</bug_when>
    <thetext>Here are the results after a few builds.

First, building on the laptop machine (the one running it) did *NOT* solve the problem.
Then, of course, --disable-jit solved it.
Finally, --disable-optimizations didn&apos;t solve it.

Also, the &apos;jsc-1&apos; binary, ran without any argument, crashes immediately. As I said, the build machine is headless so I can&apos;t really test webkit-gtk on it. However, trying jsc-1 on the build machine works without problem.
(actually, I tried to create a web_view and load_uri a page, without creating a windows nor displaying anything and I got the expected &quot;cannot open display&quot; warning but no segfault)

The backtrace for jsc-1 on the laptop is:
#0  0x00007ffff50a4e51 in memcpy () from /lib64/libc.so.6
#1  0x00000000004d988f in JSC::JIT::privateCompileCTIMachineTrampolines(WTF::RefPtr&lt;JSC::ExecutablePool&gt;*, JSC::JSGlobalData*, JSC::TrampolineStructure*) ()
#2  0x00000000004f6570 in JSC::JIT::compileCTIMachineTrampolines(JSC::JSGlobalData*, WTF::RefPtr&lt;JSC::ExecutablePool&gt;*, JSC::TrampolineStructure*) ()
#3  0x000000000043f29c in JSC::JSGlobalData::JSGlobalData(JSC::JSGlobalData::GlobalDataType, JSC::ThreadStackType) ()
#4  0x000000000043f663 in JSC::JSGlobalData::create(JSC::ThreadStackType) ()
#5  0x0000000000408a77 in main ()

I&apos;m also going to see if it can be reproduced in qemu, and if not, I can probably give a shell access if someone wants to try to debug and can&apos;t reproduce (unfortunately, not before a few days).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267235</commentid>
    <comment_count>5</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-08-20 06:55:38 -0700</bug_when>
    <thetext>Is it happens in debug as well? Would be a good thing to see some line numbers. I expect missing frames on the stack since many funcions are inlined. (privateCompileCTIMachineTrampolines is the first function which generate machine code, perhaps it cannot allocate executable space)

Address 0x27c is not stack&apos;d, malloc&apos;d or (recently) free&apos;d
This address is way too low...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267247</commentid>
    <comment_count>6</comment_count>
      <attachid>64955</attachid>
    <who name="Adrien Nader">camaradetux</who>
    <bug_when>2010-08-20 07:46:30 -0700</bug_when>
    <thetext>Created attachment 64955
Segfault when running jsc without any argument (debug build)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267265</commentid>
    <comment_count>7</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-08-20 09:07:11 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=64955) [details]
&gt; Segfault when running jsc without any argument (debug build)

Hehe, as I suspected. Something with the allocator. Could you check this call successful on your machine (some printf is enough, mem.base() and mem.size() is important):

311	inline PassRefPtr&lt;ExecutablePool&gt; ExecutablePool::create(size_t n)
312	    {
313	        Allocation mem = systemAlloc(roundUpAllocationSize(n, JIT_ALLOCATOR_PAGE_SIZE));
314	        if (!mem)
315	            return 0;
316	        return adoptRef(new ExecutablePool(mem));
317	    }

CC&apos;ing Gavin, he is the allocator expert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267370</commentid>
    <comment_count>8</comment_count>
    <who name="Adrien Nader">camaradetux</who>
    <bug_when>2010-08-20 13:16:10 -0700</bug_when>
    <thetext>In order to try Zoltan&apos;s suggestion, I updated to HEAD (from webkit-gtk 1.3.3, which is not a very old release) and the problem evolved: backtrace changed, both happens with and without JIT, but it still only happens on the laptop and not the quad-core.
Another interesting point: I added 5GB swap on the laptop (from the 2GB of RAM) and jsc is now working properly. :-) 

Program received signal SIGSEGV, Segmentation fault.
0x00000000004e7010 in FixedVMPoolAllocator (this=0x9409c0, commonSize=16384, totalHeapSize=2147483648)
    at JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:303

(gdb) bt
#0  0x00000000004e7010 in FixedVMPoolAllocator (this=0x9409c0, commonSize=16384, totalHeapSize=2147483648)
    at JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:303
#1  0x00000000004e5de6 in JSC::ExecutableAllocator::isValid (this=0x93fa18) at JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:442
#2  0x0000000000472684 in JSC::ExecutableAllocator::ExecutableAllocator() ()
#3  0x00000000004714dd in JSGlobalData (this=0x93e240, globalDataType=JSC::JSGlobalData::Default, threadStackType=JSC::ThreadStackTypeLarge)
    at JavaScriptCore/runtime/JSGlobalData.cpp:150
#4  0x000000000047205c in JSC::JSGlobalData::create (type=JSC::ThreadStackTypeLarge) at JavaScriptCore/runtime/JSGlobalData.cpp:231
#5  0x000000000040d47d in main (argc=1, argv=0x7fffffffdde8) at JavaScriptCore/jsc.cpp:346</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269861</commentid>
    <comment_count>9</comment_count>
    <who name="Maciej Piechotka">uzytkownik2</who>
    <bug_when>2010-08-26 06:56:10 -0700</bug_when>
    <thetext>I reproduced it without swap on Core 2 Duo (64 bit system) [4 GiB of memory + 0 GiB of swap].

==4456== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==4456==  Access not within mapped region at address 0x27C
==4456==    at 0x4C2876D: memcpy (mc_replace_strmem.c:482)
==4456==    by 0x6C60525: JSC::JIT::privateCompileCTIMachineTrampolines(WTF::RefPtr&lt;JSC::ExecutablePool&gt;*, JSC::JSGlobalData*, JSC::TrampolineStructure*) (AssemblerBuffer.h:138)
==4456==    by 0x6C8650F: JSC::JIT::compileCTIMachineTrampolines(JSC::JSGlobalData*, WTF::RefPtr&lt;JSC::ExecutablePool&gt;*, JSC::TrampolineStructure*) (JIT.h:223)
==4456==    by 0x6D008E4: JSC::JSGlobalData::JSGlobalData(JSC::JSGlobalData::GlobalDataType, JSC::ThreadStackType) (JSGlobalData.cpp:152)
==4456==    by 0x6D00EC2: JSC::JSGlobalData::create(JSC::ThreadStackType) (JSGlobalData.cpp:225)
==4456==    by 0x6D00F01: JSC::JSGlobalData::createLeaked(JSC::ThreadStackType) (JSGlobalData.cpp:231)
==4456==    by 0x6464641: WebCore::JSDOMWindowBase::commonJSGlobalData() (JSDOMWindowBase.cpp:160)
==4456==    by 0x64A906B: WebCore::ScriptController::getAllWorlds(WTF::Vector&lt;WebCore::DOMWrapperWorld*, 0ul&gt;&amp;) (ScriptController.cpp:187)
==4456==    by 0x678F271: WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() (FrameLoader.cpp:3382)
==4456==    by 0x678F306: WebCore::FrameLoader::receivedFirstData() (FrameLoader.cpp:668)
==4456==    by 0x678459F: WebCore::DocumentWriter::setEncoding(WebCore::String const&amp;, bool) (DocumentWriter.cpp:236)
==4456==    by 0x6B7DCA0: WebKit::FrameLoaderClient::committedLoad(WebCore::DocumentLoader*, char const*, int) (FrameLoaderClientGtk.cpp:152)

With swap on everything is OK [4 GiB of memory + 4 GiB of swap]. Swap is not uses and in total 2.2 GiB is used.

Linux localhost 2.6.34-zen1-static #1 ZEN SMP PREEMPT Tue Aug 24 20:09:30 CEST 2010 x86_64 Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz GenuineIntel GNU/Linux</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309064</commentid>
    <comment_count>10</comment_count>
    <who name="ojab">ojab</who>
    <bug_when>2010-11-14 05:02:34 -0800</bug_when>
    <thetext>Looks like the same crash also happens for me on Athlon X2 II (Linux x86_64, glibc-2.11.2, no swap), only with JIT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309065</commentid>
    <comment_count>11</comment_count>
      <attachid>73848</attachid>
    <who name="ojab">ojab</who>
    <bug_when>2010-11-14 05:05:41 -0800</bug_when>
    <thetext>Created attachment 73848
Segfault when running jsc without any argument (debug build)

WebKit-trunk, git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71981 268f45cc-cd09-0410-ab3c-d52691b4dbfc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311595</commentid>
    <comment_count>12</comment_count>
    <who name="ojab">ojab</who>
    <bug_when>2010-11-19 11:54:04 -0800</bug_when>
    <thetext>    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72416 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Still crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311613</commentid>
    <comment_count>13</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-11-19 12:13:51 -0800</bug_when>
    <thetext>Is anyone able to repro this crash with their own build?

If so can you see if VM_POOL_ASLR is disabled?

If it is disabled try reducing the size of VM_POOL_SIZE in ExecutableAllocatorFixedVMPool.cpp to 1gig, and then 512Mb and see if that fixes things?

I&apos;m trying to determine exactly what part of this call is failing.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311979</commentid>
    <comment_count>14</comment_count>
    <who name="ojab">ojab</who>
    <bug_when>2010-11-20 13:32:45 -0800</bug_when>
    <thetext>OS isn&apos;t DARWIN, so I assume that VM_POOL_ASLR is disabled (don&apos;t know how to check).
VM_POOL_SIZE = 1Gb/512Mb fixes the issue, jit build doesn&apos;t crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312033</commentid>
    <comment_count>15</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-11-20 20:32:33 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; OS isn&apos;t DARWIN, so I assume that VM_POOL_ASLR is disabled (don&apos;t know how to check).
&gt; VM_POOL_SIZE = 1Gb/512Mb fixes the issue, jit build doesn&apos;t crashes.

Could you do me a favour, and on your platform see whether an allocation (via mmap) of 2GB succeeds in a trivial test program?  Maybe there&apos;s an upper limit to the amount of memory your platform allows in a single alloc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312152</commentid>
    <comment_count>16</comment_count>
    <who name="ojab">ojab</who>
    <bug_when>2010-11-21 12:57:49 -0800</bug_when>
    <thetext>Unfortunately I don&apos;t know C and cannot write testcase to allocate 2Gb via mmap .__. Testcase with malloc() works without crashes.
I have 2Gb ram total and if memory will be used (not only allocated) — program will be killed by OOM killer. WebKit with jit crashes without OOM killer participation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313913</commentid>
    <comment_count>17</comment_count>
    <who name="ojab">ojab</who>
    <bug_when>2010-11-25 23:58:27 -0800</bug_when>
    <thetext>Any additional info needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313914</commentid>
    <comment_count>18</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-11-26 00:12:34 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Unfortunately I don&apos;t know C and cannot write testcase to allocate 2Gb via mmap .__. Testcase with malloc() works without crashes.

mmap_test.c:

#include &lt;stdio.h&gt;
#include &lt;sys/mman.h&gt;

int main() {
    printf(&quot;%p\n&quot;, mmap(0, 2ul * 1024ul * 1024ul * 1024ul,
        PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0));
    return 0;
}

Compiling: gcc mmap_test.c -o mmap_test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313916</commentid>
    <comment_count>19</comment_count>
    <who name="ojab">ojab</who>
    <bug_when>2010-11-26 01:15:39 -0800</bug_when>
    <thetext>$ ./mmap 
0xffffffffffffffff

works fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313920</commentid>
    <comment_count>20</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-11-26 01:31:35 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; $ ./mmap 
&gt; 0xffffffffffffffff
&gt; 
&gt; works fine.

0xffffffffffffffff (is -1) is MAP_FAILED (you can check it by a printf MAP_FAILED)

Thus Oliver were right, and you are not allowed to alloc 2G. Could you try it with smaller sizes? (1G, 512M, etc.) until you get something back other than MAP_FAILED ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313924</commentid>
    <comment_count>21</comment_count>
    <who name="ojab">ojab</who>
    <bug_when>2010-11-26 01:58:06 -0800</bug_when>
    <thetext>ook..

(1024ul * 1024ul * 1024ul + 1024ul * 1024ul * 256ul ) in the `while true; do ./mmap &amp;&amp; sleep 1; done` loop gives me output like:
0x7f7f21422000
0x7fe0ffac7000
0xffffffffffffffff
0x7f2f98c9a000
0x7f76b0a50000
0xffffffffffffffff
0x7f6444a30000
0x7f2da6a14000
0xffffffffffffffff

With 1G I have normal addressess, but if I&apos;ll run memory-hungry task  — I&apos;ll see the same sometimes-0xffffffffffffffff output.

Looks like my system can only allocate amount of memory that is free at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329994</commentid>
    <comment_count>22</comment_count>
    <who name="ojab">ojab</who>
    <bug_when>2011-01-05 20:09:31 -0800</bug_when>
    <thetext>    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Still the same crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330062</commentid>
    <comment_count>23</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-06 01:10:36 -0800</bug_when>
    <thetext>JSC really needs the OS to provide a mechanism to be able to reserve virtual memory address ranges (in wtf/PageReservation.h).  As well as being used to allocate JIT code buffers, this is also used in the collector.  To support WebKit on Linux without swap, we really need a way for this to work.

PageReservation presently works on HAVE_MMAP platforms (including Linux) by simply mmapping a (potentially very large) region of memory, on the expectation that physical pages will be allocated on demand to the VM space.  If the OS does not allow memory to be overcommitted this isn&apos;t going to work.

I imagine the problem for someone to solve here is probably to find a way for the Linux kernel to reserve VM address ranges in a threadsafe fashion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333208</commentid>
    <comment_count>24</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-12 11:56:54 -0800</bug_when>
    <thetext>Interesting comment in redhat&apos;s bug tracker: https://bugzilla.redhat.com/show_bug.cgi?id=648319

    Pete Zaitcev 2010-12-22 20:03:51 EST
        BTW, an easy workaround if you don&apos;t want to use my RPM from comment #31 is:
            echo 1 &gt; /proc/sys/vm/overcommit_memory
        Well, or just buy a couple gigs of RAM.


A more graceful failure for WebKit might be to read &apos;/proc/sys/vm/overcommit_memory&apos; on startup, and if this is not enabled then exit with an error message indicating that this is required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333210</commentid>
    <comment_count>25</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-12 11:57:38 -0800</bug_when>
    <thetext>*** Bug 51511 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333256</commentid>
    <comment_count>26</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-01-12 13:32:47 -0800</bug_when>
    <thetext>Wow -- so, by default, Linux will not commit VM on demand?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333278</commentid>
    <comment_count>27</comment_count>
    <who name="Adrien Nader">camaradetux</who>
    <bug_when>2011-01-12 14:05:36 -0800</bug_when>
    <thetext>I haven&apos;t been able to provide a lot of feedback, mostly because of exams but what really leaves me wondering is that the JIT tries to get 4GB of memory. 4GB.

It might not use it but 4GB is simply too much.

What&apos;s actually the point? Do we really want that to happen? And why ask for that much if it&apos;s not going to be used?

IIRC that also happens without even using javascript. Why does the JIT allocate a huge amount of memory without even requiring any memory actually?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333282</commentid>
    <comment_count>28</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-01-12 14:09:31 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; I haven&apos;t been able to provide a lot of feedback, mostly because of exams but what really leaves me wondering is that the JIT tries to get 4GB of memory. 4GB.
&gt; 
&gt; It might not use it but 4GB is simply too much.
&gt; 
&gt; What&apos;s actually the point? Do we really want that to happen? And why ask for that much if it&apos;s not going to be used?
&gt; 
&gt; IIRC that also happens without even using javascript. Why does the JIT allocate a huge amount of memory without even requiring any memory actually?

It should only be requesting 2gig, and it&apos;s expecting the OS to merely reserve address space -- it&apos;s not expecting physical memory to be committed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333290</commentid>
    <comment_count>29</comment_count>
    <who name="Adrien Nader">camaradetux</who>
    <bug_when>2011-01-12 14:16:36 -0800</bug_when>
    <thetext>&gt; It should only be requesting 2gig, and it&apos;s expecting the OS to merely reserve address space -- it&apos;s not expecting physical memory to be committed.

2GB is still a lot.

And if it counts on the OS not commiting it, then it counts on the memory not being used. Why ask for it then?


Quoting the linux kernel documentation for memory overcommit,
&gt; When this flag is 1, the kernel pretends there is always enough
&gt; memory until it actually runs out.

I doubt that will ever become the default.
It also leaves out a number of OSes that don&apos;t use overcommit (iirc, Solaris doesn&apos;t for instance).

Why isn&apos;t it possible to request 64MB instead? What&apos;s the technical reason for asking that much?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333297</commentid>
    <comment_count>30</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-01-12 14:25:08 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; &gt; It should only be requesting 2gig, and it&apos;s expecting the OS to merely reserve address space -- it&apos;s not expecting physical memory to be committed.
&gt; 
&gt; 2GB is still a lot.
&gt; 
&gt; And if it counts on the OS not commiting it, then it counts on the memory not being used. Why ask for it then?
&gt; 
&gt; 
&gt; Quoting the linux kernel documentation for memory overcommit,
&gt; &gt; When this flag is 1, the kernel pretends there is always enough
&gt; &gt; memory until it actually runs out.
&gt; 
&gt; I doubt that will ever become the default.
&gt; It also leaves out a number of OSes that don&apos;t use overcommit (iirc, Solaris doesn&apos;t for instance).
&gt; 
&gt; Why isn&apos;t it possible to request 64MB instead? What&apos;s the technical reason for asking that much?

We allocate 2gig up front and do all allocations of executable memory from that region as we need to be able to guarantee that all executable allocations are within 2gig of each other - it would be a large amount of work (and a significant increase in code size) to support the arbitrary jumps to anywhere in the address space that would otherwise be necessary.

Surely Linux must have some mechanism for reserving an arbitrarily large amount of address space, and then commit that lazily?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333298</commentid>
    <comment_count>31</comment_count>
      <attachid>78732</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-01-12 14:26:26 -0800</bug_when>
    <thetext>Created attachment 78732
overcommit.diff

Patch for this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333315</commentid>
    <comment_count>32</comment_count>
      <attachid>78732</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-01-12 14:52:27 -0800</bug_when>
    <thetext>Comment on attachment 78732
overcommit.diff

i think 32mb will be far too little to be useful -- a simple test would be for you to just try using midori with a jsc build with vmPoolSizeGeneric == 32mb

Also i think the logic to determine what size the allocation should be would be better in a separate function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333325</commentid>
    <comment_count>33</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-01-12 15:02:11 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; (From update of attachment 78732 [details])
&gt; i think 32mb will be far too little to be useful -- a simple test would be for you to just try using midori with a jsc build with vmPoolSizeGeneric == 32mb

I did try running a browser with those values for some minutes and things didn&apos;t explode right away, but you are right that they are fairly conservative. Do you want to make them bigger in general or do you want a triplet like generic/conservative desktop/conservative embedded. If the answer is the latter,  how will we know which one to fallback in linux when overcommit is not on?

&gt; 
&gt; Also i think the logic to determine what size the allocation should be would be better in a separate function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333328</commentid>
    <comment_count>34</comment_count>
      <attachid>78732</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-12 15:03:41 -0800</bug_when>
    <thetext>Comment on attachment 78732
overcommit.diff

Looks great xan!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333335</commentid>
    <comment_count>35</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-12 15:07:20 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; &gt; It should only be requesting 2gig, and it&apos;s expecting the OS to merely reserve address space -- it&apos;s not expecting physical memory to be committed.
&gt; 
&gt; 2GB is still a lot.

For 64-bit OSes that allow more flexible control over the VM space , 2GB is less than 1% of 1% of available VM.  This is not a lot. ;-)

For OSes that insist on early commit it clearly doesn&apos;t seem sensible to make such a large request.

(In reply to comment #30)
&gt; Surely Linux must have some mechanism for reserving an arbitrarily large amount of address space, and then commit that lazily?

This would be an improvement over the current fix, if we can find a way to do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333338</commentid>
    <comment_count>36</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-12 15:08:58 -0800</bug_when>
    <thetext>Ooops, my r+ crossed with Oliver&apos;s comments,

(In reply to comment #32)
&gt; (From update of attachment 78732 [details])
&gt; i think 32mb will be far too little to be useful -- a simple test would be for you to just try using midori with a jsc build with vmPoolSizeGeneric == 32mb

Not that r74454 should help prevent this from causing problems.

&gt; Also i think the logic to determine what size the allocation should be would be better in a separate function.

^ olliej&apos;s right, you should probably do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333433</commentid>
    <comment_count>37</comment_count>
      <attachid>78761</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-01-12 17:04:17 -0800</bug_when>
    <thetext>Created attachment 78761
overcommit.diff

New patch moving the code that messes with the values to a function. No change in the values because:

- We are still discussing that.
- It probably even makes sense to separate these two changes.
- Even if only this goes in, it&apos;s already an improvement in general for many people in 64bit Linux.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333494</commentid>
    <comment_count>38</comment_count>
      <attachid>78761</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-12 18:44:21 -0800</bug_when>
    <thetext>Comment on attachment 78761
overcommit.diff

Looks great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333639</commentid>
    <comment_count>39</comment_count>
      <attachid>78761</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-01-13 04:03:21 -0800</bug_when>
    <thetext>Comment on attachment 78761
overcommit.diff

Landed in http://trac.webkit.org/changeset/75709

I&apos;ll open a new bug in case we want to improve the VM values for !overcommit in Linux.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333640</commentid>
    <comment_count>40</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-01-13 04:03:41 -0800</bug_when>
    <thetext>Closing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341882</commentid>
    <comment_count>41</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-28 17:09:20 -0800</bug_when>
    <thetext>See changes in https://bugs.webkit.org/show_bug.cgi?id=53352</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342708</commentid>
    <comment_count>42</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-01-31 11:29:52 -0800</bug_when>
    <thetext>Reopening due to bug #53352.

The upshot of this bug is, the fix landed here wouldn&apos;t work anyway (without overcommit you&apos;ll allocate the smaller sized buffer, then crash after a short period of browsing once the JIT buffer became nicely fragmented).

Please see comment in bug #53352, options are to not support this configuration, always use the reduced size (and break some stress tests), or reimplement a dynamic/static switch based on whether overcommit is available.

If we need a switching solution, one option might be to always use 1GB tables, to just change the amount we allocate, and then to add a method to the AllocateTableDirectory to mark ranges of the table as unavailable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342900</commentid>
    <comment_count>43</comment_count>
      <attachid>78732</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-31 16:07:42 -0800</bug_when>
    <thetext>Comment on attachment 78732
overcommit.diff

Cleared Gavin Barraclough&apos;s review+ from obsolete attachment 78732 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344917</commentid>
    <comment_count>44</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-03 12:27:21 -0800</bug_when>
    <thetext>*** Bug 53684 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407093</commentid>
    <comment_count>45</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-05-20 07:53:24 -0700</bug_when>
    <thetext>Hey, good news:

turns out Linux has a flag for mmap that is perfect for this, MAP_NORESERVE. From man proc(5):


       /proc/sys/vm/overcommit_memory
              This file contains the kernel virtual memory accounting mode.  Values are:
              
                     0: heuristic overcommit (this is the default)
                     1: always overcommit, never check
                     2: always check, never overcommit
                  
              In  mode  0, calls of mmap(2) with MAP_NORESERVE are not checked, and the default check is very weak, leading to the risk
              of getting a process &quot;OOM-killed&quot;.  Under Linux 2.4 any nonzero value implies mode 1.  In mode 2 (available  since  Linux
              2.6),  the  total  virtual address space on the system is limited to (SS + RAM*(r/100)), where SS is the size of the swap
              space, and RAM is the size of the physical memory, and r is the contents of the file /proc/sys/vm/overcommit_ratio.

--

0 is the default on Linux, so I think if we just add a one-line patch in the code adding this flag by default things should work OK. I&apos;ll test this and report back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407102</commentid>
    <comment_count>46</comment_count>
      <attachid>94221</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-05-20 08:12:55 -0700</bug_when>
    <thetext>Created attachment 94221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407124</commentid>
    <comment_count>47</comment_count>
      <attachid>94221</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-05-20 08:50:40 -0700</bug_when>
    <thetext>Comment on attachment 94221
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407130</commentid>
    <comment_count>48</comment_count>
      <attachid>94221</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-05-20 08:55:27 -0700</bug_when>
    <thetext>Comment on attachment 94221
Patch

Clearing flags on attachment: 94221

Committed r86957: &lt;http://trac.webkit.org/changeset/86957&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407132</commentid>
    <comment_count>49</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-05-20 08:55:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407170</commentid>
    <comment_count>50</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-05-20 10:10:07 -0700</bug_when>
    <thetext>Revision r86957 cherry-picked into qtwebkit-2.2 with commit ac3c389 &lt;http://gitorious.org/webkit/qtwebkit/commit/ac3c389&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408293</commentid>
    <comment_count>51</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-23 14:24:29 -0700</bug_when>
    <thetext>Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447326</commentid>
    <comment_count>52</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-05 12:07:02 -0700</bug_when>
    <thetext>See also: bug 65766.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908881</commentid>
    <comment_count>53</comment_count>
    <who name="Török Edwin">edwin+webkit</who>
    <bug_when>2013-07-16 07:40:31 -0700</bug_when>
    <thetext>This is not fixed, libqt4-script allocates 2GB of VIRT on Linux for the Javascript JIT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908883</commentid>
    <comment_count>54</comment_count>
    <who name="Török Edwin">edwin+webkit</who>
    <bug_when>2013-07-16 07:45:25 -0700</bug_when>
    <thetext>Opened new bug here, because I cannot change the status on this bug: https://bugs.webkit.org/show_bug.cgi?id=118733</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908924</commentid>
    <comment_count>55</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-07-16 09:48:49 -0700</bug_when>
    <thetext>Filing a new bug is much better than re-opening a two year old one with a landed patch. Thank you!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>62181</attachid>
            <date>2010-07-21 08:14:36 -0700</date>
            <delta_ts>2010-07-21 16:48:12 -0700</delta_ts>
            <desc>gdb backtrace</desc>
            <filename>gdb_bt</filename>
            <type>text/plain</type>
            <size>5437</size>
            <attacher>donaldcallen</attacher>
            
              <data encoding="base64">ZGNhQHNlcmdlaTovdG1wJCAhNTEyCi90bXAvdXpibC1icm93c2VyIAp7J2Nvb2tpZV9qYXInOiAn
L2hvbWUvZGNhLy5sb2NhbC9zaGFyZS91emJsL2Nvb2tpZXMudHh0JywKICdjb29raWVfc29ja2V0
JzogJy9ob21lL2RjYS8uY2FjaGUvdXpibC9jb29raWVfZGFlbW9uX3NvY2tldCcsCiAnY29va2ll
X3doaXRlbGlzdCc6ICcvaG9tZS9kY2EvLmNvbmZpZy91emJsL2Nvb2tpZV93aGl0ZWxpc3QnLAog
J2RhZW1vbl9tb2RlJzogVHJ1ZSwKICdkYWVtb25fdGltZW91dCc6IDAsCiAndXNlX3doaXRlbGlz
dCc6IEZhbHNlLAogJ3ZlcmJvc2UnOiBUcnVlfQp1emJsLWNvb2tpZS1kYWVtb246IGRldGVjdGVk
IGRhZW1vbiBsaXN0ZW5pbmcgb24gJy9ob21lL2RjYS8uY2FjaGUvdXpibC9jb29raWVfZGFlbW9u
X3NvY2tldCcKR05VIGdkYiAoR0RCKSA3LjEKQ29weXJpZ2h0IChDKSAyMDEwIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLgpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3Ig
bGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29m
dHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUg
aXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4gIFR5cGUgInNo
b3cgY29weWluZyIKYW5kICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0YWlscy4KVGhpcyBHREIgd2Fz
IGNvbmZpZ3VyZWQgYXMgIng4Nl82NC1zbGFja3dhcmUtbGludXgiLgpGb3IgYnVnIHJlcG9ydGlu
ZyBpbnN0cnVjdGlvbnMsIHBsZWFzZSBzZWU6CjxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv
Z2RiL2J1Z3MvPi4uLgpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvdXNyL2xvY2FsL2Jpbi91emJsLWNv
cmUuLi5kb25lLgooZ2RiKSBydW4gLS1jb25uZWN0LXNvY2tldCAvaG9tZS9kY2EvLmNhY2hlL3V6
YmwvZXZlbnRfZGFlbW9uClN0YXJ0aW5nIHByb2dyYW06IC91c3IvbG9jYWwvYmluL3V6YmwtY29y
ZSAtLWNvbm5lY3Qtc29ja2V0IC9ob21lL2RjYS8uY2FjaGUvdXpibC9ldmVudF9kYWVtb24KVHJh
Y2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZpbGUgIi91c3Ivc2hhcmUvZ2RiL2F1
dG8tbG9hZC91c3IvbGliNjQvbGliZ29iamVjdC0yLjAuc28uMC4yMjAwLjUtZ2RiLnB5IiwgbGlu
ZSA5LCBpbiA8bW9kdWxlPgogICAgZnJvbSBnb2JqZWN0IGltcG9ydCByZWdpc3RlcgogIEZpbGUg
Ii91c3Ivc2hhcmUvZ2xpYi0yLjAvZ2RiL2dvYmplY3QucHkiLCBsaW5lIDMsIGluIDxtb2R1bGU+
CiAgICBpbXBvcnQgZ2RiLmJhY2t0cmFjZQpJbXBvcnRFcnJvcjogTm8gbW9kdWxlIG5hbWVkIGJh
Y2t0cmFjZQpbVGhyZWFkIGRlYnVnZ2luZyB1c2luZyBsaWJ0aHJlYWRfZGIgZW5hYmxlZF0KW05l
dyBUaHJlYWQgMHg3ZmZmZWJiYzI3MTAgKExXUCA3NzQ0KV0KW05ldyBUaHJlYWQgMHg3ZmZmZWIz
NzE3MTAgKExXUCA3NzQ1KV0KW05ldyBUaHJlYWQgMHg3ZmZmZWFiMjA3MTAgKExXUCA3NzQ2KV0K
W1RocmVhZCAweDdmZmZlYWIyMDcxMCAoTFdQIDc3NDYpIGV4aXRlZF0KCioqICh1emJsLWNvcmU6
Nzc0MSk6IFdBUk5JTkcgKio6IGluaXRfZmlmbzogY2FuJ3QgY3JlYXRlIC90bXAvdXpibF9maWZv
XzIwOTcxNTUzOiBmaWxlIGV4aXN0cwoKW05ldyBUaHJlYWQgMHg3ZmZmZWFiMjA3MTAgKExXUCA3
NzQ5KV0KClByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBmYXVs
dC4KMHgwMDAwN2ZmZmYzN2YyZTUxIGluIG1lbWNweSAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYK
KGdkYikgYnQKIzAgIDB4MDAwMDdmZmZmMzdmMmU1MSBpbiBtZW1jcHkgKCkgZnJvbSAvbGliNjQv
bGliYy5zby42CiMxICAweDAwMDA3ZmZmZjc2NDlkYmEgaW4gSlNDOjpKSVQ6OnByaXZhdGVDb21w
aWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKFdURjo6UmVmUHRyPEpTQzo6RXhlY3V0YWJsZVBvb2w+
KiwgSlNDOjpKU0dsb2JhbERhdGEqLCBKU0M6OlRyYW1wb2xpbmVTdHJ1Y3R1cmUqKSAoKSBmcm9t
IC91c3IvbGliNjQvbGlid2Via2l0Z3RrLTEuMC5zby4wCiMyICAweDAwMDA3ZmZmZjc2NjY0MDAg
aW4gSlNDOjpKSVQ6OmNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMoSlNDOjpKU0dsb2JhbERh
dGEqLCBXVEY6OlJlZlB0cjxKU0M6OkV4ZWN1dGFibGVQb29sPiosIEpTQzo6VHJhbXBvbGluZVN0
cnVjdHVyZSopICgpIGZyb20gL3Vzci9saWI2NC9saWJ3ZWJraXRndGstMS4wLnNvLjAKIzMgIDB4
MDAwMDdmZmZmNzZjY2RiMyBpbiBKU0M6OkpTR2xvYmFsRGF0YTo6SlNHbG9iYWxEYXRhKEpTQzo6
SlNHbG9iYWxEYXRhOjpHbG9iYWxEYXRhVHlwZSwgSlNDOjpUaHJlYWRTdGFja1R5cGUpICgpIGZy
b20gL3Vzci9saWI2NC9saWJ3ZWJraXRndGstMS4wLnNvLjAKIzQgIDB4MDAwMDdmZmZmNzZjY2Yx
MyBpbiBKU0M6OkpTR2xvYmFsRGF0YTo6Y3JlYXRlKEpTQzo6VGhyZWFkU3RhY2tUeXBlKSAoKSBm
cm9tIC91c3IvbGliNjQvbGlid2Via2l0Z3RrLTEuMC5zby4wCiM1ICAweDAwMDA3ZmZmZjc2Y2Q4
MzIgaW4gSlNDOjpKU0dsb2JhbERhdGE6OmNyZWF0ZUxlYWtlZChKU0M6OlRocmVhZFN0YWNrVHlw
ZSkgKCkgZnJvbSAvdXNyL2xpYjY0L2xpYndlYmtpdGd0ay0xLjAuc28uMAojNiAgMHgwMDAwN2Zm
ZmY2YjhlNWYyIGluIFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6Y29tbW9uSlNHbG9iYWxEYXRh
KCkgKCkgZnJvbSAvdXNyL2xpYjY0L2xpYndlYmtpdGd0ay0xLjAuc28uMAojNyAgMHgwMDAwN2Zm
ZmY2YmNiMGQ2IGluIFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmdldEFsbFdvcmxkcyhXVEY6
OlZlY3RvcjxXZWJDb3JlOjpET01XcmFwcGVyV29ybGQqLCAwdWw+JikgKCkgZnJvbSAvdXNyL2xp
YjY0L2xpYndlYmtpdGd0ay0xLjAuc28uMAojOCAgMHgwMDAwN2ZmZmY2ZTc5NmYyIGluIFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpkaXNwYXRjaERpZENsZWFyV2luZG93T2JqZWN0c0luQWxsV29ybGRz
KCkgKCkgZnJvbSAvdXNyL2xpYjY0L2xpYndlYmtpdGd0ay0xLjAuc28uMAojOSAgMHgwMDAwN2Zm
ZmY2ZTdjOGY3IGluIFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZWNlaXZlZEZpcnN0RGF0YSgpICgp
IGZyb20gL3Vzci9saWI2NC9saWJ3ZWJraXRndGstMS4wLnNvLjAKIzEwIDB4MDAwMDdmZmZmNmU3
MGNlOCBpbiBXZWJDb3JlOjpEb2N1bWVudFdyaXRlcjo6c2V0RW5jb2RpbmcoV2ViQ29yZTo6U3Ry
aW5nIGNvbnN0JiwgYm9vbCkgKCkgZnJvbSAvdXNyL2xpYjY0L2xpYndlYmtpdGd0ay0xLjAuc28u
MAojMTEgMHgwMDAwN2ZmZmY3MjJjZmM2IGluIFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OmNv
bW1pdHRlZExvYWQoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBjaGFyIGNvbnN0KiwgaW50KSAo
KSBmcm9tIC91c3IvbGliNjQvbGlid2Via2l0Z3RrLTEuMC5zby4wCiMxMiAweDAwMDA3ZmZmZjZl
NjU1MDQgaW4gV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNvbW1pdExvYWQoY2hhciBjb25zdCos
IGludCkgKCkgZnJvbSAvdXNyL2xpYjY0L2xpYndlYmtpdGd0ay0xLjAuc28uMAojMTMgMHgwMDAw
N2ZmZmY2ZTlmNDFmIGluIFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShj
aGFyIGNvbnN0KiwgaW50LCBsb25nIGxvbmcsIGJvb2wpICgpIGZyb20gL3Vzci9saWI2NC9saWJ3
ZWJraXRndGstMS4wLnNvLjAKIzE0IDB4MDAwMDdmZmZmNmU5MDEwOCBpbiBXZWJDb3JlOjpNYWlu
UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKGNoYXIgY29uc3QqLCBpbnQsIGxvbmcgbG9u
ZywgYm9vbCkgKCkgZnJvbSAvdXNyL2xpYjY0L2xpYndlYmtpdGd0ay0xLjAuc28uMAojMTUgMHgw
MDAwN2ZmZmY2ZTllZjE1IGluIFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlRGF0
YShXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSosIGNoYXIgY29uc3QqLCBpbnQsIGludCkgKCkgZnJv
bSAvdXNyL2xpYjY0L2xpYndlYmtpdGd0ay0xLjAuc28uMAojMTYgMHgwMDAwN2ZmZmY3MjBlMjlj
IGluIFdlYkNvcmU6OmdvdENodW5rQ2FsbGJhY2soX1NvdXBNZXNzYWdlKiwgU291cEJ1ZmZlcios
IHZvaWQqKSAoKSBmcm9tIC91c3IvbGliNjQvbGlid2Via2l0Z3RrLTEuMC5zby4wCiMxNyAweDAw
MDA3ZmZmZjQ1Zjg5ZWUgaW4gZ19jbG9zdXJlX2ludm9rZSAoKSBmcm9tIC91c3IvbGliNjQvbGli
Z29iamVjdC0yLjAuc28uMAojMTggMHgwMDAwN2ZmZmY0NjBjYWIzIGluID8/ICgpIGZyb20gL3Vz
ci9saWI2NC9saWJnb2JqZWN0LTIuMC5zby4wCiMxOSAweDAwMDA3ZmZmZjQ2MGRlNmYgaW4gZ19z
aWduYWxfZW1pdF92YWxpc3QgKCkgZnJvbSAvdXNyL2xpYjY0L2xpYmdvYmplY3QtMi4wLnNvLjAK
IzIwIDB4MDAwMDdmZmZmNDYwZTM3MyBpbiBnX3NpZ25hbF9lbWl0ICgpIGZyb20gL3Vzci9saWI2
NC9saWJnb2JqZWN0LTIuMC5zby4wCiMyMSAweDAwMDA3ZmZmZjRiMDNkZDYgaW4gPz8gKCkgZnJv
bSAvdXNyL2xpYjY0L2xpYnNvdXAtMi40LnNvLjEKIzIyIDB4MDAwMDdmZmZmNGIwNDRmNiBpbiA/
PyAoKSBmcm9tIC91c3IvbGliNjQvbGlic291cC0yLjQuc28uMQojMjMgMHgwMDAwN2ZmZmY0YjA0
Yzg4IGluID8/ICgpIGZyb20gL3Vzci9saWI2NC9saWJzb3VwLTIuNC5zby4xCiMyNCAweDAwMDA3
ZmZmZjQ1Zjg5ZWUgaW4gZ19jbG9zdXJlX2ludm9rZSAoKSBmcm9tIC91c3IvbGliNjQvbGliZ29i
amVjdC0yLjAuc28uMAojMjUgMHgwMDAwN2ZmZmY0NjBjYWIzIGluID8/ICgpIGZyb20gL3Vzci9s
aWI2NC9saWJnb2JqZWN0LTIuMC5zby4wCiMyNiAweDAwMDA3ZmZmZjQ2MGRlNmYgaW4gZ19zaWdu
YWxfZW1pdF92YWxpc3QgKCkgZnJvbSAvdXNyL2xpYjY0L2xpYmdvYmplY3QtMi4wLnNvLjAKIzI3
IDB4MDAwMDdmZmZmNDYwZTM3MyBpbiBnX3NpZ25hbF9lbWl0ICgpIGZyb20gL3Vzci9saWI2NC9s
aWJnb2JqZWN0LTIuMC5zby4wCiMyOCAweDAwMDA3ZmZmZjRiMTAzNTEgaW4gPz8gKCkgZnJvbSAv
dXNyL2xpYjY0L2xpYnNvdXAtMi40LnNvLjEKIzI5IDB4MDAwMDdmZmZmM2QzNmY5ZSBpbiBnX21h
aW5fY29udGV4dF9kaXNwYXRjaCAoKSBmcm9tIC91c3IvbGliNjQvbGliZ2xpYi0yLjAuc28uMAoj
MzAgMHgwMDAwN2ZmZmYzZDNhOTU4IGluID8/ICgpIGZyb20gL3Vzci9saWI2NC9saWJnbGliLTIu
MC5zby4wCiMzMSAweDAwMDA3ZmZmZjNkM2FkYjUgaW4gZ19tYWluX2xvb3BfcnVuICgpIGZyb20g
L3Vzci9saWI2NC9saWJnbGliLTIuMC5zby4wCiMzMiAweDAwMDA3ZmZmZjYyZjExZDcgaW4gZ3Rr
X21haW4gKCkgZnJvbSAvdXNyL2xpYjY0L2xpYmd0ay14MTEtMi4wLnNvLjAKIzMzIDB4MDAwMDAw
MDAwMDQxMWRmZCBpbiBtYWluIChhcmdjPTMsIGFyZ3Y9MHg3ZmZmZmZmZmUyMTgpIGF0IHNyYy91
emJsLWNvcmUuYzoyNjk0CihnZGIpIA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>62182</attachid>
            <date>2010-07-21 08:17:14 -0700</date>
            <delta_ts>2010-07-21 16:48:38 -0700</delta_ts>
            <desc>Valgrind output</desc>
            <filename>valgrind_output</filename>
            <type>text/plain</type>
            <size>3827</size>
            <attacher>donaldcallen</attacher>
            
              <data encoding="base64">Li91emJsLWJyb3dzZXIgCnsnY29va2llX2phcic6ICcvaG9tZS9kY2EvLmxvY2FsL3NoYXJlL3V6
YmwvY29va2llcy50eHQnLAogJ2Nvb2tpZV9zb2NrZXQnOiAnL2hvbWUvZGNhLy5jYWNoZS91emJs
L2Nvb2tpZV9kYWVtb25fc29ja2V0JywKICdjb29raWVfd2hpdGVsaXN0JzogJy9ob21lL2RjYS8u
Y29uZmlnL3V6YmwvY29va2llX3doaXRlbGlzdCcsCiAnZGFlbW9uX21vZGUnOiBUcnVlLAogJ2Rh
ZW1vbl90aW1lb3V0JzogMCwKICd1c2Vfd2hpdGVsaXN0JzogRmFsc2UsCiAndmVyYm9zZSc6IFRy
dWV9CnV6YmwtY29va2llLWRhZW1vbjogZGV0ZWN0ZWQgZGFlbW9uIGxpc3RlbmluZyBvbiAnL2hv
bWUvZGNhLy5jYWNoZS91emJsL2Nvb2tpZV9kYWVtb25fc29ja2V0Jwo9PTE4MDM4PT0gTWVtY2hl
Y2ssIGEgbWVtb3J5IGVycm9yIGRldGVjdG9yCj09MTgwMzg9PSBDb3B5cmlnaHQgKEMpIDIwMDIt
MjAwOSwgYW5kIEdOVSBHUEwnZCwgYnkgSnVsaWFuIFNld2FyZCBldCBhbC4KPT0xODAzOD09IFVz
aW5nIFZhbGdyaW5kLTMuNS4wIGFuZCBMaWJWRVg7IHJlcnVuIHdpdGggLWggZm9yIGNvcHlyaWdo
dCBpbmZvCj09MTgwMzg9PSBDb21tYW5kOiB1emJsLWNvcmUgLS1jb25uZWN0LXNvY2tldCAvaG9t
ZS9kY2EvLmNhY2hlL3V6YmwvZXZlbnRfZGFlbW9uCj09MTgwMzg9PSAKCioqICh1emJsLWNvcmU6
MTgwMzgpOiBXQVJOSU5HICoqOiBpbml0X2ZpZm86IGNhbid0IGNyZWF0ZSAvdG1wL3V6YmxfZmlm
b18yMDk3MTU1MzogZmlsZSBleGlzdHMKCj09MTgwMzg9PSBJbnZhbGlkIHdyaXRlIG9mIHNpemUg
MQo9PTE4MDM4PT0gICAgYXQgMHg0QzI3MzNEOiBtZW1jcHkgKGluIC91c3IvbGliNjQvdmFsZ3Jp
bmQvdmdwcmVsb2FkX21lbWNoZWNrLWFtZDY0LWxpbnV4LnNvKQo9PTE4MDM4PT0gICAgYnkgMHg1
Q0JDREI5OiBKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMoV1RG
OjpSZWZQdHI8SlNDOjpFeGVjdXRhYmxlUG9vbD4qLCBKU0M6OkpTR2xvYmFsRGF0YSosIEpTQzo6
VHJhbXBvbGluZVN0cnVjdHVyZSopIChpbiAvdXNyL2xpYjY0L2xpYndlYmtpdGd0ay0xLjAuc28u
MC4wLjEpCj09MTgwMzg9PSAgICBieSAweDVDRDkzRkY6IEpTQzo6SklUOjpjb21waWxlQ1RJTWFj
aGluZVRyYW1wb2xpbmVzKEpTQzo6SlNHbG9iYWxEYXRhKiwgV1RGOjpSZWZQdHI8SlNDOjpFeGVj
dXRhYmxlUG9vbD4qLCBKU0M6OlRyYW1wb2xpbmVTdHJ1Y3R1cmUqKSAoaW4gL3Vzci9saWI2NC9s
aWJ3ZWJraXRndGstMS4wLnNvLjAuMC4xKQo9PTE4MDM4PT0gICAgYnkgMHg1RDNGREIyOiBKU0M6
OkpTR2xvYmFsRGF0YTo6SlNHbG9iYWxEYXRhKEpTQzo6SlNHbG9iYWxEYXRhOjpHbG9iYWxEYXRh
VHlwZSwgSlNDOjpUaHJlYWRTdGFja1R5cGUpIChpbiAvdXNyL2xpYjY0L2xpYndlYmtpdGd0ay0x
LjAuc28uMC4wLjEpCj09MTgwMzg9PSAgICBieSAweDVEM0ZGMTI6IEpTQzo6SlNHbG9iYWxEYXRh
OjpjcmVhdGUoSlNDOjpUaHJlYWRTdGFja1R5cGUpIChpbiAvdXNyL2xpYjY0L2xpYndlYmtpdGd0
ay0xLjAuc28uMC4wLjEpCj09MTgwMzg9PSAgICBieSAweDVENDA4MzE6IEpTQzo6SlNHbG9iYWxE
YXRhOjpjcmVhdGVMZWFrZWQoSlNDOjpUaHJlYWRTdGFja1R5cGUpIChpbiAvdXNyL2xpYjY0L2xp
YndlYmtpdGd0ay0xLjAuc28uMC4wLjEpCj09MTgwMzg9PSAgICBieSAweDUyMDE1RjE6IFdlYkNv
cmU6OkpTRE9NV2luZG93QmFzZTo6Y29tbW9uSlNHbG9iYWxEYXRhKCkgKGluIC91c3IvbGliNjQv
bGlid2Via2l0Z3RrLTEuMC5zby4wLjAuMSkKPT0xODAzOD09ICAgIGJ5IDB4NTIzRTBENTogV2Vi
Q29yZTo6U2NyaXB0Q29udHJvbGxlcjo6Z2V0QWxsV29ybGRzKFdURjo6VmVjdG9yPFdlYkNvcmU6
OkRPTVdyYXBwZXJXb3JsZCosIDB1bD4mKSAoaW4gL3Vzci9saWI2NC9saWJ3ZWJraXRndGstMS4w
LnNvLjAuMC4xKQo9PTE4MDM4PT0gICAgYnkgMHg1NEVDNkYxOiBXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6ZGlzcGF0Y2hEaWRDbGVhcldpbmRvd09iamVjdHNJbkFsbFdvcmxkcygpIChpbiAvdXNyL2xp
YjY0L2xpYndlYmtpdGd0ay0xLjAuc28uMC4wLjEpCj09MTgwMzg9PSAgICBieSAweDU0RUY4RjY6
IFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZWNlaXZlZEZpcnN0RGF0YSgpIChpbiAvdXNyL2xpYjY0
L2xpYndlYmtpdGd0ay0xLjAuc28uMC4wLjEpCj09MTgwMzg9PSAgICBieSAweDU0RTNDRTc6IFdl
YkNvcmU6OkRvY3VtZW50V3JpdGVyOjpzZXRFbmNvZGluZyhXZWJDb3JlOjpTdHJpbmcgY29uc3Qm
LCBib29sKSAoaW4gL3Vzci9saWI2NC9saWJ3ZWJraXRndGstMS4wLnNvLjAuMC4xKQo9PTE4MDM4
PT0gICAgYnkgMHg1ODlGRkM1OiBXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50Ojpjb21taXR0ZWRM
b2FkKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY2hhciBjb25zdCosIGludCkgKGluIC91c3Iv
bGliNjQvbGlid2Via2l0Z3RrLTEuMC5zby4wLjAuMSkKPT0xODAzOD09ICBBZGRyZXNzIDB4Mjdj
IGlzIG5vdCBzdGFjaydkLCBtYWxsb2MnZCBvciAocmVjZW50bHkpIGZyZWUnZAo9PTE4MDM4PT0g
ClByb2dyYW0gYWJvcnRlZCwgc2VnbWVudGF0aW9uIGZhdWx0IQpBdHRlbXB0aW5nIHRvIGNsZWFu
IHVwLi4uCj09MTgwMzg9PSBUaHJlYWQgMjoKPT0xODAzOD09IEludmFsaWQgZnJlZSgpIC8gZGVs
ZXRlIC8gZGVsZXRlW10KPT0xODAzOD09ICAgIGF0IDB4NEMyNUEyODogZnJlZSAoaW4gL3Vzci9s
aWI2NC92YWxncmluZC92Z3ByZWxvYWRfbWVtY2hlY2stYW1kNjQtbGludXguc28pCj09MTgwMzg9
PSAgICBieSAweDkyNEFEM0E6ID8/PyAoaW4gL2xpYjY0L2xpYmMtMi4xMS4xLnNvKQo9PTE4MDM4
PT0gICAgYnkgMHg5MjRBOEQxOiA/Pz8gKGluIC9saWI2NC9saWJjLTIuMTEuMS5zbykKPT0xODAz
OD09ICAgIGJ5IDB4NEEyMjRFODogX3ZnblVfZnJlZXJlcyAoaW4gL3Vzci9saWI2NC92YWxncmlu
ZC92Z3ByZWxvYWRfY29yZS1hbWQ2NC1saW51eC5zbykKPT0xODAzOD09ICBBZGRyZXNzIDB4NDA0
MTE3MCBpcyBub3Qgc3RhY2snZCwgbWFsbG9jJ2Qgb3IgKHJlY2VudGx5KSBmcmVlJ2QKPT0xODAz
OD09IAo9PTE4MDM4PT0gCj09MTgwMzg9PSBIRUFQIFNVTU1BUlk6Cj09MTgwMzg9PSAgICAgaW4g
dXNlIGF0IGV4aXQ6IDEsMjg0LDgxMyBieXRlcyBpbiA5LDE2NiBibG9ja3MKPT0xODAzOD09ICAg
dG90YWwgaGVhcCB1c2FnZTogMTA3LDc3NyBhbGxvY3MsIDk4LDYxMiBmcmVlcywgNywxMTksOTkz
IGJ5dGVzIGFsbG9jYXRlZAo9PTE4MDM4PT0gCj09MTgwMzg9PSBMRUFLIFNVTU1BUlk6Cj09MTgw
Mzg9PSAgICBkZWZpbml0ZWx5IGxvc3Q6IDYsNjAzIGJ5dGVzIGluIDIyIGJsb2Nrcwo9PTE4MDM4
PT0gICAgaW5kaXJlY3RseSBsb3N0OiAxNiw4MTYgYnl0ZXMgaW4gNTI1IGJsb2Nrcwo9PTE4MDM4
PT0gICAgICBwb3NzaWJseSBsb3N0OiA3NTYsMjE4IGJ5dGVzIGluIDQsNTIyIGJsb2Nrcwo9PTE4
MDM4PT0gICAgc3RpbGwgcmVhY2hhYmxlOiA1MDUsMTc2IGJ5dGVzIGluIDQsMDk3IGJsb2Nrcwo9
PTE4MDM4PT0gICAgICAgICBzdXBwcmVzc2VkOiAwIGJ5dGVzIGluIDAgYmxvY2tzCj09MTgwMzg9
PSBSZXJ1biB3aXRoIC0tbGVhay1jaGVjaz1mdWxsIHRvIHNlZSBkZXRhaWxzIG9mIGxlYWtlZCBt
ZW1vcnkKPT0xODAzOD09IAo9PTE4MDM4PT0gRm9yIGNvdW50cyBvZiBkZXRlY3RlZCBhbmQgc3Vw
cHJlc3NlZCBlcnJvcnMsIHJlcnVuIHdpdGg6IC12Cj09MTgwMzg9PSBFUlJPUiBTVU1NQVJZOiAy
IGVycm9ycyBmcm9tIDIgY29udGV4dHMgKHN1cHByZXNzZWQ6IDI4IGZyb20gNykKZGNhQHNlcmdl
aTovdG1wJCA=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>64955</attachid>
            <date>2010-08-20 07:46:30 -0700</date>
            <delta_ts>2010-08-20 07:46:30 -0700</delta_ts>
            <desc>Segfault when running jsc without any argument (debug build)</desc>
            <filename>jsc_segfault_backtrace_42756</filename>
            <type>text/plain</type>
            <size>2036</size>
            <attacher name="Adrien Nader">camaradetux</attacher>
            
              <data encoding="base64">QVNTRVJUSU9OIEZBSUxFRDogbV9mcmVlUHRyIDw9IG1fZW5kCiguL0phdmFTY3JpcHRDb3JlL2pp
dC9FeGVjdXRhYmxlQWxsb2NhdG9yLmg6MTA1IHZvaWQqIEpTQzo6RXhlY3V0YWJsZVBvb2w6OmFs
bG9jKHNpemVfdCkpCgpQcm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRp
b24gZmF1bHQuCjB4MDAwMDAwMDAwMDRkNzRjOCBpbiBKU0M6OkV4ZWN1dGFibGVQb29sOjphbGxv
YyAodGhpcz0weDkzYWZkMCwgbj02MzgpIGF0IC4vSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFi
bGVBbGxvY2F0b3IuaDoxMDUKMTA1ICAgICAgICAgICAgIEFTU0VSVChtX2ZyZWVQdHIgPD0gbV9l
bmQpOwooZ2RiKSBidAojMCAgMHgwMDAwMDAwMDAwNGQ3NGM4IGluIEpTQzo6RXhlY3V0YWJsZVBv
b2w6OmFsbG9jICh0aGlzPTB4OTNhZmQwLCBuPTYzOCkgYXQgLi9KYXZhU2NyaXB0Q29yZS9qaXQv
RXhlY3V0YWJsZUFsbG9jYXRvci5oOjEwNQojMSAgMHgwMDAwMDAwMDAwNGQ3YjQzIGluIEpTQzo6
QXNzZW1ibGVyQnVmZmVyOjpleGVjdXRhYmxlQ29weSAodGhpcz0weDdmZmZmZmZmZGEyMCwgYWxs
b2NhdG9yPTB4OTNhZmQwKQogICAgYXQgLi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQXNzZW1i
bGVyQnVmZmVyLmg6MTMxCiMyICAweDAwMDAwMDAwMDA0ZDkwMWIgaW4gSlNDOjpYODZBc3NlbWJs
ZXI6Olg4Nkluc3RydWN0aW9uRm9ybWF0dGVyOjpleGVjdXRhYmxlQ29weSAodGhpcz0weDdmZmZm
ZmZmZGEyMCwgYWxsb2NhdG9yPTB4OTNhZmQwKQogICAgYXQgLi9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvWDg2QXNzZW1ibGVyLmg6MTkzMQojMyAgMHgwMDAwMDAwMDAwNGQ4OTUzIGluIEpTQzo6
WDg2QXNzZW1ibGVyOjpleGVjdXRhYmxlQ29weSAodGhpcz0weDdmZmZmZmZmZGEyMCwgYWxsb2Nh
dG9yPTB4OTNhZmQwKQogICAgYXQgLi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvWDg2QXNzZW1i
bGVyLmg6MTYyOQojNCAgMHgwMDAwMDAwMDAwNGRhNDI3IGluIExpbmtCdWZmZXIgKHRoaXM9MHg3
ZmZmZmZmZmQ1NTAsIG1hc209MHg3ZmZmZmZmZmRhMjAsIGV4ZWN1dGFibGVQb29sPS4uLikKICAg
IGF0IC4vSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaDo2OAojNSAgMHgwMDAw
MDAwMDAwNTE3YWQ0IGluIEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9s
aW5lcyAodGhpcz0weDdmZmZmZmZmZGEyMCwgZXhlY3V0YWJsZVBvb2w9MHg5MzhhZTgsIGdsb2Jh
bERhdGE9MHg5MzcyNjAsIAogICAgdHJhbXBvbGluZXM9MHg5MzhhZjApIGF0IEphdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzLmNwcDoxNjMKIzYgIDB4MDAwMDAwMDAwMDUzNzVlNSBpbiBKU0M6
OkpJVDo6Y29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyAoZ2xvYmFsRGF0YT0weDkzNzI2MCwg
ZXhlY3V0YWJsZVBvb2w9MHg5MzhhZTgsIHRyYW1wb2xpbmVzPTB4OTM4YWYwKQogICAgYXQgSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5oOjIyMwojNyAgMHgwMDAwMDAwMDAwNTI4YjgzIGluIEpJVFRo
dW5rcyAodGhpcz0weDkzOGE1OCwgZ2xvYmFsRGF0YT0weDkzNzI2MCkgYXQgSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzLmNwcDo4MDAKIzggIDB4MDAwMDAwMDAwMDQ2ZTcxNSBpbiBKU0dsb2Jh
bERhdGEgKHRoaXM9MHg5MzcyNjAsIGdsb2JhbERhdGFUeXBlPUpTQzo6SlNHbG9iYWxEYXRhOjpE
ZWZhdWx0LCB0aHJlYWRTdGFja1R5cGU9SlNDOjpUaHJlYWRTdGFja1R5cGVMYXJnZSkKICAgIGF0
IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcDoxNTQKIzkgIDB4MDAwMDAw
MDAwMDQ2ZjFhYSBpbiBKU0M6OkpTR2xvYmFsRGF0YTo6Y3JlYXRlICh0eXBlPUpTQzo6VGhyZWFk
U3RhY2tUeXBlTGFyZ2UpIGF0IEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNw
cDoyMjUKIzEwIDB4MDAwMDAwMDAwMDQwZDVlOSBpbiBtYWluIChhcmdjPTEsIGFyZ3Y9MHg3ZmZm
ZmZmZmRlNjgpIGF0IEphdmFTY3JpcHRDb3JlL2pzYy5jcHA6MzQ2Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>73848</attachid>
            <date>2010-11-14 05:05:41 -0800</date>
            <delta_ts>2010-11-14 05:05:41 -0800</delta_ts>
            <desc>Segfault when running jsc without any argument (debug build)</desc>
            <filename>jsc_bt.log</filename>
            <type>text/plain</type>
            <size>1313</size>
            <attacher name="ojab">ojab</attacher>
            
              <data encoding="base64">UHJvZ3JhbSByZWNlaXZlZCBzaWduYWwgU0lHU0VHViwgU2VnbWVudGF0aW9uIGZhdWx0LgoweDAw
MDAwMDAwMDA0ZGVkMDQgaW4gSlNDOjpGaXhlZFZNUG9vbEFsbG9jYXRvcjo6Rml4ZWRWTVBvb2xB
bGxvY2F0b3IgKHRoaXM9MHg5NjFmNDAsIGNvbW1vblNpemU9MTYzODQsIHRvdGFsSGVhcFNpemU9
MjE0NzQ4MzY0OCkKICAgIGF0IEphdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9y
Rml4ZWRWTVBvb2wuY3BwOjMwOAozMDggICAgICAgICAgICAgICAgIENSQVNIKCk7CihnZGIpIGJ0
IGZ1bGwKIzAgIDB4MDAwMDAwMDAwMDRkZWQwNCBpbiBKU0M6OkZpeGVkVk1Qb29sQWxsb2NhdG9y
OjpGaXhlZFZNUG9vbEFsbG9jYXRvciAodGhpcz0weDk2MWY0MCwgY29tbW9uU2l6ZT0xNjM4NCwg
CiAgICB0b3RhbEhlYXBTaXplPTIxNDc0ODM2NDgpIGF0IEphdmFTY3JpcHRDb3JlL2ppdC9FeGVj
dXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwOjMwOApObyBsb2NhbHMuCiMxICAweDAwMDAw
MDAwMDA0ZGRhYTggaW4gSlNDOjpFeGVjdXRhYmxlQWxsb2NhdG9yOjppc1ZhbGlkICh0aGlzPTB4
OTVmYTIwKQogICAgYXQgSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhl
ZFZNUG9vbC5jcHA6NDYwCiAgICAgICAgbG9ja19ob2xkZXIgPSB7bG9ja18gPSAweDk1ZGNiMH0K
IzIgIDB4MDAwMDAwMDAwMDQ2ZDQ2OCBpbiBKU0M6OkV4ZWN1dGFibGVBbGxvY2F0b3I6OkV4ZWN1
dGFibGVBbGxvY2F0b3IoKSAoKQogICAgICAgIFdURjo6c3RhdGljSXNGb3JiaWRkZW4gPSBmYWxz
ZQojMyAgMHgwMDAwMDAwMDAwNDZjNmY4IGluIEpTQzo6SlNHbG9iYWxEYXRhOjpKU0dsb2JhbERh
dGEgKHRoaXM9MHg5NWUyNDAsIGdsb2JhbERhdGFUeXBlPUpTQzo6SlNHbG9iYWxEYXRhOjpEZWZh
dWx0LCAKICAgIHRocmVhZFN0YWNrVHlwZT1KU0M6OlRocmVhZFN0YWNrVHlwZUxhcmdlKSBhdCBK
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHA6MTU1Ck5vIGxvY2Fscy4KIzQg
IDB4MDAwMDAwMDAwMDQ2Y2U1MCBpbiBKU0M6OkpTR2xvYmFsRGF0YTo6Y3JlYXRlICh0eXBlPUpT
Qzo6VGhyZWFkU3RhY2tUeXBlTGFyZ2UpCiAgICBhdCBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsRGF0YS5jcHA6MjM5Ck5vIGxvY2Fscy4KIzUgIDB4MDAwMDAwMDAwMDQwY2NjNCBpbiBt
YWluIChhcmdjPTEsIGFyZ3Y9MHg3ZmZmZmZmZmViOTgpIGF0IEphdmFTY3JpcHRDb3JlL2pzYy5j
cHA6MzQ2CiAgICAgICAgcmVzID0gMAogICAgICAgIGdsb2JhbERhdGEgPSAweDdmZmZmZmZmZWI5
MAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78732</attachid>
            <date>2011-01-12 14:26:26 -0800</date>
            <delta_ts>2011-01-31 16:07:42 -0800</delta_ts>
            <desc>overcommit.diff</desc>
            <filename>overcommit.diff</filename>
            <type>text/plain</type>
            <size>6513</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBiMjY4MDZiYzkwYTIzZDVlMjlmNTk3ZDcxMGU2YjlkYmZiNDY5NGNiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhhbkBnbm9tZS5vcmc+CkRhdGU6IFdlZCwg
MTIgSmFuIDIwMTEgMjM6MjU6MjMgKzAxMDAKU3ViamVjdDogW1BBVENIXSAyMDExLTAxLTEyICBY
YW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgogICAgICAgIEpJVCByZXF1aXJlcyBWTSBvdmVyY29tbWl0IChwYXJ0aWN1bGFy
bHkgb24geDg2LTY0KSwgTGludXggZG9lcyBub3QgYnkgZGVmYXVsdCBzdXBwb3J0IHRoaXMgd2l0
aG91dCBzd2FwPwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00Mjc1NgoKICAgICAgICBUaGUgRml4ZWRWTVBvb2wgQWxsb2NhdG9yIGRvZXMgbm90IHdvcmsg
d2VsbCBvbiBzeXN0ZW1zIHdoZXJlCiAgICAgICAgYWxsb2NhdGluZyB2ZXJ5IGxhcmdlIGFtb3Vu
dHMgb2YgbWVtb3J5IHVwZnJvbnQgaXMgbm90IHJlYXNvbmFibGUsCiAgICAgICAgbGlrZSBMaW51
eCB3aXRob3V0IG92ZXJjb21taXQgZW5hYmxlZC4gQXMgYSB3b3JrYXJvdW5kLCBvbiBMaW51eCwK
ICAgICAgICBkZWZhdWx0IHRvIHRoZSB2YWx1ZXMgdXNlZCBpbiBlbWJlZGRlZCBlbnZpcm9ubWVu
dHMgKGluIHRoZSBNQgogICAgICAgIHJhbmdlKSwgYW5kIG9ubHkganVtcCB0byB0aGUgR0IgcmFu
Z2UgaWYgd2UgZGV0ZWN0IGF0IHJ1bnRpbWUgdGhhdAogICAgICAgIG92ZXJjb21taXQgaXMgZW5h
YmxlZC4gU2hvdWxkIGZpeCBjcmFzaGVzIG9uIExpbnV4L3g4Nl82NCB3aXRoCiAgICAgICAgbGVz
cyB0aGFuIDMgb3IgNEdCIG9mIFJBTS4KCiAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRv
ckZpeGVkVk1Qb29sLmNwcDoKICAgICAgICAoSlNDOjpGaXhlZFZNUG9vbEFsbG9jYXRvcjo6ZnJl
ZSk6IHVzZSBuZXcgdmFyaWFibGVzIGZvciBWTSBwb29sCiAgICAgICAgc2l6ZSBhbmQgY29hbGVz
Y2UgbGltaXQuCiAgICAgICAgKEpTQzo6RXhlY3V0YWJsZUFsbG9jYXRvcjo6aXNWYWxpZCk6IHN3
YXAgdGhlIHZhcmlhYmxlcyBmcm9tCiAgICAgICAgZW1iZWRkZWQgdG8gZ2VuZXJpYyB2YWx1ZXMg
YXQgcnVudGltZSwgb24gbGludXgsIGlmIG92ZXJjb21taXQgaXMKICAgICAgICBlbmFibGVkLgog
ICAgICAgIChKU0M6OkV4ZWN1dGFibGVBbGxvY2F0b3I6OnVuZGVyTWVtb3J5UHJlc3N1cmUpOiB1
c2UgbmV3IHZhcmlhYmxlcwogICAgICAgIGZvciBWTSBwb29sIHNpemUgYW5kIGNvYWxlc2NlIGxp
bWl0LgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgIHwgICAyNCArKysrKysrKysrCiAuLi4vaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZN
UG9vbC5jcHAgICAgICAgICB8ICAgNDkgKysrKysrKysrKysrKysrKy0tLS0KIDIgZmlsZXMgY2hh
bmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKaW5kZXggODcxYmNiMy4uY2JmNzM3MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMjkgQEAKIDIwMTEtMDEtMTIgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29t
PgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpJVCBy
ZXF1aXJlcyBWTSBvdmVyY29tbWl0IChwYXJ0aWN1bGFybHkgb24geDg2LTY0KSwgTGludXggZG9l
cyBub3QgYnkgZGVmYXVsdCBzdXBwb3J0IHRoaXMgd2l0aG91dCBzd2FwPworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI3NTYKKworICAgICAgICBUaGUg
Rml4ZWRWTVBvb2wgQWxsb2NhdG9yIGRvZXMgbm90IHdvcmsgd2VsbCBvbiBzeXN0ZW1zIHdoZXJl
CisgICAgICAgIGFsbG9jYXRpbmcgdmVyeSBsYXJnZSBhbW91bnRzIG9mIG1lbW9yeSB1cGZyb250
IGlzIG5vdCByZWFzb25hYmxlLAorICAgICAgICBsaWtlIExpbnV4IHdpdGhvdXQgb3ZlcmNvbW1p
dCBlbmFibGVkLiBBcyBhIHdvcmthcm91bmQsIG9uIExpbnV4LAorICAgICAgICBkZWZhdWx0IHRv
IHRoZSB2YWx1ZXMgdXNlZCBpbiBlbWJlZGRlZCBlbnZpcm9ubWVudHMgKGluIHRoZSBNQgorICAg
ICAgICByYW5nZSksIGFuZCBvbmx5IGp1bXAgdG8gdGhlIEdCIHJhbmdlIGlmIHdlIGRldGVjdCBh
dCBydW50aW1lIHRoYXQKKyAgICAgICAgb3ZlcmNvbW1pdCBpcyBlbmFibGVkLiBTaG91bGQgZml4
IGNyYXNoZXMgb24gTGludXgveDg2XzY0IHdpdGgKKyAgICAgICAgbGVzcyB0aGFuIDMgb3IgNEdC
IG9mIFJBTS4KKworICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wu
Y3BwOgorICAgICAgICAoSlNDOjpGaXhlZFZNUG9vbEFsbG9jYXRvcjo6ZnJlZSk6IHVzZSBuZXcg
dmFyaWFibGVzIGZvciBWTSBwb29sCisgICAgICAgIHNpemUgYW5kIGNvYWxlc2NlIGxpbWl0Lgor
ICAgICAgICAoSlNDOjpFeGVjdXRhYmxlQWxsb2NhdG9yOjppc1ZhbGlkKTogc3dhcCB0aGUgdmFy
aWFibGVzIGZyb20KKyAgICAgICAgZW1iZWRkZWQgdG8gZ2VuZXJpYyB2YWx1ZXMgYXQgcnVudGlt
ZSwgb24gbGludXgsIGlmIG92ZXJjb21taXQgaXMKKyAgICAgICAgZW5hYmxlZC4KKyAgICAgICAg
KEpTQzo6RXhlY3V0YWJsZUFsbG9jYXRvcjo6dW5kZXJNZW1vcnlQcmVzc3VyZSk6IHVzZSBuZXcg
dmFyaWFibGVzCisgICAgICAgIGZvciBWTSBwb29sIHNpemUgYW5kIGNvYWxlc2NlIGxpbWl0Lgor
CisyMDExLTAxLTEyICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKwogICAgICAgICBS
ZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCiAKICAgICAgICAgQWRkIG5ldyBZYXJyLmggaGVh
ZGVyIHRvIHRoZSBsaXN0IGZpbGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAKaW5kZXggZTI4MGIy
ZC4uNzgyYjczYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRh
YmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcApAQCAtMzgsMTQgKzM4LDI5IEBA
CiAjaW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9WTVRhZ3Mu
aD4KIAotI2lmIENQVShYODZfNjQpCi0gICAgLy8gVGhlc2UgbGltaXRzIHN1aXRhYmxlIG9uIDY0
LWJpdCBwbGF0Zm9ybXMgKHBhcnRpY3VsYXJseSB4ODYtNjQsIHdoZXJlIHdlIHJlcXVpcmUgYWxs
IGp1bXBzIHRvIGhhdmUgYSAyR2IgbWF4IHJhbmdlKS4KLSAgICAjZGVmaW5lIFZNX1BPT0xfU0la
RSAoMnUgKiAxMDI0dSAqIDEwMjR1ICogMTAyNHUpIC8vIDJHYgotICAgICNkZWZpbmUgQ09BTEVT
Q0VfTElNSVQgKDE2dSAqIDEwMjR1ICogMTAyNHUpIC8vIDE2TWIKKyNpZiBPUyhMSU5VWCkKKyNp
bmNsdWRlIDxzdGRpby5oPgorI2VuZGlmCisKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCB2bVBvb2xT
aXplR2VuZXJpYyA9IDJ1ICogMTAyNHUgKiAxMDI0dSAqIDEwMjR1OyAvLyAyR2IKK3N0YXRpYyBj
b25zdCB1bnNpZ25lZCBjb2FsZXNjZUxpbWl0R2VuZXJpYyA9IDE2dSAqIDEwMjR1ICogMTAyNHU7
IC8vIDE2TWIKKworc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZtUG9vbFNpemVFbWJlZGRlZCA9IDMy
dSAqIDEwMjR1ICogMTAyNHU7IC8vIDMyTWIKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjb2FsZXNj
ZUxpbWl0RW1iZWRkZWQgPSA0dSAqIDEwMjR1ICogMTAyNHU7IC8vIDRNYgorCisjaWYgQ1BVKFg4
Nl82NCkgJiYgIU9TKExJTlVYKQorLy8gVGhlc2UgbGltaXRzIHN1aXRhYmxlIG9uIDY0LWJpdCBw
bGF0Zm9ybXMgKHBhcnRpY3VsYXJseSB4ODYtNjQsCisvLyB3aGVyZSB3ZSByZXF1aXJlIGFsbCBq
dW1wcyB0byBoYXZlIGEgMkdiIG1heCByYW5nZSkuIFdlIGRvbid0CisvLyBlbmFibGUgdGhpcyBi
eSBkZWZhdWx0IG9uIExpbnV4LCBzaW5jZSBpdCBuZWVkcyBvdmVyY29tbWl0IGFuZAorLy8gZGlz
dHJvcyBjb21tb25seSBkaXNhYmxlIHRoYXQgZmVhdHVyZS4gV2UnbGwgY2hlY2sgdGhlIHZhbHVl
CisvLyBmb3IgdGhlIG92ZXJjb21taXQgZmVhdHVyZSBhdCBydW50aW1lIGFuZCByZS1hc3NpZ24g
dGhlIEdlbmVyaWMKKy8vIHZhbHVlcyBpZiBpdCdzIGVuYWJsZWQuCitzdGF0aWMgdW5zaWduZWQg
dm1Qb29sU2l6ZSA9IHZtUG9vbFNpemVHZW5lcmljOyAvLyAyR2IKK3N0YXRpYyB1bnNpZ25lZCBj
b2FsZXNjZUxpbWl0ID0gY29hbGVzY2VMaW1pdEdlbmVyaWM7IC8vIDE2TWIKICNlbHNlCiAgICAg
Ly8gVGhlc2UgbGltaXRzIGFyZSBob3BlZnVsbHkgc2Vuc2libGUgb24gZW1iZWRkZWQgcGxhdGZv
cm1zLgotICAgICNkZWZpbmUgVk1fUE9PTF9TSVpFICgzMnUgKiAxMDI0dSAqIDEwMjR1KSAvLyAz
Mk1iCi0gICAgI2RlZmluZSBDT0FMRVNDRV9MSU1JVCAoNHUgKiAxMDI0dSAqIDEwMjR1KSAvLyA0
TWIKK3N0YXRpYyB1bnNpZ25lZCB2bVBvb2xTaXplID0gdm1Qb29sU2l6ZUVtYmVkZGVkOyAvLyAz
Mk1iCitzdGF0aWMgdW5zaWduZWQgY29hbGVzY2VMaW1pdCA9IGNvYWxlc2NlTGltaXRFbWJlZGRl
ZDsgLy8gNE1iCiAjZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIFdURjsKQEAgLTMxNSw3ICszMzAs
NyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIDE2TUIgb2YgYWxsb2NhdGlvbnMgaGF2ZSBiZWVuIGZy
ZWVkLCBzd2VlcCBtX2ZyZWVMaXN0CiAgICAgICAgIC8vIGNvYWxlc2NpbmcgYW55IG5laWdoYm9y
aW5nIGZyYWdtZW50cy4KICAgICAgICAgbV9jb3VudEZyZWVkU2luY2VMYXN0Q29hbGVzY2UgKz0g
c2l6ZTsKLSAgICAgICAgaWYgKG1fY291bnRGcmVlZFNpbmNlTGFzdENvYWxlc2NlID49IENPQUxF
U0NFX0xJTUlUKSB7CisgICAgICAgIGlmIChtX2NvdW50RnJlZWRTaW5jZUxhc3RDb2FsZXNjZSA+
PSBjb2FsZXNjZUxpbWl0KSB7CiAgICAgICAgICAgICBtX2NvdW50RnJlZWRTaW5jZUxhc3RDb2Fs
ZXNjZSA9IDA7CiAgICAgICAgICAgICBjb2FsZXNjZUZyZWVTcGFjZSgpOwogICAgICAgICB9CkBA
IC00MzYsOCArNDUxLDIyIEBAIHN0YXRpYyBzaXplX3QgYWxsb2NhdGVkQ291bnQgPSAwOwogYm9v
bCBFeGVjdXRhYmxlQWxsb2NhdG9yOjppc1ZhbGlkKCkgY29uc3QKIHsKICAgICBTcGluTG9ja0hv
bGRlciBsb2NrX2hvbGRlcigmc3BpbmxvY2spOwotICAgIGlmICghYWxsb2NhdG9yKQotICAgICAg
ICBhbGxvY2F0b3IgPSBuZXcgRml4ZWRWTVBvb2xBbGxvY2F0b3IoSklUX0FMTE9DQVRPUl9MQVJH
RV9BTExPQ19TSVpFLCBWTV9QT09MX1NJWkUpOworICAgIGlmICghYWxsb2NhdG9yKSB7CisjaWYg
T1MoTElOVVgpCisgICAgICAgIEZJTEUqIGZwID0gZm9wZW4oIi9wcm9jL3N5cy92bS9vdmVyY29t
bWl0X21lbW9yeSIsICJyIik7CisgICAgICAgIGlmIChmcCkgeworICAgICAgICAgICAgdW5zaWdu
ZWQgb3ZlcmNvbW1pdCA9IDA7CisgICAgICAgICAgICBmc2NhbmYoZnAsICIldSIsICZvdmVyY29t
bWl0KTsKKyAgICAgICAgICAgIGlmIChvdmVyY29tbWl0ID09IDEpIHsKKyAgICAgICAgICAgICAg
ICB2bVBvb2xTaXplID0gdm1Qb29sU2l6ZUdlbmVyaWM7IC8vIDJHYgorICAgICAgICAgICAgICAg
IGNvYWxlc2NlTGltaXQgPSBjb2FsZXNjZUxpbWl0R2VuZXJpYzsgLy8gMTZNYgorICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBmY2xvc2UoZnApOworICAgICAgICB9CisjZW5kaWYKKyAgICAg
ICAgYWxsb2NhdG9yID0gbmV3IEZpeGVkVk1Qb29sQWxsb2NhdG9yKEpJVF9BTExPQ0FUT1JfTEFS
R0VfQUxMT0NfU0laRSwgdm1Qb29sU2l6ZSk7CisgICAgfQogICAgIHJldHVybiBhbGxvY2F0b3It
PmlzVmFsaWQoKTsKIH0KIApAQCAtNDQ1LDcgKzQ3NCw3IEBAIGJvb2wgRXhlY3V0YWJsZUFsbG9j
YXRvcjo6dW5kZXJNZW1vcnlQcmVzc3VyZSgpCiB7CiAgICAgLy8gVGVjaG5pY2FsbHkgd2Ugc2hv
dWxkIHRha2UgdGhlIHNwaW4gbG9jayBoZXJlLCBidXQgd2UgZG9uJ3QgY2FyZSBpZiB3ZSBnZXQg
c3RhbGUgZGF0YS4KICAgICAvLyBUaGlzIGlzIG9ubHkgcmVhbGx5IGEgaGV1cmlzdGljIGFueXdh
eS4KLSAgICByZXR1cm4gYWxsb2NhdGVkQ291bnQgPiAoVk1fUE9PTF9TSVpFIC8gMik7CisgICAg
cmV0dXJuIGFsbG9jYXRlZENvdW50ID4gKHZtUG9vbFNpemUgLyAyKTsKIH0KIAogRXhlY3V0YWJs
ZVBvb2w6OkFsbG9jYXRpb24gRXhlY3V0YWJsZVBvb2w6OnN5c3RlbUFsbG9jKHNpemVfdCBzaXpl
KQotLSAKMS43LjMuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78761</attachid>
            <date>2011-01-12 17:04:17 -0800</date>
            <delta_ts>2011-01-13 04:03:20 -0800</delta_ts>
            <desc>overcommit.diff</desc>
            <filename>overcommit.diff</filename>
            <type>text/plain</type>
            <size>6651</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA1Njc5OTM5NDEyZjE5ZWMzZGYyOWM3MzhiNGViNjEwNjhiZGNlYzM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhhbkBnbm9tZS5vcmc+CkRhdGU6IFdlZCwg
MTIgSmFuIDIwMTEgMjM6MjU6MjMgKzAxMDAKU3ViamVjdDogW1BBVENIXSAyMDExLTAxLTEyICBY
YW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgogICAgICAgIEpJVCByZXF1aXJlcyBWTSBvdmVyY29tbWl0IChwYXJ0aWN1bGFy
bHkgb24geDg2LTY0KSwgTGludXggZG9lcyBub3QgYnkgZGVmYXVsdCBzdXBwb3J0IHRoaXMgd2l0
aG91dCBzd2FwPwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00Mjc1NgoKICAgICAgICBUaGUgRml4ZWRWTVBvb2wgQWxsb2NhdG9yIGRvZXMgbm90IHdvcmsg
d2VsbCBvbiBzeXN0ZW1zIHdoZXJlCiAgICAgICAgYWxsb2NhdGluZyB2ZXJ5IGxhcmdlIGFtb3Vu
dHMgb2YgbWVtb3J5IHVwZnJvbnQgaXMgbm90IHJlYXNvbmFibGUsCiAgICAgICAgbGlrZSBMaW51
eCB3aXRob3V0IG92ZXJjb21taXQgZW5hYmxlZC4gQXMgYSB3b3JrYXJvdW5kLCBvbiBMaW51eCwK
ICAgICAgICBkZWZhdWx0IHRvIHRoZSB2YWx1ZXMgdXNlZCBpbiBlbWJlZGRlZCBlbnZpcm9ubWVu
dHMgKGluIHRoZSBNQgogICAgICAgIHJhbmdlKSwgYW5kIG9ubHkganVtcCB0byB0aGUgR0IgcmFu
Z2UgaWYgd2UgZGV0ZWN0IGF0IHJ1bnRpbWUgdGhhdAogICAgICAgIG92ZXJjb21taXQgaXMgZW5h
YmxlZC4gU2hvdWxkIGZpeCBjcmFzaGVzIG9uIExpbnV4L3g4Nl82NCB3aXRoCiAgICAgICAgbGVz
cyB0aGFuIDMgb3IgNEdCIG9mIFJBTS4KCiAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRv
ckZpeGVkVk1Qb29sLmNwcDoKICAgICAgICAoSlNDOjpGaXhlZFZNUG9vbEFsbG9jYXRvcjo6ZnJl
ZSk6IHVzZSBuZXcgdmFyaWFibGVzIGZvciBWTSBwb29sCiAgICAgICAgc2l6ZSBhbmQgY29hbGVz
Y2UgbGltaXQuCiAgICAgICAgKEpTQzo6RXhlY3V0YWJsZUFsbG9jYXRvcjo6aXNWYWxpZCk6IHN3
YXAgdGhlIHZhcmlhYmxlcyBmcm9tCiAgICAgICAgZW1iZWRkZWQgdG8gZ2VuZXJpYyB2YWx1ZXMg
YXQgcnVudGltZSwgb24gbGludXgsIGlmIG92ZXJjb21taXQgaXMKICAgICAgICBlbmFibGVkLgog
ICAgICAgIChKU0M6OkV4ZWN1dGFibGVBbGxvY2F0b3I6OnVuZGVyTWVtb3J5UHJlc3N1cmUpOiB1
c2UgbmV3IHZhcmlhYmxlcwogICAgICAgIGZvciBWTSBwb29sIHNpemUgYW5kIGNvYWxlc2NlIGxp
bWl0LgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgIHwgICAyNCArKysrKysrKwogLi4uL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBv
b2wuY3BwICAgICAgICAgfCAgIDU3ICsrKysrKysrKysrKysrKystLS0tCiAyIGZpbGVzIGNoYW5n
ZWQsIDcxIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCmluZGV4IDg3MWJjYjMuLmNiZjczNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAt
MSw1ICsxLDI5IEBACiAyMDExLTAxLTEyICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4K
IAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKSVQgcmVx
dWlyZXMgVk0gb3ZlcmNvbW1pdCAocGFydGljdWxhcmx5IG9uIHg4Ni02NCksIExpbnV4IGRvZXMg
bm90IGJ5IGRlZmF1bHQgc3VwcG9ydCB0aGlzIHdpdGhvdXQgc3dhcD8KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNzU2CisKKyAgICAgICAgVGhlIEZp
eGVkVk1Qb29sIEFsbG9jYXRvciBkb2VzIG5vdCB3b3JrIHdlbGwgb24gc3lzdGVtcyB3aGVyZQor
ICAgICAgICBhbGxvY2F0aW5nIHZlcnkgbGFyZ2UgYW1vdW50cyBvZiBtZW1vcnkgdXBmcm9udCBp
cyBub3QgcmVhc29uYWJsZSwKKyAgICAgICAgbGlrZSBMaW51eCB3aXRob3V0IG92ZXJjb21taXQg
ZW5hYmxlZC4gQXMgYSB3b3JrYXJvdW5kLCBvbiBMaW51eCwKKyAgICAgICAgZGVmYXVsdCB0byB0
aGUgdmFsdWVzIHVzZWQgaW4gZW1iZWRkZWQgZW52aXJvbm1lbnRzIChpbiB0aGUgTUIKKyAgICAg
ICAgcmFuZ2UpLCBhbmQgb25seSBqdW1wIHRvIHRoZSBHQiByYW5nZSBpZiB3ZSBkZXRlY3QgYXQg
cnVudGltZSB0aGF0CisgICAgICAgIG92ZXJjb21taXQgaXMgZW5hYmxlZC4gU2hvdWxkIGZpeCBj
cmFzaGVzIG9uIExpbnV4L3g4Nl82NCB3aXRoCisgICAgICAgIGxlc3MgdGhhbiAzIG9yIDRHQiBv
ZiBSQU0uCisKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNw
cDoKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBvb2xBbGxvY2F0b3I6OmZyZWUpOiB1c2UgbmV3IHZh
cmlhYmxlcyBmb3IgVk0gcG9vbAorICAgICAgICBzaXplIGFuZCBjb2FsZXNjZSBsaW1pdC4KKyAg
ICAgICAgKEpTQzo6RXhlY3V0YWJsZUFsbG9jYXRvcjo6aXNWYWxpZCk6IHN3YXAgdGhlIHZhcmlh
YmxlcyBmcm9tCisgICAgICAgIGVtYmVkZGVkIHRvIGdlbmVyaWMgdmFsdWVzIGF0IHJ1bnRpbWUs
IG9uIGxpbnV4LCBpZiBvdmVyY29tbWl0IGlzCisgICAgICAgIGVuYWJsZWQuCisgICAgICAgIChK
U0M6OkV4ZWN1dGFibGVBbGxvY2F0b3I6OnVuZGVyTWVtb3J5UHJlc3N1cmUpOiB1c2UgbmV3IHZh
cmlhYmxlcworICAgICAgICBmb3IgVk0gcG9vbCBzaXplIGFuZCBjb2FsZXNjZSBsaW1pdC4KKwor
MjAxMS0wMS0xMiAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CisKICAgICAgICAgUmV2
aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgogCiAgICAgICAgIEFkZCBuZXcgWWFyci5oIGhlYWRl
ciB0byB0aGUgbGlzdCBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwCmluZGV4IGUyODBiMmQu
LjQ1ZDgyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJs
ZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAKQEAgLTM4LDE0ICszOCwyOSBAQAog
I2luY2x1ZGUgPHd0Zi9QYWdlUmVzZXJ2YXRpb24uaD4KICNpbmNsdWRlIDx3dGYvVk1UYWdzLmg+
CiAKLSNpZiBDUFUoWDg2XzY0KQotICAgIC8vIFRoZXNlIGxpbWl0cyBzdWl0YWJsZSBvbiA2NC1i
aXQgcGxhdGZvcm1zIChwYXJ0aWN1bGFybHkgeDg2LTY0LCB3aGVyZSB3ZSByZXF1aXJlIGFsbCBq
dW1wcyB0byBoYXZlIGEgMkdiIG1heCByYW5nZSkuCi0gICAgI2RlZmluZSBWTV9QT09MX1NJWkUg
KDJ1ICogMTAyNHUgKiAxMDI0dSAqIDEwMjR1KSAvLyAyR2IKLSAgICAjZGVmaW5lIENPQUxFU0NF
X0xJTUlUICgxNnUgKiAxMDI0dSAqIDEwMjR1KSAvLyAxNk1iCisjaWYgT1MoTElOVVgpCisjaW5j
bHVkZSA8c3RkaW8uaD4KKyNlbmRpZgorCitzdGF0aWMgY29uc3QgdW5zaWduZWQgdm1Qb29sU2l6
ZUdlbmVyaWMgPSAydSAqIDEwMjR1ICogMTAyNHUgKiAxMDI0dTsgLy8gMkdiCitzdGF0aWMgY29u
c3QgdW5zaWduZWQgY29hbGVzY2VMaW1pdEdlbmVyaWMgPSAxNnUgKiAxMDI0dSAqIDEwMjR1OyAv
LyAxNk1iCisKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCB2bVBvb2xTaXplRW1iZWRkZWQgPSAzMnUg
KiAxMDI0dSAqIDEwMjR1OyAvLyAzMk1iCitzdGF0aWMgY29uc3QgdW5zaWduZWQgY29hbGVzY2VM
aW1pdEVtYmVkZGVkID0gNHUgKiAxMDI0dSAqIDEwMjR1OyAvLyA0TWIKKworI2lmIENQVShYODZf
NjQpICYmICFPUyhMSU5VWCkKKy8vIFRoZXNlIGxpbWl0cyBzdWl0YWJsZSBvbiA2NC1iaXQgcGxh
dGZvcm1zIChwYXJ0aWN1bGFybHkgeDg2LTY0LAorLy8gd2hlcmUgd2UgcmVxdWlyZSBhbGwganVt
cHMgdG8gaGF2ZSBhIDJHYiBtYXggcmFuZ2UpLiBXZSBkb24ndAorLy8gZW5hYmxlIHRoaXMgYnkg
ZGVmYXVsdCBvbiBMaW51eCwgc2luY2UgaXQgbmVlZHMgb3ZlcmNvbW1pdCBhbmQKKy8vIGRpc3Ry
b3MgY29tbW9ubHkgZGlzYWJsZSB0aGF0IGZlYXR1cmUuIFdlJ2xsIGNoZWNrIHRoZSB2YWx1ZQor
Ly8gZm9yIHRoZSBvdmVyY29tbWl0IGZlYXR1cmUgYXQgcnVudGltZSBhbmQgcmUtYXNzaWduIHRo
ZSBHZW5lcmljCisvLyB2YWx1ZXMgaWYgaXQncyBlbmFibGVkLgorc3RhdGljIHVuc2lnbmVkIHZt
UG9vbFNpemUgPSB2bVBvb2xTaXplR2VuZXJpYzsgLy8gMkdiCitzdGF0aWMgdW5zaWduZWQgY29h
bGVzY2VMaW1pdCA9IGNvYWxlc2NlTGltaXRHZW5lcmljOyAvLyAxNk1iCiAjZWxzZQogICAgIC8v
IFRoZXNlIGxpbWl0cyBhcmUgaG9wZWZ1bGx5IHNlbnNpYmxlIG9uIGVtYmVkZGVkIHBsYXRmb3Jt
cy4KLSAgICAjZGVmaW5lIFZNX1BPT0xfU0laRSAoMzJ1ICogMTAyNHUgKiAxMDI0dSkgLy8gMzJN
YgotICAgICNkZWZpbmUgQ09BTEVTQ0VfTElNSVQgKDR1ICogMTAyNHUgKiAxMDI0dSkgLy8gNE1i
CitzdGF0aWMgdW5zaWduZWQgdm1Qb29sU2l6ZSA9IHZtUG9vbFNpemVFbWJlZGRlZDsgLy8gMzJN
Ygorc3RhdGljIHVuc2lnbmVkIGNvYWxlc2NlTGltaXQgPSBjb2FsZXNjZUxpbWl0RW1iZWRkZWQ7
IC8vIDRNYgogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CkBAIC0zMTUsNyArMzMwLDcg
QEAgcHVibGljOgogICAgICAgICAvLyAxNk1CIG9mIGFsbG9jYXRpb25zIGhhdmUgYmVlbiBmcmVl
ZCwgc3dlZXAgbV9mcmVlTGlzdAogICAgICAgICAvLyBjb2FsZXNjaW5nIGFueSBuZWlnaGJvcmlu
ZyBmcmFnbWVudHMuCiAgICAgICAgIG1fY291bnRGcmVlZFNpbmNlTGFzdENvYWxlc2NlICs9IHNp
emU7Ci0gICAgICAgIGlmIChtX2NvdW50RnJlZWRTaW5jZUxhc3RDb2FsZXNjZSA+PSBDT0FMRVND
RV9MSU1JVCkgeworICAgICAgICBpZiAobV9jb3VudEZyZWVkU2luY2VMYXN0Q29hbGVzY2UgPj0g
Y29hbGVzY2VMaW1pdCkgewogICAgICAgICAgICAgbV9jb3VudEZyZWVkU2luY2VMYXN0Q29hbGVz
Y2UgPSAwOwogICAgICAgICAgICAgY29hbGVzY2VGcmVlU3BhY2UoKTsKICAgICAgICAgfQpAQCAt
NDMzLDExICs0NDgsMzMgQEAgdm9pZCBFeGVjdXRhYmxlQWxsb2NhdG9yOjppbnRpYWxpemVQYWdl
U2l6ZSgpCiBzdGF0aWMgRml4ZWRWTVBvb2xBbGxvY2F0b3IqIGFsbG9jYXRvciA9IDA7CiBzdGF0
aWMgc2l6ZV90IGFsbG9jYXRlZENvdW50ID0gMDsKIAorI2lmIE9TKExJTlVYKQorc3RhdGljIHZv
aWQgbWF5YmVNb2RpZnlWTVBvb2xTaXplKCkKK3sKKyAgICBGSUxFKiBmcCA9IGZvcGVuKCIvcHJv
Yy9zeXMvdm0vb3ZlcmNvbW1pdF9tZW1vcnkiLCAiciIpOworICAgIGlmICghZnApCisgICAgICAg
IHJldHVybjsKKworICAgIHVuc2lnbmVkIG92ZXJjb21taXQgPSAwOworICAgIGZzY2FuZihmcCwg
IiV1IiwgJm92ZXJjb21taXQpOworICAgIGlmIChvdmVyY29tbWl0ID09IDEpIHsKKyAgICAgICAg
dm1Qb29sU2l6ZSA9IHZtUG9vbFNpemVHZW5lcmljOyAvLyAyR2IKKyAgICAgICAgY29hbGVzY2VM
aW1pdCA9IGNvYWxlc2NlTGltaXRHZW5lcmljOyAvLyAxNk1iCisgICAgfQorCisgICAgZmNsb3Nl
KGZwKTsKK30KKyNlbmRpZgorCiBib29sIEV4ZWN1dGFibGVBbGxvY2F0b3I6OmlzVmFsaWQoKSBj
b25zdAogewogICAgIFNwaW5Mb2NrSG9sZGVyIGxvY2tfaG9sZGVyKCZzcGlubG9jayk7Ci0gICAg
aWYgKCFhbGxvY2F0b3IpCi0gICAgICAgIGFsbG9jYXRvciA9IG5ldyBGaXhlZFZNUG9vbEFsbG9j
YXRvcihKSVRfQUxMT0NBVE9SX0xBUkdFX0FMTE9DX1NJWkUsIFZNX1BPT0xfU0laRSk7CisgICAg
aWYgKCFhbGxvY2F0b3IpIHsKKyNpZiBPUyhMSU5VWCkKKyAgICAgICAgbWF5YmVNb2RpZnlWTVBv
b2xTaXplKCk7CisjZW5kaWYKKyAgICAgICAgYWxsb2NhdG9yID0gbmV3IEZpeGVkVk1Qb29sQWxs
b2NhdG9yKEpJVF9BTExPQ0FUT1JfTEFSR0VfQUxMT0NfU0laRSwgdm1Qb29sU2l6ZSk7CisgICAg
fQogICAgIHJldHVybiBhbGxvY2F0b3ItPmlzVmFsaWQoKTsKIH0KIApAQCAtNDQ1LDcgKzQ4Miw3
IEBAIGJvb2wgRXhlY3V0YWJsZUFsbG9jYXRvcjo6dW5kZXJNZW1vcnlQcmVzc3VyZSgpCiB7CiAg
ICAgLy8gVGVjaG5pY2FsbHkgd2Ugc2hvdWxkIHRha2UgdGhlIHNwaW4gbG9jayBoZXJlLCBidXQg
d2UgZG9uJ3QgY2FyZSBpZiB3ZSBnZXQgc3RhbGUgZGF0YS4KICAgICAvLyBUaGlzIGlzIG9ubHkg
cmVhbGx5IGEgaGV1cmlzdGljIGFueXdheS4KLSAgICByZXR1cm4gYWxsb2NhdGVkQ291bnQgPiAo
Vk1fUE9PTF9TSVpFIC8gMik7CisgICAgcmV0dXJuIGFsbG9jYXRlZENvdW50ID4gKHZtUG9vbFNp
emUgLyAyKTsKIH0KIAogRXhlY3V0YWJsZVBvb2w6OkFsbG9jYXRpb24gRXhlY3V0YWJsZVBvb2w6
OnN5c3RlbUFsbG9jKHNpemVfdCBzaXplKQotLSAKMS43LjMuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94221</attachid>
            <date>2011-05-20 08:12:55 -0700</date>
            <delta_ts>2011-05-20 08:55:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42756-20110520171242.patch</filename>
            <type>text/plain</type>
            <size>2049</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY5NDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJk
M2Y3MWVmZmY0OWQ2MzJjMzZlMjcxNjk5NzU0MjM5NThmOTM4M2EuLmUxNWY1MWMwOWVjM2MzODk3
YjE2Yjg5NjE1NmIzMmFkMmFhYjZhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDExLTA1LTIwICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKSVQgcmVxdWly
ZXMgVk0gb3ZlcmNvbW1pdCAocGFydGljdWxhcmx5IG9uIHg4Ni02NCksIExpbnV4IGRvZXMgbm90
IGJ5IGRlZmF1bHQgc3VwcG9ydCB0aGlzIHdpdGhvdXQgc3dhcD8KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyNzU2CisKKyAgICAgICAgVXNlIHRoZSBN
QVBfTk9SRVNFUlZFIGZsYWcgZm9yIG1tYXAgb24gTGludXggdG8gc2tpcCB0aGUga2VybmVsCisg
ICAgICAgIGNoZWNrIG9mIHRoZSBhdmFpbGFibGUgbWVtb3J5LiBUaGlzIHNob3VsZCBnaXZlIHVz
IGFuCisgICAgICAgIG92ZXJjb21taXQtbGlrZSBiZWhhdmlvciBpbiBtb3N0IHN5c3RlbXMsIHdo
aWNoIGlzIHdoYXQgd2Ugd2FudC4KKworICAgICAgICAqIHd0Zi9PU0FsbG9jYXRvclBvc2l4LmNw
cDoKKyAgICAgICAgKFdURjo6T1NBbGxvY2F0b3I6OnJlc2VydmVBbmRDb21taXQpOiBwYXNzIE1B
UF9OT1JTRVJWRSB0byBtbWFwLgorCiAyMDExLTA1LTE5ICBHYWJvciBMb2tpICA8bG9raUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEZpeCBBUk0gYnVpbGQgYWZ0ZXIgcjg2OTE5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL09TQWxsb2NhdG9yUG9zaXguY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9PU0FsbG9jYXRvclBvc2l4LmNwcAppbmRleCA1MWNiM2FmZGYy
MGI0ODMyNDIzYTQ2ZDg3ZGNlNmU3ZjU1M2NjMWVmLi4yZDUwZTc2NDhkZTlhMDhjMzQwMzhlOWY4
OTYzZmFkZjJlMzhhN2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL09T
QWxsb2NhdG9yUG9zaXguY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT1NBbGxv
Y2F0b3JQb3NpeC5jcHAKQEAgLTU1LDYgKzU1LDE4IEBAIHZvaWQqIE9TQWxsb2NhdG9yOjpyZXNl
cnZlQW5kQ29tbWl0KHNpemVfdCBieXRlcywgVXNhZ2UgdXNhZ2UsIGJvb2wgd3JpdGFibGUsIGJv
CiAKICAgICBpbnQgZmxhZ3MgPSBNQVBfUFJJVkFURSB8IE1BUF9BTk9OOwogCisjaWYgT1MoTElO
VVgpCisgICAgLy8gTGludXggZGlzdHJvcyB1c3VhbGx5IGRvIG5vdCBhbGxvdyBvdmVyY29tbWl0
IGJ5IGRlZmF1bHQsIHNvCisgICAgLy8gSlNDJ3Mgc3RyYXRlZ3kgb2YgbW1hcGluZyBhIGxhcmdl
IGFtb3VudCBvZiBtZW1vcnkgdXBmcm9udAorICAgIC8vIHdvbid0IHdvcmsgdmVyeSB3ZWxsIG9u
IHNvbWUgc3lzdGVtcy4gRm9ydHVuYXRlbHkgdGhlcmUncyBhCisgICAgLy8gZmxhZyB3ZSBjYW4g
cGFzcyB0byBtbWFwIHRvIGRpc2FibGUgdGhlIG92ZXJjb21taXQgY2hlY2sgZm9yCisgICAgLy8g
dGhpcyBwYXJ0aWN1bGFyIGNhbGwsIHNvIHdlIGNhbiBnZXQgYXdheSB3aXRoIGl0IGFzIGxvbmcg
YXMgdGhlCisgICAgLy8gb3ZlcmNvbW1pdCBmbGFnIHZhbHVlIGluIC9wcm9jL3N5cy92bS9vdmVy
Y29tbWl0X21lbW9yeSBpcyAwCisgICAgLy8gKCdoZXVyaXN0aWMnKSBhbmQgbm90IDIgKGFsd2F5
cyBjaGVjaykuIDAgaXMgdGhlIHVzdWFsIGRlZmF1bHQKKyAgICAvLyB2YWx1ZSwgc28gdGhpcyBz
aG91bGQgd29yayB3ZWxsIGluIGdlbmVyYWwuCisgICAgZmxhZ3MgfD0gTUFQX05PUkVTRVJWRTsK
KyNlbmRpZgorCiAjaWYgT1MoREFSV0lOKQogICAgIGludCBmZCA9IHVzYWdlOwogI2Vsc2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>