You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Daniel Shahaf <d....@daniel.shahaf.name> on 2010/07/23 13:26:02 UTC

segfault around svn_commit_callback2_t

When running my standard "create a Greek tree repos+wc to experiment in" wc, I get a segfault:

#1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
351	  err1 = (*db->callback)(commit_info, db->callback_baton, pool);

The full script is attached, and here is the tail of the run:


+ echo ### Importing it...
### Importing it...
+ cd import-me
+ /home/daniel/prefix/apache2/build/libtool --mode=execute gdb --args /home/daniel/src/svn/trunk.d/subversion/svn/svn import -q -m Initial import. file:////tmp/daniel/sandbox/r1
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /home/daniel/src/svn/trunk.d/subversion/svn/.libs/lt-svn import -q -m Initial\ import. file:////tmp/daniel/sandbox/r1
[Thread debugging using libthread_db enabled]
[New Thread 0xb6d9ea30 (LWP 21759)]
[New Thread 0xb6b5db90 (LWP 21762)]
[New Thread 0xb635cb90 (LWP 21763)]
[Thread 0xb6b5db90 (LWP 21762) exited]
[Thread 0xb635cb90 (LWP 21763) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb6d9ea30 (LWP 21759)]
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
#2  0xb758f46a in close_edit (edit_baton=0x80de6f0, pool=0x80b29f8) at subversion/libsvn_repos/commit.c:745
#3  0xb76ae504 in import (path=0x8069da9 "", new_entries=0x80be3d8, editor=0x80ddd98, edit_baton=0x80de6f0, depth=svn_depth_infinity, 
    excludes=0x80be370, no_ignore=0, ignore_unknown_node_types=0, ctx=0x8089198, pool=0x80b29f8) at subversion/libsvn_client/commit.c:589
#4  0xb76aed99 in svn_client_import4 (path=0x8069da9 "", url=0x80be328 "file:///tmp/daniel/sandbox/r1", depth=svn_depth_infinity, 
    no_ignore=0, ignore_unknown_node_types=0, revprop_table=0x0, ctx=0x8089198, pool=0x8088978) at subversion/libsvn_client/commit.c:811
#5  0x08053be6 in svn_cl__import (os=0x8088b20, baton=0xbfffdf48, pool=0x8088978) at subversion/svn/import-cmd.c:114
#6  0x0805b2d0 in main (argc=6, argv=0xbfffe194) at subversion/svn/main.c:2331
(gdb) up
#1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
351	  err1 = (*db->callback)(commit_info, db->callback_baton, pool);
(gdb) p *db->callback
Cannot access memory at address 0x0
(gdb) p db
$1 = (struct deltify_etc_baton *) 0x80ddba0
(gdb) p db->callback
$2 = (svn_commit_callback2_t) 0
(gdb) 


Daniel
(not sure if I'll have time to dig into this one)

Re: segfault around svn_commit_callback2_t

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Daniel Shahaf wrote on Fri, Jul 23, 2010 at 16:26:02 +0300:
> The full script is attached

Re: segfault around svn_commit_callback2_t

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Hyrum K. Wright wrote on Fri, Jul 23, 2010 at 17:23:30 +0000:
> On Fri, Jul 23, 2010 at 2:35 PM, Hyrum K. Wright
> <hy...@mail.utexas.edu> wrote:
> > On Fri, Jul 23, 2010 at 1:26 PM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> >> When running my standard "create a Greek tree repos+wc to experiment in" wc, I get a segfault:
> >>
> >> #1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
> >> 351       err1 = (*db->callback)(commit_info, db->callback_baton, pool);
> >
> > Looks to be a pretty simple fix; I'll do it.
> 
> The fix should be in r967169.
> 

Fix confirmed.  Thanks Hyrum.

> -Hyrum

Re: segfault around svn_commit_callback2_t

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Hyrum K. Wright wrote on Fri, Jul 23, 2010 at 17:23:30 +0000:
> On Fri, Jul 23, 2010 at 2:35 PM, Hyrum K. Wright
> <hy...@mail.utexas.edu> wrote:
> > On Fri, Jul 23, 2010 at 1:26 PM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> >> When running my standard "create a Greek tree repos+wc to experiment in" wc, I get a segfault:
> >>
> >> #1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
> >> 351       err1 = (*db->callback)(commit_info, db->callback_baton, pool);
> >
> > Looks to be a pretty simple fix; I'll do it.
> 
> The fix should be in r967169.
> 

Fix confirmed.  Thanks Hyrum.

> -Hyrum

Re: segfault around svn_commit_callback2_t

Posted by "Hyrum K. Wright" <hy...@mail.utexas.edu>.
On Fri, Jul 23, 2010 at 2:35 PM, Hyrum K. Wright
<hy...@mail.utexas.edu> wrote:
> On Fri, Jul 23, 2010 at 1:26 PM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
>> When running my standard "create a Greek tree repos+wc to experiment in" wc, I get a segfault:
>>
>> #1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
>> 351       err1 = (*db->callback)(commit_info, db->callback_baton, pool);
>>
>> The full script is attached, and here is the tail of the run:
>>
>>
>> + echo ### Importing it...
>> ### Importing it...
>> + cd import-me
>> + /home/daniel/prefix/apache2/build/libtool --mode=execute gdb --args /home/daniel/src/svn/trunk.d/subversion/svn/svn import -q -m Initial import. file:////tmp/daniel/sandbox/r1
>> GNU gdb 6.8-debian
>> Copyright (C) 2008 Free Software Foundation, Inc.
>> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
>> This is free software: you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
>> and "show warranty" for details.
>> This GDB was configured as "i486-linux-gnu"...
>> (gdb) run
>> Starting program: /home/daniel/src/svn/trunk.d/subversion/svn/.libs/lt-svn import -q -m Initial\ import. file:////tmp/daniel/sandbox/r1
>> [Thread debugging using libthread_db enabled]
>> [New Thread 0xb6d9ea30 (LWP 21759)]
>> [New Thread 0xb6b5db90 (LWP 21762)]
>> [New Thread 0xb635cb90 (LWP 21763)]
>> [Thread 0xb6b5db90 (LWP 21762) exited]
>> [Thread 0xb635cb90 (LWP 21763) exited]
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> [Switching to Thread 0xb6d9ea30 (LWP 21759)]
>> 0x00000000 in ?? ()
>> (gdb) bt
>> #0  0x00000000 in ?? ()
>> #1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
>> #2  0xb758f46a in close_edit (edit_baton=0x80de6f0, pool=0x80b29f8) at subversion/libsvn_repos/commit.c:745
>> #3  0xb76ae504 in import (path=0x8069da9 "", new_entries=0x80be3d8, editor=0x80ddd98, edit_baton=0x80de6f0, depth=svn_depth_infinity,
>>    excludes=0x80be370, no_ignore=0, ignore_unknown_node_types=0, ctx=0x8089198, pool=0x80b29f8) at subversion/libsvn_client/commit.c:589
>> #4  0xb76aed99 in svn_client_import4 (path=0x8069da9 "", url=0x80be328 "file:///tmp/daniel/sandbox/r1", depth=svn_depth_infinity,
>>    no_ignore=0, ignore_unknown_node_types=0, revprop_table=0x0, ctx=0x8089198, pool=0x8088978) at subversion/libsvn_client/commit.c:811
>> #5  0x08053be6 in svn_cl__import (os=0x8088b20, baton=0xbfffdf48, pool=0x8088978) at subversion/svn/import-cmd.c:114
>> #6  0x0805b2d0 in main (argc=6, argv=0xbfffe194) at subversion/svn/main.c:2331
>> (gdb) up
>> #1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
>> 351       err1 = (*db->callback)(commit_info, db->callback_baton, pool);
>> (gdb) p *db->callback
>> Cannot access memory at address 0x0
>> (gdb) p db
>> $1 = (struct deltify_etc_baton *) 0x80ddba0
>> (gdb) p db->callback
>> $2 = (svn_commit_callback2_t) 0
>> (gdb)
>>
>>
>> Daniel
>> (not sure if I'll have time to dig into this one)
>
> Looks to be a pretty simple fix; I'll do it.

The fix should be in r967169.

-Hyrum

Re: segfault around svn_commit_callback2_t

Posted by "Hyrum K. Wright" <hy...@mail.utexas.edu>.
On Fri, Jul 23, 2010 at 1:26 PM, Daniel Shahaf <d....@daniel.shahaf.name> wrote:
> When running my standard "create a Greek tree repos+wc to experiment in" wc, I get a segfault:
>
> #1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
> 351       err1 = (*db->callback)(commit_info, db->callback_baton, pool);
>
> The full script is attached, and here is the tail of the run:
>
>
> + echo ### Importing it...
> ### Importing it...
> + cd import-me
> + /home/daniel/prefix/apache2/build/libtool --mode=execute gdb --args /home/daniel/src/svn/trunk.d/subversion/svn/svn import -q -m Initial import. file:////tmp/daniel/sandbox/r1
> GNU gdb 6.8-debian
> Copyright (C) 2008 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "i486-linux-gnu"...
> (gdb) run
> Starting program: /home/daniel/src/svn/trunk.d/subversion/svn/.libs/lt-svn import -q -m Initial\ import. file:////tmp/daniel/sandbox/r1
> [Thread debugging using libthread_db enabled]
> [New Thread 0xb6d9ea30 (LWP 21759)]
> [New Thread 0xb6b5db90 (LWP 21762)]
> [New Thread 0xb635cb90 (LWP 21763)]
> [Thread 0xb6b5db90 (LWP 21762) exited]
> [Thread 0xb635cb90 (LWP 21763) exited]
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0xb6d9ea30 (LWP 21759)]
> 0x00000000 in ?? ()
> (gdb) bt
> #0  0x00000000 in ?? ()
> #1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
> #2  0xb758f46a in close_edit (edit_baton=0x80de6f0, pool=0x80b29f8) at subversion/libsvn_repos/commit.c:745
> #3  0xb76ae504 in import (path=0x8069da9 "", new_entries=0x80be3d8, editor=0x80ddd98, edit_baton=0x80de6f0, depth=svn_depth_infinity,
>    excludes=0x80be370, no_ignore=0, ignore_unknown_node_types=0, ctx=0x8089198, pool=0x80b29f8) at subversion/libsvn_client/commit.c:589
> #4  0xb76aed99 in svn_client_import4 (path=0x8069da9 "", url=0x80be328 "file:///tmp/daniel/sandbox/r1", depth=svn_depth_infinity,
>    no_ignore=0, ignore_unknown_node_types=0, revprop_table=0x0, ctx=0x8089198, pool=0x8088978) at subversion/libsvn_client/commit.c:811
> #5  0x08053be6 in svn_cl__import (os=0x8088b20, baton=0xbfffdf48, pool=0x8088978) at subversion/svn/import-cmd.c:114
> #6  0x0805b2d0 in main (argc=6, argv=0xbfffe194) at subversion/svn/main.c:2331
> (gdb) up
> #1  0xb7629b6a in deltify_etc (commit_info=0xb5abdbc8, baton=0x80ddba0, pool=0x80b29f8) at subversion/libsvn_ra_local/ra_plugin.c:351
> 351       err1 = (*db->callback)(commit_info, db->callback_baton, pool);
> (gdb) p *db->callback
> Cannot access memory at address 0x0
> (gdb) p db
> $1 = (struct deltify_etc_baton *) 0x80ddba0
> (gdb) p db->callback
> $2 = (svn_commit_callback2_t) 0
> (gdb)
>
>
> Daniel
> (not sure if I'll have time to dig into this one)

Looks to be a pretty simple fix; I'll do it.

-Hyrum