[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: TSVN 1.7 test drive

From: Gunnar Dalsnes <hardon_at_online.no>
Date: Sat, 26 Feb 2011 18:47:56 +0100

On 26.02.2011 18:07, Stefan Küng wrote:
> On 26.02.2011 16:40, Gunnar Dalsnes wrote:
>> On 26.02.2011 14:59, Stefan Küng wrote:
>>> On 26.02.2011 13:41, Gunnar Dalsnes wrote:
>>>> On 26.02.2011 09:43, Stefan Küng wrote:
>>>>> On 26.02.2011 00:50, Gunnar Dalsnes wrote:
>>> You mean it uses all CPU after you start the log dialog?
>>> Try clearing the log cache. I've never seen such a behavior on all
>>> machines I use TSVN...
>>>
>> Upgraded to TortoiseSVN-1.6.99.20926-dev-x64-svn-1.7.0-dev.msi.
>>
>> Seem to be spending all its time inside ResizeAllListCtrlCols.
> Something is very wrong here. Resizing the columns only takes a few
> milliseconds on my machine. In the timer (as seen on the stacktraces you
> posted), only the visible rows are taken into account when resizing the
> columns. That means calculating the text widths of only a few (around
> 5-40, depending on your screen size) rows is calculated.
> Why does that take so long on your machine? Do you have very long log
> messages? But even then it shouldn't take more than a second.
> Or do you have many non-ascii chars in your log messages? I know that
> Windows is very, very slow in handling some of those chars.
>
We use English in commit messages. The longest message is maybe 200 chars.
Maybe a race condition etc. TSVN 1.6 does not behave like this.
Will debug if I get time.

Found another 100% cpu problem too (70 seconds). When they both hit,
they are maxing out both my cpu core's:-)

> ntdll.dll!0000000077ef049a()
      [Frames below may be incorrect and/or missing, no symbols loaded
for ntdll.dll]
      kernel32.dll!ReadFile() + 0xb6 bytes
      TortoiseProc.exe!winRead(sqlite3_file * id=0x0000000000000000,
void * pBuf=0x0000000002adfc78, int amt=3114, __int64 offset=0) Line
30339 + 0x1e bytes C
      TortoiseProc.exe!readDbPage(PgHdr * pPg=0x0000000000000000) Line
37725 + 0x18 bytes C
      TortoiseProc.exe!moveToChild(BtCursor * pCur=0x0000000002b6c1a8,
unsigned int newPgno=0) Line 49594 + 0xb2 bytes C
      TortoiseProc.exe!sqlite3BtreeMovetoUnpacked(BtCursor *
pCur=0x0000000000000992, UnpackedRecord * pIdxKey=0x0000000000000000,
__int64 intKey=2450, int biasRight=0, int * pRes=0x000000000372f300)
Line 50054 + 0x16 bytes C
      TortoiseProc.exe!sqlite3VdbeCursorMoveto(VdbeCursor *
p=0x000000000000000e) Line 57876 C
      TortoiseProc.exe!sqlite3VdbeExec(Vdbe * p=0x0000000000000000)
Line 62726 + 0x8 bytes C
      TortoiseProc.exe!sqlite3Step(Vdbe * p=0x2f736c6f6f542f63) Line
59037 C
      TortoiseProc.exe!sqlite3_step(sqlite3_stmt *
pStmt=0x0000000002aa5448) Line 59103 + 0x8 bytes C
      TortoiseProc.exe!svn_sqlite__step(int *
got_row=0x000000000372f5c0, svn_sqlite__stmt_t *
stmt=0x00000001406db8fc) Line 217 C
      TortoiseProc.exe!svn_wc__db_read_children_walker_info(apr_hash_t *
* nodes=0x0000000000000000, svn_wc__db_t * db=0x0000000000000003, const
char * dir_abspath=0x000000000372f680, apr_pool_t *
result_pool=0x0000000000000000, apr_pool_t *
scratch_pool=0x0000000002c32be8) Line 5062 + 0xd bytes C
      TortoiseProc.exe!walker_helper(svn_wc__db_t *
db=0x0000000002c08bd0, const char * dir_abspath=0x0000000002c32c60, int
show_hidden=1, svn_error_t * (const char *, svn_node_kind_t, void *,
apr_pool_t *)* walk_callback=0x00000001401d0320, void *
walk_baton=0x000000000372fb90, svn_depth_t depth=svn_depth_infinity,
svn_error_t * (void *)* cancel_func=0x000000014007040c, void *
cancel_baton=0x000000000372fd30, apr_pool_t *
scratch_pool=0x0000000002c32be8) Line 680 + 0x28 bytes C
      TortoiseProc.exe!walker_helper(svn_wc__db_t *
db=0x0000000002c08bd0, const char * dir_abspath=0x0000000002c02ae0, int
show_hidden=1, svn_error_t * (const char *, svn_node_kind_t, void *,
apr_pool_t *)* walk_callback=0x00000001401d0320, void *
walk_baton=0x000000000372fb90, svn_depth_t depth=svn_depth_infinity,
svn_error_t * (void *)* cancel_func=0x000000014007040c, void *
cancel_baton=0x000000000372fd30, apr_pool_t *
scratch_pool=0x0000000002c02a68) Line 740 + 0x53 bytes C
      TortoiseProc.exe!walker_helper(svn_wc__db_t *
db=0x0000000002c08bd0, const char * dir_abspath=0x00000000039bc650, int
show_hidden=1, svn_error_t * (const char *, svn_node_kind_t, void *,
apr_pool_t *)* walk_callback=0x00000001401d0320, void *
walk_baton=0x000000000372fb90, svn_depth_t depth=svn_depth_infinity,
svn_error_t * (void *)* cancel_func=0x000000014007040c, void *
cancel_baton=0x000000000372fd30, apr_pool_t *
scratch_pool=0x00000000039bc5d8) Line 740 + 0x53 bytes C
      TortoiseProc.exe!walker_helper(svn_wc__db_t *
db=0x0000000002c08bd0, const char * dir_abspath=0x00000000039ba640, int
show_hidden=1, svn_error_t * (const char *, svn_node_kind_t, void *,
apr_pool_t *)* walk_callback=0x00000001401d0320, void *
walk_baton=0x000000000372fb90, svn_depth_t depth=svn_depth_infinity,
svn_error_t * (void *)* cancel_func=0x000000014007040c, void *
cancel_baton=0x000000000372fd30, apr_pool_t *
scratch_pool=0x00000000039ba5c8) Line 740 + 0x53 bytes C
      TortoiseProc.exe!walker_helper(svn_wc__db_t *
db=0x0000000002c08bd0, const char * dir_abspath=0x0000000002bfcab0, int
show_hidden=1, svn_error_t * (const char *, svn_node_kind_t, void *,
apr_pool_t *)* walk_callback=0x00000001401d0320, void *
walk_baton=0x000000000372fb90, svn_depth_t depth=svn_depth_infinity,
svn_error_t * (void *)* cancel_func=0x000000014007040c, void *
cancel_baton=0x000000000372fd30, apr_pool_t *
scratch_pool=0x0000000002bfca38) Line 740 + 0x53 bytes C
      TortoiseProc.exe!walker_helper(svn_wc__db_t *
db=0x0000000002c08bd0, const char * dir_abspath=0x0000000002a88df8, int
show_hidden=1, svn_error_t * (const char *, svn_node_kind_t, void *,
apr_pool_t *)* walk_callback=0x00000001401d0320, void *
walk_baton=0x000000000372fb90, svn_depth_t depth=svn_depth_infinity,
svn_error_t * (void *)* cancel_func=0x000000014007040c, void *
cancel_baton=0x000000000372fd30, apr_pool_t *
scratch_pool=0x00000000039ae568) Line 740 + 0x53 bytes C
      TortoiseProc.exe!svn_wc__internal_walk_children(svn_wc__db_t *
db=0x0000000002c08bd0, const char * local_abspath=0x0000000002c08bb8,
int show_hidden=44600824, svn_error_t * (const char *, svn_node_kind_t,
void *, apr_pool_t *)* walk_callback=0x00000001401d0320, void *
walk_baton=0x000000000372fb90, svn_depth_t walk_depth=svn_depth_empty,
svn_error_t * (void *)* cancel_func=0x000000014007040c, void *
cancel_baton=0x000000000372fd30, apr_pool_t *
scratch_pool=0x00000000039ae568) Line 788 + 0x3f bytes C
      TortoiseProc.exe!svn_wc_revision_status2(svn_wc_revision_status_t
* * result_p=0x00000000039ae6c8, svn_wc_context_t *
wc_ctx=0x00000000039ae568, const char *
local_abspath=0x000000000372fc40, const char *
trail_url=0x0000000002c08bd0, int committed=44600824, svn_error_t *
(void *)* cancel_func=0x000000014007040c, void *
cancel_baton=0x000000000372fd30, apr_pool_t *
result_pool=0x00000000039ae568, apr_pool_t *
scratch_pool=0x00000000039ae568) Line 207 C
      TortoiseProc.exe!SVN::GetWCRevisionStatus(const CTSVNPath &
wcpath={...}, bool bCommitted=false, long & minrev=1079487512, long &
maxrev=0, bool & switched=false, bool & modified=false, bool &
sparse=false) Line 2278 + 0x59 bytes C++
      TortoiseProc.exe!CLogDlg::StatusThread() Line 1442 + 0x49
bytes C++
      TortoiseProc.exe!async::CJobBase::Execute() Line 84 C++
      TortoiseProc.exe!async::CJobScheduler::ThreadFunc(void *
arg=0x0000000002aea850) Line 350 C++
      TortoiseProc.exe!async::CThread::ThreadFunc(void *
arg=0x0000000001e632b0) Line 42 + 0x7 bytes C++
      msvcr100.dll!_callthreadstart() Line 261 C
      msvcr100.dll!_threadstart(void * ptd=0x0000000077d6b6e0) Line 241
+ 0x5 bytes C
      kernel32.dll!BaseThreadStart() + 0x3a bytes

This happends at dialog load and when pushing the Refresh button. When
thread is done, the log line that corresponds to my WC last commited
revision (12993) get bold text.

Right clicking on WC rbase dir -> Properties shows this info instantly:
Revision 12993
Last commited revision 12993

Last commited rev in repo is 12997.
This does not matter thou, it was equally show after doing an update to
rev 12997.

Gunnar.
> Stefan
>

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2707827

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-02-26 18:51:31 CET

This is an archived mail posted to the TortoiseSVN Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.