Bug 554152 - Printed yum command should include --disablerepo='*' to save bandwidth
Summary: Printed yum command should include --disablerepo='*' to save bandwidth
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: gdb
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Jan Kratochvil
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 981154
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-01-10 18:01 UTC by Robin Green
Modified: 2014-01-21 06:16 UTC (History)
3 users (show)

Fixed In Version: 7.0.1-26.fc12
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-01-12 19:05:52 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Robin Green 2010-01-10 18:01:13 UTC
Description of problem:
The yum command printed by gdb if a corresponding -debuginfo package is not installed does not exclude non-debuginfo repositories. This is wasteful of time and bandwidth - only the debuginfo repositories will be needed.

Version-Release number of selected component (if applicable):
gdb-7.0.1-19.fc12.i686

How reproducible:
Always

Steps to Reproduce:
1. gdb $SOME_BINARY (where $SOME_BINARY does not have debugging info available)

Actual results:
Reading symbols from /bin/bash...
warning: Unable to open "librpm.so.0" (librpm.so.0: cannot open shared object file: No such file or directory), missing debuginfos notifications will not be displayed
Missing separate debuginfo for /bin/bash
Try: yum --enablerepo='*-debuginfo' install /usr/lib/debug/.build-id/2a/220189f4a8087888e0bbf9d905a2ffd4bb566f.debug

Expected results:
The last line should say:
Try: yum --disablerepo='*' --enablerepo='*-debuginfo' install /usr/lib/debug/.build-id/2a/220189f4a8087888e0bbf9d905a2ffd4bb566f.debug

Comment 1 Jan Kratochvil 2010-01-10 18:36:40 UTC
Hi Seth,

normally GDB prints debuginfo-install suggestion:

printf (_("Missing separate debuginfos, use: %s"), "debuginfo-install");
... plus space separated binary-rpm NVRA names.

When that fails for whatever reason it prints the specific .debug files.

printf (_("Missing separate debuginfo for %s\n"), binary);
printf (_("Try: %s %s\n"), "yum --enablerepo='*-debuginfo' install", debug);

Reporter suggests:

printf (_("Try: %s %s\n"), "yum --disablerepo='*' --enablerepo='*-debuginfo' install", debug);

What specific yum commands do you recommend in these cases?

Comment 2 seth vidal 2010-01-12 16:28:13 UTC
umm, you can try the second command but I think it would be more useful to find out why debuginfo-install is NOT working b/c it should work and if it doesn't work I don't know why: yum --disablerepo='*' --enablerepo='*-debug*' install something would work.

Comment 3 Robin Green 2010-01-12 16:39:36 UTC
(In reply to comment #2)
> umm, you can try the second command

And it works

> but I think it would be more useful to find
> out why debuginfo-install is NOT working

It does work, but gdb doesn't know which package to print because it can't open librpm.so.0 or something. Agreed that it would be more useful to fix that - after all, this bug is just about the fallback behaviour.

> b/c it should work and if it doesn't
> work I don't know why: yum --disablerepo='*' --enablerepo='*-debug*' install
> something would work.    

It does work. It looks up the .build-id file specified in the filelists.

Comment 4 Robin Green 2010-01-12 16:45:02 UTC
The librpm.so.0 thing is bug 552941 actually.

Comment 5 seth vidal 2010-01-12 17:52:14 UTC
okay, I'm confused again - why does it need to know what pkg to print?

Yum can operate on dependency names, filenames, all sorts of things.

Comment 6 Robin Green 2010-01-12 18:06:30 UTC
(In reply to comment #5)
> okay, I'm confused again - why does it need to know what pkg to print?

It doesn't, but looking up the package in the local rpm database is more efficient (at least in terms of the amount of data downloaded) than downloading the filelists for the debuginfo packages, which is what the "install the .build-id file" method entails.

Comment 7 seth vidal 2010-01-12 18:13:38 UTC
it's only more efficient if it works.

This seems like a made up problem.

Comment 8 Jan Kratochvil 2010-01-12 18:19:07 UTC
As it is more user friendly to print just:
Missing separate debuginfos, use: debuginfo-install openoffice.org-writer-3.1.1-19.22.fc12.x86_64

instead of:
Try: yum --enablerepo='*-debuginfo' install /usr/lib/debug/.build-id/23/735f70ff6a0f17850cf5b1b0fb954c253ef79f.debug /usr/lib/debug/.build-id/f6/3c0e913eece98f456b01cbb7676a742abe89c4.debug /usr/lib/debug/.build-id/a7/867ff73299fdf284bf03569a4bc7959f915902.debug /usr/lib/debug/.build-id/60/4ac636301dd132e1239099176181446def1571.debug /usr/lib/debug/.build-id/e8/bbae9c9378c288cf5ce24978c836011c8397e9.debug /usr/lib/debug/.build-id/e5/7154afd5dc6f694ae83c50102e364f1247a6f6.debug /usr/lib/debug/.build-id/d2/047d609c7c8a09f268bfff20e7b0dc41d1a99c.debug /usr/lib/debug/.build-id/e5/51789e5c7b7790f83a1b80ed588aa9b5be2c56.debug /usr/lib/debug/.build-id/d8/1f9292fb831c32538176deb3f8093a1f55b175.debug /usr/lib/debug/.build-id/a3/871da7f1e528eb163d68d5e9498c6765477db9.debug /usr/lib/debug/.build-id/68/a9751e5792f3035435ba0bf8d8224f092b9657.debug /usr/lib/debug/.build-id/3a/15cadd53eb1dc99730325cb71a297c7dbc9ef8.debug /usr/lib/debug/.build-id/ce/bb6538bae0762fb724f014e73dd2105e154e2b.debug /usr/lib/debug/.build-id/f9/f31fdec214b851d88808bef944c745c437c601.debug /usr/lib/debug/.build-id/6d/a8603d1161a0eea32db44696211c91a25798e0.debug /usr/lib/debug/.build-id/4b/01f5e68faf9a2ec3bbe08e7bd24d53c766c26f.debug /usr/lib/debug/.build-id/75/cab433b9d95876dc56f9895e87e6071323d835.debug /usr/lib/debug/.build-id/14/5773e252f080ae8512521ca2457c5ef2a3f674.debug /usr/lib/debug/.build-id/76/fc6fba2e5b4ca4966980865d6e7897a3999112.debug /usr/lib/debug/.build-id/57/a42936b736756c2f1990c715f73f6ffa82471f.debug /usr/lib/debug/.build-id/32/b8218378ce4338b7879b66a36f090d62121c66.debug /usr/lib/debug/.build-id/9b/e454aabd228d5de2793a6ed4b6244b92ebfaf1.debug /usr/lib/debug/.build-id/a0/ce01b1460e226a69de1d18749ebf4c09e7edf7.debug /usr/lib/debug/.build-id/56/ea78a36ad37da50e346520058770fcd6db44a8.debug /usr/lib/debug/.build-id/b3/0862a00abab28441a23d6fa0841dc41c619a2d.debug /usr/lib/debug/.build-id/b3/611cead835d628acc998852bc6489484e5d204.debug /usr/lib/debug/.build-id/76/7e085697ca12c8e8eb75bf71d537f09cf16183.debug /usr/lib/debug/.build-id/2b/d2accb1aab47b254eeaec9e105e5f540c1b74b.debug /usr/lib/debug/.build-id/10/6dec91d91dfce155ba3ab10baf6b8207216e64.debug /usr/lib/debug/.build-id/b5/6ae86cf9471cb88dfbe6bcee158f7939e31de4.debug /usr/lib/debug/.build-id/4d/ea5ca193445535c5ead5f678d6fbc86cc90cba.debug /usr/lib/debug/.build-id/9b/138affadbb264e9b7df1d981aa8c93912508d2.debug /usr/lib/debug/.build-id/d7/923213e105745c66ae7aa8aa2508f214b2d0b4.debug /usr/lib/debug/.build-id/b0/41998585c2ceb4dd672e51113573bfa7e361b4.debug /usr/lib/debug/.build-id/31/60558c55be235e293b8dc7ff2444c1aba28080.debug /usr/lib/debug/.build-id/71/281fd05e36f4d37e37c66780d2d30dd8794d6c.debug /usr/lib/debug/.build-id/eb/c6f047f9897bf56bf437dc4b4fe3ab2283cfd8.debug /usr/lib/debug/.build-id/99/a8c12a84a486b543b3ddeff2fb39546fd4d201.debug /usr/lib/debug/.build-id/33/10fe26dd5f4140d61bbfb7a637022f620ce20b.debug /usr/lib/debug/.build-id/d2/ac47ac5dad8ec0044ac7093076c81f4a49dbc5.debug /usr/lib/debug/.build-id/48/0ef5f038466c4dcb65f1450316cb33912f2520.debug /usr/lib/debug/.build-id/34/fafaa8007ee23182c82ffdb451a09372dafb38.debug /usr/lib/debug/.build-id/b2/35494e0a9875937ebe62c8583e3b10fbb931ca.debug /usr/lib/debug/.build-id/be/24766b5a6f08df2a5144feb742eacfb519da4c.debug /usr/lib/debug/.build-id/10/a81753fdbf7a3fe0ef227ea992175200a47bb4.debug /usr/lib/debug/.build-id/d3/32132b64cece4399272ef27128508e4226c3cf.debug /usr/lib/debug/.build-id/2b/54c595ac325cc29379f6cd86c60b583a8e3003.debug /usr/lib/debug/.build-id/7c/99456ecb8fc7f2742e0eb78460ceee9c6d4711.debug /usr/lib/debug/.build-id/94/78252695c89b9f65862fd83d0ea6b9dbecc68c.debug /usr/lib/debug/.build-id/dd/5725444c0f7cf089e68daef8ac115df9f8c933.debug /usr/lib/debug/.build-id/10/f691103600d020d3ea623a3c3b8b1c80b40fce.debug /usr/lib/debug/.build-id/b1/e9b15f7e29d86b9db378334819a32dde995f15.debug /usr/lib/debug/.build-id/7b/8c25f53947b5ba265fe25509619b034c498819.debug /usr/lib/debug/.build-id/e1/bdeebd59eefe0cfb141dc5848cd2a75f8082ab.debug /usr/lib/debug/.build-id/52/0abc0894ac07a4bc111f63f2e6dae09a9cc694.debug /usr/lib/debug/.build-id/1f/b0adf35e066d7c082ac96c6ef0c63cb5ef50fe.debug /usr/lib/debug/.build-id/29/c97ed55b27cdc5da2b543c955a11b77f887fab.debug /usr/lib/debug/.build-id/f0/8ddf656e5fa9df549093adc319b2d46acc3281.debug /usr/lib/debug/.build-id/d4/7d4dfa61a5112b944f289f9ab2b054cc6a41c7.debug /usr/lib/debug/.build-id/c1/4ed58ecf4df4bed279fd3d17e5650e022a0be9.debug /usr/lib/debug/.build-id/89/25b5d3b42bb1e29b11f486008a3558d93a84d9.debug /usr/lib/debug/.build-id/f0/5133d6957c37959340b60c5c8c178fe86c0f11.debug /usr/lib/debug/.build-id/58/54584352bfe41f856bb58406c15b0fc50b8f30.debug /usr/lib/debug/.build-id/16/4e5574e8af95ccf0e712e18ebbb7f92f7c678a.debug /usr/lib/debug/.build-id/92/4e8b62539bb0f4095b20d65573c1a2c49eb9aa.debug /usr/lib/debug/.build-id/2d/a2ddda9102640f9b6a58ce477d94150b66f0a3.debug /usr/lib/debug/.build-id/a8/98a3fb45172affcae0ab33ee3c2dac05dac3c0.debug /usr/lib/debug/.build-id/f0/14b9e63fce44bee73ed9e89163d6aedf6d6195.debug /usr/lib/debug/.build-id/75/4f4f1f98fd259af7829827cc07db1adee5c324.debug /usr/lib/debug/.build-id/68/5170f3fc6a2d5cd789377a430206a57bb3278a.debug /usr/lib/debug/.build-id/15/30871273a0d1267fe4198d34d6d36615f62034.debug /usr/lib/debug/.build-id/cc/b2bc2cf981de1441b100e69ccb24c9666af879.debug /usr/lib/debug/.build-id/f2/2694a14075795bca7bcb1142b70bc4b5a92e3b.debug /usr/lib/debug/.build-id/78/aaf8650cea34330005b398dfb2c02c84d4cc00.debug /usr/lib/debug/.build-id/55/7a5aa325043b5e8f9bcd30a80fc606565a5f6c.debug /usr/lib/debug/.build-id/38/41d622c707c6bb66b1233a58adc68f3bbe775d.debug /usr/lib/debug/.build-id/91/02a277c7bac86c6e3d2721f230c57e3072750a.debug /usr/lib/debug/.build-id/50/4cbec66c74941004251433ee0f6bccee02ed5b.debug /usr/lib/debug/.build-id/b1/e11969c042712ef7dca424d53796f459ec8cef.debug /usr/lib/debug/.build-id/02/fcbb07a8fc1f383053562ae9097132b4198b49.debug /usr/lib/debug/.build-id/1f/b6532a3f3974418f3cab63d28e50622618b132.debug /usr/lib/debug/.build-id/77/86e69a247f1ad93eb69e27c8c8cfc85c53aabf.debug /usr/lib/debug/.build-id/cb/0064a859d809cda397a736837edaa66065e067.debug /usr/lib/debug/.build-id/f0/28f4eccaa709d0417b78a2afbe972379a44854.debug /usr/lib/debug/.build-id/5a/88b3ca37a32afa45eede352489b65c55bf8267.debug /usr/lib/debug/.build-id/88/bab632ea6e76ff487e3bf42e8ef6321009f442.debug /usr/lib/debug/.build-id/40/8b35f7bbdd602642ea5ed333857f474a1b209e.debug /usr/lib/debug/.build-id/7b/d507e8ca3afb5b236fcc691603ff0d076043a1.debug /usr/lib/debug/.build-id/37/cc766776578b020be6cdfec499645e57e5bb1d.debug /usr/lib/debug/.build-id/44/63001b2bc2ec94c940acaecf95b8c287a8a4df.debug /usr/lib/debug/.build-id/06/f3a7e46d14562144cfdb154dca762886ea0f18.debug /usr/lib/debug/.build-id/0e/4c7a2c412467c55e466e98b00a040228c65c66.debug /usr/lib/debug/.build-id/37/ef6947463eacf899d5180f3da09f528e686d45.debug /usr/lib/debug/.build-id/8d/3b3d2890c4a8b2b5769497e5f77a18877bb251.debug /usr/lib/debug/.build-id/f2/3dc64a5d41cb8b4112ce5d96c5f0b2c28621ec.debug /usr/lib/debug/.build-id/d8/cae46f97f0b0269e6461fabc5de0e39bb2a0b2.debug /usr/lib/debug/.build-id/57/2ac6966b4efd14d07b54e3fe1d90c09e409bb5.debug /usr/lib/debug/.build-id/44/28c08e86c6b8f5ce4da4f098949b9fa09ed281.debug /usr/lib/debug/.build-id/2c/5a2d3417091d027925c274360668574735e8b0.debug /usr/lib/debug/.build-id/62/ed12d8a9306f04602468c70a87f6dd9715cb6c.debug /usr/lib/debug/.build-id/38/2f3e2bba22cc8435494b19cccd037556a136f8.debug /usr/lib/debug/.build-id/c4/657cfcaed369bff406a6faefecb7217214219a.debug /usr/lib/debug/.build-id/1a/b55faf1681fb5c841f063bc009eb4fae66bc87.debug /usr/lib/debug/.build-id/ea/a5272c18250550048bf5884fda451cf3996b44.debug /usr/lib/debug/.build-id/b4/56fa7a8e96942b3e13a5a76263774476025762.debug /usr/lib/debug/.build-id/d6/f1cd84c1854544e39ada36c068323705f635f5.debug /usr/lib/debug/.build-id/88/8a63383cf67d7435fa0bb7625777c7df1bfc35.debug /usr/lib/debug/.build-id/5f/83c512d7ed69ad74ab02cb01519ef03b9af989.debug /usr/lib/debug/.build-id/e0/c9f394e7f2b4ffeb6a7fd20776c022a9a84546.debug /usr/lib/debug/.build-id/02/0e02067ea6111efdc2e4177a5e14686bf9fb3f.debug /usr/lib/debug/.build-id/2d/6d6a49b763d8f9c7ea7ee8902dfab818d7c7ef.debug /usr/lib/debug/.build-id/2a/8d23727d1bb17171a9af8170a749e405ef76a7.debug /usr/lib/debug/.build-id/16/fd36902aadbaf16855f95b5dac20777542bd26.debug /usr/lib/debug/.build-id/19/c5ff52032685157acf9e4d299f4b71787a98a8.debug /usr/lib/debug/.build-id/0d/52d970fdf4dfe42ebc6bb505d076a5ab3f78b2.debug /usr/lib/debug/.build-id/9e/cc28b4e190921186adb6cc71ceb9aa254866d9.debug /usr/lib/debug/.build-id/cd/9e9ff7954c334ba715896e28e819f0427ec94e.debug /usr/lib/debug/.build-id/4a/f5ff6c47a78f93f74cade5598850f7a76dc598.debug /usr/lib/debug/.build-id/9b/f0cce0cba413422e0f49e9f87c97310b6dbdd5.debug /usr/lib/debug/.build-id/8c/ca94a5f5cf24d6dbe70c85c83bb400d2d77c33.debug /usr/lib/debug/.build-id/d9/b953f7171bebfdd8d6823f91571a641589444c.debug /usr/lib/debug/.build-id/7f/323e5302d7e24b31f12a261a8909029442ed1d.debug /usr/lib/debug/.build-id/80/ffeac5e5f505fe721349fd8f42c0b308bf9787.debug /usr/lib/debug/.build-id/b0/c98b4db822d93af92dd6cdf4b7b89846e2bf2d.debug /usr/lib/debug/.build-id/21/1edc79326eb308f0aa8601e8127361f97f4d96.debug

User friendly approach is about ... or ... never mind. :-)

Comment 9 seth vidal 2010-01-12 18:26:16 UTC
Then how about using yum's resolvedep command:
yum -d 0 resolvedep /bin/zsh
0:zsh-4.3.10-4.fc12.i686

or rpm -q --whatprovides /bin/zsh

for example, if you just want to hit the localrpmdb.

Comment 10 Jan Kratochvil 2010-01-12 18:38:36 UTC
You are suggesting to call external command passing it arguments as text strings and parsing its text output?  Instead of a normal shared library API call?

Wikipedia claims shlibs should be already available for some time:
Programmers originally developed dynamic linking in the Multics operating system, starting in 1964.

Comment 11 Jan Kratochvil 2010-01-12 19:05:52 UTC
Thanks for suggestion, fixed, closed.

Comment 12 seth vidal 2010-01-12 19:06:08 UTC
okay apparently I'm missing the plot here.

you asked me what commands I suggested. I told you.

what this has to do with shared library interfaces and the year prior to my birth I have no idea.

Is there some sort of language problem here? B/c I really have no idea what it is you want from me here.

Comment 13 Jan Kratochvil 2010-01-12 19:20:15 UTC
(In reply to comment #12)
> you asked me what commands I suggested. I told you.

Yes, thanks, all I wanted to hear was your reply in (part of) Comment 2:
  yum --disablerepo='*' --enablerepo='*-debug*' install something would work.    


> what this has to do with shared library interfaces and the year prior to my
> birth I have no idea.

This was a reply on your Comment 9.  In fact I have not understood why you made that Comment 9.  I already heard some disagreements with applications using librpm.so which makes stable ABI requirements on librpm.so so I just assumed your Comment 9 was another attempt to remove the ABI dependency of applications on librpm.so.  My Comment 10 was reply on your Comment 9 assuming you were requesting replacing the librpm.so ABI dependency by popen/fork/etc. scheme to remove this stable ABI requirement on librpm.so.

> Is there some sort of language problem here? B/c I really have no idea what it
> is you want from me here.    

Nothing more after your Comment 2, thanks.

Comment 14 seth vidal 2010-01-12 19:26:33 UTC
(In reply to comment #13)
 
> > what this has to do with shared library interfaces and the year prior to my
> > birth I have no idea.
> 
> This was a reply on your Comment 9.  In fact I have not understood why you made
> that Comment 9.  I already heard some disagreements with applications using
> librpm.so which makes stable ABI requirements on librpm.so so I just assumed
> your Comment 9 was another attempt to remove the ABI dependency of applications
> on librpm.so.

Your assumption was incorrect. I wasn't making any comment one way or the other. I was giving you two simple ways to access in the information from any program whether or not the program was in C or any of the dynamic languages.

>  My Comment 10 was reply on your Comment 9 assuming you were
> requesting replacing the librpm.so ABI dependency by popen/fork/etc. scheme to
> remove this stable ABI requirement on librpm.so.

No. I wasn't requesting  anything. I was just trying to help.


 
let me know if there is something else needed.

Comment 15 James Antill 2010-01-12 19:31:27 UTC
Ok, from what I can understand gdb is doing something along the lines of:

1. Program X crashes.

2. debuginfo not installed, for X, Y, Z shared objects.

3a.
  i. Use the rpm API to go from things like /usr/bin/gedit => gedit-1:2.28.0-1.fc12.x86_64 or /lib/libc-2.11.so => glibc-0:2.11-2.i686
  ii. Print: debuginfo-install gedit-1:2.28.0-1.fc12.x86_64 glibc-0:2.11-2.i686

3b.
  i. Rpm lookup doesn't work, so use fallback.
  ii. Print: yum --enablerepo='*' install <list-of-debuginfo-files>
  iii. Note that this requires filelists to be downloaded.

...this bug is about putting --disablerepo='*' in "3b. ii" (due to "3b. iii"), which isn't a terrible idea, but I think there might be some better solutions:

1. We could change debuginfo-install so that gdb can print:

  Use: debuginfo-install /usr/bin/gedit /lib/libc-2.11.so

...you'd still probably want to do 3a, but now 3b becomes much nicer (no filelists for anything, and the command will auto. enable the correct repos.).

2. Find out why "3a. i" is failing, and fix that?

3. Have debuginfo-install understand /usr/lib/debug/.build-id/4a/f5ff6c47a78f93f74cade5598850f7a76dc598.debug files (the only benefit here is if we ever move to using repo. tags instead of suffixes to find debuginfo repos.).

Comment 16 Jan Kratochvil 2010-01-12 19:58:15 UTC
I find the situation is more complicated.

Despite librpm may say that /usr/bin/gedit belongs to gedit-2.28.3-1.fc12.x86_64 still the specific system /usr/bin/gedit may not be from gedit-2.28.3-1.fc12.x86_64 as the user may have overwritten the binary.

In such case currently gdb suggests first debuginfo-install gedit-2.28.3-1.fc12.x86_64.  But when GDB sees gedit-debuginfo is already installed and it still could not find the debuginfo it will fall back to the "always-safe" way of yum --enablerepo='*' install <list-of-debuginfo-files>.

Anyway I do not think this /usr/bin/gdb logic makes too much sense to tune it to perfectionalism.  It was there to make same basic build-id functionality working.

Red Hat should implement proper PackageKit support for installing debuginfos user friendly graphical way in cooperation with ABRT (which has already solved it on its own without rpms) and also with Eclipse.

Comment 17 Fedora Update System 2010-01-14 00:37:51 UTC
gdb-7.0.1-26.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/gdb-7.0.1-26.fc12

Comment 18 Fedora Update System 2010-01-15 22:10:16 UTC
gdb-7.0.1-26.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 19 Jan Kratochvil 2013-07-17 17:50:49 UTC
I have to remove this --disablerepo='*' part as in some cases (Bug 981154) the yum command will install regular binaries.

yum --disablerepo='*' --enablerepo='*debug*' install /usr/lib/debug/.build-id/bd/../../../../bin/gtkperf
Error: Nothing to do

->

yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/bd/../../../../bin/gtkperf
Installed:
  gtkperf.x86_64 0:0.40-16.fc19

The default repositories should be commonly already cached anyway.
At least one should enable "metadata_expire=never" in /etc/yum.conf but that is outside of the scope of this Bug.


Note You need to log in before you can comment on or make changes to this bug.