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

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>13039</bug_id>
          
          <creation_ts>2018-11-23 09:24:33 +0000</creation_ts>
          <short_desc>fetch2: PREMIRROR and SRC_URI with type https and parameter downloadfilename yields invalid url</short_desc>
          <delta_ts>2021-11-09 01:43:00 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BitBake</product>
          <component>bitbake</component>
          <version>2.6</version>
          <rep_platform>x86</rep_platform>
          <op_sys>x86_64</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>3.4 M4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joerg Albert">jal2</reporter>
          <assigned_to name="Kai Kang">kai.kang</assigned_to>
          <cc>kai.kang</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>weaverjs</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>82303</commentid>
    <comment_count>0</comment_count>
    <who name="Joerg Albert">jal2</who>
    <bug_when>2018-11-23 09:24:33 +0000</bug_when>
    <thetext>A SRC_URI with parameter downloadfilename matching a PREMIRROR entry gets the local basename appended to the original basename.

Example:

recipe for uthash contains
SRC_URI= &quot;https://github.com/troydhanson/uthash/archive/v2.0.2.tar.gz;downloadfilename=uthash-2.0.2.tar.gz&quot;

local.conf:
PREMIRROR += &quot;https://github.com/troydhanson/uthash/archive http://nexus:8081/repository/https.github.com/troydhanson/uthash/archive \n &quot;

bitbake -DD -c fetch uthash says:
DEBUG: uthash-2.0.2-r0 do_fetch: For url [&apos;http&apos;, &apos;nexus:8081&apos;, &apos;/repository/iav-yocto-mirror/troydhanson/uthash/archive/v2.0.2.tar.gz/uthash-2.0.2.tar.gz&apos;, &apos;&apos;, &apos;&apos;, OrderedDict([(&apos;downloadfilename&apos;, &apos;uthash-2.0.2.tar.gz&apos;)])] comparing [&apos;http&apos;, &apos;.*&apos;, &apos;/.*&apos;, &apos;&apos;, &apos;&apos;, OrderedDict()] to [&apos;http&apos;, &apos;nexus:8081&apos;, &apos;/repository/http.HOST/PATH&apos;, &apos;&apos;, &apos;&apos;, OrderedDict()]
DEBUG: uthash-2.0.2-r0 do_fetch: basename uthash-2.0.2.tar.gz from ud.localpath /iav/yocto/fsl-community-bsp/downloads/uthash-2.0.2.tar.gz
DEBUG: uthash-2.0.2-r0 do_fetch: adding basename uthash-2.0.2.tar.gz to /repository/http.github.com//troydhanson/uthash/archive/v2.0.2.tar.gz
DEBUG: uthash-2.0.2-r0 do_fetch: For url http://nexus:8081/repository/iav-yocto-mirror/troydhanson/uthash/archive/v2.0.2.tar.gz/uthash-2.0.2.tar.gz;downloadfilename=uthash-2.0.2.tar.gz returning http://nexus:8081/repository/http.github.com/troydhanson/uthash/archive/v2.0.2.tar.gz/uthash-2.0.2.tar.gz;downloadfilename=uthash-2.0.2.tar.gz

The additional lines above are due to this patch:
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index a83526a..559afb7 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -478,7 +478,9 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None):
                     uri_decoded[5] = {}
                 elif ud.localpath and ud.method.supports_checksum(ud):
                     basename = os.path.basename(ud.localpath)
+                    logger.debug(2,&quot;basename %s from ud.localpath %s&quot; % (basename, ud.localpath))
                 if basename and not result_decoded[loc].endswith(basename):
+                    logger.debug(2,&quot;adding basename %s to %s&quot; % (basename, result_decoded[loc]))
                     result_decoded[loc] = os.path.join(result_decoded[loc], basename)
         else:
             return None</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91358</commentid>
    <comment_count>1</comment_count>
    <who name="Scott Weaver">weaverjs</who>
    <bug_when>2021-09-07 23:09:54 +0000</bug_when>
    <thetext>A patch for this issue was submitted.
    https://git.openembedded.org/bitbake/commit/?id=8a3ff9f3eaf19d4258eb070c5dc230dface269b2

Additional bitbake-selftest tests were added as well:
    - https://git.openembedded.org/bitbake/commit/?id=8a3ff9f3eaf19d4258eb070c5dc230dface269b2
    - https://git.openembedded.org/bitbake/commit/?id=5ba191a0407af9e652e3b86302dce3e952d6b587</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91490</commentid>
    <comment_count>2</comment_count>
    <who name="Kai Kang">kai.kang</who>
    <bug_when>2021-09-22 01:52:16 +0000</bug_when>
    <thetext>I suppose it is an invalid bug. It save the tarball with the name of the value of downloadfilename rather than the basename of the url. In this case, the name of tarball in the dir downloads/ is uthash-2.0.2.tar.gz rather than 2.0.2.tar.gz. So when premirror is used, it must the check uthash-2.0.2.tar.gz in the premirrors but not the original value 2.0.2.tar.gz.

With this patch, it fails to fetch the tarball from premirrors. It could be reduced by config:

BB_NO_NETWORK = &quot;1&quot;
BB_FETCH_PREMIRRORONLY = &quot;1&quot;

So I suggest to revert this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91495</commentid>
    <comment_count>3</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2021-09-22 08:43:00 +0000</bug_when>
    <thetext>See above comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91599</commentid>
    <comment_count>4</comment_count>
    <who name="Scott Weaver">weaverjs</who>
    <bug_when>2021-09-28 00:21:48 +0000</bug_when>
    <thetext>Sorry for the late reply. I&apos;m just now seeing this.
I&apos;ll look into it and it sounds like another test is required.
This might be a new/different bug. The issue addressed was in regard to the incorrect url being generated in the case described in comment 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91646</commentid>
    <comment_count>5</comment_count>
      <attachid>4835</attachid>
    <who name="Scott Weaver">weaverjs</who>
    <bug_when>2021-10-02 21:48:23 +0000</bug_when>
    <thetext>Created attachment 4835
Proposed fetcher test

This patch adds a fetcher test which checks that a previous download using downloadfilename will be found when BB_NO_NETWORK is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91647</commentid>
    <comment_count>6</comment_count>
    <who name="Scott Weaver">weaverjs</who>
    <bug_when>2021-10-02 21:49:52 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; I suppose it is an invalid bug. It save the tarball with the name of the
&gt; value of downloadfilename rather than the basename of the url. In this case,
&gt; the name of tarball in the dir downloads/ is uthash-2.0.2.tar.gz rather than
&gt; 2.0.2.tar.gz.

This is the expected behavior.
https://www.yoctoproject.org/docs/latest/bitbake-user-manual/bitbake-user-manual.html#var-bb-SRC_URI

&gt; So when premirror is used, it must the check
&gt; uthash-2.0.2.tar.gz in the premirrors but not the original value
&gt; 2.0.2.tar.gz.

IIUC, the fetcher using a PREMIRRORS URL should not look for the downloadfilename. It should look for the specified artifact name (e.g., 2.0.2.tar.gz in this example) and upon downloading it, it should save it as downloadfilename. In fact, the tests that I submitted in comment #1 test just that.

But your comments did bring to mind when BB_NO_NETWORK is enabled if the fetcher would find the downloadfilename from the previous download.
I&apos;ve attached a patch with a new fetcher test that I believe covers this case.

If you could review this test I would appreciate it. Thank you.

Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91659</commentid>
    <comment_count>7</comment_count>
    <who name="Kai Kang">kai.kang</who>
    <bug_when>2021-10-05 00:08:21 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #2)
&gt; &gt; I suppose it is an invalid bug. It save the tarball with the name of the
&gt; &gt; value of downloadfilename rather than the basename of the url. In this case,
&gt; &gt; the name of tarball in the dir downloads/ is uthash-2.0.2.tar.gz rather than
&gt; &gt; 2.0.2.tar.gz.
&gt; 
&gt; This is the expected behavior.
&gt; https://www.yoctoproject.org/docs/latest/bitbake-user-manual/bitbake-user-
&gt; manual.html#var-bb-SRC_URI

Yes, it should save the tarball with the value of downloadfilename and it does that before. But the argument do not work any more. It saves with basename of the URL now.

Regards,
Kai</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91660</commentid>
    <comment_count>8</comment_count>
    <who name="Scott Weaver">weaverjs</who>
    <bug_when>2021-10-05 01:30:53 +0000</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; I suppose it is an invalid bug. It save the tarball with the name of the
&gt; &gt; &gt; value of downloadfilename rather than the basename of the url. In this case,
&gt; &gt; &gt; the name of tarball in the dir downloads/ is uthash-2.0.2.tar.gz rather than
&gt; &gt; &gt; 2.0.2.tar.gz.
&gt; &gt; 
&gt; &gt; This is the expected behavior.
&gt; &gt; https://www.yoctoproject.org/docs/latest/bitbake-user-manual/bitbake-user-
&gt; &gt; manual.html#var-bb-SRC_URI
&gt; 
&gt; Yes, it should save the tarball with the value of downloadfilename and it
&gt; does that before. But the argument do not work any more. It saves with
&gt; basename of the URL now.

These three tests[1] were written to confirm that the downloadfilename is being used when the tarball is saved. Are you saying that the tests pass but when downlaodfilename is used in a recipe itself it&apos;s not working or the test is incorrect? Could you share with me how you are testing this?

Scott

[1] https://git.openembedded.org/bitbake/commit/?id=61db3e96530d650e098436fd086f0182d32998f7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91697</commentid>
    <comment_count>9</comment_count>
    <who name="Kai Kang">kai.kang</who>
    <bug_when>2021-10-08 06:13:28 +0000</bug_when>
    <thetext>Hi Scott,

I am sorry that I did not make it clear.

It fails to fetch the SRC which contains argument &apos;downloadfilename&apos; when ONLY from premirror if the mirror is a download directory of a previous build.

Project 1:
1 $ . poky/oe-init-build-env build-fetch-111
2 Add related layers that a recipe contains &apos;downloadfilename&apos; argument. Take 

meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb

as an example. Update conf/bblayers.conf with

  /buildarea6/kkang/Yocto/meta-openembedded/meta-oe \
  /buildarea6/kkang/Yocto/meta-openembedded/meta-python \
  /buildarea6/kkang/Yocto/meta-openembedded/meta-networking \

3 $ bitbake freediameter -c fetch
4 $ ls downloads/freeDiameter*
downloads/freeDiameter-1.4.0.tar.gz  downloads/freeDiameter-1.4.0.tar.gz.done

Project 2:
1 $ . poky/oe-init-build-env build-fetch-222
2 update bblayer.conf follow the uppper step
3 update local.conf to only fetch from pre-mirror:

BB_NO_NETWORK = &quot;1&quot;
BB_FETCH_PREMIRRORONLY = &quot;1&quot;

PREMIRRORS =+ &quot;http://.*/.* file:///buildarea6/kkang/Yocto/build-fetch-111/downloads/ \n&quot;

4 $ bitbake freediameter -c fetch

ERROR: freediameter-1.4.0-r0 do_fetch: Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PRE
MIRRORONLY) but access requested with command /usr/bin/env wget -t 2 -T 30 --passive-ftp -O /buildarea6/kkang/Yocto/build-fetch-22
2/downloads/freeDiameter-1.4.0.tar.gz -P /buildarea6/kkang/Yocto/build-fetch-222/downloads &apos;http://www.freediameter.net/hg/freeDia
meter/archive/1.4.0.tar.gz&apos; (for url http://www.freediameter.net/hg/freeDiameter/archive/1.4.0.tar.gz;downloadfilename=freeDiamete
r-1.4.0.tar.gz)
ERROR: Logfile of failure stored in: /buildarea6/kkang/Yocto/build-fetch-222/tmp/work/qemux86_64-poky-linux/freediameter/1.4.0-r0/
temp/log.do_fetch.34939                                                                                                           
ERROR: Task (/buildarea6/kkang/Yocto/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.4.0.bb:do_fet
ch) failed with exit code &apos;1&apos;

5 revert the commit and rerun
$ git log -1 --oneline 4939a4198234c8dab1348590663c4681edae8fc9
4939a41982 bitbake: bitbake: fetch2: fix premirror URI when downloadfilename defined

$ git revert 4939a4198234c8dab1348590663c4681edae8fc9

$ bitbake freediameter -c fetch

Then it works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91701</commentid>
    <comment_count>10</comment_count>
    <who name="Scott Weaver">weaverjs</who>
    <bug_when>2021-10-09 16:13:49 +0000</bug_when>
    <thetext>Hi Kai,

Thank you for the detailed description and for taking the time to document the steps. That really helped me understand what was going on.

The patch is fine and should not be reverted and let me explain why.

As you know, the way this should work is that the SRC_URI defines the artifact that should be downloaded. In the case of freediameter, that artifact is named 1.4.0.tar.gz. The downloadfilename only defines what the artifact should be saved as once downloaded. In this case that name is: freeDiameter-1.4.0.tar.gz

Regardless of where the fetcher downloads that artifact from, be it from another http server or in your case a local directory (file://) the fetcher should attempt to download the original artifact name as defined in the SRC_URI (1.4.0.tar.gz).

In your test, the first download retrieved the 1.4.0.tar.gz artifact from
http://www.freediameter.net and saved the file as freeDiameter-1.4.0.tar.gz
to the /buildarea6/kkang/Yocto/build-fetch-111/downloads/ directory.
This is correct.

So in the second fetch, the fetcher correctly tried to download 1.4.0.tar.gz from the premirror you defined (file:///buildarea6/kkang/Yocto/build-fetch-111/downloads/) because the SRC_URI specified that artifact name but as you showed, only the freeDiameter-1.4.0.tar.gz file is saved there. So the fetcher correctly failed to find the 1.4.0.tar.gz in the defined premirror.

The fetcher, after failing to download the artifact from any source, should then try to retrieve the previous download (using the downloadfilename) from DL_DIR. But because DL_DIR is now defined as
/buildarea6/kkang/Yocto/build-fetch-222/downloads/
it isn&apos;t going to find it there because the DL_DIR is empty at this point.
If you had pointed DL_DIR to your build-fetch-111 downloads directory the
fetcher would have successfully found the downloadfilename there.

What you found was another instance of this bz bug 13039 and by reverting
the patch it restored the buggy behavior which adds the downloadfilename to the URL. Which is incorrect. The fetcher should not attempt to download the downnloadfilename.

I completely understand why it appeared like the patch needed reverted because
something that had been working was no longer working but that use case that you&apos;re testing should have always failed because the fetcher should not have tried to download the downloadfilename from the premirror.

The fetcher should not attempt to download the downloadfilename from a
SRC_URI, MIRROR, or a PREMIRROR.

The fetcher should, though, look for the downloadfilename from the DL_DIR if
none of the URIs could be used to successfully download the specified artifact. Which the fetcher does do correctly.

If you want the premirror that you defined to work, then you&apos;ll want to provide
the mirrored artifact that is specified by the SRC_URI
(/buildarea6/kkang/Yocto/build-fetch-111/downloads/1.4.0.tar.gz).

You can also define your premirror to point directly to the local artifact (using any name you want) which will override what was defined in the SRC_URI.
PREMIRRORS =+ &quot;http://www.freediameter.net/.* file:///buildarea6/kkang/Yocto/build-fetch-111/downloads/freeDiameter-1.4.0.tar.gz \n&quot;

This was a good test you created and I hope I&apos;ve clarified why it correctly failed and why this bug should be closed.

  Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91897</commentid>
    <comment_count>11</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2021-11-06 18:40:59 +0000</bug_when>
    <thetext>I think Scott meant to assign this back to Kai.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91914</commentid>
    <comment_count>12</comment_count>
    <who name="Kai Kang">kai.kang</who>
    <bug_when>2021-11-09 01:43:00 +0000</bug_when>
    <thetext>It has been fixed by Qi:

https://git.openembedded.org/bitbake/commit/?id=96c30007dc0b32eee2b15771daec7948bc9bfd97

So mark fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4835</attachid>
            <date>2021-10-02 21:48:23 +0000</date>
            <delta_ts>2021-10-02 21:48:23 +0000</delta_ts>
            <desc>Proposed fetcher test</desc>
            <filename>0001-add-fetcher-test-using-downloadfilename-and-no-network.patch</filename>
            <type>text/plain</type>
            <size>1660</size>
            <attacher name="Scott Weaver">weaverjs</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBiaXRiYWtlL2xpYi9iYi90ZXN0cy9mZXRjaC5weSBiaXRiYWtlL2xpYi9iYi90
ZXN0cy9mZXRjaC5weQppbmRleCBhZjI5MmEyMTYzLi4wMmI4NTZhMmQzIDEwMDY0NAotLS0gYml0
YmFrZS9saWIvYmIvdGVzdHMvZmV0Y2gucHkKKysrIGJpdGJha2UvbGliL2JiL3Rlc3RzL2ZldGNo
LnB5CkBAIC04ODcsNiArODg3LDIyIEBAIGNsYXNzIEZldGNoZXJOZXR3b3JrVGVzdChGZXRjaGVy
VGVzdCk6CiAgICAgICAgIGZldGNoZXIuZG93bmxvYWQoKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKG9zLnBhdGguZ2V0c2l6ZShzZWxmLmRsZGlyICsgIi9iaXRiYWtlLXYxLjAuMC50YXIuZ3oi
KSwgNTc3NDkpCiAKKyAgICBAc2tpcElmTm9OZXR3b3JrKCkKKyAgICAjIFRoaXMgY2hlY2tzIHRo
YXQgdGhlIGZldGNoZXIgZG9lcyBub3QgZmFpbCB0byBmaW5kIHRoZSBkb3dubG9hZGZpbGVuYW1l
IGZyb20gYSBwcmV2aW91cyBkb3dubG9hZC4KKyAgICBkZWYgdGVzdF9mZXRjaF9wcmVtaXJyb3Jf
c3BlY2lmeV9kb3dubG9hZGZpbGVuYW1lX2FuZF93aXRoX25vX25ldHdvcmsoc2VsZik6CisgICAg
ICAgICMgZmV0Y2ggdGhlIGZpbGUgYW5kIHNhdmUgaXQgYXMgZG93bmxvYWRmaWxlbmFtZQorICAg
ICAgICBzZWxmLmQuc2V0VmFyKCJQUkVNSVJST1JTIiwgImh0dHA6Ly9pbnZhbGlkLnlvY3RvcHJv
amVjdC5vcmcvcmVsZWFzZXMvYml0YmFrZSBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5v
cmcvcmVsZWFzZXMvYml0YmFrZSIpCisgICAgICAgIGZldGNoZXIgPSBiYi5mZXRjaC5GZXRjaChb
Imh0dHA6Ly9pbnZhbGlkLnlvY3RvcHJvamVjdC5vcmcvcmVsZWFzZXMvYml0YmFrZS9iaXRiYWtl
LTEuMC50YXIuZ3o7ZG93bmxvYWRmaWxlbmFtZT1iaXRiYWtlLXYxLjAuMC50YXIuZ3oiXSwgc2Vs
Zi5kKQorICAgICAgICBmZXRjaGVyLmRvd25sb2FkKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChvcy5wYXRoLmdldHNpemUoc2VsZi5kbGRpciArICIvYml0YmFrZS12MS4wLjAudGFyLmd6Iiks
IDU3NzQ5KQorICAgICAgICAjIGZldGNoIHRoZSBmaWxlIGFnYWluLCBidXQgdGhpcyB0aW1lIHdp
dGggQkJfTk9fTkVUV09SSyBlbmFibGVkICh0aGUgZmV0Y2hlciB3aWxsIGZpbmQgZG93bmxvYWRm
aWxlbmFtZSBmcm9tIHRoZSBjYWNoZSkKKyAgICAgICAgc2VsZi5kLnNldFZhcigiQkJfTk9fTkVU
V09SSyIsICIxIikKKyAgICAgICAgZmV0Y2hlci5kb3dubG9hZCgpCisgICAgICAgICMgZmV0Y2gg
dGhlIGZpbGUgYWdhaW4sIGJ1dCB0aGlzIHRpbWUgdGhlIGZldGNoZXIgd2lsbCBmYWlsIGJlY2F1
c2UgaXQgd2lsbCBub3QgZmluZCB0aGUgb3JpZ2luYWwgZG93bmxvYWRlZCBmaWxlCisgICAgICAg
IGJiLnV0aWxzLnJlbmFtZShzZWxmLmRsZGlyICsgIi9iaXRiYWtlLXYxLjAuMC50YXIuZ3oiLCBz
ZWxmLmRsZGlyICsgIi9iaXRiYWtlLXgueS56LnRhci5neiIpCisgICAgICAgIHdpdGggc2VsZi5h
c3NlcnRSYWlzZXMoYmIuZmV0Y2gyLk5ldHdvcmtBY2Nlc3MpOgorICAgICAgICAgICAgZmV0Y2hl
ci5kb3dubG9hZCgpCisKICAgICBAc2tpcElmTm9OZXR3b3JrKCkKICAgICBkZWYgZ2l0ZmV0Y2hl
cihzZWxmLCB1cmwxLCB1cmwyKToKICAgICAgICAgZGVmIGNoZWNrcmV2aXNpb24oc2VsZiwgZmV0
Y2hlcik6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>