After update to 2.0.4.27 duplicati crashes on synology

Hi all

I updated from 2.0.4.22 to 2.0.4.28 on synology DS218+. I noticed that backups no longer worked, so I startet duplicati manually and got a SIGABRT (c.f. below). I then uninstalled 2.0.4.28 and installed latest beta (2.0.4.23) - same result. Also going back to 2.0.4.22 didn’t solve the issue. Mono is still the same (4.6.2-0096, latest beta available for syno) - reinstalling mono didn’t help and also no new DSM has been installed…

Anyone a clue if the 2.0.4.28 has placed something somewhere I have to remove it

    bash-4.3#  mono /volume1/@appstore/Duplicati/Duplicati.Server.exe --webservice-interface=*
* Assertion at ../../../mono/mini/local-propagation.c:330, condition `ins->opcode > MONO_CEE_LAST' not met

Stacktrace:

  at <unknown> <0xffffffff>
  at System.Collections.Generic.Dictionary`2<string, int>.Insert (string,int,bool) <0x00066>
  at System.Collections.Generic.Dictionary`2<string, int>.Add (string,int) <0x0001b>
  at MimeKit.Utils.CharsetUtils.AddAliases (System.Collections.Generic.Dictionary`2<string, int>,int,int,string[]) <0x0006c>
  at MimeKit.Utils.CharsetUtils..cctor () <0x0028b>
  at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0x0005a>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) object.__icall_wrapper_mono_generic_class_init (intptr) <0x00051>
  at MimeKit.ParserOptions..ctor () <0x000cb>
  at MimeKit.ParserOptions..cctor () <0x00077>
  at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0x0005a>
  at <unknown> <0xffffffff>
  at Duplicati.Library.Modules.Builtin.SendMail.SendMessage (string,string) <0x00157>
  at Duplicati.Library.Modules.Builtin.ReportHelper.OnFinish (object) <0x00822>
  at Duplicati.Library.Main.Controller.OnOperationComplete (object) <0x0039f>
  at Duplicati.Library.Main.Controller.RunAction<T_REF> (T_REF,string[]&,Duplicati.Library.Utility.IFilter&,System.Action`1<T_REF>) <0x0070b>
  at Duplicati.Library.Main.Controller.Backup (string[],Duplicati.Library.Utility.IFilter) <0x002fb>
  at Duplicati.Server.Runner.Run (Duplicati.Server.Runner/IRunnerData,bool) <0x010ff>
  at Duplicati.Server.Program/<>c.<SetWorkerThread>b__45_0 (Duplicati.Server.Runner/IRunnerData) <0x00017>
  at Duplicati.Library.Utility.WorkerThread`1<Tx_REF>.Runner () <0x005c6>
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x0009a>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x001c6>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0x000c8>

Native stacktrace:

        /volume1/@appstore/Mono/usr/local/bin/mono-sgen() [0x4ae915]
        /lib/libpthread.so.0(+0x101c0) [0x7f53af4071c0]
        /lib/libc.so.6(gsignal+0x37) [0x7f53aee74907]
        /lib/libc.so.6(abort+0x16a) [0x7f53aee75cda]
        /volume1/@appstore/Mono/usr/local/bin/mono-sgen() [0x6423d9]
        /volume1/@appstore/Mono/usr/local/bin/mono-sgen() [0x6425df]
        /volume1/@appstore/Mono/usr/local/bin/mono-sgen() [0x642726]
        /volume1/@appstore/Mono/usr/local/bin/mono-sgen() [0x47f0a4]
        /volume1/@appstore/Mono/usr/local/bin/mono-sgen() [0x4f8560]
        /volume1/@appstore/Mono/usr/local/bin/mono-sgen() [0x4f8e29]
        /volume1/@appstore/Mono/usr/local/bin/mono-sgen() [0x4273ba]
        /volume1/@appstore/Mono/usr/local/bin/mono-sgen() [0x4b018f]
        /volume1/@appstore/Mono/usr/local/bin/mono-sgen() [0x4b0b0f]
        [0x403f878c]

Debug info from gdb:


=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

2.0.4.24 (which had build issues and was replaced) raised the mono requirement to v5 which is avalable as Mono v5.18.0.240-12 from SynoCommunity packages. I’m not positive the hardware model coverage is as good, and if it’s not then there’s an issue. mono 4.6.2 is from Nov 2016 and is inadequate for many reasons. Maybe there are other places where mono for Synology can be obtained. I don’t have one and am no expert.

@drwtsn32 actually has a Synology, but I think recently moved to a Docker with some sort of recent mono. Perhaps we could find out what that one had, and get some better ideas of mono v5 availability for Synology.

Yep, I missed this issue by changing to docker. The standard Mono package available in the Synology Package Center is that older 4.6.2 version. The official Duplicati docker container has Mono 5.16.0.179.

Was a good move overall, I would recommend it. If you’ve never used docker before there are some things you need to learn about the system but it’s not too bad at all.

Moved to mono from synocommunity and yes, all working fine again. Synology is often tons of versions behind with „official“ packages - and mono is only available as beta, guess they don’t want to take any responsibility if something goes wrong.

Thanks for the hint!

and thanks for the confirmation that it works. Do you have any feeling for the breadth of model coverage SynoCommunity offers, compared to packages from Synology? I’m hoping most or all Synology users experiencing this problem have that way out. Don’t want to leave people in a bind for lack of an upgrade.

I’m not certain I’m looking at the right materials, but I’m lining up the following and they’re looking similar:

https://archive.synology.com/download/Package/spk/Mono/4.6.2-0096/

https://synocommunity.com/package/mono

Supporting references:

Synology and SynoCommunity Package Architectures

What kind of CPU does my Synology NAS have?

Synology SecurityWhite Paper gives DiskStation Manager Lifecycle information with actual dates on it.

It looks like SynoCommunity has mono 5.8.0.108-11 package even for DSM 5.0 which is past support.

So I “think” things appear good for getting Duplicati a mono v5 for Synology on pretty much everything.