Project

General

Profile

Actions

Bug #1609

open

Plugin startet nicht: WARNING: The following plugins have been left out due to really binary incompatibility: upnp.

Added by Anonymous about 11 years ago. Updated almost 11 years ago.

Status:
New
Priority:
High
Assignee:
-
Category:
Segmentation Faults
Target version:
-
Start date:
11/10/2013
Due date:
% Done:

0%

Estimated time:

Description

Actions #1

Updated by stauraum about 11 years ago

Das Problem besteht auch bei 12.04 x86_64 mit Stable-Quellen:


WARNING: The following plugins have been left out due to really binary incompatibility: upnp.

Zeitgleich mit einem Start des VDR taucht im syslog folgende Meldung auf. Der VDR stürzt dann ab.

Nov 12 14:04:35 bruno vdr: [8148] ERROR: thread 8179 won't end (waited 10 seconds) - canceling it...
Nov 12 14:04:44 bruno kernel: [406979.701699] vdr[27708]: segfault at 0 ip 00007f62292edeef sp 00007fffb7fa8d80 error 4 in libtntdb.so.2.0.0[7f62292e2000+1e000]


root@bruno ~ # vdr -V
Nov 12 14:10:07.185 [general.debug] using new 1.7.11+ capture code
vdr (2.0.3/2.0.0) - The Video Disk Recorder
quickepgsearch (0.0.1) - Quick search for broadcasts
epgsearch (1.0.1.beta5) - search the EPG for repeats and more
upnp (1.0.0) - UPnP/DLNA compliant Media Server functionality for VDR
streamdev-server (0.6.0-git) - VDR Streaming Server
epgsearchonly (0.0.1) - Direct access to epgsearch's search menu
wirbelscan (0.0.7) - DVB and pvrinput channel scan for VDR
xvdr (0.9.9) - XVDR Server
live (0.3.0) - Live Interactive VDR Environment
conflictcheckonly (0.0.1) - Direct access to epgsearch's conflict check menu
vnsiserver3 (0.9.1) - VDR-Network-Streaming-Interface (VNSI) Server
[1] 29110 segmentation fault (core dumped) vdr -V

Actions #2

Updated by christoph almost 11 years ago

Ich denke der Segfault wird im cMediaServer::~cMediaServer Destructor ausgelöst (vgl Backtrace):
------------------------------------------------------------------------------------------------------------------------ | Problematischer Destructor:
------------------------------------------------------------------------------------------------------------------------
try {
mConnection.execute("VACUUM");
} catch (const std::exception& e) {
esyslog("UPnP\tFailed to vacuum database: '%s'", e.what());
}
------------------------------------------------------------------------------------------------------------------------

Das eigentliche Problem war (zumindest auf meiner Box), dass libtntdb ohne tntdb-sqlite4 installiert war und somit, die Datenbankkommunikation nicht funktioniert.


| Syslog
------------------------------------------------------------------------------------------------------------------------
UPnP#011Exception occurred while connecting to database 'sqlite:/metadata.db': /usr/lib/tntdb/libtntdb4-sqlite.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
| Backtrace
------------------------------------------------------------------------------------------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff3cfe82d in tntdb::Connection::execute(std::string const&) () from /usr/lib/libtntdb.so.4
(gdb) bt
#0 0x00007ffff3cfe82d in tntdb::Connection::execute(std::string const&) () from /usr/lib/libtntdb.so.4
#1 0x00007ffff4782a73 in upnp::cMediaServer::~cMediaServer (this=0x7ffff49e3b20 <upnp::cMediaServer::GetInstance()::server>, _in_chrg=<optimized out>) at server/server.cpp:69
#2 0x00007ffff62cf071 in __run_exit_handlers (status=2, listp=0x7ffff66546a8 <
_exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:77
#3 0x00007ffff62cf0f5 in __GI_exit (status=<optimized out>) at exit.c:99
#4 0x00007ffff62b4dec in __libc_start_main (main=0x463d50 <main(int, char**)>, argc=5, ubp_av=0x7fffffffdad8, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7fffffffdac8) at libc-start.c:294
#5 0x00000000004679fe in _start ()
(gdb) frame 1
#1 0x00007ffff4782a73 in upnp::cMediaServer::~cMediaServer (this=0x7ffff49e3b20 <upnp::cMediaServer::GetInstance()::server>, __in_chrg=<optimized out>) at server/server.cpp:69
  • 69 mConnection.execute("VACUUM");*
    ------------------------------------------------------------------------------------------------------------------------
Actions #3

Updated by christoph almost 11 years ago

Bitte entschuldigt diese hässliche Formatierung, aber igendwie scheint man das in diesem Bugtracker nicht mehr korrigieren zu können?!

Actions #4

Updated by christoph almost 11 years ago

Ich habe gerade das Plugin wieder erfolgreich am Laufen auf einem Ubuntu 13.10 System. Es war sehr schwer den eigentlichen Fehler zu finden:
Das Plugin benötigt beim Start des VDR zwingend den Parameter --db-dir, sonst quitiert es ohne Fehlermeldung den gesamten VDR. Das liegt daran, dass ohne die Angabe des Parameters versucht wird eine Datenbank in '/metadata.db' anzulegen.

Actions

Also available in: Atom PDF