[mythtv] Android 32-bit failure
Peter Bennett
pb.mythtv at gmail.com
Tue Feb 11 17:54:24 UTC 2020
On 2/10/20 4:14 PM, Mark Spieth wrote:
> On 2/11/2020 7:54 AM, Peter Bennett wrote:
>> Hi Mark
>>
>> the gdb.sh script is having some problems. It complains that "target
>> remote :5039" in gdb.setup is invalid. However I can get it going by
>> manually typing in "target remote localhost:5039". It also objects if
>> I have "target remote localhost:5039" in gdb.setup.
>>
>> After typing that in manually it is still not working correctly. It
>> does not have its line numbers, it seems to be reading the libs from
>> android instead of using the local ones we have provided in so32.
>>
>> Anyway after typing that in manually I got to the place of the SIGBUS
>> error. It is in trying to connect to the database. Perhaps we need to
>> go back to mysql instead of mariadb:
>>
>> Thread 11 "qtMainLoopThrea" received signal SIGBUS, Bus error.
>> [Switching to Thread 4746.4972]
>> 0x8e103f0e in ma_send_connect_attr () from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmariadb.so
>> (gdb) bt
>> #0 0x8e103f0e () from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmariadb.so
>> #1 0x8e113d24 in ?? () from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmariadb.so
>> #2 0x8e113f1e in ?? () from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmariadb.so
>> #3 0x8e11392a in run_plugin_auth () from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmariadb.so
>> #4 0x8e104cc8 in mthd_my_real_connect () from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmariadb.so
>> #5 0x870f5b96 in ?? ()
>> from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libplugins_sqldrivers_qsqlmysql_armeabi-v7a.so
>> #6 0x8fdc20c0 in QSqlDatabase::open() ()
>> from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libQt5Sql_armeabi-v7a.so
>> #7 0x8c53e79c in MSqlDatabase::OpenDatabase(bool) ()
>> from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmythbase-32.so
>> #8 0x8c541b48 in MDBManager::popConnection(bool) ()
>> from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmythbase-32.so
>> #9 0x8c546ae8 in MSqlQuery::testDBConnection() ()
>> from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmythbase-32.so
>> #10 0x8bc847fc in MythContextPrivate::TestDBconnection(bool) ()
>> from target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmyth-32.so
>> #11 0x8bc7f6f0 in MythContextPrivate::FindDatabase(bool, bool) ()
>> from target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmyth-32.so
>> #12 0x8bc7ed68 in MythContextPrivate::Init(bool, bool, bool, bool) ()
>> from target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmyth-32.so
>> #13 0x8bc8b200 in MythContext::Init(bool, bool, bool, bool) ()
>> from target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmyth-32.so
>> --Type <RET> for more, q to quit, c to continue without paging--
>> #14 0x8aa29010 in main () from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libmythfrontend_armeabi-v7a.so
>> #15 0x8fd47e70 in ?? ()
>> from
>> target:/data/app/org.mythtv.mythfrontend-2/lib/arm/libplugins_platforms_qtforandroid_armeabi-v7a.so
>> #16 0xa980c316 in oatexec () from
>> target:/data/app/org.mythtv.mythfrontend-2/oat/arm/base.odex
>> Backtrace stopped: previous frame identical to this frame (corrupt
>> stack?)
>
> Wow. Didnt expect that. First I would roll back to using maria
> connector 2.1.0 and see. Should only be a comment out in the version
> since everything else is there. Try only remake mariadb and then clean
> apk or else everything just to be safe.
>
> Line numbers may still be available in libs/maria.../ somewhere. Or
> just do a disass on the top level and we should be able to figure out
> which line in ma_send_connect_attr is the culprit. I did an objdump
> but am not sure of the load address of the lib. Probably one of the
> memcpys is my guess.
>
> Cant test this right now.
>
> Mark
>
>
After some fixes to gdb.sh I get a better back trace. gdb refuses to
accept the "target temote" in the gdb.setup file, so I added an echo
"RUN THIS COMMAND" and you have to copy/paste the command. I will push
the changes to gdb.sh and to makelibs.sh. I have not yet tried your
suggestion of using a different version of mariadb. You can see here it
is failing in "len= *(size_t *)p"
Thread 11 "qtMainLoopThrea" received signal SIGBUS, Bus error.
[Switching to Thread 10748.10776]
ma_send_connect_attr (mysql=0xa542a000,
buffer=0xa558ee64 "Pin>cat</SecurityPin>\n
<USN>uuid:bcfa7f52-c934-480a-94c0-cceb4fc7d320::urn:schemas-mythtv-org:device:MasterMediaServer:1</USN>\n
</DefaultBackend>\n </MythFrontend>\n <UDN>\n <Media"...)
at
/home/peter/proj/github.com/MythTV/packaging/android/libs/mariadb-connector-c-2.3.7-src/libmariadb/libmariadb.c:1486
1486 len= *(size_t *)p;
(gdb) bt
#0 ma_send_connect_attr (mysql=0xa542a000,
buffer=0xa558ee64 "Pin>cat</SecurityPin>\n
<USN>uuid:bcfa7f52-c934-480a-94c0-cceb4fc7d320::urn:schemas-mythtv-org:device:MasterMediaServer:1</USN>\n
</DefaultBackend>\n </MythFrontend>\n <UDN>\n <Media"...)
at
/home/peter/proj/github.com/MythTV/packaging/android/libs/mariadb-connector-c-2.3.7-src/libmariadb/libmariadb.c:1486
#1 0x909e1d24 in send_client_reply_packet (mpvio=0x927ace98,
data=0x927ace57
"\237L\030\227\232\230l\360\264\331\371\233X\374\316\325e\201c\242\222\v\333D\377",
data_len=<optimized out>)
at
/home/peter/proj/github.com/MythTV/packaging/android/libs/mariadb-connector-c-2.3.7-src/libmariadb/my_auth.c:421
#2 client_mpvio_write_packet (mpv=0x927ace98,
pkt=0x927ace57
"\237L\030\227\232\230l\360\264\331\371\233X\374\316\325e\201c\242\222\v\333D\377",
pkt_len=<optimized out>)
at
/home/peter/proj/github.com/MythTV/packaging/android/libs/mariadb-connector-c-2.3.7-src/libmariadb/my_auth.c:520
#3 0x909e1f1e in native_password_auth_client (vio=0x927ace98,
mysql=<optimized out>)
at
/home/peter/proj/github.com/MythTV/packaging/android/libs/mariadb-connector-c-2.3.7-src/libmariadb/my_auth.c:138
#4 0x909e192a in run_plugin_auth (mysql=0xa542a000, data=0x8a2ad03f
"=79X206aeWbheAVj2ZO[", data_len=21,
data_plugin=0x8a2ad054 "mysql_native_password", db=0xa5430af0
"mythdbtmst")
at
/home/peter/proj/github.com/MythTV/packaging/android/libs/mariadb-connector-c-2.3.7-src/libmariadb/my_auth.c:652
#5 0x909d2cc8 in mthd_my_real_connect (mysql=<optimized out>,
host=0xa5430b90 "192.168.0.188", user=0xa5430b50 "mythtmst",
passwd=0xa5430e30 "mythtv", db=0xa5430af0 "mythdbtmst", port=3306,
unix_socket=<optimized out>, client_flag=65664)
at
/home/peter/proj/github.com/MythTV/packaging/android/libs/mariadb-connector-c-2.3.7-src/libmariadb/libmariadb.c:2048
#6 0x8a341b96 in QMYSQLDriver::open(QString const&, QString const&,
QString const&, QString const&, int, QString const&) ()
from
/home/peter/proj/github.com/MythTV/packaging/android/so32/libplugins_sqldrivers_qsqlmysql_armeabi-v7a.so
#7 0x926900c0 in QSqlDatabase::open() () from
/home/peter/proj/github.com/MythTV/packaging/android/so32/libQt5Sql_armeabi-v7a.so
#8 0x8ef0b79c in MSqlDatabase::OpenDatabase (this=0xa5479440,
skipdb=false) at mythdbcon.cpp:167
#9 0x8ef0eb48 in MDBManager::popConnection (this=0xa547b4b0,
reuse=true) at mythdbcon.cpp:340
#10 0x8ef13ae8 in MSqlQuery::testDBConnection () at mythdbcon.cpp:854
#11 0x8e7507fc in MythContextPrivate::TestDBconnection (this=0xa547b960,
prompt=true) at mythcontext.cpp:935
#12 0x8e74b6f0 in MythContextPrivate::FindDatabase (this=0xa547b960,
prompt=false, noAutodetect=false) at mythcontext.cpp:441
#13 0x8e74ad68 in MythContextPrivate::Init (this=0xa547b960, gui=true,
promptForBackend=false, noPrompt=false, ignoreDB=false)
at mythcontext.cpp:357
#14 0x8e757200 in MythContext::Init (this=0xa5431130, gui=true,
promptForBackend=false, disableAutoDiscovery=false, ignoreDB=false)
at mythcontext.cpp:1635
#15 0x8d4f5010 in main (argc=3, argv=0x927ae838) at main.cpp:1925
#16 0x92615e70 in startQtApplication(_JNIEnv*, _jclass*) ()
from
/home/peter/proj/github.com/MythTV/packaging/android/so32/libplugins_platforms_qtforandroid_armeabi-v7a.so
#
(gdb) bt full
#0 ma_send_connect_attr (mysql=0xa542a000,
buffer=0xa558ee64 "Pin>cat</SecurityPin>\n
<USN>uuid:bcfa7f52-c934-480a-94c0-cceb4fc7d320::urn:schemas-mythtv-org:device:MasterMediaServer:1</USN>\n
</DefaultBackend>\n </MythFrontend>\n <UDN>\n <Media"...)
at
/home/peter/proj/github.com/MythTV/packaging/android/libs/mariadb-connector-c-2.3.7-src/libmariadb/libmariadb.c:1486
p = 0x8a2b326f "\a"
len = 3
i = 0
More information about the mythtv-dev
mailing list