GNOME Bugzilla – Bug 363384
Compilation warnings in Camel combined with a bugfix
Last modified: 2013-09-10 13:42:18 UTC
Please describe the problem: I'm marking this bug as critical because I have already found one significant race condition. The camel_stream_vfs_new_with_uri function has a variable that isn't initialized yet is used with the idea that it's initialized to zero. This bug was clearly caused by not looking at the compilation warnings (because there are so many of them). As bugfix I will commit a patch that both fixes this bug, and that fixes all compilation warnings. Steps to reproduce: Using camel_stream_vfs_new_with_uri you will cause the race to occasionaly and depending on platform and compiler happen. Actual results: The vfs_flags variable will be set, but not always correctly Expected results: That the vfs_flags variable would initialize to be zero Does this happen every time? No Other information: This bug report is also a feature request and enhancement proposal to commit a patch, which I will attach, to fix all compilation warnings in Camel.
Adding Matthew in CC
Created attachment 75009 [details] [review] A patch that fixes both the bug and all/most compilation warnings in Camel Please review this patch. It looks like software developers are creating bugs because there has been to many compilation warnings (which seems to make them care less about their own warnings). I think therefore it's a criticial issue.
Created attachment 75010 [details] [review] More complete patch, more warnings fixed. Some issues in the first are now also fixed
I changed the status back to NEW. It's not in my hands anymore. A patch reviewer can now take-over this bug and mark the bug and attachment as okay. If you want me to commit it, then explicitly state that on this bug please.
It would also be nice and useful for me to know when the patch will be committed, if the patch will be committed and if not the reason why the patch wont be committed. Please do take your time for letting me know, as how I took my time to work on this patch and to make it really simple for you guys to review it.
Please review the patch maintainers...
Note that I stopped hoping for this one to get reviewed. So please notify me on my personal E-mail if there are questions (I'm not following up).
Mailer hackers : POKE.
Created attachment 91167 [details] [review] camel-compilation-warning.patch I've been reviewing the patch from philip for a while and here is another patch that is intended to replace existing parts of the current patch. There is nothing major, just some casts less and some type-punned type fixes more. On the request off philip, I've tried to keep the patch as small as possible. The original patch is fine, and this one is mostly intended to refresh it. Please review and if you want the bigger patch against svn head, just ask :)
I also have some more fixes in the queue for camel so I'll probably open a bug like what was done for evolution to track all of this.
camel-compilation-warning.patch . good to commit.
the first hunk has been commited. To follow two patches representing the complementary, freshen up part of philip's patch.
Created attachment 91480 [details] [review] camel-providers-warnings.patch everything under provides/
Created attachment 91481 [details] [review] camel-warnings.patch and the rest, these two patches by nature obsoletes philip's patch
Created attachment 91484 [details] [review] camel-changelog.patch and finally changelogs patch
Sankar, can you review it?
(In reply to comment #14) > Created an attachment (id=91481) [edit] > camel-warnings.patch > > and the rest, these two patches by nature obsoletes philip's patch > I will suggest to not commit atleast this patch before the release. We will review and take this after the branching is done. Too many changes to put in last minute. Anyway, patches should be reviewed.
sounds fair enough at this point in time.
Sankar, now we should review this and get it before 2.21.1.
Bookmarked this patch and bug for synchronization with Tinymail's camel-lite
I'll update those patch for review soonish
Sankar, Any chance you could review it? I heard multiple times, that you were reviewing it. Did you ever complete it?
In trying to compile 1.12.3 every does compile, however "make install" is failing. Is the below errors dealing with this patch/bug report? I've tried applying certain patches found here, but nothing is helping: ./configure --prefix=/opt/gnome-2.20.3 --libexecdir=/opt/gnome-2.20.3/lib/evolution-data-server --enable-nss=yes --enable-smime=yes --with-openldap=yes --with-nspr-includes=/usr/include/nspr --with-nss-includes=/usr/include/nss --disable-docs --disable-gtk-doc make && sudo make install ... make[4]: Entering directory `/temp_gnome2builddir/evolution-data-server-1.12.3/docs/reference/camel' make[4]: Nothing to be done for `install-exec-am'. installfiles=`echo ./html/*`; \ if test "$installfiles" = './html/*'; \ then echo '-- Nothing to install' ; \ else \ /bin/sh ../../../mkinstalldirs /opt//opt/gnome-2.20.3/share/gtk-doc/html/camel; \ for i in $installfiles; do \ echo '-- Installing '$i ; \ /usr/bin/install -c -m 644 $i /opt//opt/gnome-2.20.3/share/gtk-doc/html/camel; \ done; \ echo '-- Installing ./html/index.sgml' ; \ /usr/bin/install -c -m 644 ./html/index.sgml /opt//opt/gnome-2.20.3/share/gtk-doc/html/camel || :; \ which gtkdoc-rebase >/dev/null && \ gtkdoc-rebase --relative --dest-dir= --html-dir=/opt//opt/gnome-2.20.3/share/gtk-doc/html/camel ; \ fi -- Installing ./html/Addresses.html -- Installing ./html/camel-CamelAddress.html -- Installing ./html/camel-CamelCipherContext.html -- Installing ./html/camel-CamelDataWrapper.html -- Installing ./html/camel-camel-exception.html -- Installing ./html/camel-CamelFolder.html -- Installing ./html/camel-CamelFolderSummary.html -- Installing ./html/camel-CamelGpgContext.html -- Installing ./html/camel-CamelInternetAddress.html -- Installing ./html/camel-CamelMedium.html -- Installing ./html/camel-CamelMimeFilterBasic.html -- Installing ./html/camel-CamelMimeFilterBestenc.html -- Installing ./html/camel-CamelMimeFilterCanon.html -- Installing ./html/camel-CamelMimeFilterCharset.html -- Installing ./html/camel-CamelMimeFilterCRLF.html -- Installing ./html/camel-CamelMimeFilterEnriched.html -- Installing ./html/camel-CamelMimeFilterFrom.html -- Installing ./html/camel-CamelMimeFilter.html -- Installing ./html/camel-CamelMimeFilterHTML.html -- Installing ./html/camel-CamelMimeFilterIndex.html -- Installing ./html/camel-CamelMimeFilterPgp.html -- Installing ./html/camel-CamelMimeFilterSave.html -- Installing ./html/camel-CamelMimeFilterToHTML.html -- Installing ./html/camel-CamelMimeFilterWindows.html -- Installing ./html/camel-CamelMimeFilterYenc.html -- Installing ./html/camel-CamelMimeMessage.html -- Installing ./html/camel-CamelMimeParser.html -- Installing ./html/camel-CamelMimePart.html -- Installing ./html/camel-CamelMultipartEncrypted.html -- Installing ./html/camel-CamelMultipart.html -- Installing ./html/camel-CamelMultipartSigned.html -- Installing ./html/camel-CamelObject.html -- Installing ./html/camel-CamelOfflineFolder.html -- Installing ./html/camel-CamelOfflineJournal.html -- Installing ./html/camel-CamelOfflineStore.html -- Installing ./html/camel-camel-operation.html -- Installing ./html/camel-camel-provider.html -- Installing ./html/camel-CamelSaslAnonymous.html -- Installing ./html/camel-CamelSaslCramMd5.html -- Installing ./html/camel-CamelSaslDigestMd5.html -- Installing ./html/camel-CamelSaslGssapi.html -- Installing ./html/camel-CamelSasl.html -- Installing ./html/camel-CamelSaslKerberos4.html -- Installing ./html/camel-CamelSaslLogin.html -- Installing ./html/camel-CamelSaslNTLM.html -- Installing ./html/camel-CamelSaslPlain.html -- Installing ./html/camel-CamelSeekableStream.html -- Installing ./html/camel-CamelSeekableSubstream.html -- Installing ./html/camel-CamelService.html -- Installing ./html/camel-CamelSession.html -- Installing ./html/camel-CamelStore.html -- Installing ./html/camel-CamelStoreSummary.html -- Installing ./html/camel-CamelStreamBuffer.html -- Installing ./html/camel-CamelStreamFilter.html -- Installing ./html/camel-CamelStreamFs.html -- Installing ./html/camel-CamelStream.html -- Installing ./html/camel-CamelStreamMem.html -- Installing ./html/camel-CamelStreamNull.html -- Installing ./html/camel-CamelStreamVFS.html -- Installing ./html/camel-CamelTcpStream.html -- Installing ./html/camel-CamelTcpStreamRaw.html -- Installing ./html/camel-CamelTcpStreamSSL.html -- Installing ./html/camel-CamelTransport.html -- Installing ./html/camel-camel-url.html -- Installing ./html/camel-CamelVeeFolder.html -- Installing ./html/camel-CamelVTrashFolder.html -- Installing ./html/camel.devhelp -- Installing ./html/camel.devhelp2 -- Installing ./html/classes.html -- Installing ./html/ClassTree.html -- Installing ./html/Crypto.html -- Installing ./html/Filters.html -- Installing ./html/Folders.html -- Installing ./html/Fundamentals.html -- Installing ./html/home.png -- Installing ./html/index.html -- Installing ./html/index.sgml -- Installing ./html/ix01.html -- Installing ./html/left.png -- Installing ./html/MIME.html -- Installing ./html/right.png -- Installing ./html/Services.html -- Installing ./html/Streams.html -- Installing ./html/style.css -- Installing ./html/up.png -- Installing ./html/index.sgml make[4]: *** [install-data-local] Error 1 make[4]: Leaving directory `/temp_gnome2builddir/evolution-data-server-1.12.3/docs/reference/camel' make[3]: *** [install-am] Error 2 make[3]: Leaving directory `/temp_gnome2builddir/evolution-data-server-1.12.3/docs/reference/camel' make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory `/temp_gnome2builddir/evolution-data-server-1.12.3/docs/reference' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/temp_gnome2builddir/evolution-data-server-1.12.3/docs' make: *** [install-recursive] Error 1
Camel's compiler warnings have all been fixed now. If a compiler warning was flagging the bug, then presumably the bug has been fixed. Therefore I'm closing this as OBSOLETE, but feel free to reopen it if I've missed something.