public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libc/30509] New: testroot.root not updated when it should be
@ 2023-06-03 21:34 ppluzhnikov at google dot com
2023-06-03 21:51 ` [Bug libc/30509] " ppluzhnikov at google dot com
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: ppluzhnikov at google dot com @ 2023-06-03 21:34 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=30509
Bug ID: 30509
Summary: testroot.root not updated when it should be
Product: glibc
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: ppluzhnikov at google dot com
CC: drepper.fsp at gmail dot com
Target Milestone: ---
I was looking at test failures after "make && make check", and found errors I
didn't expect.
Using
rm string/tst-strerror.out
make objdir=`pwd` -C ../glibc/string check
I see:
/home/paul/glibc-build/string/tst-strerror: /lib64/libc.so.6: version
`GLIBC_ABI_DT_RELR' not found (required by
/home/paul/glibc-build/string/tst-strerror)
/home/paul/glibc-build/string/tst-strerror: /lib64/libc.so.6: version
`GLIBC_2.38' not found (required by /home/paul/glibc-build/string/tst-strerror)
Turns out that testroot.root/lib64 was not updated since (probably) the first
time I did "make check" in this build directory:
ls -l testroot.root/lib64/libc.so.6 testroot.root/lib64/libc-2.33.9000.so
-rwxr-xr-x 1 paul paul 14568704 Jun 20 2021
testroot.root/lib64/libc-2.33.9000.so
lrwxrwxrwx 1 paul paul 17 Jun 20 2021 testroot.root/lib64/libc.so.6 ->
libc-2.33.9000.so
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libc/30509] testroot.root not updated when it should be
2023-06-03 21:34 [Bug libc/30509] New: testroot.root not updated when it should be ppluzhnikov at google dot com
@ 2023-06-03 21:51 ` ppluzhnikov at google dot com
2023-06-03 22:01 ` ppluzhnikov at google dot com
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: ppluzhnikov at google dot com @ 2023-06-03 21:51 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=30509
Paul Pluzhnikov <ppluzhnikov at google dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dj at redhat dot com
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libc/30509] testroot.root not updated when it should be
2023-06-03 21:34 [Bug libc/30509] New: testroot.root not updated when it should be ppluzhnikov at google dot com
2023-06-03 21:51 ` [Bug libc/30509] " ppluzhnikov at google dot com
@ 2023-06-03 22:01 ` ppluzhnikov at google dot com
2023-06-05 17:37 ` dj at redhat dot com
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: ppluzhnikov at google dot com @ 2023-06-03 22:01 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=30509
--- Comment #1 from Paul Pluzhnikov <ppluzhnikov at google dot com> ---
It's actually the testroot.pristine/ that isn't updated.
In general, the intent of commit 561b0bec444 appears to be "install once &&
test repeatedly", and if you want to re-test after changes, you must 'rm
testroot.pristine/install.stamp'.
I think that is exceedingly error prone: the following sequence is usual:
- edit somefile.c
- make && make check
and would use newly-built libc.so for non-containerized tests, but would use
earlier built libc.so for containerized ones.
Should $(objpfx)testroot.pristine/install.stamp itself depend on
$(objpfx)libc.so, $(objpfx)elf/ld.so etc?
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libc/30509] testroot.root not updated when it should be
2023-06-03 21:34 [Bug libc/30509] New: testroot.root not updated when it should be ppluzhnikov at google dot com
2023-06-03 21:51 ` [Bug libc/30509] " ppluzhnikov at google dot com
2023-06-03 22:01 ` ppluzhnikov at google dot com
@ 2023-06-05 17:37 ` dj at redhat dot com
2023-06-05 17:45 ` ppluzhnikov at google dot com
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: dj at redhat dot com @ 2023-06-05 17:37 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=30509
--- Comment #2 from dj at redhat dot com <dj at redhat dot com> ---
When we added the test-in-container functionality, we discussed this problem in
some detail. At that time, we decided that the time required to install a
fresh testroot was too much to do for every iteration of editing a file,
especially if the file you're editing is the test case itself.
If you can come up with a way to optimize the re-install time of the testroot,
we can re-discuss this on the mailing list.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libc/30509] testroot.root not updated when it should be
2023-06-03 21:34 [Bug libc/30509] New: testroot.root not updated when it should be ppluzhnikov at google dot com
` (2 preceding siblings ...)
2023-06-05 17:37 ` dj at redhat dot com
@ 2023-06-05 17:45 ` ppluzhnikov at google dot com
2023-06-05 21:13 ` dj at redhat dot com
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: ppluzhnikov at google dot com @ 2023-06-05 17:45 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=30509
--- Comment #3 from Paul Pluzhnikov <ppluzhnikov at google dot com> ---
(In reply to dj@redhat.com from comment #2)
> When we added the test-in-container functionality, we discussed this problem
> in some detail.
Could you link to that discussion, so I don't repeat all the arguments you've
already discussed?
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libc/30509] testroot.root not updated when it should be
2023-06-03 21:34 [Bug libc/30509] New: testroot.root not updated when it should be ppluzhnikov at google dot com
` (3 preceding siblings ...)
2023-06-05 17:45 ` ppluzhnikov at google dot com
@ 2023-06-05 21:13 ` dj at redhat dot com
2023-06-07 17:16 ` fweimer at redhat dot com
2023-06-07 17:38 ` ppluzhnikov at google dot com
6 siblings, 0 replies; 8+ messages in thread
From: dj at redhat dot com @ 2023-06-05 21:13 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=30509
--- Comment #4 from dj at redhat dot com <dj at redhat dot com> ---
Hmmm... I can't seem to find it in the archives (it was back in 2018). It
might have been discussed in a video call or something. I recall that the
development cycle time was very important to developers.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libc/30509] testroot.root not updated when it should be
2023-06-03 21:34 [Bug libc/30509] New: testroot.root not updated when it should be ppluzhnikov at google dot com
` (4 preceding siblings ...)
2023-06-05 21:13 ` dj at redhat dot com
@ 2023-06-07 17:16 ` fweimer at redhat dot com
2023-06-07 17:38 ` ppluzhnikov at google dot com
6 siblings, 0 replies; 8+ messages in thread
From: fweimer at redhat dot com @ 2023-06-07 17:16 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=30509
Florian Weimer <fweimer at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fweimer at redhat dot com
--- Comment #5 from Florian Weimer <fweimer at redhat dot com> ---
I don't have a link to that discussion, either.
On the other hand, running a full container install for each “make t=… test”
makes test development (as opposed to library development) very, very slow.
It's also impossible to iterate quickly using ”make -j`nproc` && make -j`nproc`
subdirs=… check” for library development (if no impact on container tests is
expected). I think it was the latter part about which I complained, the cycle
time regression was just too massive.
On the other hand, the current situation is very confusing.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libc/30509] testroot.root not updated when it should be
2023-06-03 21:34 [Bug libc/30509] New: testroot.root not updated when it should be ppluzhnikov at google dot com
` (5 preceding siblings ...)
2023-06-07 17:16 ` fweimer at redhat dot com
@ 2023-06-07 17:38 ` ppluzhnikov at google dot com
6 siblings, 0 replies; 8+ messages in thread
From: ppluzhnikov at google dot com @ 2023-06-07 17:38 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=30509
--- Comment #6 from Paul Pluzhnikov <ppluzhnikov at google dot com> ---
(In reply to Florian Weimer from comment #5)
> makes test development (as opposed to library development) very, very slow.
Sorry, I didn't understand this part.
Container only needs to be updated when $(objpfx)libc.so etc. change.
If you are iterating over tst-*.c, I would expect "make" to not update the
container by virtue of regular dependency tracking.
> On the other hand, the current situation is very confusing.
Confusing is maybe tolerable.
Error-prone is (IMHO) intolerable: make a change; make check -- all PASS;
commit patch; break containerized test(s).
Nobody notices for a while, until "make clean" or a "make; make check" in a
fresh build directory.
---
One possible workaround is to rebuild testroot.pristine/ by default, but have
some way to suppress this rebuild (when you know there is no impact on the
container).
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-06-07 17:38 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-03 21:34 [Bug libc/30509] New: testroot.root not updated when it should be ppluzhnikov at google dot com
2023-06-03 21:51 ` [Bug libc/30509] " ppluzhnikov at google dot com
2023-06-03 22:01 ` ppluzhnikov at google dot com
2023-06-05 17:37 ` dj at redhat dot com
2023-06-05 17:45 ` ppluzhnikov at google dot com
2023-06-05 21:13 ` dj at redhat dot com
2023-06-07 17:16 ` fweimer at redhat dot com
2023-06-07 17:38 ` ppluzhnikov at google dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).