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 346443 - Preview page stops updating after displaying a specified mail
Preview page stops updating after displaying a specified mail
Status: RESOLVED DUPLICATE of bug 348888
Product: evolution
Classification: Applications
Component: Shell
2.8.x (obsolete)
Other All
: Normal major
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2006-07-03 07:43 UTC by Jeff Cai
Modified: 2013-09-13 00:48 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
The mail which causes the preview window stops updating (42.65 KB, application/octet-stream)
2006-07-03 07:47 UTC, Jeff Cai
  Details
Set number of file descriptors that a process may create to 512 for Solaris (2.65 KB, patch)
2006-07-06 08:34 UTC, Jeff Cai
none Details | Review
Set number of file descriptors that a process may create to 512 for Solaris (2.66 KB, patch)
2006-07-06 09:05 UTC, Jeff Cai
rejected Details | Review

Description Jeff Cai 2006-07-03 07:43:54 UTC
Please describe the problem:
The preview page can't be updated to reflect another message after displaying a specified mail.

Steps to reproduce:
1.Lauch evolution 
2.Make sure the preview window is enabled. 
3.Click on the attached mail in the mail browser window, the preview window will display the content of the mail.
4.Click on aother mail, the preview page doesn't change.


Actual results:
The preview window can't display other mails.

Expected results:
When you click on another mail, the preview window should change to reflect the mail's content.

Does this happen every time?
Yes

Other information:
Comment 1 Jeff Cai 2006-07-03 07:47:09 UTC
Created attachment 68287 [details]
The mail which causes the preview window stops updating
Comment 2 Jeff Cai 2006-07-03 07:51:38 UTC
The bug doesn't happen on evolution-data-server 1.7.2, but can be reproduced on evolution-data-server 1.7.3.
I found the changes to e-msgport.c caused the problem. The problem starts to happend on version 1.7 of e-msgport.c. The following changes cause the bug:

2006-05-31  Jeffrey Stedfast  <fejj@novell.com>

        Hopeful fix for Novell bug #176277

        * libedataserver/e-msgport.c: Changed the structure of EMsgPort
        slightly to make ::prpipe a union more like ::pipe.
        (e_pipe): For convenience, on error set the fds each to -1.
        (e_prpipe): New convenience function much like e_pipe but for
        PRFileDescs.
        (e_msgport_new): Always create the pipes here now instead of
        creating them on demand.
        (e_msgport_fd): Simply return the pipe fd (no longer creates the
        pipe on demand).
        (e_msgport_prfd): Same.
Comment 3 Jeff Cai 2006-07-05 06:57:30 UTC
To reproduce this bug, you must use mozilla nss api. i.e, you have to define macro HAVE_NSS.
Comment 4 Jeff Cai 2006-07-05 07:09:18 UTC
The bug happens in function e-msgport.c::e_msgport_new::PR_CreatePipe, it reports an error PR_UNKNOWN_ERROR. From the source code of PR_CreatePipe, we can know that system call "pipe" failed which sets errno to EMFILE: to many open files. We can get a conclusion that is a regression of fix for Novell bug #176277.
Comment 5 Jeffrey Stedfast 2006-07-05 14:21:15 UTC
that means that there's too many file descriptors open, which means there's no way to fix this bug with any tom-foolery in the e-msgport code

you can easily work around this by upping the number of allowed fd's of your system.
Comment 6 Harry Lu 2006-07-05 14:35:32 UTC
Jeffrey, you are right. In solaris, the default fd limit number is 256, however, on some linux platforms, the default number is 1024.

Jeff Cai will provide a patch soon to do sth. as in mozilla and firefox:
http://lxr.mozilla.org/mozilla/source/xpfe/bootstrap/nsSigHandlers.cpp#215

Comment 7 Jeff Cai 2006-07-06 08:34:49 UTC
Created attachment 68449 [details] [review]
Set number of file descriptors that a process may create to 512 for Solaris

This section of code will only be used in Solaris, so I define a preprocessor macro SOLARIS.
Comment 8 Jeff Cai 2006-07-06 09:05:45 UTC
Created attachment 68452 [details] [review]
Set number of file descriptors that a process may create to 512 for Solaris
Comment 9 Harish Krishnaswamy 2006-08-19 10:50:40 UTC
Varadhan : poke !
Comment 10 Veerapuram Varadhan 2006-08-19 15:01:18 UTC
Looks like releated to Bug#350907.  Also, raising fds from the application doesn't sound okay to me.
Comment 11 Harry Lu 2006-08-20 06:28:38 UTC
No, we don't use the pipe filter.

As Jeff pointed in comment 2, it is related to fejj's patch.

And from 
http://mail.gnome.org/archives/evolution-list/2006-August/msg00159.html

It seems it happend on linux, too.

This might be a stopper for Evolution 2.16. Could Novell QA do some test on this bug?
Comment 12 Brian J. Murrell 2006-08-20 12:59:07 UTC
1024 fds on Linux.  And I still get EMFILE errors trying to start evolution.  Perhaps I could increase the number allowed (I have not really looked into it), but seriously, you need more than 1024 fds?  I certainly don't understand why, but that just sounds ridiculous.  Why so many pipes?  Using strace I see evolution creating pipe after pipe until it tries to open too many and then crashes.
Comment 13 Jeff Cai 2006-09-15 03:00:59 UTC

*** This bug has been marked as a duplicate of 348888 ***