After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 363384 - Compilation warnings in Camel combined with a bugfix
Compilation warnings in Camel combined with a bugfix
Status: RESOLVED OBSOLETE
Product: evolution-data-server
Classification: Platform
Component: Mailer
1.12.x (obsolete)
Other All
: High critical
: ---
Assigned To: Philip Van Hoof
Evolution QA team
evolution[codecleanup]
Depends on:
Blocks:
 
 
Reported: 2006-10-19 10:55 UTC by Philip Van Hoof
Modified: 2013-09-10 13:42 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
A patch that fixes both the bug and all/most compilation warnings in Camel (46.66 KB, patch)
2006-10-19 10:58 UTC, Philip Van Hoof
none Details | Review
More complete patch, more warnings fixed. Some issues in the first are now also fixed (97.06 KB, patch)
2006-10-19 12:13 UTC, Philip Van Hoof
none Details | Review
camel-compilation-warning.patch (20.34 KB, patch)
2007-07-04 09:36 UTC, Gilles Dartiguelongue
committed Details | Review
camel-providers-warnings.patch (6.83 KB, patch)
2007-07-09 09:58 UTC, Gilles Dartiguelongue
none Details | Review
camel-warnings.patch (55.92 KB, patch)
2007-07-09 09:59 UTC, Gilles Dartiguelongue
none Details | Review
camel-changelog.patch (5.59 KB, patch)
2007-07-09 10:14 UTC, Gilles Dartiguelongue
none Details | Review

Description Philip Van Hoof 2006-10-19 10:55:44 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.
Comment 1 Philip Van Hoof 2006-10-19 10:56:17 UTC
Adding Matthew in CC
Comment 2 Philip Van Hoof 2006-10-19 10:58:43 UTC
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.
Comment 3 Philip Van Hoof 2006-10-19 12:13:44 UTC
Created attachment 75010 [details] [review]
More complete patch, more warnings fixed. Some issues in the first are now also fixed
Comment 4 Philip Van Hoof 2006-10-19 13:24:49 UTC
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.
Comment 5 Philip Van Hoof 2006-10-19 13:36:27 UTC
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.
Comment 6 Kjartan Maraas 2007-01-17 00:30:32 UTC
Please review the patch maintainers...
Comment 7 Philip Van Hoof 2007-01-19 21:12:13 UTC
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).
Comment 8 Harish Krishnaswamy 2007-01-29 14:33:09 UTC
Mailer hackers : POKE.
Comment 9 Gilles Dartiguelongue 2007-07-04 09:36:19 UTC
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 :)
Comment 10 Gilles Dartiguelongue 2007-07-04 09:37:58 UTC
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.
Comment 11 Johnny Jacob 2007-07-09 08:43:53 UTC
camel-compilation-warning.patch . good to commit.
Comment 12 Gilles Dartiguelongue 2007-07-09 09:57:52 UTC
the first hunk has been commited.

To follow two patches representing the complementary, freshen up part of philip's patch.
Comment 13 Gilles Dartiguelongue 2007-07-09 09:58:42 UTC
Created attachment 91480 [details] [review]
camel-providers-warnings.patch

everything under provides/
Comment 14 Gilles Dartiguelongue 2007-07-09 09:59:54 UTC
Created attachment 91481 [details] [review]
camel-warnings.patch

and the rest, these two patches by nature obsoletes philip's patch
Comment 15 Gilles Dartiguelongue 2007-07-09 10:14:41 UTC
Created attachment 91484 [details] [review]
camel-changelog.patch

and finally changelogs patch
Comment 16 Srinivasa Ragavan 2007-07-26 09:04:11 UTC
Sankar, can you review it?
Comment 17 Sankar P 2007-09-05 11:02:20 UTC
(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.
Comment 18 Gilles Dartiguelongue 2007-09-05 14:41:05 UTC
sounds fair enough at this point in time.
Comment 19 Srinivasa Ragavan 2007-09-27 06:45:08 UTC
Sankar, now we should review this and get it before 2.21.1. 
Comment 20 Philip Van Hoof 2007-10-07 17:12:30 UTC
Bookmarked this patch and bug for synchronization with Tinymail's camel-lite
Comment 21 Gilles Dartiguelongue 2007-10-09 21:56:57 UTC
I'll update those patch for review soonish
Comment 22 Srinivasa Ragavan 2007-12-12 05:20:02 UTC
Sankar, Any chance you could review it? I heard multiple times, that you were reviewing it. Did you ever complete it?
Comment 23 Lupine 2008-01-12 23:56:32 UTC
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
Comment 24 Matthew Barnes 2009-08-04 02:18:01 UTC
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.