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 711499 - Failed image download lefts opened file descriptor
Failed image download lefts opened file descriptor
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.10.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2013-11-05 16:58 UTC by Milan Crha
Modified: 2013-11-20 17:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
evo patch (1.07 KB, patch)
2013-11-20 17:31 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2013-11-05 16:58:01 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=1022507

Version-Release number of selected component:
evolution-3.10.1-1.fc20

Additional info:
reporter:       libreport-2.1.8
backtrace_rating: 4
cmdline:        evolution
crash_function: g_wakeup_new
executable:     /usr/bin/evolution
kernel:         3.11.6-300.fc20.i686+PAE

Core was generated by `evolution'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.

Thread 15 (Thread 0xb739a900 (LWP 10697))

  • #0 __GI___libc_malloc
    at malloc.c line 2867
  • #1 operator new
    at ../../../../libstdc++-v3/libsupc++/new_op.cc line 51
  • #2 WebCore::HTMLBRElement::create
    at Source/WebCore/html/HTMLBRElement.cpp line 49
  • #3 WebCore::brConstructor
    at DerivedSources/WebCore/HTMLElementFactory.cpp line 216
  • #4 WebCore::HTMLElementFactory::createHTMLElement
    at DerivedSources/WebCore/HTMLElementFactory.cpp line 753
  • #5 WebCore::HTMLConstructionSite::createHTMLElement
    at Source/WebCore/html/parser/HTMLConstructionSite.cpp line 553
  • #6 WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement
    at Source/WebCore/html/parser/HTMLConstructionSite.cpp line 440
  • #7 WebCore::HTMLTreeBuilder::processStartTagForInBody
    at Source/WebCore/html/parser/HTMLTreeBuilder.cpp line 827
  • #8 WebCore::HTMLTreeBuilder::processStartTag
    at Source/WebCore/html/parser/HTMLTreeBuilder.cpp line 1193
  • #9 WebCore::HTMLTreeBuilder::processToken
    at Source/WebCore/html/parser/HTMLTreeBuilder.cpp line 398
  • #10 WebCore::HTMLTreeBuilder::constructTree
    at Source/WebCore/html/parser/HTMLTreeBuilder.cpp line 370
  • #11 WebCore::HTMLDocumentParser::constructTreeFromHTMLToken
    at Source/WebCore/html/parser/HTMLDocumentParser.cpp line 597
  • #12 WebCore::HTMLDocumentParser::pumpTokenizer
    at Source/WebCore/html/parser/HTMLDocumentParser.cpp line 551
  • #13 WebCore::HTMLDocumentParser::pumpTokenizerIfPossible
    at Source/WebCore/html/parser/HTMLDocumentParser.cpp line 235
  • #14 WebCore::HTMLDocumentParser::append
    at Source/WebCore/html/parser/HTMLDocumentParser.cpp line 747
  • #15 WebCore::DecodedDataDocumentParser::appendBytes
    at Source/WebCore/dom/DecodedDataDocumentParser.cpp line 50
  • #16 WebCore::DocumentWriter::addData
    at Source/WebCore/loader/DocumentWriter.cpp line 221
  • #17 WebCore::DocumentLoader::commitData
    at Source/WebCore/loader/DocumentLoader.cpp line 814
  • #18 WebKit::FrameLoaderClient::committedLoad
    at Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp line 165
  • #19 WebCore::DocumentLoader::commitLoad
    at Source/WebCore/loader/DocumentLoader.cpp line 744
  • #20 WebCore::DocumentLoader::dataReceived
    at Source/WebCore/loader/DocumentLoader.cpp line 860
  • #21 WebCore::CachedRawResource::notifyClientsDataWasReceived
    at Source/WebCore/loader/cache/CachedRawResource.cpp line 110
  • #22 WebCore::CachedRawResource::addDataBuffer
    at Source/WebCore/loader/cache/CachedRawResource.cpp line 66
  • #23 WebCore::SubresourceLoader::didReceiveDataOrBuffer
    at Source/WebCore/loader/SubresourceLoader.cpp line 250
  • #24 WebCore::SubresourceLoader::didReceiveData
    at Source/WebCore/loader/SubresourceLoader.cpp line 226
  • #25 WebCore::ResourceLoader::didReceiveData
    at Source/WebCore/loader/ResourceLoader.cpp line 475
  • #26 WebCore::readCallback
    at Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp line 1339
  • #27 async_ready_callback_wrapper
    at ginputstream.c line 519
  • #28 g_task_return_now
    at gtask.c line 1108
  • #29 complete_in_idle_cb
    at gtask.c line 1117
  • #30 g_idle_dispatch
    at gmain.c line 5250
  • #31 g_main_dispatch
    at gmain.c line 3065
  • #32 g_main_context_dispatch
    at gmain.c line 3641
  • #33 g_main_context_iterate
    at gmain.c line 3712
  • #34 g_main_loop_run
    at gmain.c line 3906
  • #35 gtk_main
    at gtkmain.c line 1158
  • #36 main
    at main.c line 683

Thread 1 (Thread 0x9aca0b40 (LWP 24026))

  • #0 g_logv
    at gmessages.c line 989
  • #1 g_log
    at gmessages.c line 1025
  • #2 g_wakeup_new
    at gwakeup.c line 163
  • #3 g_main_context_new
    at gmain.c line 615
  • #4 handle_http_request
    at e-http-request.c line 344
  • #5 run_in_thread
    at gsimpleasyncresult.c line 871
  • #6 io_job_thread
    at gioscheduler.c line 89
  • #7 g_task_thread_pool_thread
    at gtask.c line 1245
  • #8 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #9 g_thread_proxy
    at gthread.c line 798
  • #10 start_thread
    at pthread_create.c line 309
  • #11 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 129

Comment 1 Milan Crha 2013-11-20 17:31:44 UTC
Created attachment 260347 [details] [review]
evo patch

for evolution;

It turned out that a failed image download could leak a file descriptor. Release objects properly also closes the underlying file descriptors.
Comment 2 Milan Crha 2013-11-20 17:34:54 UTC
Created commit 838e0ec in evo master (3.11.3+)
Created commit d966ac9 in evo gnome-3-10 (3.10.3+)