[KDE Itinerary] [Bug 442821] New: TimelineModelTest::testWeatherElements fails at 23:00

2021-09-22 Thread Bernhard M. Wiedemann
https://bugs.kde.org/show_bug.cgi?id=442821

Bug ID: 442821
   Summary: TimelineModelTest::testWeatherElements fails at 23:00
   Product: KDE Itinerary
   Version: unspecified
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: vkra...@kde.org
  Reporter: kdebugs...@lsmod.de
  Target Milestone: ---

SUMMARY timelinemodeltest.cpp fails reproducibly 4% of the time


STEPS TO REPRODUCE
1. run itinerary-21.08.1 tests with the system clock set between 23:00 and
23:59 UTC (in case it matters: we use TZ=UTC)
   on openSUSE, you can do that with osc co openSUSE:Factory/itinerary && cd $_
&& osc build --vm-type=kvm --noservice --clean
--build-opt=--vm-custom-opt="-rtc base=2021-11-01T23:29:00" standard


OBSERVED RESULT
QDEBUG : TimelineModelTest::testWeatherElements() weather recomputation done^M
FAIL!  : TimelineModelTest::testWeatherElements() Compared values are not the
sa
me^M
   Actual   (fc.dateTime().date()): 2021/09/05^M
   Expected (QDate::currentDate()): 2021/09/04^M
   Loc:
[/home/abuild/rpmbuild/BUILD/itinerary-21.08.1/autotests/timelinemodelte
st.cpp(284)]^M
QWARN  : TimelineModelTest::testMultiTraveller() Comparators already registered
for type KItinerary::BusTrip^M


EXPECTED RESULT
tests should not fail like this

SOFTWARE/OS VERSIONS

Linux/KDE Plasma: openSUSE Tumbleweed 20210916
KDE Plasma Version: ?
KDE Frameworks Version: 5.86
Qt Version: 5.15.2

ADDITIONAL INFORMATION

This bug was found while working on reproducible builds for openSUSE.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 401742] unreproducible .a files should not be built with LTO

2018-12-05 Thread Bernhard M . Wiedemann
https://bugs.kde.org/show_bug.cgi?id=401742

--- Comment #12 from Bernhard M. Wiedemann  ---
According to our compiler guys, such .a files should then be created with 
-ffat-lto-objects so that they contain actual machine code
that can be used without having the same gcc version and lto-plugins.

In openSUSE, header files and .a files are mixed together in a valgrind-devel
package and that is used in builds of
anjuta ceph gperftools libqt5-qtwebengine mpich rdma-core ruby2.5 wine xmms2

But maybe they only use the .h files.
I quickly tested xmms2, rdma-core, gperftools, anjuta
and none of the 4 uses .a files.

Anyway, such a patch seems useful:
valgrind-3.14.0/configure.ac:
-TEST_LTO_CFLAGS="-flto -flto-partition=one -fuse-linker-plugin"
+TEST_LTO_CFLAGS="-flto -flto-partition=one -fuse-linker-plugin
-ffat-lto-objects"

That would allow us to strip the LTO sections from the .a files and still have
the normal machine code.
Or we just drop the .a files from our rpms since nobody seems to use them.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 401742] unreproducible .a files should not be built with LTO

2018-12-05 Thread Bernhard M . Wiedemann
https://bugs.kde.org/show_bug.cgi?id=401742

--- Comment #9 from Bernhard M. Wiedemann  ---
According to our (SUSE) compiler guys, the .o files created with -flto are only
intermediate artifacts and not meant to be shipped to users.

So maybe the better fix would then be to not ship those .a files containing
them?

It would also be nice if gcc could produce deterministic results there, but
apparently they need some unique ID and it is hard (from code or design) to
hash inputs or such.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 401742] unreproducible .a files should not be built with LTO

2018-12-04 Thread Bernhard M . Wiedemann
https://bugs.kde.org/show_bug.cgi?id=401742

--- Comment #6 from Bernhard M. Wiedemann  ---
The patch only disables LTO for .a file creation where it does not make sense
to have it.
Shared objects and such still use LTO with the patch.

grep -- "-flto "
finds 134 occurrences in the build log with applied patch.

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 401742] unreproducible .a files should not be built with LTO

2018-12-04 Thread Bernhard M . Wiedemann
https://bugs.kde.org/show_bug.cgi?id=401742

--- Comment #4 from Bernhard M. Wiedemann  ---
Created attachment 116673
  --> https://bugs.kde.org/attachment.cgi?id=116673=edit
fixing patch

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 401742] unreproducible .a files should not be built with LTO

2018-12-04 Thread Bernhard M . Wiedemann
https://bugs.kde.org/show_bug.cgi?id=401742

Bernhard M. Wiedemann  changed:

   What|Removed |Added

 CC||philippe.waroquiers@skynet.
   ||be

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 401742] unreproducible .a files should not be built with LTO

2018-12-04 Thread Bernhard M . Wiedemann
https://bugs.kde.org/show_bug.cgi?id=401742

--- Comment #1 from Bernhard M. Wiedemann  ---
Submitted a fix at https://phabricator.kde.org/D17349

-- 
You are receiving this mail because:
You are watching all bug changes.

[valgrind] [Bug 401742] New: unreproducible .a files should not be built with LTO

2018-12-04 Thread Bernhard M . Wiedemann
https://bugs.kde.org/show_bug.cgi?id=401742

Bug ID: 401742
   Summary: unreproducible .a files should not be built with LTO
   Product: valgrind
   Version: 3.14.0
  Platform: Other
OS: Linux
Status: REPORTED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: jsew...@acm.org
  Reporter: kdebugs...@lsmod.de
  Target Milestone: ---

SUMMARY
While working on reproducible builds for openSUSE, I found that
the valgrind package varied for every build
because its .a files contain .o files
created by gcc -flto -c
Such .o files are gcc version specific and not very useful.
Also they always differ from randomness introduced by gcc,
making it impossible to verify that the build was correct.

See also https://bugzilla.opensuse.org/show_bug.cgi?id=1118163

STEPS TO REPRODUCE
1. build openSUSE Factory valgrind package 2 times
2. compare results

OBSERVED RESULT
.a files differ

EXPECTED RESULT
It should be possible to generate identical build results
multiple times.

ADDITIONAL INFORMATION
I got a patch to fix this and will upload it to Phabricator.

-- 
You are receiving this mail because:
You are watching all bug changes.

[frameworks-kdoctools] [Bug 398263] kdoctools man page build should depend on all-l10n.xml

2018-10-29 Thread Bernhard M . Wiedemann
https://bugs.kde.org/show_bug.cgi?id=398263

--- Comment #2 from Bernhard M. Wiedemann  ---
Yes, that patch fixes the race.

-- 
You are receiving this mail because:
You are watching all bug changes.

[frameworks-kdoctools] [Bug 398263] New: kdoctools man page build should depend on all-l10n.xml

2018-09-04 Thread Bernhard M . Wiedemann
https://bugs.kde.org/show_bug.cgi?id=398263

Bug ID: 398263
   Summary: kdoctools man page build should depend on all-l10n.xml
   Product: frameworks-kdoctools
   Version: 5.49.0
  Platform: Other
OS: Linux
Status: UNCONFIRMED
  Severity: normal
  Priority: NOR
 Component: general
  Assignee: kde-doc-engl...@kde.org
  Reporter: kdebugs...@lsmod.de
CC: kdelibs-b...@kde.org
  Target Milestone: ---

While working on reproducible builds for openSUSE, I found that
there is a parallelism-related race:
When building openSUSE's kdoctools package with a 1-core-VM using
osc build -j1

it creates different man-pages than with a 4-core-VM
osc build -j4


diffs include:

--- old//usr/share/man/man1/checkXML5.1 2018-08-26 03:25:41.086296212 +
+++ new//usr/share/man/man1/checkXML5.1 2018-08-26 03:25:41.098296086 +
@@ -5,9 +5,9 @@
 .\"  Date: 2014-03-04
 .\"Manual: checkXML5 User's Manual
 .\"Source: KDE Frameworks Frameworks 5.0
-.\"  Language: English
+.\"  Language:

-.SH "NAME"
+.SH ""
 checkXML5 \- An XML lint tool for KDE DocBook XML documents\&.
-.SH "SYNOPSIS"
+.SH ""
 .HP \w'\fBcheckXML5\fR\ 'u
 \fBcheckXML5\fR [\fIfilename\fR]
-.SH "DESCRIPTION"
+.SH "Description"



I think, this comes from a
I/O warning : failed to load external entity
"/home/abuild/rpmbuild/BUILD/kdoctools-5.49.0/build/src/customization/xsl/all-l10n.xml"
 
that only happens in the -j1 case
in the output of kdoctools-5.49.0/build/bin/meinproc5


Looking through the source, all-l10n.xml seems to be generated by docbookl10n
but there is nothing telling cmake about this dependency, so it is scheduled at
different times before/after the man pages get generated:

difflog | grep "Built target docbookl10n"
+ [  8%] Built target docbookl10nhelper_autogen
+ [ 25%] Built target docbookl10nhelper
- [ 94%] Built target docbookl10nhelper_autogen
- [100%] Built target docbookl10nhelper

-- 
You are receiving this mail because:
You are watching all bug changes.