We have moved to a new Sailfish OS Forum. Please start new discussions there.
2

nemo-transfer-engine is crashing (SFOS 3.3.0.16) [answered]

asked 2020-05-03 18:48:16 +0200

Karry gravatar image

updated 2020-05-03 18:51:32 +0200

Hi.

I added my OwnCloud server as NextCloud account (at least webdav part should be compatible right?). Phone backups works fine, backup archives are uploaded to the server. But nemo-transfer-engine is crashing frequently. It seems that NextCloud plugin is the cause (from stacktrace).

[nemo@Sailfish ~]$ systemctl --user stop transferengine.service
[nemo@Sailfish ~]$ /usr/bin/nemo-transfer-engine
corrupted size vs. prev_size
Aborted (core dumped)

[nemo@Sailfish ~]$ gdb /usr/bin/nemo-transfer-engine core.11041

...
# Here is backtrace:
(gdb) bt
#0  __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
#1  0xb6460bda in __libc_signal_restore_set (set=0xbefaeee4) at ../sysdeps/unix/sysv/linux/internal-signals.h:84
#2  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:48
#3  0xb644a7b2 in __GI_abort () at abort.c:79
#4  0xb648f0e6 in __libc_message (action=action@entry=do_abort, fmt=<optimized out>) at ../sysdeps/posix/libc_fatal.c:181
#5  0xb6494b5e in malloc_printerr (str=<optimized out>) at malloc.c:5332
#6  0xb6495140 in unlink_chunk (p=<optimized out>, av=<optimized out>) at malloc.c:1454
#7  0xb6495d6c in malloc_consolidate (av=av@entry=0xb654559c <main_arena>) at malloc.c:4502
#8  0xb64971be in _int_malloc (av=av@entry=0xb654559c <main_arena>, bytes=bytes@entry=552) at malloc.c:3699
#9  0xb6498808 in __GI___libc_malloc (bytes=bytes@entry=552) at malloc.c:3066
#10 0xb58b2ff0 in sqlite3MemMalloc (nByte=544) at sqlite3.c:20177
#11 0xb5893f22 in mallocWithAlarm (pp=<synthetic pointer>, n=<optimized out>) at sqlite3.c:23846
#12 sqlite3Malloc (n=<optimized out>) at sqlite3.c:23877
#13 sqlite3Malloc (n=<optimized out>) at sqlite3.c:23866
#14 0xb589523c in dbMallocRawFinish (db=0xb8805e78, n=<optimized out>) at sqlite3.c:24203
#15 0xb58952e8 in sqlite3DbMallocZero (db=db@entry=0xb8805e78, n=<optimized out>) at sqlite3.c:24191
#16 0xb58f3a98 in sqlite3Prepare (db=db@entry=0xb8805e78, zSql=zSql@entry=0xbefaf3b4 "SELECT name, provider, enabled FROM Accounts WHERE id = 18", nBytes=nBytes@entry=-1, saveSqlFlag=saveSqlFlag@entry=1, pReprepare=pReprepare@entry=0x0, 
    ppStmt=ppStmt@entry=0xbefaf36c, pzTail=pzTail@entry=0x0) at sqlite3.c:112526
#17 0xb58f3ecc in sqlite3LockAndPrepare (pzTail=0x0, ppStmt=0xbefaf36c, pOld=0x0, saveSqlFlag=1, nBytes=-1, zSql=0xbefaf3b4 "SELECT name, provider, enabled FROM Accounts WHERE id = 18", db=0xb8805e78) at sqlite3.c:112688
#18 sqlite3LockAndPrepare (db=0xb8805e78, zSql=0xbefaf3b4 "SELECT name, provider, enabled FROM Accounts WHERE id = 18", nBytes=-1, saveSqlFlag=1, pOld=0x0, ppStmt=0xbefaf36c, pzTail=0x0) at sqlite3.c:47132
#19 0xb58f4098 in sqlite3_prepare_v2 (db=db@entry=0xb8805e78, zSql=zSql@entry=0xbefaf3b4 "SELECT name, provider, enabled FROM Accounts WHERE id = 18", nBytes=nBytes@entry=-1, ppStmt=ppStmt@entry=0xbefaf36c, pzTail=pzTail@entry=0x0)
    at sqlite3.c:112764
#20 0xb63ebf48 in _ag_manager_exec_query (manager=0xb86fd690, callback=0xb63e62c1 <got_account>, user_data=user_data@entry=0xb87a5640, sql=sql@entry=0xbefaf3b4 "SELECT name, provider, enabled FROM Accounts WHERE id = 18") at ag-manager.c:2552
#21 0xb63e7e76 in ag_account_load (error=0xbefaf4b0, account=0xb87a5670) at ag-account.c:850
#22 ag_account_initable_init (initable=<optimized out>, cancellable=<optimized out>, error=0xbefaf4b0) at ag-account.c:880
#23 0xb630b9d0 in g_initable_new_valist (object_type=<optimized out>, first_property_name=0xb63eed64 "manager", var_args=..., cancellable=0x0, error=0xbefaf4b0) at ../gio/ginitable.c:248
#24 0xb630ba06 in g_initable_new (object_type=<optimized out>, cancellable=cancellable@entry=0x0, error=error@entry=0xbefaf4b0, first_property_name=0xb63eed64 "manager") at ../gio/ginitable.c:162
#25 0xb63eb818 in ag_manager_load_account (manager=0xb86fd690, account_id=18, error=0xbefaf4b0) at ag-manager.c:2111
#26 0xb6f35fca in Accounts::Account::fromId(Accounts::Manager*, unsigned int, QObject*) () from /usr/lib/libaccounts-qt5.so.1
#27 0xb6f339ee in Accounts::Manager::account(unsigned int const&) const () from /usr/lib/libaccounts-qt5.so.1
#28 0xb1d08772 in NextcloudShareServiceStatus::queryStatus(NextcloudShareServiceStatus::QueryStatusMode) () from /usr/lib/nemo-transferengine/plugins/libnextcloudshareplugin.so
#29 0xb6fc126a in TransferEnginePrivate::enabledPluginsCheck (this=this@entry=0xb86f1680) at transferengine.cpp:279
#30 0xb6fc144a in TransferEngine::TransferEngine (this=0xbefaf6f4, parent=<optimized out>) at transferengine.cpp:844
#31 0xb6fb6e82 in main (argc=<optimized out>, argv=<optimized out>) at main.cpp:47

Situation is the same when I disable or remove account. So, I am not expecting that it is related with my account...

(gdb) bt
#0  __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
#1  0xb6411bda in __libc_signal_restore_set (set=0xbeed9004) at ../sysdeps/unix/sysv/linux/internal-signals.h:84
#2  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:48
#3  0xb63fb7b2 in __GI_abort () at abort.c:79
#4  0xb64400e6 in __libc_message (action=action@entry=do_abort, fmt=<optimized out>) at ../sysdeps/posix/libc_fatal.c:181
#5  0xb6445b5e in malloc_printerr (str=<optimized out>) at malloc.c:5332
#6  0xb6446140 in unlink_chunk (p=<optimized out>, av=<optimized out>) at malloc.c:1454
#7  0xb6446d6c in malloc_consolidate (av=av@entry=0xb64f659c <main_arena>) at malloc.c:4502
#8  0xb64481be in _int_malloc (av=av@entry=0xb64f659c <main_arena>, bytes=bytes@entry=552) at malloc.c:3699
#9  0xb6449808 in __GI___libc_malloc (bytes=bytes@entry=552) at malloc.c:3066
#10 0xb5863ff0 in sqlite3MemMalloc (nByte=544) at sqlite3.c:20177
#11 0xb5844f22 in mallocWithAlarm (pp=<synthetic pointer>, n=<optimized out>) at sqlite3.c:23846
#12 sqlite3Malloc (n=<optimized out>) at sqlite3.c:23877
#13 sqlite3Malloc (n=<optimized out>) at sqlite3.c:23866
#14 0xb584623c in dbMallocRawFinish (db=0xb7be9690, n=<optimized out>) at sqlite3.c:24203
#15 0xb58462e8 in sqlite3DbMallocZero (db=db@entry=0xb7be9690, n=<optimized out>) at sqlite3.c:24191
#16 0xb58a4a98 in sqlite3Prepare (db=db@entry=0xb7be9690, zSql=zSql@entry=0xb63a19a8 "SELECT id FROM Accounts;", nBytes=nBytes@entry=-1, saveSqlFlag=saveSqlFlag@entry=1, pReprepare=pReprepare@entry=0x0, ppStmt=ppStmt@entry=0xbeed948c, 
    pzTail=pzTail@entry=0x0) at sqlite3.c:112526
#17 0xb58a4ecc in sqlite3LockAndPrepare (pzTail=0x0, ppStmt=0xbeed948c, pOld=0x0, saveSqlFlag=1, nBytes=-1, zSql=0xb63a19a8 "SELECT id FROM Accounts;", db=0xb7be9690) at sqlite3.c:112688
#18 sqlite3LockAndPrepare (db=0xb7be9690, zSql=0xb63a19a8 "SELECT id FROM Accounts;", nBytes=-1, saveSqlFlag=1, pOld=0x0, ppStmt=0xbeed948c, pzTail=0x0) at sqlite3.c:47132
#19 0xb58a5098 in sqlite3_prepare_v2 (db=db@entry=0xb7be9690, zSql=zSql@entry=0xb63a19a8 "SELECT id FROM Accounts;", nBytes=nBytes@entry=-1, ppStmt=ppStmt@entry=0xbeed948c, pzTail=pzTail@entry=0x0) at sqlite3.c:112764
#20 0xb639cf48 in _ag_manager_exec_query (manager=manager@entry=0xb7b42690, callback=0xb639afd1 <add_id_to_list>, user_data=user_data@entry=0xbeed94cc, sql=0xb63a19a8 "SELECT id FROM Accounts;") at ag-manager.c:2552
#21 0xb639d158 in _ag_manager_list_all (manager=0xb7b42690) at ag-manager.c:1834
#22 0xb6ee4bfe in Accounts::Manager::accountList(QString const&) const () from /usr/lib/libaccounts-qt5.so.1
#23 0xb1ccd6ce in NextcloudShareServiceStatus::queryStatus(NextcloudShareServiceStatus::QueryStatusMode) () from /usr/lib/nemo-transferengine/plugins/libnextcloudshareplugin.so
#24 0xb6f7226a in TransferEnginePrivate::enabledPluginsCheck (this=this@entry=0xb7b36680) at transferengine.cpp:279
#25 0xb6f7244a in TransferEngine::TransferEngine (this=0xbeed96e4, parent=<optimized out>) at transferengine.cpp:844
#26 0xb6f67e82 in main (argc=<optimized out>, argv=<optimized out>) at main.cpp:47

It is crashing afound 90% of startups. It looks like memory corruption.

Any advice for getting the main cause? Valgrind don't point to any issue...

edit retag flag offensive reopen delete

The question has been closed for the following reason "the question is answered, an answer was accepted" by molan
close date 2020-05-05 10:43:29.694510

Comments

1

I need to correct myself, valgrind show something relevant:

==13623== Invalid write of size 4
==13623==    at 0xA3416F2: NextcloudSharePlugin::NextcloudSharePlugin() (in /usr/lib/nemo-transferengine/plugins/libnextcloudshareplugin.so)
==13623==  Address 0xac3f5ac is 0 bytes after a block of size 12 alloc'd
==13623==    at 0x4842428: operator new(unsigned int) (vg_replace_malloc.c:338)
==13623==    by 0xADD2B3B: qt_plugin_instance (in /usr/lib/nemo-transferengine/plugins/libowncloudshareplugin.so)
Karry ( 2020-05-03 21:15:42 +0200 )edit

Looks like something in libowncloudshareplugin instantiates something in libnextcloudshareplugin, that's quite a mess.

slava ( 2020-05-03 22:02:13 +0200 )edit

1 Answer

Sort by » oldest newest most voted
4

answered 2020-05-03 20:49:46 +0200

Karry gravatar image

I just realised that there is another OpenRepos plugin that may be problematic. It seems that there is conflict in some symbol names between NextCloud plugin from Jolla and OwnCloud plugin (GhostCloud from OpenRepos): https://openrepos.net/content/beidl/ghostcloud-additionals

[root@Sailfish ~]# objdump -C --dynamic-syms /usr/lib/nemo-transferengine/plugins/libowncloudshareplugin.so | grep NextcloudUploader::~NextcloudUploader 00005910 g DF .text 00000012 Base NextcloudUploader::~NextcloudUploader() 000058dc g DF .text 00000034 Base NextcloudUploader::~NextcloudUploader() 000058dc g DF .text 00000034 Base NextcloudUploader::~NextcloudUploader() [root@Sailfish ~]# [root@Sailfish ~]# objdump -C --dynamic-syms /usr/lib/nemo-transferengine/plugins/libnextcloudshareplugin.so | grep NextcloudUploader::~NextcloudUploader 00015304 g DF .text 00000014 Base NextcloudUploader::~NextcloudUploader() 00014ffc g DF .text 00000308 Base NextcloudUploader::~NextcloudUploader() 00014ffc g DF .text 00000308 Base NextcloudUploader::~NextcloudUploader()

After removing harbour-owncloud-daemon package, nemo-transfer-engine seems to be fine... OMFG, I am so angry to myself.

edit flag offensive delete publish link more

Comments

this happend now the second time, but as you were talking.about the.official plugin i did not expect that you have the other also installed. so.i did not say anything. sorry

pawel ( 2020-05-03 21:17:38 +0200 )edit

I could understand that the 3th part tool may conflict with the original one. but if it does, the system should warn/return a problem. but it does not.!!!

cemoi71 ( 2020-05-03 21:47:56 +0200 )edit

There's nothing system can do about memory trashing, which is what seems to be happening here.

slava ( 2020-05-03 22:03:22 +0200 )edit

Question tools

Follow
2 followers

Stats

Asked: 2020-05-03 18:48:16 +0200

Seen: 241 times

Last updated: May 03 '20