← Back to team overview

ubuntu-webapps-bugs team mailing list archive

[Bug 1607411] [NEW] boringssl symbols conflict with openssl in component builds

 

Public bug reported:

I imagine this has been happening for a while, but it's just recently
started causing crashes like this, probably due to ABI differences
between openssl/boringssl:

Thread 1 "qmltest_api" received signal SIGSEGV, Segmentation fault.
__GI___pthread_rwlock_wrlock (rwlock=rwlock@entry=0x1) at pthread_rwlock_wrlock.c:100
100     pthread_rwlock_wrlock.c: No such file or directory.
(gdb) bt
#0  0x00007ffff5864854 in __GI___pthread_rwlock_wrlock (rwlock=rwlock@entry=0x1) at pthread_rwlock_wrlock.c:100
#1  0x00007fffef5df219 in CRYPTO_MUTEX_lock_write (lock=lock@entry=0x1) at ../../third_party/boringssl/src/crypto/thread_pthread.c:71
#2  0x00007fffef5c850f in CRYPTO_get_ex_new_index (ex_data_class=0x1, out_index=0x0, argl=0, argp=0x0, dup_func=0x0, free_func=0x0) at ../../third_party/boringssl/src/crypto/ex_data.c:148
#3  0x00007ffff757a370 in QSslSocketPrivate::ensureLibraryLoaded() () at ssl/qsslsocket_openssl.cpp:486
#4  0x00007ffff757cfed in QSslSocketPrivate::ensureInitialized() () at ssl/qsslsocket_openssl.cpp:608
#5  0x00007ffff757cfed in QSslSocketPrivate::ensureInitialized() () at ssl/qsslsocket_openssl.cpp:462
#6  0x00007ffff757cfed in QSslSocketPrivate::ensureInitialized() () at ssl/qsslsocket_openssl.cpp:604
#7  0x00007ffff75605d7 in QSslCertificate::QSslCertificate(QByteArray const&, QSsl::EncodingFormat) (this=0x997210) at ssl/qsslcertificate_p.h:79
#8  0x00007ffff75605d7 in QSslCertificate::QSslCertificate(QByteArray const&, QSsl::EncodingFormat) (this=0x7fffffff6800, data=..., format=QSsl::Der) at ssl/qsslcertificate.cpp:151
#9  0x00007ffff7e96e3b in OxideQSslCertificate::fingerprintSHA1() const (this=<optimised out>) at ../../oxide/qt/core/api/oxideqsslcertificate.cc:226
#10 0x00007ffff7e8e3e0 in OxideQSslCertificate::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimised out>, _c=<optimised out>, _id=<optimised out>, _a=<optimised out>)
    at gen/oxide/qt/core/api/moc_oxideqsslcertificate.cc:147
#11 0x00007ffff78a611d in QV4::QQmlValueTypeWrapper::get(QV4::Managed*, QV4::String*, bool*) (m=<optimised out>, name=<optimised out>, hasProperty=0x0) at qml/qqmlvaluetypewrapper.cpp:374
#12 0x00007ffff780d90e in QV4::Runtime::getProperty(QV4::ExecutionEngine*, QV4::Value const&, int) (hasProperty=0x0, name=<optimised out>, this=<optimised out>) at jsruntime/qv4object_p.h:279
#13 0x00007ffff780d90e in QV4::Runtime::getProperty(QV4::ExecutionEngine*, QV4::Value const&, int) (engine=0x8f6910, object=..., nameIndex=<optimised out>) at jsruntime/qv4runtime.cpp:679
#14 0x00007fffc5aa0a8d in  ()
#15 0x0000000000a16680 in  ()
#16 0x00007fffc00aa3c8 in  ()
#17 0x0003000000000001 in  ()
#18 0x0000000000000000 in  ()

** Affects: oxide
     Importance: Critical
         Status: Triaged

** Changed in: oxide
   Importance: Undecided => Critical

** Changed in: oxide
       Status: New => Triaged

-- 
You received this bug notification because you are a member of Ubuntu
WebApps bug tracking, which is subscribed to Oxide.
https://bugs.launchpad.net/bugs/1607411

Title:
  boringssl symbols conflict with openssl in component builds

Status in Oxide:
  Triaged

Bug description:
  I imagine this has been happening for a while, but it's just recently
  started causing crashes like this, probably due to ABI differences
  between openssl/boringssl:

  Thread 1 "qmltest_api" received signal SIGSEGV, Segmentation fault.
  __GI___pthread_rwlock_wrlock (rwlock=rwlock@entry=0x1) at pthread_rwlock_wrlock.c:100
  100     pthread_rwlock_wrlock.c: No such file or directory.
  (gdb) bt
  #0  0x00007ffff5864854 in __GI___pthread_rwlock_wrlock (rwlock=rwlock@entry=0x1) at pthread_rwlock_wrlock.c:100
  #1  0x00007fffef5df219 in CRYPTO_MUTEX_lock_write (lock=lock@entry=0x1) at ../../third_party/boringssl/src/crypto/thread_pthread.c:71
  #2  0x00007fffef5c850f in CRYPTO_get_ex_new_index (ex_data_class=0x1, out_index=0x0, argl=0, argp=0x0, dup_func=0x0, free_func=0x0) at ../../third_party/boringssl/src/crypto/ex_data.c:148
  #3  0x00007ffff757a370 in QSslSocketPrivate::ensureLibraryLoaded() () at ssl/qsslsocket_openssl.cpp:486
  #4  0x00007ffff757cfed in QSslSocketPrivate::ensureInitialized() () at ssl/qsslsocket_openssl.cpp:608
  #5  0x00007ffff757cfed in QSslSocketPrivate::ensureInitialized() () at ssl/qsslsocket_openssl.cpp:462
  #6  0x00007ffff757cfed in QSslSocketPrivate::ensureInitialized() () at ssl/qsslsocket_openssl.cpp:604
  #7  0x00007ffff75605d7 in QSslCertificate::QSslCertificate(QByteArray const&, QSsl::EncodingFormat) (this=0x997210) at ssl/qsslcertificate_p.h:79
  #8  0x00007ffff75605d7 in QSslCertificate::QSslCertificate(QByteArray const&, QSsl::EncodingFormat) (this=0x7fffffff6800, data=..., format=QSsl::Der) at ssl/qsslcertificate.cpp:151
  #9  0x00007ffff7e96e3b in OxideQSslCertificate::fingerprintSHA1() const (this=<optimised out>) at ../../oxide/qt/core/api/oxideqsslcertificate.cc:226
  #10 0x00007ffff7e8e3e0 in OxideQSslCertificate::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimised out>, _c=<optimised out>, _id=<optimised out>, _a=<optimised out>)
      at gen/oxide/qt/core/api/moc_oxideqsslcertificate.cc:147
  #11 0x00007ffff78a611d in QV4::QQmlValueTypeWrapper::get(QV4::Managed*, QV4::String*, bool*) (m=<optimised out>, name=<optimised out>, hasProperty=0x0) at qml/qqmlvaluetypewrapper.cpp:374
  #12 0x00007ffff780d90e in QV4::Runtime::getProperty(QV4::ExecutionEngine*, QV4::Value const&, int) (hasProperty=0x0, name=<optimised out>, this=<optimised out>) at jsruntime/qv4object_p.h:279
  #13 0x00007ffff780d90e in QV4::Runtime::getProperty(QV4::ExecutionEngine*, QV4::Value const&, int) (engine=0x8f6910, object=..., nameIndex=<optimised out>) at jsruntime/qv4runtime.cpp:679
  #14 0x00007fffc5aa0a8d in  ()
  #15 0x0000000000a16680 in  ()
  #16 0x00007fffc00aa3c8 in  ()
  #17 0x0003000000000001 in  ()
  #18 0x0000000000000000 in  ()

To manage notifications about this bug go to:
https://bugs.launchpad.net/oxide/+bug/1607411/+subscriptions