Re: message takes very long time to display
Nerijus Baliunas <[email protected]> Fri, 2 May 2008 04:03:50 +0300
| Newsgroups | gmane.mail.mahogany.devel |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 25 Apr 2008 00:25:21 +0200 Vadim Zeitlin <[email protected]> wrote: VZ> Just tried it and it seems relatively speedy to me (there is some delay VZ> but <1 second I'd say). How long is "very long"? 18 seconds. VZ> Does it still happen? Yes. VZ> if it does with wx trunk then I guess we have a string algorithm somewhere VZ> which uses direct string access and so is O(N^2) now instead of O(N)... In VZ> this case it would be really useful if you could run M under debugger and VZ> break into it to check where exactly is it looping. Program received signal SIGINT, Interrupt. [Switching to Thread -1217218864 (LWP 23707)] 0x0807a99a in wxStringOperationsUtf8::IncIter<wxStringImpl::const_iterator> ( i=@0xbfe59214) at /a/M/wxWindows.29/wxWidgets/include/wx/stringops.h:80 80 i += ms_utf8IterTable[(unsigned char)*i]; Missing separate debuginfos, use: debuginfo-install atk.i386 audit.i386 cairo.i 86 expat.i386 fontconfig.i386 freetype.i386 gail.i386 gcc.i386 glib2.i386 glibc i686 gtk-nodoka-engine.i386 gtk2.i386 libICE.i386 libSM.i386 libX11.i386 libXau i386 libXcomposite.i386 libXcursor.i386 libXdmcp.i386 libXext.i386 libXfixes.i3 6 libXi.i386 libXinerama.i386 libXrandr.i386 libXrender.i386 libXxf86vm.i386 li art_lgpl.i386 libgnomecanvas.i386 libgnomeprint22.i386 libgnomeprintui22.i386 l bjpeg.i386 libpng.i386 libtiff.i386 libxcb.i386 libxml2.i386 pam.i386 pango.i38 zlib.i386 (gdb) bt #0 0x0807a99a in wxStringOperationsUtf8::IncIter<wxStringImpl::const_iterator> (i=@0xbfe59214) at /a/M/wxWindows.29/wxWidgets/include/wx/stringops.h:80 #1 0x0807aa1d in wxStringOperationsUtf8::DiffIters<wxStringImpl::const_iterator> (i1={m_ptr = 0xa8f978c ""}, i2= {m_ptr = 0xa8c5122 " of \"this might be\r\n possible in theory\", and I'm violently opposed to it. So far, I have not\r\n heard a single argument that I consider even _remotely_ likely.\r\n\r\n The thing is, even if you c"...}) at /a/M/wxWindows.29/wxWidgets/include/wx/stringops.h:135 #2 0xb7cf10fe in wxString::const_iterator::operator- (this=0xbfe59268, i=@0xbfe59250) at ../wxWidgets/include/wx/string.h:693 #3 0xb7cf1153 in wxString::length (this=0xbfe59314) at ../wxWidgets/include/wx/string.h:1047 #4 0xb7d833a4 in wxString::compare (this=0xa7f1ccc, nStart=0, nLen=2, str=@0xbfe59314, nStart2=0, nLen2=2) at ../wxWidgets/src/common/string.cpp:737 #5 0x080f0189 in wxStrncmp_String<wchar_t const*> (s1=@0xa7f1ccc, s2=@0xbfe59350, n=2) at /a/M/wxWindows.29/wxWidgets/include/wx/wxcrt.h:473 #6 0x080f01bd in wxStrncmp (s1=0xb4c13efc, s2=@0xa7f1ccc, n=2) at /a/M/wxWindows.29/wxWidgets/include/wx/wxcrt.h:474 #7 0x080efbc5 in CountQuoteLevel (string=0xb4c13efc, max_white=2, max_alpha=3, quoteData=@0xbfe59478) at .src/classes/QuotedText.cpp:186 #8 0x08276c32 in QuoteURLFilter::GetQuotedLevel (this=0xa63b7a8, line=0xb4c13efc, quoteData=@0xbfe59478) at .src/modules/viewflt/QuoteURL.cpp:227 #9 0x08276d39 in QuoteURLFilter::DoProcess (this=0xa63b7a8, text=@0xbfe59614, viewer=0xa687f50, style=@0xbfe5990c) at .src/modules/viewflt/QuoteURL.cpp:294 #10 0x080d3b70 in ViewFilter::Process (this=0xa63b7a8, text=@0xbfe59614, viewer=0xa687f50, style=@0xbfe5990c) at /a/M/M/include/ViewFilter.h:115 #11 0x08277e9d in SignatureFilter::DoProcess (this=0xa63aff8, text=@0xbfe59614, viewer=0xa687f50, style=@0xbfe5990c) at .src/modules/viewflt/Signature.cpp:210 #12 0x080d3b70 in ViewFilter::Process (this=0xa63aff8, text=@0xbfe59614, viewer=0xa687f50, style=@0xbfe5990c) at /a/M/M/include/ViewFilter.h:115 #13 0x0827a120 in UUDecodeFilter::DoProcess (this=0xa637b98, text=@0xbfe59a34, viewer=0xa687f50, style=@0xbfe5990c) at .src/modules/viewflt/UUDecode.cpp:344 #14 0x080d3b70 in ViewFilter::Process (this=0xa637b98, text=@0xbfe59a34, viewer=0xa687f50, style=@0xbfe5990c) at /a/M/M/include/ViewFilter.h:115 #15 0x080d3b9f in ViewFilter::Process (this=0xa63b448, text=@0xbfe59a34, viewer=0xa687f50, style=@0xbfe5990c) at /a/M/M/include/ViewFilter.h:117 #16 0x08278f4f in TrailerFilter::DoProcess (this=0xa639a58, text=@0xbfe59a34, viewer=0xa687f50, style=@0xbfe5990c) at .src/modules/viewflt/Trailer.cpp:159 #17 0x080d3b70 in ViewFilter::Process (this=0xa639a58, text=@0xbfe59a34, viewer=0xa687f50, style=@0xbfe5990c) at /a/M/M/include/ViewFilter.h:115 #18 0x08278e16 in TrailerFilter::DoProcess (this=0xa639a58, text=@0xbfe59a34, viewer=0xa687f50, style=@0xbfe5990c) at .src/modules/viewflt/Trailer.cpp:114 #19 0x080d3b70 in ViewFilter::Process (this=0xa639a58, text=@0xbfe59a34, viewer=0xa687f50, style=@0xbfe5990c) at /a/M/M/include/ViewFilter.h:115 #20 0x080d0e38 in MessageView::ShowText (this=0xa5ea138, textPart=@0xbfe59a34, textEnc=wxFONTENCODING_ISO8859_1) at .src/classes/MessageView.cpp:1995 #21 0x080d0eae in MessageView::ShowTextPart (this=0xa5ea138, mimepart=0xa5db670) at .src/classes/MessageView.cpp:1912 #22 0x080d1657 in MessageView::ShowPart (this=0xa5ea138, mimepart=0xa5db670) at .src/classes/MessageView.cpp:2256 #23 0x080d17e5 in MessageView::ProcessPart (this=0xa5ea138, mimepart=0xa5db670, action=MessageView::Part_Show) at .src/classes/MessageView.cpp:2645 #24 0x080d1a14 in MessageView::DisplayMessageInViewer (this=0xa5ea138) at .src/classes/MessageView.cpp:3008 #25 0x080d1b40 in MessageView::Update (this=0xa5ea138) at .src/classes/MessageView.cpp:2952 #26 0x080d1e04 in MessageView::DoShowMessage (this=0xa5ea138, mailMessage=0xa745d80) at .src/classes/MessageView.cpp:3873 #27 0x0818d131 in wxMessageView::DoShowMessage (this=0xa5ea138, mailMessage=0xa745d80) at .src/gui/wxMessageView.cpp:225 #28 0x080c7cc4 in MessageView::OnASFolderResultEvent (this=0xa5ea138, event=@0xa67fee8) at .src/classes/MessageView.cpp:1098 #29 0x080d259a in MessageView::OnMEvent (this=0xa5ea138, event=@0xa67fee8) at .src/classes/MessageView.cpp:1045 #30 0x080d72df in MEventManager::Dispatch (dataptr=0xa67fee8) at .src/classes/MEvent.cpp:195 #31 0x080d7374 in MEventManager::ForceDispatchPending () at .src/classes/MEvent.cpp:145 #32 0x081461b1 in wxFolderView::ShowFolder (this=0xa5e49d8, mf=0xa685b80) at .src/gui/wxFolderView.cpp:4035 #33 0x08146b3d in wxFolderView::OpenFolder (this=0xa5e49d8, folder=0xa494488, readonly=false) at .src/gui/wxFolderView.cpp:4204 #34 0x0816b140 in wxMainFrame::OpenFolder (this=0xa3830b8, pFolder=0xa494488, readonly=false) at .src/gui/wxMainFrame.cpp:718 #35 0x080c2326 in MAppBase::ContinueStartup (this=0xa31929c) at .src/classes/MApplication.cpp:284 #36 0x080c359b in MAppBase::OnStartup (this=0xa31929c) at .src/classes/MApplication.cpp:631 #37 0x08173f6b in wxMApp::OnInit (this=0xa319158) at .src/gui/wxMApp.cpp:1153 #38 0x0817575c in wxAppConsoleBase::CallOnInit (this=0xa319158) at /a/M/wxWindows.29/wxWidgets/include/wx/app.h:77 #39 0xb7d4f10c in wxEntry (argc=@0xb7e8428c, argv=0xa304100) at ../wxWidgets/src/common/init.cpp:450 #40 0xb7d4f205 in wxEntry (argc=@0xbfe5abf0, argv=0xbfe5ac74) at ../wxWidgets/src/common/init.cpp:478 #41 0x081756a4 in main (argc=Cannot access memory at address 0x1 ) at .src/gui/wxMApp.cpp:347 Regards, Nerijus ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone