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

Re: [BUG] Resource consumption problem in clients/cmdline/prompt.c::prompt().

From: Michael W Thelen <mike_at_pietdepsi.com>
Date: 2005-01-15 01:34:49 CET

David Wilson wrote:
> At around midnight on the 13th of January, my nightly svn cronjob
> spiralled out of control and brought my host's FreeBSD machine to a near
> halt. On further exploration, it turns out that my SSL certificate
> expired on that day (https://china.botanicus.net/).
>
> Cron starts processes with stdin connected to /dev/null, or some
> equivalent that causes 0-byte reads.

I had an extremely similar problem back on July 19. If I remember
correctly, it happened when I ran svn checkout in a cron job, but with
an incorrect username/password. I vaguely remember discussing the
problem in IRC with Ben Reser (I think). Looking through the email
archives, I can't find any messages about it, though. We decided not to
file an issue for the problem at that time, but I don't remember why.
Maybe it's an APR problem, not a Subversion problem?

I have a GDB backtrace from back then, which would have been 1.0.5. It
may still be relevant, maybe not. I'm attaching it to this message so
it can be archived. Please forgive me if this is not useful.

-- 
Michael W Thelen
It is a mistake to think you can solve any major problems just with
potatoes.       -- Douglas Adams

0x403294ae in __read_nocancel () from /lib/tls/libpthread.so.0
(gdb) back
#0 0x403294ae in __read_nocancel () from /lib/tls/libpthread.so.0
#1 0x401b2c0b in apr_file_read (thefile=0x8085e70, buf=0xbffff28b, nbytes=0xbffff250) at readwrite.c:115
#2 0x401b2fe4 in apr_file_getc (ch=0x0, thefile=0x0) at readwrite.c:269
#3 0x08053731 in prompt (result=0x8085ce0, prompt_msg=0x8067502 "Username: ", hide=0, ctx=0x80711e0, pool=0x8070990) at subversion/clients/cmdline/prompt.c:107
#4 0x080539d4 in svn_cl__auth_simple_prompt (cred_p=0xbffff384, baton=0x80711e0, realm=0x807fe50 "<http://svn.example.com:80> Subversion Repository", username=0x0,
    may_save=1, pool=0x8070990) at subversion/clients/cmdline/prompt.c:194
#5 0x400375f1 in prompt_for_simple_creds (cred_p=0xbffff384, pb=0x807ba28, parameters=0x807bb00,
    realmstring=0x807fe50 "<http://svn.example.com:80> Subversion Repository", first_time=0, may_save=1, pool=0x8070990)
    at subversion/libsvn_client/simple_providers.c:274
#6 0x40037787 in simple_prompt_next_creds (credentials_p=0xbffff384, iter_baton=0x807d550, provider_baton=0x807ba28, parameters=0x807bb00,
    realmstring=0x807fe50 "<http://svn.example.com:80> Subversion Repository", pool=0x8070990) at subversion/libsvn_client/simple_providers.c:333
#7 0x4007d62b in svn_auth_next_credentials (credentials=0xbffff3c8, state=0x807fe30, pool=0x807f8d8) at subversion/libsvn_subr/auth.c:265
#8 0x404d73c4 in request_auth (userdata=0x807fb58, realm=0x8095738 "Subversion Repository", attempt=2, username=0x8087b40 "foobar", password=0xbffff420 "")
    at subversion/libsvn_ra_dav/session.c:97
#9 0x4021a7cb in get_credentials (sess=0x1, pwbuf=0x0) at ne_auth.c:275
#10 0x4021a848 in basic_challenge (sess=0x8087b28, parms=0x80956f0) at ne_auth.c:297
#11 0x4021c08f in auth_challenge (sess=0x8087b28, value=0x0) at ne_auth.c:959
#12 0x4021c4f6 in ah_post_send (req=0x0, cookie=0x8087b28, status=0x808a3f4) at ne_auth.c:1100
#13 0x40214e65 in ne_end_request (req=0x80882d0) at ne_request.c:1240
#14 0x40214f13 in ne_request_dispatch (req=0x80882d0) at ne_request.c:1274
#15 0x404d97cb in parsed_request (sess=0x8081910, method=0x404e30e3 "PROPFIND", url=0x807fc10 "/svn/engineering/theproject/trunk",
    body=0x80880c8 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<propfind xmlns=\"DAV:\">\n<prop>\n<version-controlled-configuration xmlns=\"DAV:\"/>\n<resourcetype xmlns=\"DAV:\"/>\n<baseline-relative-path xmlns=\"http://subversion.tig"..., body_file=0x0, set_parser=0x404d6054 <set_parser>, elements=0x404e6660, use_neon_shim=1,
    validate_compat_cb=0x404d5a07 <validate_element>, startelm_compat_cb=0x404d5b64 <start_element>, endelm_compat_cb=0x404d5ce4 <end_element>, startelm_cb=0,
    cdata_cb=0, endelm_cb=0, baton=0xbffff740, extra_headers=0x807fc30, status_code=0x0, pool=0x807f8d8) at subversion/libsvn_ra_dav/util.c:603
#16 0x404d9b7c in svn_ra_dav__parsed_request_compat (sess=0x8081910, method=0x404e30e3 "PROPFIND", url=0x807fc10 "/svn/engineering/theproject/trunk",
    body=0x80880c8 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<propfind xmlns=\"DAV:\">\n<prop>\n<version-controlled-configuration xmlns=\"DAV:\"/>\n<resourcetype xmlns=\"DAV:\"/>\n<baseline-relative-path xmlns=\"http://subversion.tig"..., body_file=0x0, set_parser=0x404d6054 <set_parser>, elements=0x404e6660,
    validate_cb=0x404d5a07 <validate_element>, startelm_cb=0x404d5b64 <start_element>, endelm_cb=0x404d5ce4 <end_element>, baton=0xbffff740, extra_headers=0x807fc30,
    status_code=0x0, pool=0x807f8d8) at subversion/libsvn_ra_dav/util.c:716
#17 0x404d62f0 in svn_ra_dav__get_props (results=0xbffff7c0, sess=0x8081910, url=0x807fc10 "/svn/engineering/theproject/trunk", depth=0, label=0x0, which_props=0x404e6520,
    pool=0x807f8d8) at subversion/libsvn_ra_dav/props.c:527
#18 0x404d6399 in svn_ra_dav__get_props_resource (rsrc=0xbffff8dc, sess=0x8081910, url=0x807fbe0 "/svn/engineering/theproject/trunk", label=0x0, which_props=0x404e6520,
    pool=0x807f8d8) at subversion/libsvn_ra_dav/props.c:553
#19 0x404d6601 in svn_ra_dav__get_starting_props (rsrc=0xbffff8dc, sess=0x8081910, url=0x807fbe0 "/svn/engineering/theproject/trunk", label=0x0, pool=0x807f8d8)
    at subversion/libsvn_ra_dav/props.c:626
#20 0x404d6693 in svn_ra_dav__search_for_starting_props (rsrc=0xbffff8dc, missing_path=0xbffff8cc, sess=0x8081910, url=0x80818f0 "/svn/engineering/theproject/trunk",
    pool=0x807f8d8) at subversion/libsvn_ra_dav/props.c:656
#21 0x404d68f0 in svn_ra_dav__get_baseline_props (bc_relative=0xbffff928, bln_rsrc=0xbffff93c, sess=0x8081910, url=0x80818f0 "/svn/engineering/theproject/trunk",
    revision=-1, which_props=0x404e6548, pool=0x807f8d8) at subversion/libsvn_ra_dav/props.c:764
#22 0x404d6ba1 in svn_ra_dav__get_baseline_info (is_dir=0x0, bc_url=0x0, bc_relative=0x0, latest_rev=0xbffffa34, sess=0x8081910,
    url=0x80818f0 "/svn/engineering/theproject/trunk", revision=-1, pool=0x807f8d8) at subversion/libsvn_ra_dav/props.c:887
#23 0x404d01d8 in svn_ra_dav__get_latest_revnum (session_baton=0x807fb58, latest_revnum=0xbffffa34, pool=0x807f8d8) at subversion/libsvn_ra_dav/fetch.c:1009
#24 0x40036df4 in svn_client__get_revision_number (revnum=0xbffffa34, ra_lib=0x404e67c0, sess=0x807fb58, revision=0xbffffc80, path=0x807bf30 "/tmp/theproject-trunk",
    pool=0x807f8d8) at subversion/libsvn_client/revisions.c:68
#25 0x40020141 in svn_client__checkout_internal (result_rev=0x0, URL=0x807fa18 "http://svn.example.com/svn/engineering/theproject/trunk",
    path=0x807bf30 "/tmp/theproject-trunk", revision=0xbffffc80, recurse=1, timestamp_sleep=0x0, ctx=0x80711e0, pool=0x807f8d8) at subversion/libsvn_client/checkout.c:91
#26 0x400206cb in svn_client_checkout (result_rev=0x0, URL=0x807f910 "http://svn.example.com/svn/engineering/theproject/trunk", path=0x807bf30 "/tmp/theproject-trunk",
    revision=0xbffffc80, recurse=1, ctx=0x80711e0, pool=0x807f8d8) at subversion/libsvn_client/checkout.c:205
#27 0x0804d194 in svn_cl__checkout (os=0x80709c8, baton=0xbffffb80, pool=0x8070990) at subversion/clients/cmdline/checkout-cmd.c:147
#28 0x08051fc3 in main (argc=6, argv=0xbffffdf4) at subversion/clients/cmdline/main.c:1323

Received on Sat Jan 15 01:36:57 2005

This is an archived mail posted to the Subversion Dev mailing list.