Comments you submit will be routed for moderation. If you have an account, please log in first.
Modify

Ticket #211 (closed defect: invalid)

Opened 6 years ago

Last modified 6 years ago

segfault when opening repository

Reported by: moltonel Owned by: alwin
Priority: normal Milestone: not applicable
Component: All Version: 0.14.x
Severity: crash Keywords:
Cc:

Description

I have a systematic segfault when opening a certain repository. No problem with the official CLI client, or with kdesvn on other repositories.

Repository protocol is ' svn://', and the server is on a vpn.

Gdb stack is :

(gdb) run
Starting program: /usr/bin/kdesvn
kdesvn: Appname = kdesvn
kdesvn: Enable update
kdesvn: Create cache for /home/work/svn/binaryServer
[New LWP 25095]

Program received signal SIGSEGV, Segmentation fault.
[Switching to LWP 25095]
0x00002b4f3d645bd2 in apr_palloc () from /usr/lib/libapr-0.so.0
(gdb) bt full
#0  0x00002b4f3d645bd2 in apr_palloc () from /usr/lib/libapr-0.so.0
No symbol table info available.
#1  0x00002b4f3d6400d1 in ?? () from /usr/lib/libapr-0.so.0
No symbol table info available.
#2  0x00002b4f3d6406af in apr_socket_create_ex () from /usr/lib/libapr-0.so.0
No symbol table info available.
#3  0x00002b4f40427bd2 in ?? () from /usr/lib/libsvn_ra_svn-1.so.0
No symbol table info available.
#4  0x00002b4f404282d2 in ?? () from /usr/lib/libsvn_ra_svn-1.so.0
No symbol table info available.
#5  0x00002b4f3ea9b539 in svn_ra_open2 () from /usr/lib/libsvn_ra-1.so.0
No symbol table info available.
#6  0x00002b4f3e006a2e in svn_client_status2 ()
   from /usr/lib/libsvn_client-1.so.0
No symbol table info available.
#7  0x00002b4f3ddbbe1b in localStatus (path=@0x41001060, descend=true,
    get_all=false, update=true, no_ignore=false, hide_externals=false,
    context=0x902450)
    at /var/tmp/portage/dev-util/kdesvn-0.14.1/work/kdesvn-0.14.1/src/svnqt/client_status.cpp:225
        entries = (
    QValueList<svn::SharedPointer<svn::Status> > &) @0x41001050: {
  sh = 0x912220}
        error = (svn_error_t *) 0x41001060
        entries = {sh = 0x0}
        status_hash = (apr_hash_t *) 0x2aaaac0131e0
        revnum = 47619340282039
        rev = {m_revision = {kind = svn_opt_revision_head, value = {
      number = 0, date = 0}}, static START = svn_opt_revision_number,
  static BASE = svn_opt_revision_base, static HEAD = svn_opt_revision_head,
  static WORKING = svn_opt_revision_working,
  static UNDEFINED = svn_opt_revision_unspecified,
  static PREV = svn_opt_revision_previous}
        pool = {_vptr.Pool = 0x2b4f3dfe4550, m_parent = 0x0,
  m_pool = 0x2aaaac013178, static s_initialized = true}
        baton = {pool = 0x2aaaac013178, hash = 0x2aaaac0131e0, m_Context = 0x0}
        statusarray = (apr_array_header_t *) 0x0
        i = 14
#8  0x00002b4f3ddbc5de in svn::Client_impl::status (this=0x911f40,
    path=@0x41001060, descend=true, get_all=false, update=true,
    no_ignore=false, revision=@0x41001030, detailed_remote=false,
    hide_externals=false)
    at /var/tmp/portage/dev-util/kdesvn-0.14.1/work/kdesvn-0.14.1/src/svnqt/client_status.cpp:311
No locals.
#9  0x00002b4f3ccedd58 in CheckModifiedThread::run (this=0x902300)
    at /var/tmp/portage/dev-util/kdesvn-0.14.1/work/kdesvn-0.14.1/src/svnfrontend/modifiedthread.cpp:66
        where = {m_revision = {kind = svn_opt_revision_head, value = {
      number = 0, date = 0}}, static START = svn_opt_revision_number,
  static BASE = svn_opt_revision_base, static HEAD = svn_opt_revision_head,
  static WORKING = svn_opt_revision_working,
  static UNDEFINED = svn_opt_revision_unspecified,
  static PREV = svn_opt_revision_previous}
        ex = {static null = {
    static null = <same as static member of an already seen type>,
    d = 0x61fda0, static shared_null = 0x61fda0}, d = 0x61fda0,
  static shared_null = 0x61fda0}
        k = (struct KApplication *) 0x0
#10 0x00002b4f3625ad0b in QThreadInstance::start ()
   from /usr/qt/3/lib/libqt-mt.so.3
No symbol table info available.
#11 0x00002b4f3ab643a7 in ?? () from /lib/libpthread.so.0
No symbol table info available.
#12 0x00002b4f3911eb9d in clone () from /lib/libc.so.6
No symbol table info available.
#13 0x0000000000000000 in ?? ()
No symbol table info available.

kdesvn compiled from gentoo package (debug enabled, and no fancy compiler flags). Intel pc, 64bits.

If you want, I can recompile libapr and libsvn with debug enabled, or provide you with a coredump.

Thanks in advance :)

Attachments

Change History

comment:1 Changed 6 years ago by alwin

  • does this happen when you disable "Start check for updates when open a working copy"?
  • does this happen when you using another protocol to this repository?
  • did you try it from within another distribution than gentoo?

I ask this 'cause it works perfect to me. And the backtrace looks like classic gentoo-build-problem-dump I saw a lot the last two years.

It makes no sense to me that it crashes in apr-lib, is it real the same like that one you build kdesvn with? did kdesvn 0.14.0 or earlier work?

comment:2 Changed 6 years ago by moltonel

  • Status changed from new to closed
  • Resolution set to invalid

Disabling "Start check for updates when open a working copy" fixes the segfault-on-open. Clicking "update to head" (or any action that needs to contact the server, it seems) after it is loaded gives me the same segfault.

This repository is only acessible via  svn:// (I can't change this). Incidentally, all my repositories that are  ssh+svn:// work fine, but the  svn:// ones don't.

(checking something about apr...)

Ah, I had two versions of apr installed and kdesvn was using the old one (0.9.12 vs 1.2.11). After removing the old one and recompiling kdesvn, things are fine again.

Sorry for bugging you with pebcak / distro-specific problem. Closing bug.

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.

Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken. Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.

Da Politiker im Regelfall von neuen Dingen nichts verstehen, halten wir es für notwendig, sie davor zu schützen. Dies ist im beidseitigen Interesse, da unnötige Angstzustände bei Ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsüchtigen Politikern schützt.

Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.

Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.

Mehr Informationen unter www.politiker-stopp.de.