You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Olaf Hering <ol...@suse.de> on 2003/07/13 15:08:47 UTC

viewcvs and error handling in swig python bindings

Hello,

the viewcvs cvs from yesterday does not work for some reason. I debugged
it and it misses some symbol. The function that does resolve these syms
does either return a pointer or NULL. In my case, the NULL was passed
down to other functions, a segfault was the result.
that leads to two questions:

Who must provide "SWIGTYPE_p_svn_log_changed_path_t"?
Why does svn_swig_py_thunk_log_receiver() not verify the SWIG_TypeQuery() return value?

wwwrun@ibook:~> LANG=C /home/builds/obj/gdb/gdb/gdb /home/builds/install/bin/python
GNU gdb 20030712
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "powerpc-unknown-linux-gnu"...
(gdb) r /home/builds/bar/standalone.py
Starting program: /home/builds/install/bin/python /home/builds/bar/standalone.py
[New Thread 16384 (LWP 3248)]
server ready at http://localhost:7467/

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 3248)]
SWIG_NewPointerObj (ptr=0x102e29e8, type=0x0, own=0) at libpy.c:548
548         strcpy(r,type->name);
(gdb) bt
#0  SWIG_NewPointerObj (ptr=0x102e29e8, type=0x0, own=0) at libpy.c:548
#1  0x0f967f70 in SWIG_NewPointerObj (ptr=0x102e29e8, type=0x0, own=0) at libpy.c:547
#2  0x0f941a40 in convert_hash (hash=0x102e2968, converter_func=0, ctx=0x0) at /home/builds/src/subversion-0.25.0/subversion/bindings/swig/swigutil_py.c:132
#3  0x0f94384c in svn_swig_py_thunk_log_receiver (baton=0x10273818, changed_paths=0x102e2968, rev=2, author=0x102eabc8 "olaf", 
    date=0x102f2b98 "2003-07-12T18:07:39.786600Z", 
    msg=0x102eec10 "mimetype text:\nAfterStep.desktop AfterStep.spec COPYRIGHT ChangeLog INSTALL Makefile.in\nNEW README README.HPUX README.RedHat README.SOLARIS TEAM UPGRADE\nconfigure configure.h.in install.script test.st"..., pool=0x102e28f0) at /home/builds/src/subversion-0.25.0/subversion/bindings/swig/swigutil_py.c:1054
#4  0x0f5ab338 in svn_repos_get_logs (repos=0x100ff31c, paths=0x102e2968, start=271526808, end=271494088, discover_changed_paths=271460592, 
    strict_node_history=271510544, receiver=0xf9437b4 <svn_swig_py_thunk_log_receiver>, receiver_baton=0x10273818, pool=0x0)
    at /home/builds/src/subversion-0.25.0/subversion/libsvn_repos/log.c:283
#5  0x0f5d90f8 in _wrap_svn_repos_get_logs (self=0x7fffde91, args=0x100ff31c) at subversion/bindings/swig/python/svn_repos.c:1903

builds@ibook:~/src/subversion-0.25.0> svn info
Path: 
Url: http://svn.collab.net/repos/svn/trunk
Repository UUID: 65390229-12b7-0310-b90b-f21a5aa7ec8e
Revision: 6456
Node Kind: directory
Schedule: normal
Last Changed Author: philip
Last Changed Rev: 6456
Last Changed Date: 2003-07-12 13:06:11 +0200 (Sat, 12 Jul 2003)
Properties Last Updated: 2003-05-19 17:00:39 +0200 (Mon, 19 May 2003)



-- 
USB is for mice, FireWire is for men!

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: viewcvs and error handling in swig python bindings

Posted by Russell Yanofsky <re...@columbia.edu>.
Olaf Hering wrote:
> Hello,
>
> the viewcvs cvs from yesterday does not work for some reason. I
> debugged
> it and it misses some symbol. The function that does resolve these
> syms
> does either return a pointer or NULL. In my case, the NULL was passed
> down to other functions, a segfault was the result.
> that leads to two questions:
>
> Who must provide "SWIGTYPE_p_svn_log_changed_path_t"?
> Why does svn_swig_py_thunk_log_receiver() not verify the
> SWIG_TypeQuery() return value?

A workaround for this bug is to set "show_changed_paths = 0" in viewcvs.conf.
There's also a fix which hasn't been committed yet but is posted here:

http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=40022

And there's another description of the problem here:

http://mailman.lyra.org/pipermail/viewcvs-dev/2003-July/001075.html

- Russ




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org