Client: [macOS] huge memory leak from 2.5.2 on

Created on 6 Feb 2019  路  37Comments  路  Source: owncloud/client

OSX crash seen by @CTassisF in https://github.com/owncloud/client/issues/6896#issuecomment-460739800:

just experienced this issue on 2.5.2 too: bp-087d5ebf-6cd9-4811-8317-aaa242190205
I'm running macOS Mojave 10.14.3.
Another one: bp-0e83d175-632c-457e-8201-1bb982190205

This looks different from other recent OSX issues. Unfortunately the backtraces are both pretty non-informative:

Thread 6 (crashed) SIGABRT
 0  libsystem_kernel.dylib + 0x723e
    rax = 0x0000000000000000   rdx = 0x0000000000000000
    rcx = 0x000070000b131858   rbx = 0x000070000b132000
    rsi = 0x0000000000000006   rdi = 0x000000000000c703
    rbp = 0x000070000b131890   rsp = 0x000070000b131858
     r8 = 0x000070000b131718    r9 = 0x000070000b1318f0
    r10 = 0x0000000000000000   r11 = 0x0000000000000206
    r12 = 0x000000000000c703   r13 = 0x0000003000000008
    r14 = 0x0000000000000006   r15 = 0x000000000000002d
    rip = 0x00007fff68e7423e
    Found by: given as instruction pointer in context
 1  libsystem_c.dylib + 0x5c1c9
    rbp = 0x000070000b1318c0   rsp = 0x000070000b1318a0
    rip = 0x00007fff68ddd1c9
    Found by: previous frame's frame pointer
 2  libc++abi.dylib + 0x3231
    rbp = 0x000070000b1319f0   rsp = 0x000070000b1318d0
    rip = 0x00007fff6645d231
    Found by: previous frame's frame pointer
 3  libc++abi.dylib + 0x33b5
    rbp = 0x000070000b131e30   rsp = 0x000070000b131a00
    rip = 0x00007fff6645d3b5
    Found by: previous frame's frame pointer
 4  libobjc.A.dylib + 0x18c8f
    rbp = 0x000070000b131e50   rsp = 0x000070000b131e40
    rip = 0x00007fff67c68c8f
    Found by: previous frame's frame pointer
 5  libc++abi.dylib + 0xedfe
    rbp = 0x000070000b131e70   rsp = 0x000070000b131e60
    rip = 0x00007fff66468dfe
    Found by: previous frame's frame pointer
 6  libc++abi.dylib + 0xee73
    rbp = 0x000070000b131e90   rsp = 0x000070000b131e80
    rip = 0x00007fff66468e73
    Found by: previous frame's frame pointer
 7  QtCore!QThreadPrivate::start(void*) [qthread_unix.cpp : 388 + 0x5]
    rbp = 0x000070000b131f10   rsp = 0x000070000b131ea0
    rip = 0x000000010d94ca46
    Found by: previous frame's frame pointer
bug macOS p2-high

All 37 comments

Full trace:

Thread 6 (crashed)
 0  libsystem_kernel.dylib + 0x723e
    rax = 0x0000000000000000   rdx = 0x0000000000000000
    rcx = 0x000070000b131858   rbx = 0x000070000b132000
    rsi = 0x0000000000000006   rdi = 0x000000000000c703
    rbp = 0x000070000b131890   rsp = 0x000070000b131858
     r8 = 0x000070000b131718    r9 = 0x000070000b1318f0
    r10 = 0x0000000000000000   r11 = 0x0000000000000206
    r12 = 0x000000000000c703   r13 = 0x0000003000000008
    r14 = 0x0000000000000006   r15 = 0x000000000000002d
    rip = 0x00007fff68e7423e
    Found by: given as instruction pointer in context
 1  libsystem_c.dylib + 0x5c1c9
    rbp = 0x000070000b1318c0   rsp = 0x000070000b1318a0
    rip = 0x00007fff68ddd1c9
    Found by: previous frame's frame pointer
 2  libc++abi.dylib + 0x3231
    rbp = 0x000070000b1319f0   rsp = 0x000070000b1318d0
    rip = 0x00007fff6645d231
    Found by: previous frame's frame pointer
 3  libc++abi.dylib + 0x33b5
    rbp = 0x000070000b131e30   rsp = 0x000070000b131a00
    rip = 0x00007fff6645d3b5
    Found by: previous frame's frame pointer
 4  libobjc.A.dylib + 0x18c8f
    rbp = 0x000070000b131e50   rsp = 0x000070000b131e40
    rip = 0x00007fff67c68c8f
    Found by: previous frame's frame pointer
 5  libc++abi.dylib + 0xedfe
    rbp = 0x000070000b131e70   rsp = 0x000070000b131e60
    rip = 0x00007fff66468dfe
    Found by: previous frame's frame pointer
 6  libc++abi.dylib + 0xee73
    rbp = 0x000070000b131e90   rsp = 0x000070000b131e80
    rip = 0x00007fff66468e73
    Found by: previous frame's frame pointer
 7  QtCore!QThreadPrivate::start(void*) [qthread_unix.cpp : 388 + 0x5]
    rbp = 0x000070000b131f10   rsp = 0x000070000b131ea0
    rip = 0x000000010d94ca46
    Found by: previous frame's frame pointer
 8  libsystem_pthread.dylib + 0x3305
    rbp = 0x000070000b131f30   rsp = 0x000070000b131f20
    rip = 0x00007fff68f28305
    Found by: previous frame's frame pointer
 9  libsystem_pthread.dylib + 0x626f
    rbp = 0x000070000b131f50   rsp = 0x000070000b131f40
    rip = 0x00007fff68f2b26f
    Found by: previous frame's frame pointer
10  libsystem_pthread.dylib + 0x2415
    rbp = 0x000070000b131f78   rsp = 0x000070000b131f60
    rip = 0x00007fff68f27415
    Found by: previous frame's frame pointer

Events
23
Users
9

First seen

When:
9 days ago
Jan 28, 2019 11:14:23 PM UTC
Release:
2.5.2 (build 11198)

managed to extract some more, but d54552a7-adb5-4907-9883-2b13e2190205 which could be same according to sentry... for that one where I have more symbols extracted

Thread 6 (crashed)
 0  libsystem_kernel.dylib + 0x1cb66
    rax = 0x0000000000000000   rdx = 0x0000000000000000
    rcx = 0x0000700003aeb838   rbx = 0x0000700003aec000
    rsi = 0x0000000000000006   rdi = 0x000000000000c403
    rbp = 0x0000700003aeb870   rsp = 0x0000700003aeb838
     r8 = 0x0000700003aeb700    r9 = 0x0000700003aeb8d0
    r10 = 0x0000000000000000   r11 = 0x0000000000000206
    r12 = 0x000000000000c403   r13 = 0x0000000000000030
    r14 = 0x0000000000000006   r15 = 0x000000000000002d
    rip = 0x00007fff6016db66
    Found by: given as instruction pointer in context
 1  libsystem_c.dylib!abort + 0x7f
    rbp = 0x0000700003aeb8a0   rsp = 0x0000700003aeb880
    rip = 0x00007fff600c91ae
    Found by: previous frame's frame pointer
 2  libc++abi.dylib!abort_message + 0xf5
    rbp = 0x0000700003aeb9d0   rsp = 0x0000700003aeb8b0
    rip = 0x00007fff5dfc3f8f
    Found by: previous frame's frame pointer
 3  libc++abi.dylib!default_terminate_handler() + 0xf1
    rbp = 0x0000700003aebe10   rsp = 0x0000700003aeb9e0
    rip = 0x00007fff5dfc4113
    Found by: previous frame's frame pointer
 4  libobjc.A.dylib + 0x16eab
    rbp = 0x0000700003aebe30   rsp = 0x0000700003aebe20
    rip = 0x00007fff5f405eab
    Found by: previous frame's frame pointer
 5  libc++abi.dylib!std::__terminate(void (*)()) + 0x8
    rbp = 0x0000700003aebe50   rsp = 0x0000700003aebe40
    rip = 0x00007fff5dfdf7c9
    Found by: previous frame's frame pointer
 6  libc++abi.dylib!std::terminate() + 0x33
    rbp = 0x0000700003aebe70   rsp = 0x0000700003aebe60
    rip = 0x00007fff5dfdf843
    Found by: previous frame's frame pointer
 7  QtCore!qTerminate() [qglobal.cpp : 3117 + 0x5]
    rbp = 0x0000700003aebe70   rsp = 0x0000700003aebe70
    rip = 0x000000010b330889
    Found by: call frame info
 8  QtCore!QThreadPrivate::start(void*) [qthread_unix.cpp : 388 + 0x5]
    rbp = 0x0000700003aebef0   rsp = 0x0000700003aebe80
    rip = 0x000000010b355a46
    Found by: previous frame's frame pointer
 9  libsystem_pthread.dylib!_pthread_body + 0x154
    rbp = 0x0000700003aebf20   rsp = 0x0000700003aebf00
    rip = 0x00007fff60335661
    Found by: previous frame's frame pointer
10  libsystem_pthread.dylib!_pthread_start + 0x179
    rbp = 0x0000700003aebf50   rsp = 0x0000700003aebf30
    rip = 0x00007fff6033550d
    Found by: previous frame's frame pointer
11  libsystem_pthread.dylib!thread_start + 0xd
    rbp = 0x0000700003aebf78   rsp = 0x0000700003aebf60
    rip = 0x00007fff60334bf9
    Found by: previous frame's frame pointer
12  QtCore + 0x3d620
    rsp = 0x0000700003aec028   rip = 0x000000010b355620
    Found by: stack scanning

(if it is even the same crash?)

Here's another one: bp-9861b4e5-7a9d-4a9d-aecf-344462190206

(Not sure it will help because I guess it is the same crash as before. But I'm sending anyway just in case.)

Managed to get more symbols for 3630c59a-e3b4-42da-b997-32d4f219020, but I don't understand it.
@ogoffart @ckamm ?

Operating system: Mac OS X
                  10.14.2 18C54
CPU: amd64
     family 6 model 158 stepping 9
     8 CPUs

Crash reason:  EXC_SOFTWARE / SIGABRT
Crash address: 0x7fff58cf823e
Process uptime: 183 seconds

Thread 7 (crashed)
 0  libsystem_kernel.dylib!__pthread_kill + 0xa
    rax = 0x0000000000000000   rdx = 0x0000000000000000
    rcx = 0x000070000a464858   rbx = 0x000070000a465000
    rsi = 0x0000000000000006   rdi = 0x0000000000014307
    rbp = 0x000070000a464890   rsp = 0x000070000a464858
     r8 = 0x000070000a464718    r9 = 0x000070000a4648f0
    r10 = 0x0000000000000000   r11 = 0x0000000000000206
    r12 = 0x0000000000014307   r13 = 0x0000003000000008
    r14 = 0x0000000000000006   r15 = 0x000000000000002d
    rip = 0x00007fff58cf823e
    Found by: given as instruction pointer in context
 1  libsystem_c.dylib!abort + 0x7f
    rbp = 0x000070000a4648c0   rsp = 0x000070000a4648a0
    rip = 0x00007fff58c611c9
    Found by: previous frame's frame pointer
 2  libc++abi.dylib!abort_message + 0xe7
    rbp = 0x000070000a4649f0   rsp = 0x000070000a4648d0
    rip = 0x00007fff562e2231
    Found by: previous frame's frame pointer
 3  libc++abi.dylib!default_terminate_handler() + 0xf1
    rbp = 0x000070000a464e30   rsp = 0x000070000a464a00
    rip = 0x00007fff562e23b5
    Found by: previous frame's frame pointer
 4  libobjc.A.dylib!layout_bitmap_create + 0x6f
    rbp = 0x000070000a464e50   rsp = 0x000070000a464e40
    rip = 0x00007fff57aecc8f
    Found by: previous frame's frame pointer
 5  libc++abi.dylib!std::__terminate(void (*)()) + 0x8
    rbp = 0x000070000a464e70   rsp = 0x000070000a464e60
    rip = 0x00007fff562eddfe
    Found by: previous frame's frame pointer
 6  libc++abi.dylib!std::terminate() + 0x33
    rbp = 0x000070000a464e90   rsp = 0x000070000a464e80
    rip = 0x00007fff562ede73
    Found by: previous frame's frame pointer
 7  QtCore!qTerminate() [qglobal.cpp : 3117 + 0x5]
    rbp = 0x000070000a464e90   rsp = 0x000070000a464e90
    rip = 0x000000010e3b5889
    Found by: call frame info
 8  QtCore!QThreadPrivate::start(void*) [qthread_unix.cpp : 388 + 0x5]
    rbp = 0x000070000a464f10   rsp = 0x000070000a464ea0
    rip = 0x000000010e3daa46
    Found by: previous frame's frame pointer
 9  libsystem_pthread.dylib!_pthread_body + 0x7e
    rbp = 0x000070000a464f30   rsp = 0x000070000a464f20
    rip = 0x00007fff58dac305
    Found by: previous frame's frame pointer
10  libsystem_pthread.dylib!_pthread_start + 0x46
    rbp = 0x000070000a464f50   rsp = 0x000070000a464f40
    rip = 0x00007fff58daf26f
    Found by: previous frame's frame pointer
11  libsystem_pthread.dylib!thread_start + 0xd
    rbp = 0x000070000a464f78   rsp = 0x000070000a464f60
    rip = 0x00007fff58dab415
    Found by: previous frame's frame pointer

So if it's really a exception, we probably need stuff it into our crash processing... I'm still confused why would this throw an exception though?

So it's catching an exception and quitting the thread.
https://code.woboq.org/qt5/qtbase/src/corelib/thread/qthread_unix.cpp.html#373 ?

@dschmidt do we need to get this in with breakpad etc somehow?
See also https://docs.sentry.io/clients/cocoa/advanced/#capturing-uncaught-exceptions-on-macos and https://github.com/owncloud/enterprise/issues/2926

@guruz you can't have more information about where the exception is thrown, because this is not an uncaught excetption, but a caught exception (Qt catches the exception and then call terminate)
It is a bit unfortunate that Qt does that! Ideally Qt could print a message, or just not catch the exception and let it propagate.

So if we want to fix this bug, we should try to find out which thread that is, and what exception could be thrown in the thread.

As usual client log files would be very useful! https://doc.owncloud.org/desktop/2.5/troubleshooting.html#logging-to-a-temporary-directory

I don't know whether breakpad would include it in the reports, but it could be useful to use pthread_setname_np on our threads. Qt seems to set thread names under some conditions too (https://doc.qt.io/qt-5/qthread.html#managing-threads)

What kind of explicit client-owned QThread-objects are there though? I only see

  • discovery thread (manual QThread, 2.5 only)
  • system proxy detection (global QThreadPool)
  • zsync computations (global QThreadPool)
  • checksum computations (global QThreadPool via QtConcurrent)
  • windows folder watcher (manual QThread)

The other threads would relate to Qt, like the webkit thread or the networking threads.

I've enabled permanent logs and got (basically) this:

02-08 14:50:08:060 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-08 14:50:08:061 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-08 14:50:29:352 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-08 14:50:38:352 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "ad98d9e8-d42f-40ae-bff2-4b4cf4f83e11"
02-08 14:50:38:353 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=72julkh7nbvgs72rgpjeo6ui20; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-08 14:50:38:353 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::QuotaInfo"
02-08 14:50:46:229 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-08 14:50:46:229 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-08 14:51:01:352 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-08 14:51:16:352 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "62e91672-341b-482f-a14d-e779919bb9ae"
02-08 14:51:16:352 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=72julkh7nbvgs72rgpjeo6ui20; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-08 14:51:16:353 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::QuotaInfo"
02-08 14:51:26:505 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-08 14:51:26:505 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-08 14:51:33:352 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-08 14:51:56:351 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "e502a511-de80-4083-9960-c417f3a302a7"
02-08 14:51:56:352 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=72julkh7nbvgs72rgpjeo6ui20; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-08 14:51:56:353 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::QuotaInfo"
02-08 14:52:05:352 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-08 14:52:06:222 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-08 14:52:06:223 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-08 14:52:16:352 [ info sync.accessmanager ]: 2 "" "https://owncloud.example.com/ocs/v2.php/apps/notifications/api/v1/notifications?format=json" has X-Request-ID "58635f64-2a1e-4b2e-bb62-3ac70d7319cf"
02-08 14:52:16:353 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/ocs/v2.php/apps/notifications/api/v1/notifications?format=json") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=72julkh7nbvgs72rgpjeo6ui20; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-08 14:52:16:354 [ info sync.networkjob ]:    OCC::JsonApiJob created for "https://owncloud.example.com/" + "ocs/v2.php/apps/notifications/api/v1/notifications" "OCC::ServerNotificationHandler"
02-08 14:52:17:829 [ warning default ]: Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

Do you need more logs than that? If so, can I send by e-mail (as those logs can contain private data)?

@CTassisF (and everyone else with logging enabled).. would you try this build and then paste the log?
https://download.owncloud.com/desktop/testing/ownCloud-2.5.4.11300application_exceptions.pkg
(it's basically 2.5.3 + https://github.com/owncloud/client/pull/7022 )

@CTassisF Any news?

Just tried that build mentioned above. Crashed again: bp-d594043d-1c6f-4c20-a352-ddaff2190211

Here's the log:

02-11 14:56:05:434 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::QuotaInfo"
02-11 14:56:13:789 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-11 14:56:13:789 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-11 14:56:14:430 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 14:56:43:431 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "267f210f-429d-4587-8d9b-5e15dae96b4f"
02-11 14:56:43:431 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-11 14:56:43:432 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::QuotaInfo"
02-11 14:56:46:431 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 14:56:53:232 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-11 14:56:53:233 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-11 14:57:18:430 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 14:57:23:430 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "14948e43-504a-4999-8f34-78287909385c"
02-11 14:57:23:431 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-11 14:57:23:431 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::QuotaInfo"
02-11 14:57:33:782 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-11 14:57:33:782 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-11 14:57:50:431 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 14:58:03:430 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "08796c0d-b9fc-4ea4-b8d0-e18cd311887e"
02-11 14:58:03:431 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-11 14:58:03:432 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::QuotaInfo"
02-11 14:58:12:741 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-11 14:58:12:742 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-11 14:58:22:431 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 14:58:42:431 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "8087b83e-5c75-4fe6-b9a8-764234b95cf1"
02-11 14:58:42:432 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-11 14:58:42:433 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::QuotaInfo"
02-11 14:58:50:693 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-11 14:58:50:694 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-11 14:58:54:430 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 14:59:20:430 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "44c01c1c-7a2b-4d9f-8311-a0df2723d8fa"
02-11 14:59:20:431 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-11 14:59:20:431 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::QuotaInfo"
02-11 14:59:26:430 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 14:59:28:230 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-11 14:59:28:231 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-11 14:59:38:430 [ info sync.accessmanager ]: 2 "" "https://owncloud.example.com/ocs/v2.php/apps/notifications/api/v1/notifications?format=json" has X-Request-ID "3bb92f89-7a64-4ed9-a02b-5e8b8dd8aff4"
02-11 14:59:38:431 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/ocs/v2.php/apps/notifications/api/v1/notifications?format=json") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-11 14:59:38:431 [ info sync.networkjob ]:    OCC::JsonApiJob created for "https://owncloud.example.com/" + "ocs/v2.php/apps/notifications/api/v1/notifications" "OCC::ServerNotificationHandler"
02-11 14:59:48:057 [ info sync.networkjob.jsonapi ]:    JsonApiJob of QUrl("https://owncloud.example.com/ocs/v2.php/apps/notifications/api/v1/notifications?format=json") FINISHED WITH STATUS "OK"
02-11 14:59:48:057 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::JsonApiJob finished for "ocs/v2.php/apps/notifications/api/v1/notifications"
02-11 14:59:58:431 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 14:59:58:432 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "e4a94a67-3dbd-4bcd-95b3-1fe03029ee70"
02-11 14:59:58:432 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-11 14:59:58:433 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::QuotaInfo"
02-11 15:00:00:326 [ warning default ]: Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

Btw, UI is broken on macOS Mojave dark mode: https://imgur.com/a/ltAppOl

@CTassisF this is unfortunate, I'd have expected there to be another message before the "Qt has caught an exception thrown"[..]
If you run the client with those flags (from Terminal.app), will it show the Crash now - exception menu entry in the menu bar ownCloud icon that shows a better message?

/Applications/owncloud.app/Contents/MacOS/owncloud --logfile - --logdebug --debug

Btw, UI is broken on macOS Mojave dark mode

https://github.com/owncloud/client/issues/7025

Did that. Crashed again: bp-d0d7d4a7-c872-47c9-b429-9f74b2190211

Terminal.app output:

02-11 17:51:21:175 [ debug sync.database.sql ]  [ OCC::SqlQuery::exec ]:    Last exec affected 1 rows.
02-11 17:51:32:418 [ debug sync.connectionvalidator ]   [ OCC::ConnectionValidator::checkAuthentication ]:  # Check whether authenticated propfind works.
02-11 17:51:32:418 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "64ad76d0-385e-46e4-b197-81cc020fa2a5"
02-11 17:51:32:418 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-11 17:51:32:419 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::ConnectionValidator"
02-11 17:51:41:101 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-11 17:51:41:101 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-11 17:52:04:418 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 17:52:36:418 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 17:53:08:417 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 17:53:40:418 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 17:54:12:417 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 17:54:44:417 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 17:55:16:417 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 17:55:48:418 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-11 17:56:00:419 [ info sync.accessmanager ]: 2 "" "https://owncloud.example.com/ocs/v2.php/apps/notifications/api/v1/notifications?format=json" has X-Request-ID "50c03e5d-7afb-4193-a003-ef29bbefa969"
02-11 17:56:00:419 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/ocs/v2.php/apps/notifications/api/v1/notifications?format=json") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-11 17:56:00:420 [ info sync.networkjob ]:    OCC::JsonApiJob created for "https://owncloud.example.com/" + "ocs/v2.php/apps/notifications/api/v1/notifications" "OCC::ServerNotificationHandler"
02-11 17:56:00:675 [ warning default ]: Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

libc++abi.dylib: terminating with uncaught exception of type std::bad_alloc: std::bad_alloc
m_crashReporterWChar: /Applications/owncloud.app/Contents/MacOS/owncloud_crash_reporterDump file was written to: /var/folders/d4/t7qxncds0znfv98kcmlhckbc0000gn/T/ADCB63B5-266F-4493-AB32-169BAC5181D0.dmp
RESPONSE: "CrashID=bp-d0d7d4a7-c872-47c9-b429-9f74b2190211\n"

@CTassisF thanks!
So do you have this Crash now - exception menu bar entry or not? If you use that menu bar entry, you get a crash with log mentioning exceptions? (Just to check if you have the right build..)

libc++abi.dylib: terminating with uncaught exception of type std::bad_alloc: std::bad_alloc

This log is from the 'normal' crash you experience, right? not from clicking the Crash now - exceptionmenu bar entry?
Hummmm!

@CTassisF Can you restart the client and then use Activity Monitor app to watch the memory usage of the client.. just to see if it goes up before crashing.

Yes, that was a "normal" crash. Sorry, I didn't pay attention to the "crash now" instruction.

This is a "crash now - exception" crash: bp-189359f2-7549-494e-a516-baacd2190211

And here's output:

02-11 19:09:15:386 [ debug sync.database.sql ]  [ OCC::SqlQuery::exec ]:        Last exec affected 1 rows.
02-11 19:09:25:640 [ debug default ]    [ OCC::Application::slotCrashException ]:       Throwing exception from new thread
02-11 19:09:25:640 [ debug default ]    [ OCC::ExceptionCrashTestHelper::crashSoon ]:   void OCC::ExceptionCrashTestHelper::crashSoon() QThread(0x7fba1b50c580)
02-11 19:09:25:641 [ debug default ]    [ OCC::ExceptionCrashTestHelper::crashSoonHere ]:       void OCC::ExceptionCrashTestHelper::crashSoonHere() QThread(0x7fba1fc78f10)
02-11 19:09:25:642 [ debug default ]    [ OCC::Application::notify ]:   PSt9exception std Exception caught: Viva La Threaded Exception!
02-11 19:09:25:643 [ warning default ]: Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

libc++abi.dylib: terminating with uncaught exception of type std::runtime_error*
m_crashReporterWChar: /Applications/owncloud.app/Contents/MacOS/owncloud_crash_reporterDump file was written to: /var/folders/d4/t7qxncds0znfv98kcmlhckbc0000gn/T/CF666BBA-E4F9-4409-83FE-E202139F7BFB.dmp
RESPONSE: "CrashID=bp-189359f2-7549-494e-a516-baacd2190211\n"

Here's another "normal" crash: bp-c265b898-bfe8-4352-b199-4c9012190211

And here's the Activity Monitor screenshot right after the crash: https://imgur.com/a/i0fQQhB

@CTassisF thanks! This helps.

@CTassisF Going through the diff between 2.5.1 and 2.5.2 I see few interesting changes. One would be that sqlite uses the exclusive locking mode by default. Would you be up for testing with the environment variable OWNCLOUD_SQLITE_LOCKING_MODE=NORMAL?

Right. I ran owncloud.app from Terminal.app using OWNCLOUD_SQLITE_LOCKING_MODE=NORMAL /Applications/owncloud.app/Contents/MacOS/owncloud --logfile - --logdebug --debug but it crashed again.

02-14 14:00:02:528 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::ConnectionValidator"
02-14 14:00:09:910 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-14 14:00:09:910 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-14 14:00:34:528 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-14 14:01:06:528 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-14 14:01:38:527 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-14 14:02:10:527 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-14 14:02:42:528 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-14 14:03:14:527 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-14 14:03:46:527 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-14 14:04:18:528 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-14 14:04:30:237 [ warning default ]: Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

libc++abi.dylib: terminating with uncaught exception of type std::bad_alloc: std::bad_alloc
m_crashReporterWChar: /Applications/owncloud.app/Contents/MacOS/owncloud_crash_reporterDump file was written to: /var/folders/d4/t7qxncds0znfv98kcmlhckbc0000gn/T/A33F6EB0-CFD5-4261-A063-FA5BECBD23FC.dmp
RESPONSE: "CrashID=bp-8091939d-2e42-4b72-99f0-f832d2190214\n"

This time however it was using far less memory when it crashed (it did peak 2GB RAM before crashing though): https://imgur.com/a/u5wEHF7

@CTassisF Thanks for the test, it's good to know that isn't it.

Next idea: Install a debugger (apparently typing lldb in the terminal does that?)) and run lldb -- /Applications/owncloud.app/Contents/MacOS/owncloud --logfile mylog.txt --logdebug --debug. That allows for further debugger commands to be entered; type break set -F std::bad_alloc and run. Now the client should be running as usual.

Then when the crash happens bt all in the console window to get information about where it was triggered.

I did that but the app crashed immediately: bp-753064c5-38be-42c7-a685-0c5ac2190215

$ lldb -- /Applications/owncloud.app/Contents/MacOS/owncloud --logfile - --logdebug --debug
(lldb) target create "/Applications/owncloud.app/Contents/MacOS/owncloud"
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy.py", line 52, in <module>
    import weakref
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/weakref.py", line 14, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref
Current executable set to '/Applications/owncloud.app/Contents/MacOS/owncloud' (x86_64).
(lldb) settings set -- target.run-args  "--logfile" "-" "--logdebug" "--debug"
(lldb) break set -F std::bad_alloc
Breakpoint 1: no locations (pending).
WARNING:  Unable to resolve breakpoint to any actual locations.
(lldb) run
Process 777 launched: '/Applications/owncloud.app/Contents/MacOS/owncloud' (x86_64)
2019-02-15 16:18:36.117221-0200 owncloud[777:11171] [default] Unable to load Info.plist exceptions (eGPUOverrides)
m_crashReporterChar:  /Applications/owncloud.app/Contents/MacOS/owncloud_crash_reporter
02-15 16:18:36:329 [ info gui.application ]:    "################## ownCloud locale:[en_US] ui_lang:[] version:[2.5.4application_exceptions (build 11300)] os:[macOS 10.14]"
02-15 16:18:36:330 [ info gui.application ]:    Using "en_US" translation
02-15 16:18:36:486 [ info gui.socketapi ]:  server started, listening at  "4AP2STM4H5.com.owncloud.desktopclient.socketApi"
02-15 16:18:36:487 [ info gui.folder.manager ]: setting remote poll timer interval to 30000 msec
02-15 16:18:37:050 [ info gui.account.manager ]:    Account for QUrl("https://owncloud.example.com/") using auth type "http"
m_crashReporterWChar: /Applications/owncloud.app/Contents/MacOS/owncloud_crash_reporterDump file was written to: /var/folders/d4/t7qxncds0znfv98kcmlhckbc0000gn/T/D2626584-757A-46B9-BD0B-48BDE1E62492.dmp
Process 777 exited with status = 6 (0x00000006) 
(lldb) bt all
error: invalid thread

Please tell me if I did something wrong.

@CTassisF Thanks for testing!
@guruz Is there something that needs to be done to make the client run in lldb? It also seems I may not have looked up the command to break on bad_alloc being thrown correctly.

@ckamm @CTassisF That syntax is correct (I think) however you first need to launch the client normally and disable the crash reporter checkbox in the General Settings. Only then lldb works properly..

Here's the output:

02-19 13:34:06:227 [ debug sync.networkjob.get ]    [ OCC::GETFileJob::start ]: Retry with range  "bytes=214827008-"
02-19 13:34:06:227 [ info sync.accessmanager ]: 2 "" "https://owncloud.example.com/remote.php/dav/files/[email protected]/xxx/yyy/zzz/aaa/bbb.mp4" has X-Request-ID "e451e5c5-854e-4d6e-96f4-1a36caaa47fb"
02-19 13:34:06:227 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/xxx/yyy/zzz/aaa/bbb.mp4") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-19 13:34:06:227 [ debug sync.networkjob.get ]    [ OCC::GETFileJob::start ]: OCC::BandwidthManager(0x10f79bae8) false false
02-19 13:34:06:227 [ info sync.networkjob ]:    OCC::GETFileJob created for "https://owncloud.example.com/" + "/xxx/yyy/zzz/aaa/bbb.mp4" "OCC::PropagateDownloadFile"
02-19 13:34:06:341 [ warning sync.networkjob.get ]: Wrong content-range:  ""  while expecting start was 225013481
02-19 13:34:07:847 [ warning sync.networkjob.get ]: Wrong content-range:  ""  while expecting start was 214827008
02-19 13:34:28:941 [ debug sync.connectionvalidator ]   [ OCC::ConnectionValidator::checkAuthentication ]:  # Check whether authenticated propfind works.
02-19 13:34:28:941 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.example.com/remote.php/dav/files/[email protected]/" has X-Request-ID "dc54d61c-5fa0-4d53-a832-7e7a5526a131"
02-19 13:34:28:941 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-19 13:34:28:941 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::ConnectionValidator"
02-19 13:34:36:277 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-19 13:34:36:278 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-19 13:35:00:940 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-19 13:35:32:940 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-19 13:36:04:941 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-19 13:36:36:941 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-19 13:37:08:940 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-19 13:37:40:940 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-19 13:38:12:941 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-19 13:38:44:940 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-19 13:38:56:888 [ warning default ]: Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement
QCoreApplication::notify() and catch all exceptions there.

libc++abi.dylib: terminating with uncaught exception of type std::bad_alloc: std::bad_alloc
Process 918 stopped
* thread #11, name = 'QNetworkAccessManager thread', stop reason = signal SIGABRT
    frame #0: 0x00007fff7c78b23e libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fff7c78b23e <+10>: jae    0x7fff7c78b248            ; <+20>
    0x7fff7c78b240 <+12>: movq   %rax, %rdi
    0x7fff7c78b243 <+15>: jmp    0x7fff7c7853b7            ; cerror_nocancel
    0x7fff7c78b248 <+20>: retq   
Target 0: (owncloud) stopped.
(lldb) bt all
  thread #1, queue = 'com.apple.main-thread'
    frame #0: 0x00007fff7c78517a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff7c7856d0 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x00007fff4f3fefde CoreFoundation`__CFRunLoopServiceMachPort + 337
    frame #3: 0x00007fff4f3fe52d CoreFoundation`__CFRunLoopRun + 1654
    frame #4: 0x00007fff4f3fdc64 CoreFoundation`CFRunLoopRunSpecific + 463
    frame #5: 0x00007fff4e694ab5 HIToolbox`RunCurrentEventLoopInMode + 293
    frame #6: 0x00007fff4e6947eb HIToolbox`ReceiveNextEventCommon + 618
    frame #7: 0x00007fff4e694568 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #8: 0x00007fff4c94f363 AppKit`_DPSNextEvent + 997
    frame #9: 0x00007fff4c94e102 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1362
    frame #10: 0x0000000109a113f3 libqcocoa.dylib`QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2819
    frame #11: 0x0000000104331f3e QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 462
    frame #12: 0x000000010433a468 QtCore`QCoreApplication::exec() + 424
    frame #13: 0x0000000100007118 owncloud`main + 1240
    frame #14: 0x00007fff7c64bed9 libdyld.dylib`start + 1
    frame #15: 0x00007fff7c64bed9 libdyld.dylib`start + 1
  thread #4
    frame #0: 0x00007fff7c7887de libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff7c842593 libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x00007fff79d20bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x0000000102ee4192 QtWebKit`void std::__1::condition_variable_any::wait<std::__1::unique_lock<bmalloc::Mutex> >(std::__1::unique_lock<bmalloc::Mutex>&) + 82
    frame #4: 0x0000000102ee408b QtWebKit`bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadEntryPoint(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*) + 155
    frame #5: 0x0000000102ee4268 QtWebKit`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*), bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*> >(void*) + 40
    frame #6: 0x00007fff7c83f305 libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x00007fff7c84226f libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x00007fff7c83e415 libsystem_pthread.dylib`thread_start + 13
  thread #7, name = 'com.apple.CFSocket.private'
    frame #0: 0x00007fff7c78c5aa libsystem_kernel.dylib`__select + 10
    frame #1: 0x00007fff4f42cc13 CoreFoundation`__CFSocketManager + 639
    frame #2: 0x00007fff7c83f305 libsystem_pthread.dylib`_pthread_body + 126
    frame #3: 0x00007fff7c84226f libsystem_pthread.dylib`_pthread_start + 70
    frame #4: 0x00007fff7c83e415 libsystem_pthread.dylib`thread_start + 13
  thread #8, name = 'Qt bearer thread'
    frame #0: 0x00007fff7c78d2ee libsystem_kernel.dylib`poll + 10
    frame #1: 0x000000010439e350 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 768
    frame #2: 0x000000010439ea43 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 931
    frame #3: 0x0000000104331f3e QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 462
    frame #4: 0x0000000104112e37 QtCore`QThread::exec() + 183
    frame #5: 0x000000010411a834 QtCore`QThreadPrivate::start(void*) + 532
    frame #6: 0x00007fff7c83f305 libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x00007fff7c84226f libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x00007fff7c83e415 libsystem_pthread.dylib`thread_start + 13
  thread #9, name = 'com.apple.NSEventThread'
    frame #0: 0x00007fff7c78517a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff7c7856d0 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x00007fff4f3fefde CoreFoundation`__CFRunLoopServiceMachPort + 337
    frame #3: 0x00007fff4f3fe52d CoreFoundation`__CFRunLoopRun + 1654
    frame #4: 0x00007fff4f3fdc64 CoreFoundation`CFRunLoopRunSpecific + 463
    frame #5: 0x00007fff4c957f89 AppKit`_NSEventThread + 160
    frame #6: 0x00007fff7c83f305 libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x00007fff7c84226f libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x00007fff7c83e415 libsystem_pthread.dylib`thread_start + 13
* thread #11, name = 'QNetworkAccessManager thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff7c78b23e libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff7c841c1c libsystem_pthread.dylib`pthread_kill + 285
    frame #2: 0x00007fff7c6f41c9 libsystem_c.dylib`abort + 127
    frame #3: 0x00007fff79d74231 libc++abi.dylib`abort_message + 231
    frame #4: 0x00007fff79d743b5 libc++abi.dylib`default_terminate_handler() + 241
    frame #5: 0x00007fff7b57fc8f libobjc.A.dylib`_objc_terminate() + 105
    frame #6: 0x00007fff79d7fdfe libc++abi.dylib`std::__terminate(void (*)()) + 8
    frame #7: 0x00007fff79d7fe73 libc++abi.dylib`std::terminate() + 51
    frame #8: 0x00000001040f5889 QtCore`qTerminate() + 9
    frame #9: 0x000000010411aa46 QtCore`QThreadPrivate::start(void*) + 1062
    frame #10: 0x00007fff7c83f305 libsystem_pthread.dylib`_pthread_body + 126
    frame #11: 0x00007fff7c84226f libsystem_pthread.dylib`_pthread_start + 70
    frame #12: 0x00007fff7c83e415 libsystem_pthread.dylib`thread_start + 13
  thread #13, name = 'SyncEngine_Thread'
    frame #0: 0x00007fff7c78d2ee libsystem_kernel.dylib`poll + 10
    frame #1: 0x000000010439e350 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 768
    frame #2: 0x000000010439ea43 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 931
    frame #3: 0x0000000104331f3e QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 462
    frame #4: 0x0000000104112e37 QtCore`QThread::exec() + 183
    frame #5: 0x000000010411a834 QtCore`QThreadPrivate::start(void*) + 532
    frame #6: 0x00007fff7c83f305 libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x00007fff7c84226f libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x00007fff7c83e415 libsystem_pthread.dylib`thread_start + 13
  thread #14, name = 'com.apple.NSURLConnectionLoader'
    frame #0: 0x00007fff7c78517a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff7c7856d0 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x00007fff4f3fefde CoreFoundation`__CFRunLoopServiceMachPort + 337
    frame #3: 0x00007fff4f3fe52d CoreFoundation`__CFRunLoopRun + 1654
    frame #4: 0x00007fff4f3fdc64 CoreFoundation`CFRunLoopRunSpecific + 463
    frame #5: 0x00007fff4e2fecc5 CFNetwork`-[__CoreSchedulingSetRunnable runForever] + 195
    frame #6: 0x00007fff5175a104 Foundation`__NSThread__start__ + 1218
    frame #7: 0x00007fff7c83f305 libsystem_pthread.dylib`_pthread_body + 126
    frame #8: 0x00007fff7c84226f libsystem_pthread.dylib`_pthread_start + 70
    frame #9: 0x00007fff7c83e415 libsystem_pthread.dylib`thread_start + 13
  thread #15
    frame #0: 0x00007fff7c786b6a libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff7c83e630 libsystem_pthread.dylib`_pthread_wqthread + 446
    frame #2: 0x00007fff7c83e405 libsystem_pthread.dylib`start_wqthread + 13
(lldb) 
libc++abi.dylib: terminating with uncaught exception of type std::bad_alloc: std::bad_alloc
Process 918 stopped
* thread #11, name = 'QNetworkAccessManager thread', stop reason = signal SIGABRT

Thanks, this is interesting. Thank you for all the effort of going through this.

We have a build with a newer Qt version that might have a (possible) leak fixed.
Do you want to see if that one breaks too?

https://download.owncloud.com/desktop/daily/ownCloud-2.5.4.11341-daily20190220.pkg

@CTassisF Great, we now know the thread name! But the break-on-exception didn't work unfortunately.

Could you try again with break set -E c++ instead of the other break command? That should insert a breakpoint for all thrown exceptions (and it's likely the bad_alloc is the only one). Then get the backtrace as before.

@ckamm I had tried this break set -E c++, it's not a good command since it breaks even at the CAUGHT exceptions, so basically the client won't run through and will always break.
I don't think getting more info helps much as the backtrace for that exception might only be the immediate cause and not the reason (the actual leak)..

Yes, I was hoping there wouldn't be too many other exceptions being thrown, if you tried it and it didn't work, that's unfortunate.

@CTassisF If you're willing to try something further, this might work (it works for me locally, but depends on the runtime implementation):

break set -n __cxa_throw
break command add -s python 1
return 'std::bad_alloc' in lldb.target.ResolveLoadAddress(frame.FindRegister("rax").unsigned).GetSymbol().GetName()
DONE

instead of the previous break command (must paste line-by-line).

@ckamm I tried what you suggested. Here's the output:

02-20 12:51:38:059 [ info sync.networkjob ]:    OCC::PropfindJob created for "https://owncloud.example.com/" + "/" "OCC::ConnectionValidator"
02-20 12:51:43:100 [ info sync.networkjob.propfind ]:   PROPFIND of QUrl("https://owncloud.example.com/remote.php/dav/files/[email protected]/") FINISHED WITH STATUS "OK"
02-20 12:51:43:100 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:  Network job OCC::PropfindJob finished for "/"
02-20 12:52:10:059 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-20 12:52:42:059 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-20 12:53:14:059 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-20 12:53:46:059 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-20 12:54:18:058 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-20 12:54:50:059 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-20 12:55:22:059 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-20 12:55:54:058 [ debug gui.account.state ]  [ OCC::AccountState::checkConnectivity ]:   "[email protected]@owncloud.example.com" The last ETag check succeeded within the last  30  secs. No connection check needed!
02-20 12:56:06:059 [ info sync.accessmanager ]: 2 "" "https://owncloud.example.com/ocs/v2.php/apps/notifications/api/v1/notifications?format=json" has X-Request-ID "742f99b8-431e-489b-99f1-815b6cfce99c"
02-20 12:56:06:059 [ debug sync.cookiejar ] [ OCC::CookieJar::cookiesForUrl ]:  QUrl("https://owncloud.example.com/ocs/v2.php/apps/notifications/api/v1/notifications?format=json") requests: (QNetworkCookie("oc_sessionPassphrase=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"), QNetworkCookie("ocnfda05vglp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; secure; HttpOnly; domain=owncloud.example.com; path=/"))
02-20 12:56:06:059 [ info sync.networkjob ]:    OCC::JsonApiJob created for "https://owncloud.example.com/" + "ocs/v2.php/apps/notifications/api/v1/notifications" "OCC::ServerNotificationHandler"
Process 27335 stopped
* thread #11, name = 'QNetworkAccessManager thread', stop reason = breakpoint 1.1
    frame #0: 0x00007fff708edb48 libc++abi.dylib`__cxa_throw
libc++abi.dylib`__cxa_throw:
->  0x7fff708edb48 <+0>: pushq  %rbp
    0x7fff708edb49 <+1>: movq   %rsp, %rbp
    0x7fff708edb4c <+4>: pushq  %r15
    0x7fff708edb4e <+6>: pushq  %r14
Target 0: (owncloud) stopped.
(lldb) bt all
  thread #1, queue = 'com.apple.main-thread'
    frame #0: 0x00007fff7330017a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff733006d0 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x00007fff45f79fde CoreFoundation`__CFRunLoopServiceMachPort + 337
    frame #3: 0x00007fff45f7952d CoreFoundation`__CFRunLoopRun + 1654
    frame #4: 0x00007fff45f78c64 CoreFoundation`CFRunLoopRunSpecific + 463
    frame #5: 0x00007fff4520fab5 HIToolbox`RunCurrentEventLoopInMode + 293
    frame #6: 0x00007fff4520f7eb HIToolbox`ReceiveNextEventCommon + 618
    frame #7: 0x00007fff4520f568 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #8: 0x00007fff434ca363 AppKit`_DPSNextEvent + 997
    frame #9: 0x00007fff434c9102 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1362
    frame #10: 0x000000010a83e3f3 libqcocoa.dylib`QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2819
    frame #11: 0x0000000104331f3e QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 462
    frame #12: 0x000000010433a468 QtCore`QCoreApplication::exec() + 424
    frame #13: 0x0000000100007118 owncloud`main + 1240
    frame #14: 0x00007fff731c6ed9 libdyld.dylib`start + 1
    frame #15: 0x00007fff731c6ed9 libdyld.dylib`start + 1
  thread #4
    frame #0: 0x00007fff733037de libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff733bd593 libsystem_pthread.dylib`_pthread_cond_wait + 724
    frame #2: 0x00007fff7089bbda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame #3: 0x0000000102ee4192 QtWebKit`void std::__1::condition_variable_any::wait<std::__1::unique_lock<bmalloc::Mutex> >(std::__1::unique_lock<bmalloc::Mutex>&) + 82
    frame #4: 0x0000000102ee408b QtWebKit`bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadEntryPoint(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*) + 155
    frame #5: 0x0000000102ee4268 QtWebKit`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*), bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*> >(void*) + 40
    frame #6: 0x00007fff733ba305 libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x00007fff733bd26f libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x00007fff733b9415 libsystem_pthread.dylib`thread_start + 13
  thread #7, name = 'com.apple.CFSocket.private'
    frame #0: 0x00007fff733075aa libsystem_kernel.dylib`__select + 10
    frame #1: 0x00007fff45fa7c13 CoreFoundation`__CFSocketManager + 639
    frame #2: 0x00007fff733ba305 libsystem_pthread.dylib`_pthread_body + 126
    frame #3: 0x00007fff733bd26f libsystem_pthread.dylib`_pthread_start + 70
    frame #4: 0x00007fff733b9415 libsystem_pthread.dylib`thread_start + 13
  thread #8, name = 'Qt bearer thread'
    frame #0: 0x00007fff733082ee libsystem_kernel.dylib`poll + 10
    frame #1: 0x000000010439e350 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 768
    frame #2: 0x000000010439ea43 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 931
    frame #3: 0x0000000104331f3e QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 462
    frame #4: 0x0000000104112e37 QtCore`QThread::exec() + 183
    frame #5: 0x000000010411a834 QtCore`QThreadPrivate::start(void*) + 532
    frame #6: 0x00007fff733ba305 libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x00007fff733bd26f libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x00007fff733b9415 libsystem_pthread.dylib`thread_start + 13
  thread #9, name = 'com.apple.NSEventThread'
    frame #0: 0x00007fff7330017a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff733006d0 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x00007fff45f79fde CoreFoundation`__CFRunLoopServiceMachPort + 337
    frame #3: 0x00007fff45f7952d CoreFoundation`__CFRunLoopRun + 1654
    frame #4: 0x00007fff45f78c64 CoreFoundation`CFRunLoopRunSpecific + 463
    frame #5: 0x00007fff434d2f89 AppKit`_NSEventThread + 160
    frame #6: 0x00007fff733ba305 libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x00007fff733bd26f libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x00007fff733b9415 libsystem_pthread.dylib`thread_start + 13
* thread #11, name = 'QNetworkAccessManager thread', stop reason = breakpoint 1.1
  * frame #0: 0x00007fff708edb48 libc++abi.dylib`__cxa_throw
    frame #1: 0x00000001040f5871 QtCore`qBadAlloc() + 49
    frame #2: 0x000000010411e495 QtCore`QByteArray::reallocData(unsigned int, QFlags<QArrayData::AllocationOption>) + 197
    frame #3: 0x000000010411f518 QtCore`QByteArray::append(char const*, int) + 120
    frame #4: 0x0000000103fc2995 QtNetwork`QHttp2ProtocolHandler::updateStream(Http2::Stream&, Http2::Frame const&, Qt::ConnectionType) + 469
    frame #5: 0x0000000103fbe18f QtNetwork`QHttp2ProtocolHandler::_q_receiveReply() + 8607
    frame #6: 0x000000010436a668 QtCore`QMetaObject::activate(QObject*, int, int, void**) + 4920
    frame #7: 0x0000000104041902 QtNetwork`QSslSocketBackendPrivate::transmit() + 1602
    frame #8: 0x000000010436a668 QtCore`QMetaObject::activate(QObject*, int, int, void**) + 4920
    frame #9: 0x000000010400e305 QtNetwork`QAbstractSocketPrivate::canReadNotification() + 229
    frame #10: 0x000000010401f9f1 QtNetwork`QReadNotifier::event(QEvent*) + 49
    frame #11: 0x0000000100771ac4 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 324
    frame #12: 0x000000010076e4a3 QtWidgets`QApplication::notify(QObject*, QEvent*) + 403
    frame #13: 0x00000001000252ce owncloud`OCC::Application::notify(QObject*, QEvent*) + 30
    frame #14: 0x0000000104339fcc QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 188
    frame #15: 0x000000010439fb28 QtCore`QEventDispatcherUNIXPrivate::activateSocketNotifiers() + 248
    frame #16: 0x000000010439eb45 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1189
    frame #17: 0x0000000104331f3e QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 462
    frame #18: 0x0000000104112e37 QtCore`QThread::exec() + 183
    frame #19: 0x000000010411a834 QtCore`QThreadPrivate::start(void*) + 532
    frame #20: 0x00007fff733ba305 libsystem_pthread.dylib`_pthread_body + 126
    frame #21: 0x00007fff733bd26f libsystem_pthread.dylib`_pthread_start + 70
    frame #22: 0x00007fff733b9415 libsystem_pthread.dylib`thread_start + 13
  thread #13, name = 'SyncEngine_Thread'
    frame #0: 0x00007fff733082ee libsystem_kernel.dylib`poll + 10
    frame #1: 0x000000010439e350 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 768
    frame #2: 0x000000010439ea43 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 931
    frame #3: 0x0000000104331f3e QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 462
    frame #4: 0x0000000104112e37 QtCore`QThread::exec() + 183
    frame #5: 0x000000010411a834 QtCore`QThreadPrivate::start(void*) + 532
    frame #6: 0x00007fff733ba305 libsystem_pthread.dylib`_pthread_body + 126
    frame #7: 0x00007fff733bd26f libsystem_pthread.dylib`_pthread_start + 70
    frame #8: 0x00007fff733b9415 libsystem_pthread.dylib`thread_start + 13
  thread #14, name = 'com.apple.NSURLConnectionLoader'
    frame #0: 0x00007fff7330017a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff733006d0 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x00007fff45f79fde CoreFoundation`__CFRunLoopServiceMachPort + 337
    frame #3: 0x00007fff45f7952d CoreFoundation`__CFRunLoopRun + 1654
    frame #4: 0x00007fff45f78c64 CoreFoundation`CFRunLoopRunSpecific + 463
    frame #5: 0x00007fff44e79cc5 CFNetwork`-[__CoreSchedulingSetRunnable runForever] + 195
    frame #6: 0x00007fff482d5104 Foundation`__NSThread__start__ + 1218
    frame #7: 0x00007fff733ba305 libsystem_pthread.dylib`_pthread_body + 126
    frame #8: 0x00007fff733bd26f libsystem_pthread.dylib`_pthread_start + 70
    frame #9: 0x00007fff733b9415 libsystem_pthread.dylib`thread_start + 13
  thread #15
    frame #0: 0x00007fff73301b6a libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff733b9630 libsystem_pthread.dylib`_pthread_wqthread + 446
    frame #2: 0x00007fff733b9405 libsystem_pthread.dylib`start_wqthread + 13
(lldb)

Now I'll upgrade to the build @guruz suggested to see if the issue is fixed.

The issue seems to be fixed on ownCloud-2.5.4.11341-daily20190220.

It seems that 2 2GB files were missing to complete the sync. Now everything seems to be synced.

Thanks for your support :) Please let me know if you still want more help with this issue.

@CTassisF Great to hear this is fixed with newer Qt! @guruz What was the potential leak there?

Ah, probably https://bugreports.qt.io/browse/QTBUG-68394, another http2 issue. (I'm happy to see the final backtrace above would also have pointed us into that direction!)

Was this page helpful?
0 / 5 - 0 ratings