[ 
https://issues.apache.org/jira/browse/SVN-4470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Foad closed SVN-4470.
----------------------------
    Fix Version/s:     (was: ---)
                   1.8.9
       Resolution: Fixed

Closing. According to earlier comments, the fix was tested, applied and 
backported.

> Memcached+FullText cache is totally broken in svnserve
> ------------------------------------------------------
>
>                 Key: SVN-4470
>                 URL: https://issues.apache.org/jira/browse/SVN-4470
>             Project: Subversion
>          Issue Type: Bug
>          Components: libsvn_subr
>    Affects Versions: 1.8.x
>         Environment: Linux
>            Reporter: Subversion Importer
>            Priority: Critical
>             Fix For: 1.8.9
>
>
> {noformat:nopanel=true}
> Problem:
> Enabling memcached with full text caches in version 1.8.5. causes svnserve -t 
> segfault just after first cache 
> hit to memcached.
> Reason:
> memcache_get lack deserialiser for memcached full texts, and uses default 
> one, which returns svn_string_t* 
> in first parameter (thru void**) at cache-memcache.c:206.
> This value is returned as void** thru svn_cache__get at cache.c:67 to 
> read_representation at 
> temp_serializer.c:5298
> read_representation interpret this void** as svn_stringbuf_t* and puts this 
> value into stream baton.
> baton is used in read_handler_stringbuf at in stream.c:1397 and cause crash 
> (because len and data in 
> svn_string_t and svn_stringbuf_t are effectively changed places)
> Traceback:
> #0  0x00007ffff58ea932 in memcpy () from /lib64/libc.so.6
> #1  0x00007ffff73427cc in read_handler_stringbuf (baton=0x81ed98, 
> buffer=<value optimized out>, 
> len=0x81eb38)
>     at /usr/include/bits/string3.h:52
> #2  0x00007fffed579f6d in get_dir_contents (entries_p=0x7fffffffdc60, 
> fs=0x6451a8, noderev=0x6877a8, 
> pool=0x81ca98)
>     at subversion/libsvn_fs_fs/fs_fs.c:5524
> #3  svn_fs_fs__rep_contents_dir (entries_p=0x7fffffffdc60, fs=0x6451a8, 
> noderev=0x6877a8, 
> pool=0x81ca98)
>     at subversion/libsvn_fs_fs/fs_fs.c:5679
> #4  0x00007fffed57a47d in svn_fs_fs__rep_contents_dir_entry 
> (dirent=0x7fffffffdcf8, fs=0x6451a8, 
> noderev=0x6877a8, 
>     name=0x687940 "trunk", result_pool=0x81ca98, scratch_pool=0x81ca98) at 
> subversion/libsvn_fs_fs/fs_fs.c:5727
> #5  0x00007fffed5686ac in svn_fs_fs__dag_dir_entry (dirent=0x7fffffffdcf8, 
> node=0x687720, 
> name=0x687940 "trunk", pool=0x81ca98)
>     at subversion/libsvn_fs_fs/dag.c:445
> #6  0x00007fffed5686e9 in dir_entry_id_from_node (child_p=0x7fffffffddd8, 
> parent=0x687720, name=
> <value optimized out>, 
>     result_pool=0x6872b8, scratch_pool=<value optimized out>) at 
> subversion/libsvn_fs_fs/dag.c:315
> #7  svn_fs_fs__dag_open (child_p=0x7fffffffddd8, parent=0x687720, name=<value 
> optimized out>, 
> result_pool=0x6872b8, 
>     scratch_pool=<value optimized out>) at subversion/libsvn_fs_fs/dag.c:1164
> #8  0x00007fffed583a77 in open_path (parent_path_p=0x7fffffffde38, 
> root=0x81c0b0, path=0x6874c8 
> "/trunk/arcadia", flags=6, 
>     txn_id=0x0, pool=0x6872b8) at subversion/libsvn_fs_fs/tree.c:1006
> #9  0x00007fffed583ecb in get_dag (dag_node_p=0x7fffffffde78, root=0x81c0b0, 
> path=0x6874c8 
> "/trunk/arcadia", needs_lock_cache=0, 
>     pool=0x6872b8) at subversion/libsvn_fs_fs/tree.c:1213
> #10 0x00007fffed583fda in svn_fs_fs__node_id (id_p=0x7fffffffdea8, 
> root=<value optimized out>, path=
> <value optimized out>, 
>     pool=0x6872b8) at subversion/libsvn_fs_fs/tree.c:1284
> #11 0x00007fffed58407b in node_kind (kind_p=0x7fffffffdefc, root=0x81c0b0, 
> path=<value optimized 
> out>, pool=0x6872b8)
>     at subversion/libsvn_fs_fs/tree.c:1333
> #12 svn_fs_fs__check_path (kind_p=0x7fffffffdefc, root=0x81c0b0, path=<value 
> optimized out>, 
> pool=0x6872b8)
>     at subversion/libsvn_fs_fs/tree.c:1352
> #13 0x000000000040c933 in check_path (conn=0x633000, pool=0x6872b8, 
> params=<value optimized 
> out>, baton=0x7fffffffe040)
>     at subversion/svnserve/serve.c:2280
> #14 0x00007ffff707f063 in svn_ra_svn__handle_commands2 (conn=0x633000, 
> pool=<value optimized 
> out>, commands=<value optimized out>, 
>     baton=0x7fffffffe040, error_on_disconnect=0) at 
> subversion/libsvn_ra_svn/marshal.c:1494
> #15 0x000000000040bc2d in serve (conn=0x633000, params=<value optimized out>, 
> pool=0x627508) 
> at subversion/svnserve/serve.c:3678
> #16 0x000000000040fa5f in main (argc=<value optimized out>, argv=<value 
> optimized out>) at 
> subversion/svnserve/svnserve.c:844
> {noformat}
> Original issue reported by *anatolix*



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to