Hello community,

here is the log from the commit of package smuxi for openSUSE:Factory checked 
in at 2016-01-15 10:40:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/smuxi (Old)
 and      /work/SRC/openSUSE:Factory/.smuxi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "smuxi"

Changes:
--------
--- /work/SRC/openSUSE:Factory/smuxi/smuxi.changes      2015-11-24 
22:34:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.smuxi.new/smuxi.changes 2016-01-15 
10:40:57.000000000 +0100
@@ -1,0 +2,7 @@
+Tue Jan 12 12:52:47 UTC 2016 - dims...@opensuse.org
+
+- Update to version 1.0.1:
+  + No changelog provided / release announcement found.
+- Drop smuxi-gnome-frontend-mono4-crash.patch: Fixed upstream.
+
+-------------------------------------------------------------------

Old:
----
  smuxi-1.0.tar.gz
  smuxi-gnome-frontend-mono4-crash.patch

New:
----
  smuxi-1.0.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ smuxi.spec ++++++
--- /var/tmp/diff_new_pack.QsXD7g/_old  2016-01-15 10:40:58.000000000 +0100
+++ /var/tmp/diff_new_pack.QsXD7g/_new  2016-01-15 10:40:58.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package smuxi
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,11 @@
 
 
 Name:           smuxi
-Version:        1.0
+Version:        1.0.1
 Release:        0
 # FIXME: when db4o is in Factory, uncomment BuildRequires for it
 Url:            http://www.smuxi.org
 Source0:        http://www.smuxi.org/jaws/data/files/%{name}-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM smuxi-gnome-frontend-mono4-crash.patch boo#955080 
badshah...@gmail.com -- Fix crash with Mono >= 4
-Patch0:         smuxi-gnome-frontend-mono4-crash.patch
 Summary:        Smart MUltipleXed Irc
 License:        GPL-2.0+
 Group:          Productivity/Networking/IRC
@@ -218,7 +216,6 @@
 %lang_package -n %{name}-server
 %prep
 %setup -q
-%patch0 -p1
 
 %build
 %configure \

++++++ smuxi-1.0.tar.gz -> smuxi-1.0.1.tar.gz ++++++
++++ 3965 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/compile new/smuxi-1.0.1/compile
--- old/smuxi-1.0/compile       2014-10-27 05:45:43.000000000 +0100
+++ new/smuxi-1.0.1/compile     2015-08-15 12:37:35.000000000 +0200
@@ -3,7 +3,7 @@
 
 scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 # Written by Tom Tromey <tro...@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/configure.ac new/smuxi-1.0.1/configure.ac
--- old/smuxi-1.0/configure.ac  2015-07-06 11:04:44.000000000 +0200
+++ new/smuxi-1.0.1/configure.ac        2015-12-06 12:33:07.000000000 +0100
@@ -1,5 +1,5 @@
 AC_PREREQ([2.54])
-AC_INIT([smuxi], [1.0], [https://smuxi.im/issues/new])
+AC_INIT([smuxi], [1.0.1], [https://smuxi.im/issues/new])
 # using the --foreign option makes automake less strict about GNU policy 
 AC_CONFIG_MACRO_DIR([.])
 AM_INIT_AUTOMAKE([foreign tar-ustar])
@@ -16,6 +16,16 @@
 AC_PROG_LIBTOOL
 #LT_INIT([disable-static])
 
+AC_MSG_CHECKING([whether the shell understands "+="])
+shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && shell_append=yes
+AC_MSG_RESULT([$shell_append])
+if test "x$shell_append" = "xno"; then
+       AC_MSG_ERROR([Your shell (/bin/sh) is not supporting += which is 
required by this configure script. Try CONFIG_SHELL="env bash" ./configure 
instead.])
+fi
+
 # I18N
 IT_PROG_INTLTOOL([0.25])
 
@@ -157,14 +167,17 @@
 ])
 
 PROFILE=debug
-AC_ARG_ENABLE(release,
-       AC_HELP_STRING([--enable-release],
-               [Use 'RELEASE' Configuration [default=NO]]),
-               enable_release=yes, enable_release=no)
+# Release builds, that is without log4net and without debug symbol files (.mdb)
+# are not supported at this point, as they have no advantage at runtime but
+# disadvantages to analyze bugs.
+#AC_ARG_ENABLE(release,
+#      AC_HELP_STRING([--enable-release],
+#              [Use 'RELEASE' Configuration [default=NO]]),
+#              enable_release=yes, enable_release=no)
 AM_CONDITIONAL(ENABLE_RELEASE, test x$enable_release = xyes)
-if test "x$enable_release" = "xyes" ; then
-       PROFILE=release
-fi
+#if test "x$enable_release" = "xyes" ; then
+#      PROFILE=release
+#fi
 AC_ARG_ENABLE(debug,
        AC_HELP_STRING([--enable-debug],
                [Use 'DEBUG' Configuration [default=YES]]),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/lib/StarkSoftProxy/Socks5ProxyClient.cs 
new/smuxi-1.0.1/lib/StarkSoftProxy/Socks5ProxyClient.cs
--- old/smuxi-1.0/lib/StarkSoftProxy/Socks5ProxyClient.cs       2013-08-19 
18:23:42.000000000 +0200
+++ new/smuxi-1.0.1/lib/StarkSoftProxy/Socks5ProxyClient.cs     2015-12-06 
12:27:18.000000000 +0100
@@ -27,6 +27,7 @@
 using System.Text;
 using System.Net;
 using System.Net.Sockets;
+using System.Collections.Generic;
 using System.Globalization;
 using System.ComponentModel;
 
@@ -52,7 +53,6 @@
         
         private const byte SOCKS5_VERSION_NUMBER = 5;
         private const byte SOCKS5_RESERVED = 0x00;
-        private const byte SOCKS5_AUTH_NUMBER_OF_AUTH_METHODS_SUPPORTED = 2;
         private const byte SOCKS5_AUTH_METHOD_NO_AUTHENTICATION_REQUIRED = 
0x00;
         private const byte SOCKS5_AUTH_METHOD_GSSAPI = 0x01;
         private const byte SOCKS5_AUTH_METHOD_USERNAME_PASSWORD = 0x02;
@@ -326,15 +326,23 @@
             //      +----+----------+----------+
             //      | 1  |    1     | 1 to 255 |
             //      +----+----------+----------+
-            
-            byte[] authRequest = new byte[4];
-            authRequest[0] = SOCKS5_VERSION_NUMBER;
-            authRequest[1] = SOCKS5_AUTH_NUMBER_OF_AUTH_METHODS_SUPPORTED;
-            authRequest[2] = SOCKS5_AUTH_METHOD_NO_AUTHENTICATION_REQUIRED; 
-            authRequest[3] = SOCKS5_AUTH_METHOD_USERNAME_PASSWORD; 
+
+            var haveUserPass = !String.IsNullOrEmpty(_proxyUserName) &&
+                               !String.IsNullOrEmpty(_proxyPassword);
+
+            var authRequest = new List<byte>();
+            authRequest.Add(SOCKS5_VERSION_NUMBER);
+            if (haveUserPass) {
+                authRequest.Add(2);
+                authRequest.Add(SOCKS5_AUTH_METHOD_NO_AUTHENTICATION_REQUIRED);
+                authRequest.Add(SOCKS5_AUTH_METHOD_USERNAME_PASSWORD);
+            } else {
+                authRequest.Add(1);
+                authRequest.Add(SOCKS5_AUTH_METHOD_NO_AUTHENTICATION_REQUIRED);
+            }
 
             //  send the request to the server specifying authentication types 
supported by the client.
-            stream.Write(authRequest, 0, authRequest.Length);
+            stream.Write(authRequest.ToArray(), 0, authRequest.Count);
             
             //  SERVER AUTHENTICATION RESPONSE
             //  The server selects from one of the methods given in METHODS, 
and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/missing new/smuxi-1.0.1/missing
--- old/smuxi-1.0/missing       2015-07-14 21:05:40.000000000 +0200
+++ new/smuxi-1.0.1/missing     2015-12-06 12:42:32.000000000 +0100
@@ -3,7 +3,7 @@
 
 scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/src/AssemblyVersion.cs new/smuxi-1.0.1/src/AssemblyVersion.cs
--- old/smuxi-1.0/src/AssemblyVersion.cs        2015-07-14 21:05:42.000000000 
+0200
+++ new/smuxi-1.0.1/src/AssemblyVersion.cs      2015-12-06 12:42:34.000000000 
+0100
@@ -36,5 +36,5 @@
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 
-[assembly: AssemblyVersion("1.0")]
+[assembly: AssemblyVersion("1.0.1")]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/src/Common/Defines.cs new/smuxi-1.0.1/src/Common/Defines.cs
--- old/smuxi-1.0/src/Common/Defines.cs 2015-07-14 21:05:42.000000000 +0200
+++ new/smuxi-1.0.1/src/Common/Defines.cs       2015-12-06 12:42:34.000000000 
+0100
@@ -25,11 +25,11 @@
 {
     public static class Defines
     {
-        public const string GitBranch   = "master";
-        public const string GitCommitHash = "54522cf";
+        public const string GitBranch   = "release/1.0";
+        public const string GitCommitHash = "af71ce4";
 
         private static readonly string f_InstallPrefix = "/usr/local";
-        private static readonly string f_DistVersion = "master/54522cf";
+        private static readonly string f_DistVersion = "release/1.0/af71ce4";
         private static readonly string f_TwitterApiKey = 
"60QV2qQx9cS7y1BJDbgAA|2VgD6qQKddsF5HYQ0TrRgs3tFTnCwDONBmRlTmG658";
 
         public static string InstallPrefix {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/src/Engine/Config/Config.cs 
new/smuxi-1.0.1/src/Engine/Config/Config.cs
--- old/smuxi-1.0/src/Engine/Config/Config.cs   2015-07-06 11:04:44.000000000 
+0200
+++ new/smuxi-1.0.1/src/Engine/Config/Config.cs 2015-12-06 12:33:07.000000000 
+0100
@@ -471,6 +471,7 @@
                 if (String.IsNullOrEmpty(realname)) {
                     realname = "Your Name";
                 }
+                realname = "Your Name";
                 LoadUserEntry(user, "Connection/Realname", realname);
                 LoadUserEntry(user, "Connection/Encoding", String.Empty);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/src/Engine/Messages/MessageBuilder.cs 
new/smuxi-1.0.1/src/Engine/Messages/MessageBuilder.cs
--- old/smuxi-1.0/src/Engine/Messages/MessageBuilder.cs 2015-03-22 
23:23:36.000000000 +0100
+++ new/smuxi-1.0.1/src/Engine/Messages/MessageBuilder.cs       2015-12-06 
12:30:22.000000000 +0100
@@ -807,7 +807,9 @@
                 normalized.AppendFormat("{0} ", trimmed);
             }
             // remove trailing space
-            normalized.Length--;
+            if (normalized.Length > 0) {
+                normalized.Length--;
+            }
             return normalized.ToString();
         }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/src/Engine-Campfire/Protocols/Campfire/CampfireEventStream.cs 
new/smuxi-1.0.1/src/Engine-Campfire/Protocols/Campfire/CampfireEventStream.cs
--- old/smuxi-1.0/src/Engine-Campfire/Protocols/Campfire/CampfireEventStream.cs 
2013-12-15 23:02:07.000000000 +0100
+++ 
new/smuxi-1.0.1/src/Engine-Campfire/Protocols/Campfire/CampfireEventStream.cs   
    2015-12-06 12:30:22.000000000 +0100
@@ -140,37 +140,27 @@
 
             using (StreamReader reader = new 
StreamReader(res.GetResponseStream()))
             {
-                /* Stupid but easy way to figure out when we've reached the 
end of a JSON object */
-                int brackets = 0;
                 StringBuilder bld = new StringBuilder();
 
                 while (!reader.EndOfStream) {
-                    var line = reader.ReadLine();
+                    var c = reader.Read();
 
-                    for (int i = 0; i < line.Length; i++) {
-                        bld.Append(line[i]);
-                        switch (line[i]) {
-                            case '{':
-                                brackets++;
-                                break;
-                            case '}':
-                                brackets--;
-                                break;
-                            default:
-                                continue;
-                        }
-
-                        if (brackets == 0) {
-                            var str = bld.ToString().Trim();
-                            bld.Length = 0;
-                            var message = 
JsonSerializer.DeserializeFromString<Message>(str);
-                            if (MessageReceived != null) {
-                                var args = new MessageReceivedEventArgs(Chat, 
message);
-                                MessageReceived(this, args);
-                            }
-                            LastMessage = message.Id;
-                        }
+                    /* The server uses CR to indicate when each message ends */
+                    if (c != '\r') {
+                        bld.Append((char)c);
+                        continue;
                     }
+
+                    var str = bld.ToString();
+                    bld.Length = 0;
+
+                    var message = 
JsonSerializer.DeserializeFromString<Message>(str);
+                    if (MessageReceived != null) {
+                        var args = new MessageReceivedEventArgs(Chat, message);
+                        MessageReceived(this, args);
+                    }
+
+                    LastMessage = message.Id;
                 }
 
                 reader.Close();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/src/Frontend-GNOME/MainWindow.cs 
new/smuxi-1.0.1/src/Frontend-GNOME/MainWindow.cs
--- old/smuxi-1.0/src/Frontend-GNOME/MainWindow.cs      2015-03-22 
23:23:44.000000000 +0100
+++ new/smuxi-1.0.1/src/Frontend-GNOME/MainWindow.cs    2015-12-06 
12:33:07.000000000 +0100
@@ -228,7 +228,7 @@
                 // predict and set useful heigth
                 int lineWidth, lineHeigth;
                 using (var layout = Entry.CreatePangoLayout("Qp")) {
-                    layout.GetPixelSize(out lineHeigth, out lineHeigth);
+                    layout.GetPixelSize(out lineWidth, out lineHeigth);
                 }
                 var it = Entry.Buffer.StartIter;
                 int newLines = 1;
@@ -394,8 +394,11 @@
         {
             Trace.Call(e);
 
-            WindowWidth = e.Width;
-            CheckLayout();
+            var widthChanged = WindowWidth != e.Width;
+            if (widthChanged) {
+                WindowWidth = e.Width;
+                CheckLayout();
+            }
             return base.OnConfigureEvent(e);
         }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/src/Frontend-GNOME/Preferences/PreferencesDialog.cs 
new/smuxi-1.0.1/src/Frontend-GNOME/Preferences/PreferencesDialog.cs
--- old/smuxi-1.0/src/Frontend-GNOME/Preferences/PreferencesDialog.cs   
2015-05-21 23:51:08.000000000 +0200
+++ new/smuxi-1.0.1/src/Frontend-GNOME/Preferences/PreferencesDialog.cs 
2015-12-06 12:30:22.000000000 +0100
@@ -343,6 +343,9 @@
             foreach (EncodingInfo encInfo in Encoding.GetEncodings()) {
                 try {
                     Encoding enc = Encoding.GetEncoding(encInfo.CodePage);
+                    if (enc == null || enc.EncodingName == null) {
+                        continue;
+                    }
                     string encodingName = enc.EncodingName.ToUpper();
 
                     if (!enc.IsSingleByte && enc != Encoding.UTF8) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/src/Frontend-GNOME/smuxi-frontend-gnome.in 
new/smuxi-1.0.1/src/Frontend-GNOME/smuxi-frontend-gnome.in
--- old/smuxi-1.0/src/Frontend-GNOME/smuxi-frontend-gnome.in    2015-07-14 
21:04:38.000000000 +0200
+++ new/smuxi-1.0.1/src/Frontend-GNOME/smuxi-frontend-gnome.in  2015-12-06 
12:30:22.000000000 +0100
@@ -5,12 +5,16 @@
 MONO_TLS_SESSION_CACHE_TIMEOUT=0
 export MONO_TLS_SESSION_CACHE_TIMEOUT
 
-# HACK: forcibly disabled SGen, as it has a known SEGV bug related to the
-# Mono.Data.Sqlite binding that does not happen with the boehm GC, see:
-# https://smuxi.im/issues/show/1062
-MONO_ENV_OPTIONS="$(echo $MONO_ENV_OPTIONS | sed s/--gc=sgen//)"
-MONO_ENV_OPTIONS="--gc=boehm $MONO_ENV_OPTIONS"
-export MONO_ENV_OPTIONS
+# Mono >= 4 SEGVs with Boehm as GC during startup
+# see https://bugzilla.opensuse.org/show_bug.cgi?id=955080
+if ! mono -V | grep -q -F "version 4."; then
+    # HACK: forcibly disabled SGen, as it has a known SEGV bug related to the
+    # Mono.Data.Sqlite binding that does not happen with the boehm GC, see:
+    # https://smuxi.im/issues/show/1062
+    MONO_ENV_OPTIONS="$(echo $MONO_ENV_OPTIONS | sed s/--gc=sgen//)"
+    MONO_ENV_OPTIONS="--gc=boehm $MONO_ENV_OPTIONS"
+    export MONO_ENV_OPTIONS
+fi
 
 # Smuxi uses an IPC channel for the single application instance feature and it
 # also allows to pass links from commandline to an existing Smuxi instance. 
This
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/smuxi-1.0/src/Server/smuxi-server.in 
new/smuxi-1.0.1/src/Server/smuxi-server.in
--- old/smuxi-1.0/src/Server/smuxi-server.in    2015-06-13 01:20:25.000000000 
+0200
+++ new/smuxi-1.0.1/src/Server/smuxi-server.in  2015-12-06 12:30:22.000000000 
+0100
@@ -5,11 +5,15 @@
 MONO_TLS_SESSION_CACHE_TIMEOUT=0
 export MONO_TLS_SESSION_CACHE_TIMEOUT
 
-# HACK: forcibly disabled SGen, as it has a known SEGV bug related to the
-# Mono.Data.Sqlite binding that does not happen with the boehm GC, see:
-# https://smuxi.im/issues/show/1062
-MONO_ENV_OPTIONS="$(echo $MONO_ENV_OPTIONS | sed s/--gc=sgen//)"
-MONO_ENV_OPTIONS="--gc=boehm $MONO_ENV_OPTIONS"
-export MONO_ENV_OPTIONS
+# Mono >= 4 SEGVs with Boehm as GC during startup
+# see https://bugzilla.opensuse.org/show_bug.cgi?id=955080
+if ! mono -V | grep -q -F "version 4."; then
+    # HACK: forcibly disabled SGen, as it has a known SEGV bug related to the
+    # Mono.Data.Sqlite binding that does not happen with the boehm GC, see:
+    # https://smuxi.im/issues/show/1062
+    MONO_ENV_OPTIONS="$(echo $MONO_ENV_OPTIONS | sed s/--gc=sgen//)"
+    MONO_ENV_OPTIONS="--gc=boehm $MONO_ENV_OPTIONS"
+    export MONO_ENV_OPTIONS
+fi
 
 exec mono --debug "@expanded_libdir@/@PACKAGE@/smuxi-server.exe" "$@"


Reply via email to