Perma [Tier 2] /builds/worker/fetches/clang/bin/../x86_64-w64-mingw32/include/stdio.h:668:26: error: conflicting types for 'fseeko64'
Categories
(Core :: MFBT, defect, P5)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox-esr78 | --- | unaffected |
firefox78 | --- | unaffected |
firefox79 | --- | unaffected |
firefox80 | --- | unaffected |
firefox81 | --- | verified |
People
(Reporter: intermittent-bug-filer, Assigned: cpeterson)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: intermittent-failure, regression, Whiteboard: [retriggered])
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
Filed by: malexandru [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=311530915&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Aqugds2GR52RWFTIL4s8vQ/runs/0/artifacts/public/logs/live_backing.log
[task 2020-07-30T16:06:01.514Z] 16:06:01 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/modules/libmar/sign'
[task 2020-07-30T16:06:01.514Z] 16:06:01 INFO - modules/libmar/sign/Unified_c_modules_libmar_sign0.o
[task 2020-07-30T16:06:01.514Z] 16:06:01 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/i686-w64-mingw32-clang -std=gnu99 -o Unified_c_modules_libmar_sign0.o -c -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -ftrivial-auto-var-init=pattern -DDEBUG=1 -DMAR_NSS -I/builds/worker/checkouts/gecko/modules/libmar/sign -I/builds/worker/workspace/obj-build/modules/libmar/sign -I/builds/worker/checkouts/gecko/modules/libmar/src -I/builds/worker/checkouts/gecko/modules/libmar/verify -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -include /builds/worker/workspace/obj-build/mozilla-config.h -DMOZILLA_CLIENT -Qunused-arguments -fcrash-diagnostics-dir=/builds/worker/artifacts -D_HAS_EXCEPTIONS=0 -fno-strict-aliasing -mstackrealign -ffunction-sections -fdata-sections -fno-math-errno -pipe -g -gcodeview -O2 -fno-omit-frame-pointer -funwind-tables -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wno-unknown-pragmas -Wno-unused-function -Wno-conversion-null -Wno-switch -Wno-enum-compare -Wno-gnu-zero-variadic-macro-arguments -Werror=implicit-function-declaration -std=gnu11 -fexperimental-new-pass-manager -MD -MP -MF .deps/Unified_c_modules_libmar_sign0.o.pp Unified_c_modules_libmar_sign0.c
[task 2020-07-30T16:06:01.514Z] 16:06:01 INFO - In file included from Unified_c_modules_libmar_sign0.c:2:
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - In file included from /builds/worker/checkouts/gecko/modules/libmar/sign/mar_sign.c:16:
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - In file included from /builds/worker/checkouts/gecko/modules/libmar/src/mar_private.h:72:
[task 2020-07-30T16:06:01.515Z] 16:06:01 ERROR - /builds/worker/fetches/clang/bin/../i686-w64-mingw32/include/stdio.h:668:26: error: conflicting types for 'fseeko64'
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - __mingw_static_ovr int fseeko64(FILE *_File, _off64_t _Offset, int _Origin) {
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - ^
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - /builds/worker/fetches/clang/bin/../i686-w64-mingw32/include/stdio.h:665:26: note: previous definition is here
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - __mingw_static_ovr int fseeko(FILE *_File, _off_t _Offset, int _Origin) {
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - ^
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - /builds/worker/checkouts/gecko/modules/libmar/src/mar_private.h:61:20: note: expanded from macro 'fseeko'
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - # define fseeko fseeko64
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - ^
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - In file included from Unified_c_modules_libmar_sign0.c:2:
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - In file included from /builds/worker/checkouts/gecko/modules/libmar/sign/mar_sign.c:16:
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - In file included from /builds/worker/checkouts/gecko/modules/libmar/src/mar_private.h:72:
[task 2020-07-30T16:06:01.515Z] 16:06:01 ERROR - /builds/worker/fetches/clang/bin/../i686-w64-mingw32/include/stdio.h:674:31: error: conflicting types for 'ftello64'
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - __mingw_static_ovr _off64_t ftello64(FILE *_File) {
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - ^
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - /builds/worker/fetches/clang/bin/../i686-w64-mingw32/include/stdio.h:671:29: note: previous definition is here
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - __mingw_static_ovr _off_t ftello(FILE *_File) {
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - ^
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - /builds/worker/checkouts/gecko/modules/libmar/src/mar_private.h:60:20: note: expanded from macro 'ftello'
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - # define ftello ftello64
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - ^
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - 2 errors generated.
[task 2020-07-30T16:06:01.515Z] 16:06:01 ERROR - make[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:669: Unified_c_modules_libmar_sign0.o] Error 1
[task 2020-07-30T16:06:01.515Z] 16:06:01 INFO - make[4]: Leaving directory '/builds/worker/workspace/obj-build/modules/libmar/sign'
[task 2020-07-30T16:06:01.516Z] 16:06:01 ERROR - make[3]: *** [/builds/worker/checkouts/gecko/config/recurse.mk:72: modules/libmar/sign/target-objects] Error 2
[task 2020-07-30T16:06:01.516Z] 16:06:01 INFO - make[3]: *** Waiting for unfinished jobs....
[task 2020-07-30T16:06:01.602Z] 16:06:01 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/modules/brotli'
[task 2020-07-30T16:06:01.603Z] 16:06:01 INFO - modules/brotli/host_state.o
[task 2020-07-30T16:06:01.604Z] 16:06:01 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang -std=gnu99 -o host_state.o -c -DXP_UNIX -O3 -DDEBUG=1 -I/builds/worker/checkouts/gecko/modules/brotli -I/builds/worker/workspace/obj-build/modules/brotli -I/builds/worker/workspace/obj-build/dist/include -MD -MP -MF .deps/host_state.o.pp -I/builds/worker/workspace/obj-build/dist/include/nspr /builds/worker/checkouts/gecko/modules/brotli/dec/state.c
[task 2020-07-30T16:06:01.604Z] 16:06:01 INFO - make[4]: Leaving directory '/builds/worker/workspace/obj-build/modules/brotli'
[task 2020-07-30T16:06:01.651Z] 16:06:01 INFO - make[4]: Entering directory '/builds/worker/workspace/obj-build/modules/brotli'
<...>
[task 2020-07-30T16:06:32.273Z] 16:06:32 INFO - Return code: 0
[task 2020-07-30T16:06:32.273Z] 16:06:32 INFO - Running post-run listener: _shutdown_sccache
[task 2020-07-30T16:06:32.273Z] 16:06:32 INFO - Running command: ['/builds/worker/fetches/sccache/sccache', '--stop-server'] in /builds/worker/checkouts/gecko
[task 2020-07-30T16:06:32.273Z] 16:06:32 INFO - Copy/paste: /builds/worker/fetches/sccache/sccache --stop-server
[task 2020-07-30T16:06:32.276Z] 16:06:32 INFO - Stopping sccache server...
[task 2020-07-30T16:06:32.276Z] 16:06:32 INFO - Compile requests 3006
[task 2020-07-30T16:06:32.276Z] 16:06:32 INFO - Compile requests executed 2982
[task 2020-07-30T16:06:32.276Z] 16:06:32 INFO - Cache hits 236
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Cache hits (C/C++) 212
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Cache hits (Rust) 24
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Cache misses 2745
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Cache misses (C/C++) 2745
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Cache timeouts 0
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Cache read errors 0
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Forced recaches 0
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Cache write errors 0
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Compilation failures 1
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Cache errors 0
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Non-cacheable compilations 0
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Non-cacheable calls 14
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Non-compilation calls 10
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Unsupported compiler calls 0
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Average cache write 0.099 s
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Average cache read miss 4.437 s
[task 2020-07-30T16:06:32.277Z] 16:06:32 INFO - Average cache read hit 0.080 s
[task 2020-07-30T16:06:32.278Z] 16:06:32 INFO - Failed distributed compilations 0
[task 2020-07-30T16:06:32.278Z] 16:06:32 INFO - Non-cacheable reasons:
[task 2020-07-30T16:06:32.278Z] 16:06:32 INFO - crate-type 9
[task 2020-07-30T16:06:32.278Z] 16:06:32 INFO - - 2
[task 2020-07-30T16:06:32.278Z] 16:06:32 INFO - unknown source language 2
[task 2020-07-30T16:06:32.278Z] 16:06:32 INFO - -E 1
[task 2020-07-30T16:06:32.278Z] 16:06:32 INFO - Cache location S3, bucket: Bucket(name=taskcluster-level-3-sccache-us-east-1, base_url=http://taskcluster-level-3-sccache-us-east-1.s3.amazonaws.com/)
[task 2020-07-30T16:06:32.278Z] 16:06:32 INFO - Return code: 0
[task 2020-07-30T16:06:32.278Z] 16:06:32 INFO - Running post-run listener: _summarize
[task 2020-07-30T16:06:32.278Z] 16:06:32 ERROR - # TBPL FAILURE #
[task 2020-07-30T16:06:32.278Z] 16:06:32 INFO - [mozharness: 2020-07-30 16:06:32.278633Z] FxDesktopBuild summary:
[task 2020-07-30T16:06:32.278Z] 16:06:32 ERROR - # TBPL FAILURE #
[fetches 2020-07-30T16:06:32.322Z] removing /builds/worker/fetches
[fetches 2020-07-30T16:06:32.907Z] finished
[taskcluster 2020-07-30 16:06:33.217Z] === Task Finished ===
[taskcluster 2020-07-30 16:06:34.874Z] Unsuccessful task run with exit code: 255 completed in 966.429 seconds
Comment 1•4 years ago
|
||
Chris, could this have been caused by the changes in Bug 1652914?
At the moment it is only affecting Windows MinGW builds:
https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&group_state=expanded&selectedTaskRun=Aqugds2GR52RWFTIL4s8vQ.0&resultStatus=testfailed%2Cbusted%2Cexception&revision=e130c4bccd3d8308ab25108c9d3707d8155f3425&searchStr=Windows%2CMinGW
Bug 1653182 seems more likely, since the # define ftello ftello64
is in libmar. Maybe prior to C11 the conflict was allowed?
Assignee | ||
Comment 3•4 years ago
|
||
(In reply to :dmajor from comment #2)
Bug 1653182 seems more likely, since the
# define ftello ftello64
is in libmar. Maybe prior to C11 the conflict was allowed?
Yeah. I assume this is fallout from my C11 libmar bug 1653182 change. I tested my changes on Try, but I guess I didn't include mingw builds.
I see redefinitions of ftello ftello64
in libpvx and aom, too. They shouldn't be a problem because my C11 patch only changed libmar.
https://searchfox.org/mozilla-central/search?case=true&q=ftello%20ftello64
Updated•4 years ago
|
Assignee | ||
Comment 4•4 years ago
|
||
The problem is that mar_private.h's #define ftello ftello64
clobbers MinGW's ftello
and fseeko
declarations in stdio.h. But I don't know yet why this used to work!
#ifdef _UCRT
__mingw_static_ovr int fseeko(FILE *_File, _off_t _Offset, int _Origin) {
return fseek(_File, _Offset, _Origin);
}
__mingw_static_ovr int fseeko64(FILE *_File, _off64_t _Offset, int _Origin) {
return _fseeki64(_File, _Offset, _Origin);
}
__mingw_static_ovr _off_t ftello(FILE *_File) {
return ftell(_File);
}
__mingw_static_ovr _off64_t ftello64(FILE *_File) {
return _ftelli64(_File);
}
#else
int fseeko64(FILE* stream, _off64_t offset, int whence);
int fseeko(FILE* stream, _off_t offset, int whence);
/* Returns truncated 64bit off_t */
_off_t ftello(FILE * stream);
_off64_t ftello64(FILE * stream);
#endif
Note that the redefinition of ftello
to ftello64
instead of _ftelli64
to "Avoid MinGW's unreliable _ftelli64() and _fseeki64() implementations" (bug 1561636) is no longer meaningful because MingW's ftello64
is now implemented above using _ftelli64
!
I grabbed the MingW headers from https://sourceforge.net/projects/mingw-w64/. Based on the line numbers from the compilation errors, these headers appear to match the MinGW headers used in mozilla-central builds, but I don't know for certain.
Assignee | ||
Comment 5•4 years ago
|
||
Here is a green Try build of my new patch applied immediately after my patches that broke the MinGW build:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c2914144b4db203e0bbcb01dc674e92602ea7754
I also had to apply the patch from bug 1656185 to fix an unrelated, preexisting MinGW build error: CmdLineAndEnvUtils.h:485:5: error: no template named 'nsTAutoString'
.
Assignee | ||
Comment 6•4 years ago
|
||
Include stdio.h before redefining ftello and fseeko to avoid clobbering the ftello() and fseeko() function declarations in MinGW's stdio.h.
I don't know why my change to compile libmar as C11 (bug 1653182) caused this ftello/fseeko problem. From my inspection of MinGW's stdio.h, this problem should have already been happening!
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment 9•4 years ago
|
||
bugherder |
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 11•4 years ago
|
||
(In reply to Intermittent Failures Robot from comment #10)
12 failures in 4618 pushes (0.003 failures/push) were associated with this bug in the last 7 days.
Those 12 failures stopped after 2020-08-03 after this fix was merged to mozilla-central on 2020-08-03 (comment 9).
Comment 12•4 years ago
|
||
(In reply to Chris Peterson [:cpeterson] from comment #4)
The problem is that mar_private.h's
#define ftello ftello64
clobbers MinGW'sftello
andfseeko
declarations in stdio.h. But I don't know yet why this used to work!#ifdef _UCRT __mingw_static_ovr int fseeko(FILE *_File, _off_t _Offset, int _Origin) { return fseek(_File, _Offset, _Origin); } __mingw_static_ovr int fseeko64(FILE *_File, _off64_t _Offset, int _Origin) { return _fseeki64(_File, _Offset, _Origin); } __mingw_static_ovr _off_t ftello(FILE *_File) { return ftell(_File); } __mingw_static_ovr _off64_t ftello64(FILE *_File) { return _ftelli64(_File); } #else int fseeko64(FILE* stream, _off64_t offset, int whence); int fseeko(FILE* stream, _off_t offset, int whence); /* Returns truncated 64bit off_t */ _off_t ftello(FILE * stream); _off64_t ftello64(FILE * stream); #endif
Note that the redefinition of
ftello
toftello64
instead of_ftelli64
to "Avoid MinGW's unreliable _ftelli64() and _fseeki64() implementations" (bug 1561636) is no longer meaningful because MingW'sftello64
is now implemented above using_ftelli64
!
Yes. https://trac.torproject.org/projects/tor/ticket/26514#comment:19 has the context. We were using non-ucrt back then which hit the bugs in mingw-w64's implementation of those functions. That should not be an issue with ucrt-based builds anymore which we are doing now. I've opened bug 1663119 to remove the workaround we upstreamed back then.
Description
•