Red Hat Bugzilla – Bug 1022847
[abrt] mirall-1.4.1-1.fc20: __gmpz_clear: Process /usr/bin/owncloud was killed by signal 11 (SIGSEGV)
Last modified: 2013-12-13 22:53:35 EST
Description of problem:
This crash happens during a normal sync process.
The last line in the logfile is
csync_statedb_close: Successfully moved tmp db to original db.
I've seen the same error using oc-sync from the open suse build service.
Version-Release number of selected component:
cmdline: owncloud --logfile oc.log
runlevel: N 5
Thread no. 1 (10 frames)
#0 __gmpz_clear at ../../mpz/clear.c:28
#1 mp_clear_multi at multi.c:38
#2 ecc_del_point at ecc_points.c:62
#3 _ecc_wmnaf_cache_entry_free at ecc_mulmod_cached.c:55
#4 ecc_wmnaf_cache_free at ecc_mulmod_cached.c:70
#5 gnutls_crypto_deinit at init.c:44
#6 gnutls_global_deinit at gnutls_global.c:304
#7 ne__ssl_exit at ne_gnutls.c:1433
#8 ne_sock_exit at ne_socket.c:372
#9 owncloud_commit at /usr/src/debug/ocsync-0.90.2/modules/csync_owncloud.c:1752
Created attachment 815646 [details]
Created attachment 815647 [details]
Created attachment 815648 [details]
Created attachment 815649 [details]
Created attachment 815650 [details]
Created attachment 815651 [details]
Created attachment 815652 [details]
Created attachment 815653 [details]
Created attachment 815654 [details]
Created attachment 815655 [details]
This seems to be related to the gnutls-3.1.13-3.fc20 update in updates-testing.
gnutls-3.1.13-2.fc20 works for me.
This is not a bug in gnutls. gnutls_global_deinit() is not thread safe and should not be ever called in multithreaded process unless it is really closing or it must handle mutexing of the gnutls_global_init() and gnutls_global_deinit() calls on its own.
Ok, Thomas. Then you'd say that the following function in the neon library is wrong, if it is used in a application that uses threading?
/* No way to unregister the thread callbacks. Doomed. */
#if LIBGNUTLS_VERSION_MAJOR > 1 || LIBGNUTLS_VERSION_MINOR > 3 \
|| (LIBGNUTLS_VERSION_MINOR == 3 && LIBGNUTLS_VERSION_PATCH >= 3)
/* It's safe to call gnutls_global_deinit() here only with
* gnutls >= 1.3., since older versions don't refcount and
* doing so would prevent any other use of gnutls within
* the process. */
It is probably wrong to call the functions ne_sock_init() and ne_sock_exit() individually in threads of the application. The init should be probably called once on startup and the exit should be called once on application exit.
Alternatively these calls should be guarded by mutex.
owncloud-csync-0.90.4-1.fc19,mirall-1.4.2-1.fc19 has been submitted as an update for Fedora 19.
owncloud-csync-0.90.4-1.fc18,mirall-1.4.2-1.fc18 has been submitted as an update for Fedora 18.
owncloud-csync-0.90.4-1.fc20,mirall-1.4.2-1.fc20 has been submitted as an update for Fedora 20.
According to the mirall bug tracker  it seems that this problem only occurs under Fedora 19/20. I also could not find any other bug report where this or similar seg faults occur with mirall or ocsync. I'm not sure if this is really a bug in owncloud and not an related libary.
mirall-1.4.2-3.fc19 has been submitted as an update for Fedora 19.
mirall-1.4.2-3.fc18 has been submitted as an update for Fedora 18.
mirall-1.4.2-3.fc20 has been submitted as an update for Fedora 20.
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mirall-1.4.2-3.fc18'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
mirall-1.4.2-3.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
mirall-1.4.2-3.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.
mirall-1.4.2-3.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.