Hi,

I am trying to get this plugin working with vdr 1.7.7.  When I bring it
up from the menu it segmentation faults.  The relevant sections from the
backtrace are :

#0  0x00000000004a4b2d in cBitmap::DrawText (this=0x2acb4e0, x=10, y=3, 
    s=0x7fdb8302fb90 "SysInfo 0.1.0a", ColorFg=4278190080,
ColorBg=2164260863, 
    Font=0x754040, Width=0, Height=0, Alignment=5) at osd.c:454
454          int w = Font->Width(s);

And the full thread bt is

Thread 1 (process 31944):
#0  0x00000000004a4b2d in cBitmap::DrawText (this=0x2acb4e0, x=10, y=3, 
    s=0x7fdb8302fb90 "SysInfo 0.1.0a", ColorFg=4278190080,
ColorBg=2164260863, 
    Font=0x754040, Width=0, Height=0, Alignment=5) at osd.c:454
        w = <value optimized out>
        limit = <value optimized out>
        cw = <value optimized out>
        h = <value optimized out>
        ch = <value optimized out>
#1  0x00000000004a5b3a in cOsd::DrawText (this=0x12b5f80, x=10, y=3, 
    s=0x7fdb8302fb90 "SysInfo 0.1.0a", ColorFg=4278190080,
ColorBg=2164260863, 
    Font=0x754040, Width=0, Height=0, Alignment=5) at osd.c:856
        i = 1
#2  0x00007fdb8325a34e in PluginXine::cXineOsd::DrawText
(this=0x12b5f80, 
    x=10, y=3, s=0x7fdb8302fb90 "SysInfo 0.1.0a", ColorFg=4278190080, 
---Type <return> to continue, or q <return> to quit--- 
    ColorBg=2164260863, Font=0x754040, Width=0, Height=0, Alignment=5)
    at xineOsd.c:331
        osdLock = {mutex = 0x7fdb85342f40, locked = true}
#3  0x00007fdb8302cc33 in cSysInfoOsd::DrawMenu (this=0x2ad3f50)
    at sysinfoosd.c:204
No locals.
#4  0x00007fdb8302cd33 in cSysInfoOsd::PleaseWait (this=0x754040)
    at sysinfoosd.c:96
        cTemp = "\200_+\001\000\000\000\000\222pJ\000\000\000\000\000\006\000
\000\000\000\000\000\000\200_+\001\001\000\000\000\000\000\000\000\001
\000\000\000\001\000\000\000\000\000\000\000\006\000\000\000\000\000\000
\000\200_+\001\000\000\000\000\200�N\215�\177\000\00009\225\000\000\000
\000\000\001\000\000\000\000\000\000\000\226�%\203�\177\000\000@/4\205"
#5  0x00007fdb8302ce71 in cSysInfoOsd::Show (this=0x2ad3f50) at
sysinfoosd.c:87
        Area = {x1 = 0, y1 = 0, x2 = 623, y2 = 483, bpp = 2}
#6  0x00000000004dec52 in main (argc=<value optimized out>, 
    argv=<value optimized out>) at vdr.c:1154
        state = osPlugin
        Now = 1243887926
        Interact = (class cOsdObject *) 0xe0caf0
        key = kOk
        savedTm = {c_iflag = 7595072, c_oflag = 0, c_cflag = 1040, 
  c_lflag = 0, c_line = 0 '\0', 
  c_cc = "�\217\203�\177\000\000p\231L\205�\177\000\000 \004\000\000\000
\000\000\000����\000\000\000\000�", c_ispeed = 32731, c_ospeed =
7558488}
        HasStdin = false
        StartedAsRoot = <value optimized out>
        VdrUser = 0x0
        UserDump = false
        SVDRPport = 2001
        AudioCommand = 0x0
        ConfigDirectory = 0x7fff8d4eee6f "/etc/vdr"
        EpgDataFileName = 0x504bd9 "epg.data"
        DisplayHelp = 48
        DisplayVersion = false
        DaemonMode = false
        SysLogTarget = <value optimized out>
        MuteAudio = false
        WatchdogTimeout = 60
        Terminal = 0x1 <Address 0x1 out of bounds>
        LocaleDir = 0x0
        UseKbd = true
        LircDevice = 0x0
        RcuDevice = 0x0
        PluginManager = {_vptr.cPluginManager = 0x4fac10, 
  static pluginManager = 0x7fff8d4ede70, 
  directory = 0x74e0b0 "/etc/vdr/plugins/lib", lastHousekeeping =
1243887910, 
---Type <return> to continue, or q <return> to quit---
  nextHousekeeping = 0, dlls = {<cList<cDll>> = {<cListBase> = {
        _vptr.cListBase = 0x4fadb0, objects = 0x74e0f0, lastObject =
0x74e1e0, 
        count = 2}, <No data fields>}, <No data fields>}}
        c = <value optimized out>
        CodeSet = <value optimized out>
        Menu = (class cOsdObject *) 0x754040
        LastChannel = 6
        LastTimerChannel = -1
        PreviousChannel = {1, 6}
        PreviousChannelIndex = 1
        LastChannelChanged = 1243887689
        LastInteract = 1243887926
        MaxLatencyTime = 1
        InhibitEpgScan = false
        IsInfoMenu = false
        CheckHasProgramme = false
        CurrentSkin = <value optimized out>
        long_options = {{name = 0x4f1b2d "audio", has_arg = 1, flag = 0x0, 
    val = 97}, {name = 0x504e9d "config", has_arg = 1, flag = 0x0, val =
99}, {
    name = 0x504ea4 "daemon", has_arg = 0, flag = 0x0, val = 100}, {
    name = 0x504eab "device", has_arg = 1, flag = 0x0, val = 68}, {
    name = 0x504eb2 "epgfile", has_arg = 1, flag = 0x0, val = 69}, {
    name = 0x504eba "grab", has_arg = 1, flag = 0x0, val = 103}, {
    name = 0x504ebf "help", has_arg = 0, flag = 0x0, val = 104}, {
    name = 0x504ec4 "instance", has_arg = 1, flag = 0x0, val = 105}, {
    name = 0x504bd5 "lib", has_arg = 1, flag = 0x0, val = 76}, {
    name = 0x504ecd "lirc", has_arg = 2, flag = 0x0, val = 364}, {
    name = 0x504ed2 "localedir", has_arg = 1, flag = 0x0, val = 620}, {
    name = 0x504edc "log", has_arg = 1, flag = 0x0, val = 108}, {
    name = 0x501208 "mute", has_arg = 0, flag = 0x0, val = 109}, {
    name = 0x504ee0 "no-kbd", has_arg = 0, flag = 0x0, val = 366}, {
    name = 0x504ee7 "plugin", has_arg = 1, flag = 0x0, val = 80}, {
    name = 0x504eee "port", has_arg = 1, flag = 0x0, val = 112}, {
    name = 0x504ef3 "rcu", has_arg = 2, flag = 0x0, val = 370}, {
    name = 0x504ef7 "record", has_arg = 1, flag = 0x0, val = 114}, {
    name = 0x504efe "shutdown", has_arg = 1, flag = 0x0, val = 115}, {
    name = 0x504f07 "terminal", has_arg = 1, flag = 0x0, val = 116}, {
    name = 0x504f10 "user", has_arg = 1, flag = 0x0, val = 117}, {
    name = 0x504f15 "userdump", has_arg = 0, flag = 0x0, val = 373}, {
    name = 0x4f65cc "version", has_arg = 0, flag = 0x0, val = 86}, {
    name = 0x504f1e "vfat", has_arg = 0, flag = 0x0, val = 374}, {
    name = 0x504c92 "video", has_arg = 1, flag = 0x0, val = 118}, {
    name = 0x504f23 "watchdog", has_arg = 1, flag = 0x0, val = 119}, {
    name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
        lastTime = 0
        ChannelSaveTimeout = 1243888290
        TimerState = 0
---Type <return> to continue, or q <return> to quit---#
        LastTimerCheck = 1243887920
        DeviceUsed = {0 <repeats 16 times>}

to me this looks like the Font passed into DrawText is invalid.  This is
set up in sysinfoosd.h thus:

static const cFont *font = cFont::GetFont(fontOsd);

Is there something obvious here that someone with more experience of the
code can spot?

Thanks,

Scott


_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to