[mythtv-users] MySQL related BE deadlocks - collective wisdom needed

Brian J. Murrell brian at interlinx.bc.ca
Fri Aug 5 21:41:42 UTC 2011


On 11-08-05 05:08 PM, Brian J. Murrell wrote:
> 
> AutoExpire has been running since I applied that patch, but not since
> that storage directory filled up at ~16:30:

And it's still not been run, now 1h15m since it was last run.  It's
clearly stuck.

Imagine my surprise at this thread's stack trace:

Thread 11 (Thread 0xaebe0b70 (LWP 13581)):
#0  0x00eea422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x00acaf5b in read () at ../sysdeps/unix/syscall-template.S:82
No locals.
#2  0x03f4aab8 in vio_read () from /usr/lib/libmysqlclient_r.so.16
No symbol table info available.
#3  0x03f4ab16 in vio_read_buff () from /usr/lib/libmysqlclient_r.so.16
No symbol table info available.
#4  0x03f4bd13 in ?? () from /usr/lib/libmysqlclient_r.so.16
No symbol table info available.
#5  0x03f4c0a7 in my_net_read () from /usr/lib/libmysqlclient_r.so.16
No symbol table info available.
#6  0x03f45a3f in cli_safe_read () from /usr/lib/libmysqlclient_r.so.16
No symbol table info available.
#7  0x03f46185 in ?? () from /usr/lib/libmysqlclient_r.so.16
No symbol table info available.
#8  0x03f152a6 in cli_stmt_execute () from /usr/lib/libmysqlclient_r.so.16
No symbol table info available.
#9  0x03f12a9f in mysql_stmt_execute () from /usr/lib/libmysqlclient_r.so.16
No symbol table info available.
#10 0x0280dba2 in QMYSQLResult::exec (this=0xa682ce58) at
../../../sql/drivers/mysql/qsql_mysql.cpp:1014
        timeVector = {{d = 0xa683c2b8, p = 0xa683c2b8}}
        stringVector = warning: can't find linker symbol for virtual
table for `QVector<QByteArray>' value
warning:   found `QString::shared_empty' instead
{{d = 0x3e8a490, p = 0x3e8a490}}
        nullVector = {{d = 0xa68251c0, p = 0xa68251c0}}
        values = {{d = 0xa6827d68, p = 0xa6827d68}}
        r = <value optimized out>
        currBind = 0xa6850e70
#11 0x00dd442c in QSqlQuery::exec (this=0xaebdf9b8) at
kernel/qsqlquery.cpp:939
No locals.
#12 0x00c5f1f3 in MSqlQuery::exec (this=0xaebdf9b8) at mythdbcon.cpp:504
        result = 3
#13 0x088c4096 in ProgramInfo::LoadProgramFromRecorded (this=0xa6828038,
_chanid=1019, _recstartts=...) at programinfo.cpp:1574
        query = {<QSqlQuery> = {d = 0xa68533c0}, m_db = 0x9c366e8,
m_isConnected = true, m_returnConnection = true, m_last_prepared_query =
{static null = {<No data fields>}, static shared_null = {ref = {_q_value
= 3812}, alloc = 0, size = 0, data = 0x3e8a47a, clean = 0, simpletext =
0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
{0}}, static shared_empty = {ref = {_q_value = 632}, alloc = 0, size =
0, data = 0x3e8a48e, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d =
0xa6844a50, static codecForCStrings = 0x0}}
        is_reload = 8
        new_basename = {static null = {<No data fields>}, static
shared_null = {ref = {_q_value = 3812}, alloc = 0, size = 0, data =
0x3e8a47a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0,
capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref =
{_q_value = 632}, alloc = 0, size = 0, data = 0x3e8a48e, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved
= 0, array = {0}}, d = 0xa6800010, static codecForCStrings = 0x0}
#14 0x088abe28 in ProgramInfo (this=0xa6828038, _chanid=1019,
_recstartts=...) at programinfo.cpp:234
No locals.
#15 0x08078ff6 in AutoExpire::FillDBOrdered (this=0x993ada8,
expireList=..., expMethod=2) at autoexpire.cpp:980
        pginfo = 0xa683ada0
        chanid = 1019
        recstartts = {d = {d = 0xa6824850}}
        querystr = {static null = {<No data fields>}, static shared_null
= {ref = {_q_value = 3812}, alloc = 0, size = 0, data = 0x3e8a47a, clean
= 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
632}, alloc = 0, size = 0, data = 0x3e8a48e, clean = 0, simpletext = 0,
righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
{0}}, d = 0xa68513b8, static codecForCStrings = 0x0}
        where = {static null = {<No data fields>}, static shared_null =
{ref = {_q_value = 3812}, alloc = 0, size = 0, data = 0x3e8a47a, clean =
0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
632}, alloc = 0, size = 0, data = 0x3e8a48e, clean = 0, simpletext = 0,
righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
{0}}, d = 0xa681c680, static codecForCStrings = 0x0}
        orderby = {static null = {<No data fields>}, static shared_null
= {ref = {_q_value = 3812}, alloc = 0, size = 0, data = 0x3e8a47a, clean
= 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
632}, alloc = 0, size = 0, data = 0x3e8a48e, clean = 0, simpletext = 0,
righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
{0}}, d = 0xa684b0f0, static codecForCStrings = 0x0}
        msg = {static null = {<No data fields>}, static shared_null =
{ref = {_q_value = 3812}, alloc = 0, size = 0, data = 0x3e8a47a, clean =
0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
632}, alloc = 0, size = 0, data = 0x3e8a48e, clean = 0, simpletext = 0,
righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
{0}}, d = 0xa684bd60, static codecForCStrings = 0x0}
        maxAge = 65576948
        query = {<QSqlQuery> = {d = 0xa681cc40}, m_db = 0xa68012f0,
m_isConnected = true, m_returnConnection = true, m_last_prepared_query =
{static null = {<No data fields>}, static shared_null = {ref = {_q_value
= 3812}, alloc = 0, size = 0, data = 0x3e8a47a, clean = 0, simpletext =
0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
{0}}, static shared_empty = {ref = {_q_value = 632}, alloc = 0, size =
0, data = 0x3e8a48e, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d =
0xa68513b8, static codecForCStrings = 0x0}}
#16 0x08076b45 in AutoExpire::FillExpireList (this=0x993ada8,
expireList=...) at autoexpire.cpp:760
        expMethod = 2
#17 0x0806f5b4 in AutoExpire::ExpireRecordings (this=0x993ada8) at
autoexpire.cpp:387
        fsit = {_M_current = 0x0}
        fsMap = {{d = 0xa681caa0, e = 0xa681caa0}}
        expireList = {<std::_Vector_base<ProgramInfo*,
std::allocator<ProgramInfo*> >> = {_M_impl =
{<std::allocator<ProgramInfo*>> =
{<__gnu_cxx::new_allocator<ProgramInfo*>> = {<No data fields>}, <No data
fields>}, _M_start = 0xa6846f00, _M_finish = 0xa6847158,
_M_end_of_storage = 0xa6847300}}, <No data fields>}
        deleteList = {<std::_Vector_base<ProgramInfo*,
std::allocator<ProgramInfo*> >> = {_M_impl =
{<std::allocator<ProgramInfo*>> =
{<__gnu_cxx::new_allocator<ProgramInfo*>> = {<No data fields>}, <No data
fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}},
<No data fields>}
        fsInfos = {<std::_Vector_base<FileSystemInfo,
std::allocator<FileSystemInfo> >> = {_M_impl =
{<std::allocator<FileSystemInfo>> =
{<__gnu_cxx::new_allocator<FileSystemInfo>> = {<No data fields>}, <No
data fields>}, _M_start = 0xa681c180, _M_finish = 0xa681c1e8,
_M_end_of_storage = 0xa681c1e8}}, <No data fields>}
        truncateMap = {{d = 0x1dcdff4, e = 0x1dcdff4}}
        query = {<QSqlQuery> = {d = 0xaebdffa8}, m_db = 0x81b6ff4,
m_isConnected = 156, m_returnConnection = 96, m_last_prepared_query =
{static null = {<No data fields>}, static shared_null = {ref = {_q_value
= 3812}, alloc = 0, size = 0, data = 0x3e8a47a, clean = 0, simpletext =
0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
{0}}, static shared_empty = {ref = {_q_value = 632}, alloc = 0, size =
0, data = 0x3e8a48e, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x3d0f00,
static codecForCStrings = 0x0}}
#18 0x0806e835 in AutoExpire::RunExpirer (this=0x993ada8) at
autoexpire.cpp:310
        timer = {mds = 58394290}
        curTime = {d = {d = 0xa6822788}}
        next_expire = {d = {d = 0xa68fe500}}
#19 0x0807452b in AutoExpire::ExpirerThread (param=0x993ada8) at
autoexpire.cpp:617
        expirer = 0x993ada8
#20 0x00ac396e in start_thread (arg=0xaebe0b70) at pthread_create.c:300
        __res = <value optimized out>
        __ignore1 = <value optimized out>
        __ignore2 = <value optimized out>
        pd = 0xaebe0b70
        now = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {11354100, 0,
4001536, -1363278808, 703299828, 228556200}, mask_was_saved = 0}}, priv
= {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
canceltype = 0}}}
        not_first_call = <value optimized out>
        robust = <value optimized out>
        freesize = <value optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#21 0x01d45a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

So, looks like this latest mysql patch is not fixing the problem.

Cheers,
b.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
Url : http://www.mythtv.org/pipermail/mythtv-users/attachments/20110805/2ac8e47d/attachment.bin 


More information about the mythtv-users mailing list