Closed
Bug 1353765
Opened 8 years ago
Closed 7 years ago
FileSystemDirectoryEntry compilation error on esr52
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
VERIFIED
FIXED
mozilla55
People
(Reporter: tjr, Assigned: tjr)
References
Details
(Keywords: regression, reproducible)
Attachments
(1 file)
(deleted),
patch
|
baku
:
review+
jcristau
:
approval-mozilla-beta+
jcristau
:
approval-mozilla-esr52+
|
Details | Diff | Splinter Review |
From: https://bugzilla.mozilla.org/show_bug.cgi?id=1299500
Frank-Rainer Grahl comment #35:
> With the patch in esr52 I am having problems compiling SeaMonkey but I think
> Thunderbird and Firefox are also affected. Just didn't try yet. I am getting
> C2061 errors in various comm-esr52 and mozilla-esr52 files which include
> FileSystemDirectoryReader.h. Always the same error. comm-beta compiles fine
> so I think the patch needs adjustment.
>
> +++ snip +++
>
> 5 -we4553 -GR- -O2 -Oy -Fdgenerated.pdb
> d:/seabuild/release/comm-esr52-15/obj-x86_64-pc-mingw32/dom/bindings/
> UnifiedBindings5.cpp
> UnifiedBindings5.cpp
> d:/seabuild/release/comm-esr52-15/obj-x86_64-pc-mingw32/dist/include\mozilla/
> dom/FileSystemDirectoryReader.h(31): error C2061: syntax error: identifier
> 'FileSystemDirectoryEntry'
> d:/seabuild/release/comm-esr52-15/obj-x86_64-pc-mingw32/dist/include\mozilla/
> dom/FileSystemDirectoryReader.h(53): error C2065:
> 'FileSystemDirectoryEntry': undeclared identifier
> d:/seabuild/release/comm-esr52-15/obj-x86_64-pc-mingw32/dist/include\mozilla/
> dom/FileSystemDirectoryReader.h(53): error C2923: 'RefPtr':
> 'FileSystemDirectoryEntry' is not a valid template type argument for
> parameter 'T'
> d:/seabuild/release/comm-esr52-15/obj-x86_64-pc-mingw32/dist/include\mozilla/
> dom/FileSystemDirectoryReader.h(38): error C2678: binary '->': no operator
> found which takes a left-hand operand of type 'const RefPtr' (or there is no
> acceptable conversion)
> d:\seabuild\release\comm-esr52-15\obj-x86_64-pc-mingw32\dist\include\mozilla/
> RefPtr.h(316): note: could be 'T *RefPtr<T>::operator ->(void) const'
> d:/seabuild/release/comm-esr52-15/obj-x86_64-pc-mingw32/dist/include\mozilla/
> dom/FileSystemDirectoryReader.h(38): note: while trying to match the
> argument list '(const RefPtr)'
> d:/seabuild/release/comm-esr52-15/obj-x86_64-pc-mingw32/dist/include\mozilla/
> dom/FileSystemDirectoryReader.h(38): error C2039: 'GetParentObject': is not
> a member of 'RefPtr'
> d:\seabuild\release\comm-esr52-15\obj-x86_64-pc-mingw32\dist\include\mozilla/
> RefPtr.h(48): note: see declaration of 'RefPtr'
Assignee | ||
Comment 1•8 years ago
|
||
Comment 2•8 years ago
|
||
Thanks. That fixed or better will fix it when checked in. Local build works fine. Still wonder why not all comm-esr52 and mozilla-esr52 apps where hit by it.
Comment 3•8 years ago
|
||
Could you ask for review on this one or is there something not ok with it?
Assignee | ||
Comment 4•8 years ago
|
||
I just built esr52 branch on linux with no problems, so I'm trying to figure out why this occurs sometimes and not others. Maybe it was fixed?
Comment 5•8 years ago
|
||
I had this problem yesterday building on Windows. I'll try again tonight with a fresh copy of comm-esr52 and see how it goes.
Comment 6•8 years ago
|
||
So far I have only seen it in SeaMonkey. Built Thunderbird and Firefox on Windows without problems. It points to the unified sources #5. I am unfamiliar with them. Is it possible that they are split after a certain size is reached and that one one of the source files is missing the include which another provides.? That would explain why it only happens in one product.
Its occurs only only in the esr52 tree and started after bug 1299500 was checked in.
Comment 7•8 years ago
|
||
I built it with the patch and it worked. Then I did a clobber, removed the patch, and built again, and that seemed to work too. Maybe it's been fixed since Sunday.
Comment 8•8 years ago
|
||
(In reply to Isaac Schemm from comment #7)
> I built it with the patch and it worked. Then I did a clobber, removed the
> patch, and built again, and that seemed to work too. Maybe it's been fixed
> since Sunday.
Nope, not fixed, as it just occurred when building 64 bit SeaMonkey on Windows:
09:26:40 INFO:root:35:08.10 c:\jenkins\workspace\seamonkey-esr_windows64\obj-x86_64-pc-mingw32\dist\include\mozilla/dom/FileSystemDirectoryReader.h(31): error C2061: syntax error: identifier 'FileSystemDirectoryEntry'
09:26:40
09:26:40 INFO:root:35:08.10 c:\jenkins\workspace\seamonkey-esr_windows64\obj-x86_64-pc-mingw32\dist\include\mozilla/dom/FileSystemDirectoryReader.h(53): error C2065: 'FileSystemDirectoryEntry': undeclared identifier
09:26:40
09:26:40 INFO:root:35:08.10 c:\jenkins\workspace\seamonkey-esr_windows64\obj-x86_64-pc-mingw32\dist\include\mozilla/dom/FileSystemDirectoryReader.h(53): error C2923: 'RefPtr': 'FileSystemDirectoryEntry' is not a valid template type argument for parameter 'T'
09:26:40
09:26:40 INFO:root:35:08.10 c:\jenkins\workspace\seamonkey-esr_windows64\obj-x86_64-pc-mingw32\dist\include\mozilla/dom/FileSystemDirectoryReader.h(38): error C2678: binary '->': no operator found which takes a left-hand operand of type 'const RefPtr' (or there is no acceptable conversion)
09:26:40
09:26:40 INFO:root:35:08.10 c:\jenkins\workspace\seamonkey-esr_windows64\obj-x86_64-pc-mingw32\dist\include\mozilla/RefPtr.h(316): note: could be 'T *RefPtr<T>::operator ->(void) const'
09:26:40
09:26:40 INFO:root:35:08.10 c:\jenkins\workspace\seamonkey-esr_windows64\obj-x86_64-pc-mingw32\dist\include\mozilla/dom/FileSystemDirectoryReader.h(38): note: while trying to match the argument list '(const RefPtr)'
09:26:40
09:26:40 INFO:root:35:08.10 c:\jenkins\workspace\seamonkey-esr_windows64\obj-x86_64-pc-mingw32\dist\include\mozilla/dom/FileSystemDirectoryReader.h(38): error C2039: 'GetParentObject': is not a member of 'RefPtr'
09:26:40
09:26:40 INFO:root:35:08.10 c:\jenkins\workspace\seamonkey-esr_windows64\obj-x86_64-pc-mingw32\dist\include\mozilla/RefPtr.h(48): note: see declaration of 'RefPtr'
Comment 9•8 years ago
|
||
Something which might be very important here: I did a completely fresh build (fresh checkout etc.). So just using clobber might be not enough to reproduce...
Updated•8 years ago
|
Blocks: SeaMonkey2.49ESR
Comment 10•7 years ago
|
||
Same thing on Linux (the error output looks just slightly different):
15:36:40 INFO:root:37:04.26 libmailnews_imap_src.a.desc
15:36:40
15:37:01 INFO:root:37:25.24 In file included from /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dom/bindings/FileSystemDirectoryReaderBinding.cpp:10:0,
15:37:01
15:37:01 INFO:root:37:25.24 from /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dom/bindings/UnifiedBindings5.cpp:2:
15:37:01
15:37:01 INFO:root:37:25.25 /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/FileSystemDirectoryReader.h:31:62: error: expected ‘)’ before ‘*’ token
15:37:01
15:37:01 INFO:root:37:25.25 explicit FileSystemDirectoryReader(FileSystemDirectoryEntry* aDirectoryEntry,
15:37:01
15:37:01 INFO:root:37:25.25 ^
15:37:01
15:37:01 INFO:root:37:25.25 /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/FileSystemDirectoryReader.h:53:10: error: ‘FileSystemDirectoryEntry’ was not declared in this scope
15:37:01
15:37:01 INFO:root:37:25.25 RefPtr<FileSystemDirectoryEntry> mParentEntry;
15:37:01
15:37:01 INFO:root:37:25.25 ^
15:37:01
15:37:01 INFO:root:37:25.25 /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/FileSystemDirectoryReader.h:53:10: note: suggested alternatives:
15:37:01
15:37:01 INFO:root:37:25.25 In file included from /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/DOMJSClass.h:15:0,
15:37:01
15:37:01 INFO:root:37:25.25 from /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/BindingUtils.h:21,
15:37:01
15:37:01 INFO:root:37:25.25 from /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/GeneratedAtomList.h:6,
15:37:01
15:37:01 INFO:root:37:25.25 from /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/mozilla/dom/bindings/AtomList.h:11,
15:37:01
15:37:01 INFO:root:37:25.25 from /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dom/bindings/FileSystemDirectoryReaderBinding.cpp:3,
15:37:01
15:37:01 INFO:root:37:25.25 from /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dom/bindings/UnifiedBindings5.cpp:2:
15:37:01
15:37:01 INFO:root:37:25.25 /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/PrototypeList.h:164:3: note: ‘FileSystemDirectoryEntry’
15:37:01
15:37:01 INFO:root:37:25.25 FileSystemDirectoryEntry,
15:37:01
15:37:01 INFO:root:37:25.25 ^
15:37:01
15:37:01 INFO:root:37:25.25 /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/PrototypeList.h:892:3: note: ‘FileSystemDirectoryEntry’
15:37:01
15:37:01 INFO:root:37:25.25 FileSystemDirectoryEntry,
15:37:01
15:37:01 INFO:root:37:25.25 ^
15:37:01
15:37:01 INFO:root:37:25.25 In file included from /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dom/bindings/FileSystemDirectoryReaderBinding.cpp:10:0,
15:37:01
15:37:01 INFO:root:37:25.26 from /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dom/bindings/UnifiedBindings5.cpp:2:
15:37:01
15:37:01 INFO:root:37:25.27 /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/FileSystemDirectoryReader.h:53:34: error: template argument 1 is invalid
15:37:01
15:37:01 INFO:root:37:25.27 RefPtr<FileSystemDirectoryEntry> mParentEntry;
15:37:01
15:37:01 INFO:root:37:25.27 ^
15:37:01
15:37:01 INFO:root:37:25.27 /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/FileSystemDirectoryReader.h: In member function ‘nsIGlobalObject* mozilla::dom::FileSystemDirectoryReader::GetParentObject() const’:
15:37:01
15:37:01 INFO:root:37:25.27 /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/FileSystemDirectoryReader.h:38:24: error: base operand of ‘->’ is not a pointer
15:37:01
15:37:01 INFO:root:37:25.28 return mParentEntry->GetParentObject();
15:37:01
15:37:01 INFO:root:37:25.28 ^
15:37:01
15:37:01 INFO:root:37:25.30 Warning: -Wreturn-type in /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/FileSystemDirectoryReader.h: control reaches end of non-void function
15:37:01
15:37:01 INFO:root:37:25.30 /home/mozilla/jenkins/workspace/seamonkey-esr_linux64/objdir/dist/include/mozilla/dom/FileSystemDirectoryReader.h:39:3: warning: control reaches end of non-void function [-Wreturn-type]
15:37:01
15:37:01 INFO:root:37:25.30 }
15:37:01
15:37:01 INFO:root:37:25.30 ^
15:37:01
Could someone please review the patch and check it in, as this completely blocks building at least for SeaMonkey...
Flags: needinfo?(tom)
Assignee | ||
Comment 11•7 years ago
|
||
I don't really know the first thing about SeaMonkey; nor am I certain that this affects the MinGW build yet. I'm going to pass to a owner on SeaMonkey.
Flags: needinfo?(tom) → needinfo?(neil)
Comment 12•7 years ago
|
||
Neil is no longer active. I set IanN on cc. But what should he do anyway? It seems to be a problem with the unified sources where SeaMonkey seems to have the bad luck to be the only affected app. One source seems to be missing the include and imho it is just luck that Firefox and Thunderbird build.
Comment 13•7 years ago
|
||
(In reply to Tom Ritter [:tjr] from comment #11)
> nor am I certain that
> this affects the MinGW build yet
It affects all platforms, not just Windows (see comment #10 with the Linux traceback).
Also, as Frank already stated, you can remove the needinfo from Neil, as he is not active anymore.
With Frank and me already describing the build problem here you already have the info from two of the three people actually building SeaMonkey (the other and also the main one is ewong).
Flags: needinfo?(tom)
Assignee | ||
Comment 14•7 years ago
|
||
(In reply to Adrian Kalla [:adriank] from comment #13)
> (In reply to Tom Ritter [:tjr] from comment #11)
> > nor am I certain that
> > this affects the MinGW build yet
>
> It affects all platforms, not just Windows (see comment #10 with the Linux
> traceback).
>
> Also, as Frank already stated, you can remove the needinfo from Neil, as he
> is not active anymore.
>
> With Frank and me already describing the build problem here you already have
> the info from two of the three people actually building SeaMonkey (the other
> and also the main one is ewong).
I understand, but I don't have the authority or technical permission to check things into the tree. I'm going to pass to smaug and hope he can review or help us find someone to review and check in.
Flags: needinfo?(tom)
Flags: needinfo?(neil)
Flags: needinfo?(bugs)
Comment 15•7 years ago
|
||
Patch author of bug 1299500 should of course review any patches fixing regressions.
Flags: needinfo?(bugs)
Comment 16•7 years ago
|
||
Ok, needinfo for the patch author of bug 1299500 which caused the regression here.
Flags: needinfo?(amarchesini)
Updated•7 years ago
|
Severity: normal → blocker
Keywords: regression
Updated•7 years ago
|
Attachment #8854911 -
Flags: review+
Updated•7 years ago
|
Flags: needinfo?(amarchesini)
Comment 17•7 years ago
|
||
I am experiencing this building firefox-52.1.0-r1 on a gentoo hardened profile without pulseaudio and with webrtc disabled. This patch fixed it for me.
Updated•7 years ago
|
Keywords: checkin-needed,
reproducible
Comment 18•7 years ago
|
||
Comment on attachment 8854911 [details] [diff] [review]
FileSystemDirectoryEntry.patch
[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration:
User impact if declined: Clean builds of SeaMonkey (and Firefox) busted
Fix Landed on Version: None - only esr52 is affected by this bug. This bug does not happen neither on c-c nor on c-b.
Risk to taking this patch (and alternatives if risky): None
String or UUID changes made by this patch: None
See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.
Flags: needinfo?(jcristau)
Attachment #8854911 -
Flags: approval-mozilla-esr52?
Updated•7 years ago
|
Flags: needinfo?(jcristau) → needinfo?(rkothari)
Comment 19•7 years ago
|
||
Comment on attachment 8854911 [details] [diff] [review]
FileSystemDirectoryEntry.patch
For the sake of consistency, I think we'll want this on Beta too if we end up taking it on ESR52.
Attachment #8854911 -
Flags: approval-mozilla-beta?
Updated•7 years ago
|
status-firefox53:
--- → wontfix
status-firefox54:
--- → affected
status-firefox55:
--- → affected
status-firefox-esr52:
--- → affected
Comment 20•7 years ago
|
||
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/aa5d21723b55
Add missing FileSystemDirectoryEntry.h include to fix bustage that occurs in some build configs. r=baku
Keywords: checkin-needed
Comment 21•7 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Hi Adrian, We just pushed an esr dot release on Friday, which means this bug did not create problems with the release build. Is the firefox build on esr52 branch busted since then?
Flags: needinfo?(rkothari) → needinfo?(akalla)
Hi Tom, could you also please help with my question in the previous comment? Thanks!
Flags: needinfo?(tom)
Assignee | ||
Comment 24•7 years ago
|
||
No, this breakage only occurs for SeaMonkey and (possibly, still unconfirmed) a MinGW build of Firefox.
Flags: needinfo?(tom)
Comment 25•7 years ago
|
||
Basically, this patch is strictly doing the right thing. We've likely just managed to avoid Firefox bustage due to unified builds. That also means we could also theoretically break at some point in the future if the unified compilation boundaries were to change and the implicit dependency were to get broken.
Comment 26•7 years ago
|
||
FWIW: I have been hitting this issue during local builds on my Linux machine while bisecting an issue we had with our alpha builds that are based on ESR 52.
Comment 28•7 years ago
|
||
Comment on attachment 8854911 [details] [diff] [review]
FileSystemDirectoryEntry.patch
add missing header include to fix compilation error in some cases, beta54+, esr52.2+
Also hitting e.g. https://buildd.debian.org/status/fetch.php?pkg=firefox-esr&arch=mips&ver=52.1.0esr-1&stamp=1493994164&raw=0
Flags: needinfo?(akalla)
Attachment #8854911 -
Flags: approval-mozilla-esr52?
Attachment #8854911 -
Flags: approval-mozilla-esr52+
Attachment #8854911 -
Flags: approval-mozilla-beta?
Attachment #8854911 -
Flags: approval-mozilla-beta+
Comment 29•7 years ago
|
||
Could someone with the necessary permissions uplift this to beta and esr52 please?
(In reply to Ritu Kothari (:ritu) from comment #22)
> Hi Adrian, We just pushed an esr dot release on Friday, which means this bug
> did not create problems with the release build. Is the firefox build on
> esr52 branch busted since then?
It is of course still busted. Interestingly it seems to be busted for everyone performing a clean build - except for builds done on the Mozilla infrastructure. It would be interesting to know what it is that is being done there that results in it work in compare to the "official" build instructions... Especially, as this results in builds being not reproducible outside of MoCo (which makes it harder to verify, that MoCo did not receive a National Security Letter etc.) and also could of course result in other unforeseen problems...
(In reply to Tom Ritter [:tjr] from comment #24)
> No, this breakage only occurs for SeaMonkey and (possibly, still
> unconfirmed) a MinGW build of Firefox.
Several people commented here already, that Firefox is also affected - at least on Linux - and that even before comment #24 ;)
Flags: needinfo?(ryanvm)
Comment 30•7 years ago
|
||
(In reply to Adrian Kalla [:adriank] from comment #29)
> Could someone with the necessary permissions uplift this to beta and esr52
> please?
Yes, we have bug queries for that. No need to needinfo :)
Flags: needinfo?(ryanvm)
Updated•7 years ago
|
Comment 32•7 years ago
|
||
bugherder uplift |
Comment 33•7 years ago
|
||
bugherder uplift |
Comment 35•7 years ago
|
||
Was this verified on all architectures? I'm building Firefox 52.1.2 ESR on Aarch64, ppc64le, s390x, i586, and x86_64. I get this error on the non-x86 architectures. I verified that your patch is applied. Is there a pre-processor compiler conditional somewhere that compiles the "FileSystemDirectoryEntry.h" header file out of "FileSystemDirectoryReader.h"?
BTW: FF 52.0.0 ESR compiles just fine on all these architectures for us.
Comment 36•7 years ago
|
||
(In reply to Charles Robertson from comment #35)
> Was this verified on all architectures? I'm building Firefox 52.1.2 ESR on
> Aarch64, ppc64le, s390x, i586, and x86_64. I get this error on the non-x86
> architectures. I verified that your patch is applied. Is there a
> pre-processor compiler conditional somewhere that compiles the
> "FileSystemDirectoryEntry.h" header file out of
> "FileSystemDirectoryReader.h"?
>
> BTW: FF 52.0.0 ESR compiles just fine on all these architectures for us.
Sorry, my bad. I missed jcristau@mozilla.com comment above. This will be in esr52.2. :D
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•