On Sat, May 09, 2020 at 12:29:09PM +0200, Bruno Kleinert wrote:
> Am Samstag, den 09.05.2020, 11:35 +0200 schrieb Yuri D'Elia:
> > Package: libyaml-cpp0.6
> > Version: 0.6.3-4
> > Followup-For: Bug #959201
> >
> > This ABI breakage also affects blender (indirecly via opencolorio).
> > Version 0.6.3-4 does fix the symbol lookup error, however blender will
> > incur a crash soon after with a segmentation fault.
> >
> > Downgrading libyaml-cpp0.6 to 0.6.2-4 fixes the issue, suggesting that
> > the ABI is still broken somewhere.
>
> I can confirm the same for jami-daemon: Symbol lookup errors are gone,
> but it crashes with a segmentation fault during startup.
Looking at the symbols file there were still differences, and with the
attached change to revert more the segfault is going away for me.
cu
Adrian
diff -Nru yaml-cpp-0.6.3/debian/libyaml-cpp0.6.symbols
yaml-cpp-0.6.3/debian/libyaml-cpp0.6.symbols
--- yaml-cpp-0.6.3/debian/libyaml-cpp0.6.symbols2020-05-08
15:15:07.0 +0300
+++ yaml-cpp-0.6.3/debian/libyaml-cpp0.6.symbols2020-05-09
18:34:48.0 +0300
@@ -175,11 +175,11 @@
_ZN4YAML9ExceptionD0Ev@Base 0.6.2
_ZN4YAML9ExceptionD1Ev@Base 0.6.2
_ZN4YAML9ExceptionD2Ev@Base 0.6.2
- _ZN4YAMLanERKNS_5RegExES2_@Base 0.6.3
+ _ZN4YAMLaaERKNS_5RegExES2_@Base 0.6.2
_ZN4YAMLlsERNS_7EmitterERKNS_4NodeE@Base 0.6.2
_ZN4YAMLlsERSoRKNS_4NodeE@Base 0.6.2
_ZN4YAMLntERKNS_5RegExE@Base 0.6.2
- _ZN4YAMLorERKNS_5RegExES2_@Base 0.6.3
+ _ZN4YAMLooERKNS_5RegExES2_@Base 0.6.2
_ZN4YAMLplERKNS_5RegExES2_@Base 0.6.2
_ZNK4YAML6detail9node_data16compute_map_sizeEv@Base 0.6.2
_ZNK4YAML6detail9node_data16compute_seq_sizeEv@Base 0.6.2
diff -Nru
yaml-cpp-0.6.3/debian/patches/0001-Revert-Static-analysis-fix-replace-0-and-NULL-with-n.patch
yaml-cpp-0.6.3/debian/patches/0001-Revert-Static-analysis-fix-replace-0-and-NULL-with-n.patch
---
yaml-cpp-0.6.3/debian/patches/0001-Revert-Static-analysis-fix-replace-0-and-NULL-with-n.patch
1970-01-01 02:00:00.0 +0200
+++
yaml-cpp-0.6.3/debian/patches/0001-Revert-Static-analysis-fix-replace-0-and-NULL-with-n.patch
2020-05-09 18:34:48.0 +0300
@@ -0,0 +1,156 @@
+From dd072aab1264e1343dead7de0dc2c67c588fdd30 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk
+Date: Sun, 10 May 2020 11:39:29 +0300
+Subject: Revert "Static analysis fix: replace 0 and NULL with nullptr (#738)"
+
+This reverts commit db0bda7087a6fac811e78957787fc5037465ac4e.
+---
+ include/yaml-cpp/binary.h| 2 +-
+ include/yaml-cpp/exceptions.h| 4 ++--
+ include/yaml-cpp/node/detail/impl.h | 14 +++---
+ include/yaml-cpp/node/detail/node_iterator.h | 4 ++--
+ include/yaml-cpp/node/impl.h | 2 +-
+ include/yaml-cpp/ostream_wrapper.h | 2 +-
+ 6 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/include/yaml-cpp/binary.h b/include/yaml-cpp/binary.h
+index 1050dae..0267a3a 100644
+--- a/include/yaml-cpp/binary.h
b/include/yaml-cpp/binary.h
+@@ -39,7 +39,7 @@ class YAML_CPP_API Binary {
+ rhs.clear();
+ rhs.resize(m_unownedSize);
+ std::copy(m_unownedData, m_unownedData + m_unownedSize, rhs.begin());
+- m_unownedData = nullptr;
++ m_unownedData = 0;
+ m_unownedSize = 0;
+ } else {
+ m_data.swap(rhs);
+diff --git a/include/yaml-cpp/exceptions.h b/include/yaml-cpp/exceptions.h
+index eef2283..3b1b01a 100644
+--- a/include/yaml-cpp/exceptions.h
b/include/yaml-cpp/exceptions.h
+@@ -117,7 +117,7 @@ inline const std::string KEY_NOT_FOUND_WITH_KEY(
+
+ template
+ inline const std::string BAD_SUBSCRIPT_WITH_KEY(
+-const T&, typename disable_if>::type* = nullptr) {
++const T&, typename disable_if>::type* = 0) {
+ return BAD_SUBSCRIPT;
+ }
+
+@@ -129,7 +129,7 @@ inline const std::string BAD_SUBSCRIPT_WITH_KEY(const
std::string& key) {
+
+ template
+ inline const std::string BAD_SUBSCRIPT_WITH_KEY(
+-const T& key, typename enable_if>::type* = nullptr) {
++const T& key, typename enable_if>::type* = 0) {
+ std::stringstream stream;
+ stream << BAD_SUBSCRIPT << " (key: \"" << key << "\")";
+ return stream.str();
+diff --git a/include/yaml-cpp/node/detail/impl.h
b/include/yaml-cpp/node/detail/impl.h
+index 4123b85..46615a9 100644
+--- a/include/yaml-cpp/node/detail/impl.h
b/include/yaml-cpp/node/detail/impl.h
+@@ -17,7 +17,7 @@ template
+ struct get_idx {
+ static node* get(const std::vector& /* sequence */,
+const Key& /* key */, shared_memory_holder /* pMemory */) {
+-return nullptr;
++return 0;
+ }
+ };
+
+@@ -27,7 +27,7 @@ struct get_idx::value>::type> {
+ static node* get(const std::vector& sequence, const Key& key,
+shared_memory_holder /* pMemory */) {
+-return key < sequence.size() ? sequence[key] : nullptr;
++return key < sequence.size() ? sequence[key] : 0;
+ }
+
+ static node* get(std::vector& sequence, const Key& key,
+@@