mono / SkiaSharp

SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
MIT License
4.48k stars 538 forks source link

[BUG] Seg Fault with SKTypeface.MatchTypeface with Ubuntu #1148

Open mlptownsend opened 4 years ago

mlptownsend commented 4 years ago

Description

When loading a font file from a file/stream in Ubuntu 18.04, it is possible to cause a seg fault in the process and instantly kill it. This is done by calling SKFontManager.MatchTypeface and providing it the loaded SKTypeface from the stream and an SKFontStyle. This code does not fail in Windows (and possibly iOS is okay too).

This was reproduced in a pair of VMs, one running Ubuntu 18.04.3 Server and the other via VS Code in 18.04.3 Desktop. I crashed a live server application running in an Ubuntu docker container by exploiting this. The repro below uses the latest 1.68.1.1 SkiaSharp, but the server application is running 1.68.0.

My theory is that this is an underlying problem with the Skia library. Their implementation is getting a wire crossed somewhere when given the stream loaded typeface and exploding in the unmanaged code. I'm not sure if there's anything that can necessarily be done on the SkiaSharp side if this is the case.

Code

This can be reproduced with a csproj and a cs file, and by using the easily obtained Roboto TTF font files downloaded from Google. This code runs x64 in .NET Core 3.1. Place the downloaded TTF files in the same folder as the csproj and Program.cs file.

CSProj contents:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>

  <ItemGroup>
    <None Remove="Roboto-Bold.ttf" />
    <None Remove="Roboto-Regular.ttf" />
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Include="Roboto-Bold.ttf" />
    <EmbeddedResource Include="Roboto-Regular.ttf" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="SkiaSharp" Version="1.68.1.1" />
    <PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="1.68.1.1" />
  </ItemGroup>

</Project>

Program.cs

using System;
using System.IO;
using System.Linq;
using System.Reflection;

namespace TestFont
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                var fm = SkiaSharp.SKFontManager.Default;
                Console.WriteLine("Count:");
                Console.WriteLine(fm.FontFamilyCount);
                /*
                foreach (var s in fm.GetFontFamilies().OrderBy(o => o)) {
                    Console.WriteLine(s);
                }
                */

                //Change if you don't have this.
                var matchName = "FreeSans";

                Console.WriteLine("Match 1");
                var matchNormalFamily = fm.MatchFamily(matchName, SkiaSharp.SKFontStyle.Normal);
                Console.WriteLine(matchNormalFamily.FamilyName);
                Console.WriteLine("Match 2");
                var matchBoldFamily = fm.MatchFamily(matchName, SkiaSharp.SKFontStyle.Bold);
                Console.WriteLine(matchBoldFamily.FamilyName);
                Console.WriteLine("Match 3");
                var matchBoldTypeface = fm.MatchTypeface(matchNormalFamily, SkiaSharp.SKFontStyle.Bold);
                Console.WriteLine(matchBoldTypeface.FamilyName);

                Console.WriteLine("LoadFonts");
                LoadFonts();

                matchName = "Roboto";

                Console.WriteLine("Match 4");
                matchNormalFamily = fm.MatchFamily(matchName, SkiaSharp.SKFontStyle.Normal);
                Console.WriteLine(matchNormalFamily != null ? matchNormalFamily.FamilyName : "null");
                Console.WriteLine("Match 5");
                matchBoldFamily = fm.MatchFamily(matchName, SkiaSharp.SKFontStyle.Bold);
                Console.WriteLine(matchBoldFamily != null ? matchBoldFamily.FamilyName : "null");
                if (matchNormalFamily != null)
                {
                    Console.WriteLine("Match 6");
                    matchBoldTypeface = fm.MatchTypeface(matchNormalFamily, SkiaSharp.SKFontStyle.Bold);
                    Console.WriteLine(matchBoldTypeface != null ? matchBoldTypeface.FamilyName : "null");
                }

                Console.WriteLine("Match 7");
                matchNormalFamily = fm.MatchFamily(defaultRegular.FamilyName, SkiaSharp.SKFontStyle.Normal);
                Console.WriteLine(matchNormalFamily != null ? matchNormalFamily.FamilyName : "null");
                Console.WriteLine("Match 8");
                matchBoldFamily = fm.MatchFamily(defaultRegular.FamilyName, SkiaSharp.SKFontStyle.Bold);
                Console.WriteLine(matchBoldFamily != null ? matchBoldFamily.FamilyName : "null");

                Console.WriteLine("Match 9");
                matchBoldTypeface = fm.MatchTypeface(defaultRegular, SkiaSharp.SKFontStyle.Bold);
                Console.WriteLine(matchBoldTypeface != null ? matchBoldTypeface.FamilyName : "null");

                Console.WriteLine("End, but you won't see this.");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }

        private static SkiaSharp.SKTypeface defaultRegular;
        private static SkiaSharp.SKTypeface defaultBold;

        private static void LoadFonts()
        {
            try
            {
                var existingFonts = new[] { defaultRegular, defaultBold };
                foreach (var f in existingFonts)
                {
                    f?.Dispose();
                }

                defaultRegular = SkiaSharp.SKFontManager.Default.CreateTypeface(GetFontStreamFromResource("Roboto-Regular"));
                defaultBold = SkiaSharp.SKFontManager.Default.CreateTypeface(GetFontStreamFromResource("Roboto-Bold"));
            }
            catch (Exception ex)
            {
                Console.WriteLine($"LoadFonts Error: {ex.Message}");
            }
        }
        private static Stream GetFontStreamFromResource(string resourceName)
        {
            var fullResourceName = resourceName;
            if (!fullResourceName.StartsWith("TestFont."))
            {
                fullResourceName = "TestFont." + fullResourceName;
            }

            fullResourceName += ".ttf";

            using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(fullResourceName))
            {
                if (stream == null)
                {
                    Console.WriteLine($"GetFontStreamFromResource cannot find resource {resourceName}.");
                    return null;
                }
                var fontStream = new MemoryStream();
                stream.CopyTo(fontStream);
                fontStream.Flush();
                fontStream.Position = 0;
                Console.WriteLine($"GetFontStreamFromResource found {resourceName}.");
                return fontStream;
            }
        }
    }
}

Expected Behavior

It is expected that the program is run to completion, but when it reaches "Match 9", the call to MatchTypeface will cause a seg fault and instantly kill the program.

Actual Behavior

Here's the console output:

Count:
143
Match 1
FreeSans
Match 2
FreeSans
Match 3
FreeSans
LoadFonts
GetFontStreamFromResource found Roboto-Regular.
GetFontStreamFromResource found Roboto-Bold.
Match 4
null
Match 5
null
Match 7
null
Match 8
null
Match 9
The program '[10036] TestFont.dll' has exited with code 0 (0x0).

Basic Information

mattleibow commented 4 years ago

I think this is because of the way the stream are working in skia vs .NET. In skia, the stream is "forked" by creating a new stream object that points to the same managed stream. This resulted in multiple streams modifying the managed stream location.

~But, I was sure I fixed this in v1.68.1+...~ If it works on Windows, then you are right, this might be a linux/FreeType thing...

Is there a stack trace at all?

mattleibow commented 4 years ago

I had a look at the source for the font manager for linux. It appears they literally just call MatchFamily with the font name and style:

https://github.com/mono/skia/blob/v1.68.1.1/src/ports/SkFontMgr_fontconfig.cpp#L911

        return this->matchFamilyStyle(get_string(fcTypeface->fPattern, FC_FAMILY), style);

I bet the font name is null or empty. Could you have a look?

Not sure what we need to do there... I'll have a look around if this is the case.

mlptownsend commented 4 years ago

Unfortunately no stack trace from managed code. It literally dies instantly upon making the call into SkiaSharp. I'm not a savvy enough Linux person by any means to dig much into a segfaulting dotnet core process that's calling into unmanaged code :(

(And especially without any debug symbols for Skia itself!)

The SKTypeface does show having a valid Font Family string value, but the class doesn't expose any other related strings or anything. FontFamilyRoboto

I do have the crash dump info from /var/crash, but there's nothing particularly obvious to me. It's pretty massive, but here's the top part without the core dump base64 part at the bottom.

ProblemType: Crash
Architecture: amd64
CrashCounter: 1
CurrentDesktop: Unity
Date: Wed Feb 19 12:43:41 2020
DistroRelease: Ubuntu 18.04
ExecutablePath: /usr/share/dotnet/dotnet
ExecutableTimestamp: 1575861665
ProcCmdline: /usr/bin/dotnet /home/peter/src/TestFont/TestFont/bin/Debug/netcoreapp3.1/TestFont.dll
ProcCwd: /home/peter/src/TestFont/TestFont
ProcEnviron:
 PATH=(custom, user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcMaps:
 00400000-00411000 r-xp 00000000 08:01 2097676                            /usr/share/dotnet/dotnet
 00610000-00611000 r--p 00010000 08:01 2097676                            /usr/share/dotnet/dotnet
 00611000-00612000 rw-p 00011000 08:01 2097676                            /usr/share/dotnet/dotnet
 01a35000-01dcf000 rw-p 00000000 00:00 0                                  [heap]
 7fbfc8000000-7fbfc8021000 rw-p 00000000 00:00 0 
 7fbfc8021000-7fbfcc000000 ---p 00000000 00:00 0 
 7fbfd0000000-7fbfd0021000 rw-p 00000000 00:00 0 
 7fbfd0021000-7fbfd4000000 ---p 00000000 00:00 0 
 7fbfd4000000-7fbfd4021000 rw-p 00000000 00:00 0 
 7fbfd4021000-7fbfd8000000 ---p 00000000 00:00 0 
 7fbfd8000000-7fbfd8021000 rw-p 00000000 00:00 0 
 7fbfd8021000-7fbfdc000000 ---p 00000000 00:00 0 
 7fbfdfffe000-7fbfe0086000 rw-p 00000000 00:00 0 
 7fbfe0086000-7fbfefffe000 ---p 00000000 00:00 0 
 7fbfefffe000-7fbff01a8000 rw-p 00000000 00:00 0 
 7fbff01a8000-7fbff8000000 ---p 00000000 00:00 0 
 7fbff8000000-7fbff8021000 rw-p 00000000 00:00 0 
 7fbff8021000-7fbffc000000 ---p 00000000 00:00 0 
 7fbffc000000-7fbffc021000 rw-p 00000000 00:00 0 
 7fbffc021000-7fc000000000 ---p 00000000 00:00 0 
 7fc000000000-7fc000021000 rw-p 00000000 00:00 0 
 7fc000021000-7fc004000000 ---p 00000000 00:00 0 
 7fc004000000-7fc004021000 rw-p 00000000 00:00 0 
 7fc004021000-7fc008000000 ---p 00000000 00:00 0 
 7fc008000000-7fc008021000 rw-p 00000000 00:00 0 
 7fc008021000-7fc00c000000 ---p 00000000 00:00 0 
 7fc00f1f5000-7fc00f487000 r-xp 00000000 08:01 2107058                    /usr/lib/x86_64-linux-gnu/libicui18n.so.60.2
 7fc00f487000-7fc00f686000 ---p 00292000 08:01 2107058                    /usr/lib/x86_64-linux-gnu/libicui18n.so.60.2
 7fc00f686000-7fc00f695000 r--p 00291000 08:01 2107058                    /usr/lib/x86_64-linux-gnu/libicui18n.so.60.2
 7fc00f695000-7fc00f696000 rw-p 002a0000 08:01 2107058                    /usr/lib/x86_64-linux-gnu/libicui18n.so.60.2
 7fc00f696000-7fc00f6c0000 ---p 00000000 00:00 0 
 7fc00f6c0000-7fc00f6c1000 rw-p 00000000 00:00 0 
 7fc00f6c1000-7fc00f6c3000 ---p 00000000 00:00 0 
 7fc00f6c3000-7fc00f6c4000 rwxp 00000000 00:00 0 
 7fc00f6c4000-7fc00f6cd000 rw-p 00000000 00:00 0 
 7fc00f6cd000-7fc00f6ce000 rwxp 00000000 00:00 0 
 7fc00f6ce000-7fc00f6d0000 ---p 00000000 00:00 0 
 7fc00f6d0000-7fc00f6d1000 rw-p 00000000 00:00 0 
 7fc00f6d1000-7fc00f6d6000 ---p 00000000 00:00 0 
 7fc00f6d6000-7fc00f6d7000 rw-p 00000000 00:00 0 
 7fc00f6d7000-7fc00f6df000 ---p 00000000 00:00 0 
 7fc00f6df000-7fc00f6e0000 rwxp 00000000 00:00 0 
 7fc00f6e0000-7fc00f6e3000 ---p 00000000 00:00 0 
 7fc00f6e3000-7fc00f6e4000 rwxp 00000000 00:00 0 
 7fc00f6e4000-7fc00f714000 ---p 00000000 00:00 0 
 7fc00f714000-7fc00f715000 rwxp 00000000 00:00 0 
 7fc00f715000-7fc00f76b000 ---p 00000000 00:00 0 
 7fc00f76b000-7fc00f76c000 rwxp 00000000 00:00 0 
 7fc00f76c000-7fc00f770000 ---p 00000000 00:00 0 
 7fc00f770000-7fc00f771000 r--p 00000000 08:01 2100551                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Private.CoreLib.dll
 7fc00f771000-7fc00f780000 ---p 00000000 00:00 0 
 7fc00f780000-7fc00f7a4000 rw-p 00000000 08:01 2100551                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Private.CoreLib.dll
 7fc00f7a4000-7fc00f7b3000 ---p 00000000 00:00 0 
 7fc00f7b3000-7fc00fb02000 r-xp 00023000 08:01 2100551                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Private.CoreLib.dll
 7fc00fb02000-7fc00fb03000 rwxp 00372000 08:01 2100551                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Private.CoreLib.dll
 7fc00fb03000-7fc010044000 r-xp 00373000 08:01 2100551                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Private.CoreLib.dll
 7fc010044000-7fc010053000 ---p 00000000 00:00 0 
 7fc010053000-7fc01005a000 r--p 008b3000 08:01 2100551                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Private.CoreLib.dll
 7fc01005a000-7fc010060000 ---p 00000000 00:00 0 
 7fc010060000-7fc01009f000 rw-p 00000000 00:00 0 
 7fc01009f000-7fc0100a0000 ---p 00000000 00:00 0 
 7fc0100a0000-7fc0100c0000 rw-p 00000000 00:00 0 
 7fc0100c0000-7fc0100ed000 rwxp 00000000 00:00 0 
 7fc0100ed000-7fc010140000 ---p 00000000 00:00 0 
 7fc010140000-7fc010160000 rw-p 00000000 00:00 0 
 7fc010160000-7fc010170000 rw-p 00000000 00:00 0 
 7fc010170000-7fc010180000 rw-p 00000000 00:00 0 
 7fc010180000-7fc010181000 r--p 00000000 08:01 2099260                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.dll
 7fc010181000-7fc010190000 ---p 00000000 00:00 0 
 7fc010190000-7fc010191000 rw-p 00000000 08:01 2099260                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.dll
 7fc010191000-7fc0101a0000 ---p 00000000 00:00 0 
 7fc0101a0000-7fc0101ab000 r-xp 00000000 08:01 2099260                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.dll
 7fc0101ab000-7fc0101ba000 ---p 00000000 00:00 0 
 7fc0101ba000-7fc0101bb000 r--p 0000a000 08:01 2099260                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.dll
 7fc0101bb000-7fc0101c0000 ---p 00000000 00:00 0 
 7fc0101c0000-7fc0101c7000 rw-p 00000000 00:00 0 
 7fc0101c7000-7fc0101d0000 ---p 00000000 00:00 0 
 7fc0101d0000-7fc0101ef000 rw-p 00000000 00:00 0 
 7fc0101ef000-7fc0101f0000 ---p 00000000 00:00 0 
 7fc0101f0000-7fc010200000 rw-p 00000000 00:00 0 
 7fc010200000-7fc010201000 r--p 00000000 08:01 2100504                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Console.dll
 7fc010201000-7fc010210000 ---p 00000000 00:00 0 
 7fc010210000-7fc010212000 rw-p 00000000 08:01 2100504                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Console.dll
 7fc010212000-7fc010221000 ---p 00000000 00:00 0 
 7fc010221000-7fc01024c000 r-xp 00001000 08:01 2100504                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Console.dll
 7fc01024c000-7fc01025b000 ---p 00000000 00:00 0 
 7fc01025b000-7fc01025c000 r--p 0002b000 08:01 2100504                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Console.dll
 7fc01025c000-7fc010260000 ---p 00000000 00:00 0 
 7fc010260000-7fc010270000 rw-p 00000000 00:00 0 
 7fc010270000-7fc010280000 rw-p 00000000 00:00 0 
 7fc010280000-7fc010281000 r--p 00000000 08:01 2100478                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Collections.Concurrent.dll
 7fc010281000-7fc010290000 ---p 00000000 00:00 0 
 7fc010290000-7fc010292000 rw-p 00000000 08:01 2100478                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Collections.Concurrent.dll
 7fc010292000-7fc0102a1000 ---p 00000000 00:00 0 
 7fc0102a1000-7fc0102cd000 r-xp 00001000 08:01 2100478                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Collections.Concurrent.dll
 7fc0102cd000-7fc0102dc000 ---p 00000000 00:00 0 
 7fc0102dc000-7fc0102dd000 r--p 0002c000 08:01 2100478                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Collections.Concurrent.dll
 7fc0102dd000-7fc0102e0000 ---p 00000000 00:00 0 
 7fc0102e0000-7fc0102e1000 r--p 00000000 08:01 2099268                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Reflection.dll
 7fc0102e1000-7fc0102f0000 ---p 00000000 00:00 0 
 7fc0102f0000-7fc0102f1000 rw-p 00000000 08:01 2099268                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Reflection.dll
 7fc0102f1000-7fc010300000 ---p 00000000 00:00 0 
 7fc010300000-7fc010302000 r-xp 00000000 08:01 2099268                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Reflection.dll
 7fc010302000-7fc010320000 ---p 00000000 00:00 0 
 7fc010320000-7fc010330000 rw-p 00000000 00:00 0 
 7fc010330000-7fc010340000 rw-p 00000000 00:00 0 
 7fc010340000-7fc010341000 r--p 00000000 08:01 2100271                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Threading.dll
 7fc010341000-7fc010350000 ---p 00000000 00:00 0 
 7fc010350000-7fc010351000 rw-p 00000000 08:01 2100271                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Threading.dll
 7fc010351000-7fc010360000 ---p 00000000 00:00 0 
 7fc010360000-7fc010371000 r-xp 00000000 08:01 2100271                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Threading.dll
 7fc010371000-7fc010380000 ---p 00000000 00:00 0 
 7fc010380000-7fc010381000 r--p 00010000 08:01 2100271                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Threading.dll
 7fc010381000-7fc010390000 ---p 00000000 00:00 0 
 7fc010390000-7fc010391000 r--p 00000000 08:01 2099752                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.Extensions.dll
 7fc010391000-7fc0103a0000 ---p 00000000 00:00 0 
 7fc0103a0000-7fc0103a2000 rw-p 00000000 08:01 2099752                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.Extensions.dll
 7fc0103a2000-7fc0103b1000 ---p 00000000 00:00 0 
 7fc0103b1000-7fc0103e1000 r-xp 00001000 08:01 2099752                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.Extensions.dll
 7fc0103e1000-7fc0103f0000 ---p 00000000 00:00 0 
 7fc0103f0000-7fc0103f1000 r--p 00030000 08:01 2099752                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.Extensions.dll
 7fc0103f1000-7fc010400000 ---p 00000000 00:00 0 
 7fc010400000-7fc010401000 r--p 00000000 08:01 2103583                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Text.Encoding.Extensions.dll
 7fc010401000-7fc010410000 ---p 00000000 00:00 0 
 7fc010410000-7fc010411000 rw-p 00000000 08:01 2103583                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Text.Encoding.Extensions.dll
 7fc010411000-7fc010420000 ---p 00000000 00:00 0 
 7fc010420000-7fc010422000 r-xp 00000000 08:01 2103583                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Text.Encoding.Extensions.dll
 7fc010422000-7fc010440000 ---p 00000000 00:00 0 
 7fc010440000-7fc010450000 rw-p 00000000 00:00 0 
 7fc010450000-7fc010460000 rw-p 00000000 00:00 0 
 7fc010460000-7fc010461000 r--p 00000000 08:01 2103609                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Linq.dll
 7fc010461000-7fc010470000 ---p 00000000 00:00 0 
 7fc010470000-7fc010473000 rw-p 00000000 08:01 2103609                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Linq.dll
 7fc010473000-7fc010483000 ---p 00000000 00:00 0 
 7fc010483000-7fc0104e5000 r-xp 00003000 08:01 2103609                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Linq.dll
 7fc0104e5000-7fc0104f4000 ---p 00000000 00:00 0 
 7fc0104f4000-7fc0104f6000 r--p 00064000 08:01 2103609                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Linq.dll
 7fc0104f6000-7fc010500000 ---p 00000000 00:00 0 
 7fc010500000-7fc010510000 rw-p 00000000 00:00 0 
 7fc010510000-7fc010520000 rw-p 00000000 00:00 0 
 7fc010520000-7fc010521000 r--p 00000000 08:01 2103607                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Collections.dll
 7fc010521000-7fc010530000 ---p 00000000 00:00 0 
 7fc010530000-7fc010533000 rw-p 00000000 08:01 2103607                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Collections.dll
 7fc010533000-7fc010542000 ---p 00000000 00:00 0 
 7fc010542000-7fc010590000 r-xp 00002000 08:01 2103607                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Collections.dll
 7fc010590000-7fc0105a0000 ---p 00000000 00:00 0 
 7fc0105a0000-7fc0105a1000 r--p 00050000 08:01 2103607                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Collections.dll
 7fc0105a1000-7fc0105b0000 ---p 00000000 00:00 0 
 7fc0105b0000-7fc0105b1000 r--p 00000000 08:01 2099257                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.InteropServices.dll
 7fc0105b1000-7fc0105c0000 ---p 00000000 00:00 0 
 7fc0105c0000-7fc0105c1000 rw-p 00000000 08:01 2099257                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.InteropServices.dll
 7fc0105c1000-7fc0105d0000 ---p 00000000 00:00 0 
 7fc0105d0000-7fc0105db000 r-xp 00000000 08:01 2099257                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.InteropServices.dll
 7fc0105db000-7fc0105ea000 ---p 00000000 00:00 0 
 7fc0105ea000-7fc0105eb000 r--p 0000a000 08:01 2099257                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Runtime.InteropServices.dll
 7fc0105eb000-7fc0105f0000 ---p 00000000 00:00 0 
 7fc0105f0000-7fc010600000 rw-p 00000000 00:00 0 
 7fc010600000-7fc010601000 r--p 00000000 08:01 2100515                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Text.Encoding.dll
 7fc010601000-7fc010610000 ---p 00000000 00:00 0 
 7fc010610000-7fc010611000 rw-p 00000000 08:01 2100515                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Text.Encoding.dll
 7fc010611000-7fc010620000 ---p 00000000 00:00 0 
 7fc010620000-7fc010622000 r-xp 00000000 08:01 2100515                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Text.Encoding.dll
 7fc010622000-7fc010640000 ---p 00000000 00:00 0 
 7fc010640000-7fc010641000 r--p 00000000 08:01 2103582                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.IO.dll
 7fc010641000-7fc010650000 ---p 00000000 00:00 0 
 7fc010650000-7fc010651000 rw-p 00000000 08:01 2103582                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.IO.dll
 7fc010651000-7fc010660000 ---p 00000000 00:00 0 
 7fc010660000-7fc010662000 r-xp 00000000 08:01 2103582                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.IO.dll
 7fc010662000-7fc010680000 ---p 00000000 00:00 0 
 7fc010680000-7fc010696000 rw-p 00000000 00:00 0 
 7fc010696000-7fc081286000 ---p 00000000 00:00 0 
 7fc081665000-7fc08300d000 r-xp 00000000 08:01 2107056                    /usr/lib/x86_64-linux-gnu/libicudata.so.60.2
 7fc08300d000-7fc08320c000 ---p 019a8000 08:01 2107056                    /usr/lib/x86_64-linux-gnu/libicudata.so.60.2
 7fc08320c000-7fc08320d000 r--p 019a7000 08:01 2107056                    /usr/lib/x86_64-linux-gnu/libicudata.so.60.2
 7fc08320d000-7fc08320e000 rw-p 019a8000 08:01 2107056                    /usr/lib/x86_64-linux-gnu/libicudata.so.60.2
 7fc08320e000-7fc0833b1000 r-xp 00000000 08:01 2107066                    /usr/lib/x86_64-linux-gnu/libicuuc.so.60.2
 7fc0833b1000-7fc0835b0000 ---p 001a3000 08:01 2107066                    /usr/lib/x86_64-linux-gnu/libicuuc.so.60.2
 7fc0835b0000-7fc0835c3000 r--p 001a2000 08:01 2107066                    /usr/lib/x86_64-linux-gnu/libicuuc.so.60.2
 7fc0835c3000-7fc0835c4000 rw-p 001b5000 08:01 2107066                    /usr/lib/x86_64-linux-gnu/libicuuc.so.60.2
 7fc0835c4000-7fc0835c5000 rw-p 00000000 00:00 0 
 7fc0835da000-7fc0835e4000 r-xp 00000000 08:01 2103603                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Globalization.Native.so
 7fc0835e4000-7fc0837e3000 ---p 0000a000 08:01 2103603                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Globalization.Native.so
 7fc0837e3000-7fc0837e4000 r--p 00009000 08:01 2103603                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Globalization.Native.so
 7fc0837e4000-7fc0837e5000 rw-p 0000a000 08:01 2103603                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Globalization.Native.so
 7fc0837e5000-7fc0837f4000 r-xp 00000000 08:01 2099261                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Native.so
 7fc0837f4000-7fc0839f3000 ---p 0000f000 08:01 2099261                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Native.so
 7fc0839f3000-7fc0839f4000 r--p 0000e000 08:01 2099261                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Native.so
 7fc0839f4000-7fc0839f5000 rw-p 0000f000 08:01 2099261                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/System.Native.so
 7fc0839f5000-7fc083a00000 r--s 00000000 08:01 402658                     /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le64.cache-7
 7fc083a00000-7fc083a05000 r--s 00000000 08:01 402629                     /var/cache/fontconfig/2300eef321c393bfd76478a5c0e95b23-le64.cache-7
 7fc083a05000-7fc083a06000 r--s 00000000 08:01 402622                     /var/cache/fontconfig/0d8c3b2ac0904cb8a57a757ad11a4a08-le64.cache-7
 7fc083a06000-7fc083a1b000 r--s 00000000 08:01 402618                     /var/cache/fontconfig/04aabc0a78ac019cf9454389977116d2-le64.cache-7
 7fc083a1b000-7fc083a1c000 r--s 00000000 08:01 402626                     /var/cache/fontconfig/1ac9eb803944fde146138c791f5cc56a-le64.cache-7
 7fc083a1c000-7fc083a1d000 r--s 00000000 08:01 402677                     /var/cache/fontconfig/dc05db6664285cc2f12bf69c139ae4c3-le64.cache-7
 7fc083a1d000-7fc083a1f000 r--s 00000000 08:01 402623                     /var/cache/fontconfig/14a5e22175779b556eaa434240950366-le64.cache-7
 7fc083a1f000-7fc083a20000 r--s 00000000 08:01 402650                     /var/cache/fontconfig/660208299946a285a940457d1287da33-le64.cache-7
 7fc083a20000-7fc083a22000 r--s 00000000 08:01 402641                     /var/cache/fontconfig/4f3e3037c9980c83b53a9351efadef62-le64.cache-7
 7fc083a22000-7fc083a24000 r--s 00000000 08:01 402655                     /var/cache/fontconfig/767a8244fc0220cfb567a839d0392e0b-le64.cache-7
 7fc083a24000-7fc083a25000 r--s 00000000 08:01 393990                     /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-le64.cache-7
 7fc083a25000-7fc083a27000 r--s 00000000 08:01 402620                     /var/cache/fontconfig/0bd3dc0958fa2205aaaa8ebb13e2872b-le64.cache-7
 7fc083a27000-7fc083a2c000 r--s 00000000 08:01 402678                     /var/cache/fontconfig/def309198bfa603429122923fa2bb2d4-le64.cache-7
 7fc083a2c000-7fc083a2d000 r--s 00000000 08:01 402666                     /var/cache/fontconfig/b872e6e592da6075ffa4ab0a1fcc0c75-le64.cache-7
 7fc083a2d000-7fc083a2e000 r--s 00000000 08:01 402683                     /var/cache/fontconfig/f6d4eedfaab2589bde49f7a3ff831d22-le64.cache-7
 7fc083a2e000-7fc083a2f000 r--s 00000000 08:01 402648                     /var/cache/fontconfig/589f83ef4c36d296ce6e1c846f468f08-le64.cache-7
 7fc083a2f000-7fc083a30000 r--s 00000000 08:01 402668                     /var/cache/fontconfig/bab58bb527bb656aaa9f116d68a48d89-le64.cache-7
 7fc083a30000-7fc083a31000 r--s 00000000 08:01 402627                     /var/cache/fontconfig/2171a34dccabdb6bcbbc728186263178-le64.cache-7
 7fc083a31000-7fc083a32000 r--s 00000000 08:01 402669                     /var/cache/fontconfig/c5c45a61289222e0d30b1a26ef4effbe-le64.cache-7
 7fc083a32000-7fc083a33000 r--s 00000000 08:01 402664                     /var/cache/fontconfig/aec30016f93e1b46d1a973dce0d74068-le64.cache-7
 7fc083a33000-7fc083a34000 r--s 00000000 08:01 402634                     /var/cache/fontconfig/3f589640d34b7dc9042c8d453f7c8b9c-le64.cache-7
 7fc083a34000-7fc083a35000 r--s 00000000 08:01 402624                     /var/cache/fontconfig/16c2fda60d1b4b719f4b3d06fd951d25-le64.cache-7
 7fc083a35000-7fc083a36000 r--s 00000000 08:01 402663                     /var/cache/fontconfig/a48eab177a16e4f3713381162db2f3e9-le64.cache-7
 7fc083a36000-7fc083a37000 r--s 00000000 08:01 402644                     /var/cache/fontconfig/564b2e68ac9bc4e36a6f7f6d6125ec1c-le64.cache-7
 7fc083a37000-7fc083a3c000 r--s 00000000 08:01 402661                     /var/cache/fontconfig/9d2451b1fd30e5bffe8383fd27c35478-le64.cache-7
 7fc083a3c000-7fc083a42000 r--s 00000000 08:01 402630                     /var/cache/fontconfig/3047814df9a2f067bd2d96a2b9c36e5a-le64.cache-7
 7fc083a42000-7fc083a43000 r--s 00000000 08:01 402645                     /var/cache/fontconfig/56cf4f4769d0f4abc89a4895d7bd3ae1-le64.cache-7
 7fc083a43000-7fc083a44000 r--s 00000000 08:01 402667                     /var/cache/fontconfig/b9d506c9ac06c20b433354fa67a72993-le64.cache-7
 7fc083a44000-7fc083a4a000 r--s 00000000 08:01 402665                     /var/cache/fontconfig/b47c4e1ecd0709278f4910c18777a504-le64.cache-7
 7fc083a4a000-7fc083a5d000 r--s 00000000 08:01 402674                     /var/cache/fontconfig/d52a8644073d54c13679302ca1180695-le64.cache-7
 7fc083a5d000-7fc083a5e000 r--s 00000000 08:01 402632                     /var/cache/fontconfig/370e5b74bf5dafc30834de68e24a87a4-le64.cache-7
 7fc083a5e000-7fc083a5f000 r--s 00000000 08:01 402653                     /var/cache/fontconfig/6b2c5944714ca7831b25bed9e85cb5c8-le64.cache-7
 7fc083a5f000-7fc083a60000 r--s 00000000 08:01 402673                     /var/cache/fontconfig/d5178ab6d91b49bf20a416737dcea9e8-le64.cache-7
 7fc083a60000-7fc083a61000 r--s 00000000 08:01 402643                     /var/cache/fontconfig/551ecf3b0e8b0bca0f25c0944f561853-le64.cache-7
 7fc083a61000-7fc083a64000 r--s 00000000 08:01 402682                     /var/cache/fontconfig/f259c2cffa685e28062317905db73c4a-le64.cache-7
 7fc083a64000-7fc083a66000 r--s 00000000 08:01 402642                     /var/cache/fontconfig/550f3886151c940c12a5ed35f6a00586-le64.cache-7
 7fc083a66000-7fc083a69000 r--s 00000000 08:01 402651                     /var/cache/fontconfig/674d1711f2d1d2a09646eb0bdcadee49-le64.cache-7
 7fc083a69000-7fc083a6a000 r--s 00000000 08:01 402635                     /var/cache/fontconfig/3f7329c5293ffd510edef78f73874cfd-le64.cache-7
 7fc083a6a000-7fc083a6e000 r--s 00000000 08:01 402675                     /var/cache/fontconfig/d589a48862398ed80a3d6066f4f56f4c-le64.cache-7
 7fc083a6e000-7fc083a6f000 r--s 00000000 08:01 402621                     /var/cache/fontconfig/0c9eb80ebd1c36541ebe2852d3bb0c49-le64.cache-7
 7fc083a6f000-7fc083a70000 r--s 00000000 08:01 402628                     /var/cache/fontconfig/22368d551a680bfe5a62c02760edf4ea-le64.cache-7
 7fc083a70000-7fc083a71000 r--s 00000000 08:01 402640                     /var/cache/fontconfig/4d9c95eba1cb85bbcf2878543262124a-le64.cache-7
 7fc083a71000-7fc083a72000 r--s 00000000 08:01 402657                     /var/cache/fontconfig/85e0a52ce643a7ba2ae53e5d6949cead-le64.cache-7
 7fc083a72000-7fc083a73000 r--s 00000000 08:01 402637                     /var/cache/fontconfig/49f0de54bdd920fe4f0dfd4cbac43e6b-le64.cache-7
 7fc083a73000-7fc083a8f000 r-xp 00000000 08:01 2757973                    /lib/x86_64-linux-gnu/libz.so.1.2.11
 7fc083a8f000-7fc083c8e000 ---p 0001c000 08:01 2757973                    /lib/x86_64-linux-gnu/libz.so.1.2.11
 7fc083c8e000-7fc083c8f000 r--p 0001b000 08:01 2757973                    /lib/x86_64-linux-gnu/libz.so.1.2.11
 7fc083c8f000-7fc083c90000 rw-p 0001c000 08:01 2757973                    /lib/x86_64-linux-gnu/libz.so.1.2.11
 7fc083c90000-7fc083cc1000 r-xp 00000000 08:01 2107314                    /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
 7fc083cc1000-7fc083ec0000 ---p 00031000 08:01 2107314                    /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
 7fc083ec0000-7fc083ec1000 r--p 00030000 08:01 2107314                    /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
 7fc083ec1000-7fc083ec2000 rw-p 00031000 08:01 2107314                    /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
 7fc083ec2000-7fc083ef1000 r-xp 00000000 08:01 2752535                    /lib/x86_64-linux-gnu/libexpat.so.1.6.7
 7fc083ef1000-7fc0840f1000 ---p 0002f000 08:01 2752535                    /lib/x86_64-linux-gnu/libexpat.so.1.6.7
 7fc0840f1000-7fc0840f3000 r--p 0002f000 08:01 2752535                    /lib/x86_64-linux-gnu/libexpat.so.1.6.7
 7fc0840f3000-7fc0840f4000 rw-p 00031000 08:01 2752535                    /lib/x86_64-linux-gnu/libexpat.so.1.6.7
 7fc0840f4000-7fc0841a1000 r-xp 00000000 08:01 2106824                    /usr/lib/x86_64-linux-gnu/libfreetype.so.6.15.0
 7fc0841a1000-7fc0843a0000 ---p 000ad000 08:01 2106824                    /usr/lib/x86_64-linux-gnu/libfreetype.so.6.15.0
 7fc0843a0000-7fc0843a7000 r--p 000ac000 08:01 2106824                    /usr/lib/x86_64-linux-gnu/libfreetype.so.6.15.0
 7fc0843a7000-7fc0843a8000 rw-p 000b3000 08:01 2106824                    /usr/lib/x86_64-linux-gnu/libfreetype.so.6.15.0
 7fc0843a8000-7fc0843e6000 r-xp 00000000 08:01 2106806                    /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.10.1
 7fc0843e6000-7fc0845e6000 ---p 0003e000 08:01 2106806                    /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.10.1
 7fc0845e6000-7fc0845e8000 r--p 0003e000 08:01 2106806                    /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.10.1
 7fc0845e8000-7fc0845ed000 rw-p 00040000 08:01 2106806                    /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.10.1
 7fc0845ed000-7fc0845ee000 r--s 00000000 08:01 402684                     /var/cache/fontconfig/f6e6e0a5c3d2f6ae0c0c2e0ecd42a997-le64.cache-7
 7fc0845ee000-7fc0845fd000 r--s 00000000 08:01 402660                     /var/cache/fontconfig/9b89f8e3dae116d678bbf48e5f21f69b-le64.cache-7
 7fc0845fd000-7fc0845ff000 r--s 00000000 08:01 402652                     /var/cache/fontconfig/6afa1bb216ce958c1589e297e8008489-le64.cache-7
 7fc0845ff000-7fc084602000 r--s 00000000 08:01 402679                     /var/cache/fontconfig/e13b20fdb08344e0e664864cc2ede53d-le64.cache-7
 7fc084602000-7fc084cfc000 r-xp 00000000 08:01 1704243                    /home/peter/src/TestFont/TestFont/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native/libSkiaSharp.so
 7fc084cfc000-7fc084efc000 ---p 006fa000 08:01 1704243                    /home/peter/src/TestFont/TestFont/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native/libSkiaSharp.so
 7fc084efc000-7fc084f1e000 r--p 006fa000 08:01 1704243                    /home/peter/src/TestFont/TestFont/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native/libSkiaSharp.so
 7fc084f1e000-7fc084f20000 rw-p 0071c000 08:01 1704243                    /home/peter/src/TestFont/TestFont/bin/Debug/netcoreapp3.1/runtimes/linux-x64/native/libSkiaSharp.so
 7fc084f20000-7fc084f27000 rw-p 00000000 00:00 0 
 7fc084f27000-7fc084f70000 r--s 00000000 08:01 1704226                    /home/peter/src/TestFont/TestFont/bin/Debug/netcoreapp3.1/SkiaSharp.dll
 7fc084f70000-7fc084f71000 ---p 00000000 00:00 0 
 7fc084f71000-7fc084f74000 rw-p 00000000 00:00 0 
 7fc084f74000-7fc084f75000 ---p 00000000 00:00 0 
 7fc084f75000-7fc085775000 rw-p 00000000 00:00 0 
 7fc085775000-7fc085820000 r--s 00000000 08:01 1704249                    /home/peter/src/TestFont/TestFont/bin/Debug/netcoreapp3.1/TestFont.dll
 7fc085820000-7fc085aba000 r-xp 00000000 08:01 2100512                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libclrjit.so
 7fc085aba000-7fc085abb000 ---p 0029a000 08:01 2100512                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libclrjit.so
 7fc085abb000-7fc085acd000 r--p 0029a000 08:01 2100512                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libclrjit.so
 7fc085acd000-7fc085acf000 rw-p 002ac000 08:01 2100512                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libclrjit.so
 7fc085acf000-7fc085af4000 rw-p 00000000 00:00 0 
 7fc085af4000-7fc085af5000 ---p 00000000 00:00 0 
 7fc085af5000-7fc0862f5000 rw-p 00000000 00:00 0 
 7fc0862f5000-7fc0862f6000 ---p 00000000 00:00 0 
 7fc0862f6000-7fc086b6f000 rw-p 00000000 00:00 0 
 7fc086b6f000-7fc086e70000 ---p 00000000 00:00 0 
 7fc086e70000-7fc087670000 rw-p 00000000 00:00 0 
 7fc087670000-7fc087671000 ---p 00000000 00:00 0 
 7fc087671000-7fc087e71000 rw-p 00000000 00:00 0 
 7fc087e71000-7fc087e72000 ---p 00000000 00:00 0 
 7fc087e72000-7fc088672000 rw-p 00000000 00:00 0 
 7fc088672000-7fc08867c000 r-xp 00000000 08:01 2107245                    /usr/lib/x86_64-linux-gnu/libnuma.so.1.0.0
 7fc08867c000-7fc08887b000 ---p 0000a000 08:01 2107245                    /usr/lib/x86_64-linux-gnu/libnuma.so.1.0.0
 7fc08887b000-7fc08887c000 r--p 00009000 08:01 2107245                    /usr/lib/x86_64-linux-gnu/libnuma.so.1.0.0
 7fc08887c000-7fc08887d000 rw-p 0000a000 08:01 2107245                    /usr/lib/x86_64-linux-gnu/libnuma.so.1.0.0
 7fc08887d000-7fc08887e000 ---p 00000000 00:00 0 
 7fc08887e000-7fc08907e000 rw-p 00000000 00:00 0 
 7fc08907e000-7fc089085000 r-xp 00000000 08:01 2757942                    /lib/x86_64-linux-gnu/librt-2.27.so
 7fc089085000-7fc089284000 ---p 00007000 08:01 2757942                    /lib/x86_64-linux-gnu/librt-2.27.so
 7fc089284000-7fc089285000 r--p 00006000 08:01 2757942                    /lib/x86_64-linux-gnu/librt-2.27.so
 7fc089285000-7fc089286000 rw-p 00007000 08:01 2757942                    /lib/x86_64-linux-gnu/librt-2.27.so
 7fc089286000-7fc0894d4000 r-xp 00000000 08:01 2099839                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libcoreclr.so
 7fc0894d4000-7fc0894d5000 rwxp 0024e000 08:01 2099839                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libcoreclr.so
 7fc0894d5000-7fc0897c4000 r-xp 0024f000 08:01 2099839                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libcoreclr.so
 7fc0897c4000-7fc0897c5000 r--p 0053e000 08:01 2099839                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libcoreclr.so
 7fc0897c5000-7fc08997f000 r-xp 0053f000 08:01 2099839                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libcoreclr.so
 7fc08997f000-7fc089980000 ---p 006f9000 08:01 2099839                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libcoreclr.so
 7fc089980000-7fc0899ce000 r--p 006f9000 08:01 2099839                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libcoreclr.so
 7fc0899ce000-7fc0899d8000 rw-p 00747000 08:01 2099839                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libcoreclr.so
 7fc0899d8000-7fc089a17000 rw-p 00000000 00:00 0 
 7fc089a17000-7fc089a66000 r-xp 00000000 08:01 2103597                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libhostpolicy.so
 7fc089a66000-7fc089c66000 ---p 0004f000 08:01 2103597                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libhostpolicy.so
 7fc089c66000-7fc089c67000 r--p 0004f000 08:01 2103597                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libhostpolicy.so
 7fc089c67000-7fc089c68000 rw-p 00050000 08:01 2103597                    /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.1/libhostpolicy.so
 7fc089c68000-7fc089cc2000 r-xp 00000000 08:01 2099075                    /usr/share/dotnet/host/fxr/3.1.1/libhostfxr.so
 7fc089cc2000-7fc089ec2000 ---p 0005a000 08:01 2099075                    /usr/share/dotnet/host/fxr/3.1.1/libhostfxr.so
 7fc089ec2000-7fc089ec3000 r--p 0005a000 08:01 2099075                    /usr/share/dotnet/host/fxr/3.1.1/libhostfxr.so
 7fc089ec3000-7fc089ec4000 rw-p 0005b000 08:01 2099075                    /usr/share/dotnet/host/fxr/3.1.1/libhostfxr.so
 7fc089ec4000-7fc08a0ab000 r-xp 00000000 08:01 2757801                    /lib/x86_64-linux-gnu/libc-2.27.so
 7fc08a0ab000-7fc08a2ab000 ---p 001e7000 08:01 2757801                    /lib/x86_64-linux-gnu/libc-2.27.so
 7fc08a2ab000-7fc08a2af000 r--p 001e7000 08:01 2757801                    /lib/x86_64-linux-gnu/libc-2.27.so
 7fc08a2af000-7fc08a2b1000 rw-p 001eb000 08:01 2757801                    /lib/x86_64-linux-gnu/libc-2.27.so
 7fc08a2b1000-7fc08a2b5000 rw-p 00000000 00:00 0 
 7fc08a2b5000-7fc08a2cc000 r-xp 00000000 08:01 2757838                    /lib/x86_64-linux-gnu/libgcc_s.so.1
 7fc08a2cc000-7fc08a4cb000 ---p 00017000 08:01 2757838                    /lib/x86_64-linux-gnu/libgcc_s.so.1
 7fc08a4cb000-7fc08a4cc000 r--p 00016000 08:01 2757838                    /lib/x86_64-linux-gnu/libgcc_s.so.1
 7fc08a4cc000-7fc08a4cd000 rw-p 00017000 08:01 2757838                    /lib/x86_64-linux-gnu/libgcc_s.so.1
 7fc08a4cd000-7fc08a66a000 r-xp 00000000 08:01 2757864                    /lib/x86_64-linux-gnu/libm-2.27.so
 7fc08a66a000-7fc08a869000 ---p 0019d000 08:01 2757864                    /lib/x86_64-linux-gnu/libm-2.27.so
 7fc08a869000-7fc08a86a000 r--p 0019c000 08:01 2757864                    /lib/x86_64-linux-gnu/libm-2.27.so
 7fc08a86a000-7fc08a86b000 rw-p 0019d000 08:01 2757864                    /lib/x86_64-linux-gnu/libm-2.27.so
 7fc08a86b000-7fc08a9e4000 r-xp 00000000 08:01 2107471                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
 7fc08a9e4000-7fc08abe4000 ---p 00179000 08:01 2107471                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
 7fc08abe4000-7fc08abee000 r--p 00179000 08:01 2107471                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
 7fc08abee000-7fc08abf0000 rw-p 00183000 08:01 2107471                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
 7fc08abf0000-7fc08abf4000 rw-p 00000000 00:00 0 
 7fc08abf4000-7fc08abf7000 r-xp 00000000 08:01 2757824                    /lib/x86_64-linux-gnu/libdl-2.27.so
 7fc08abf7000-7fc08adf6000 ---p 00003000 08:01 2757824                    /lib/x86_64-linux-gnu/libdl-2.27.so
 7fc08adf6000-7fc08adf7000 r--p 00002000 08:01 2757824                    /lib/x86_64-linux-gnu/libdl-2.27.so
 7fc08adf7000-7fc08adf8000 rw-p 00003000 08:01 2757824                    /lib/x86_64-linux-gnu/libdl-2.27.so
 7fc08adf8000-7fc08ae12000 r-xp 00000000 08:01 2757934                    /lib/x86_64-linux-gnu/libpthread-2.27.so
 7fc08ae12000-7fc08b011000 ---p 0001a000 08:01 2757934                    /lib/x86_64-linux-gnu/libpthread-2.27.so
 7fc08b011000-7fc08b012000 r--p 00019000 08:01 2757934                    /lib/x86_64-linux-gnu/libpthread-2.27.so
 7fc08b012000-7fc08b013000 rw-p 0001a000 08:01 2757934                    /lib/x86_64-linux-gnu/libpthread-2.27.so
 7fc08b013000-7fc08b017000 rw-p 00000000 00:00 0 
 7fc08b017000-7fc08b03e000 r-xp 00000000 08:01 2757773                    /lib/x86_64-linux-gnu/ld-2.27.so
 7fc08b03e000-7fc08b03f000 ---p 00000000 00:00 0 
 7fc08b03f000-7fc08b07f000 rw-p 00000000 00:00 0 
 7fc08b07f000-7fc08b080000 ---p 00000000 00:00 0 
 7fc08b080000-7fc08b083000 rw-p 00000000 00:00 0 
 7fc08b083000-7fc08b084000 ---p 00000000 00:00 0 
 7fc08b084000-7fc08b087000 rw-p 00000000 00:00 0 
 7fc08b087000-7fc08b088000 ---p 00000000 00:00 0 
 7fc08b088000-7fc08b0c8000 rw-p 00000000 00:00 0 
 7fc08b0c8000-7fc08b0c9000 ---p 00000000 00:00 0 
 7fc08b0c9000-7fc08b202000 rw-p 00000000 00:00 0 
 7fc08b202000-7fc08b210000 ---p 00000000 00:00 0 
 7fc08b210000-7fc08b212000 rw-p 00000000 00:00 0 
 7fc08b212000-7fc08b222000 ---p 00000000 00:00 0 
 7fc08b222000-7fc08b229000 rw-p 00000000 00:00 0 
 7fc08b229000-7fc08b22a000 r--s 00000000 08:01 402638                     /var/cache/fontconfig/4b2eda6bb976bda485cb2176619421d5-le64.cache-7
 7fc08b22a000-7fc08b22b000 ---p 00000000 00:00 0 
 7fc08b22b000-7fc08b22e000 rw-p 00000000 00:00 0 
 7fc08b22e000-7fc08b22f000 ---p 00000000 00:00 0 
 7fc08b22f000-7fc08b232000 rw-p 00000000 00:00 0 
 7fc08b232000-7fc08b233000 ---p 00000000 00:00 0 
 7fc08b233000-7fc08b236000 rw-p 00000000 00:00 0 
 7fc08b236000-7fc08b237000 ---p 00000000 00:00 0 
 7fc08b237000-7fc08b23a000 rw-p 00000000 00:00 0 
 7fc08b23a000-7fc08b23b000 ---p 00000000 00:00 0 
 7fc08b23b000-7fc08b23e000 rw-p 00000000 00:00 0 
 7fc08b23e000-7fc08b23f000 r--p 00027000 08:01 2757773                    /lib/x86_64-linux-gnu/ld-2.27.so
 7fc08b23f000-7fc08b240000 rw-p 00028000 08:01 2757773                    /lib/x86_64-linux-gnu/ld-2.27.so
 7fc08b240000-7fc08b241000 rw-p 00000000 00:00 0 
 7ffe1cae4000-7ffe1cb05000 rw-p 00000000 00:00 0                          [stack]
 7ffe1cb90000-7ffe1cb93000 r--p 00000000 00:00 0                          [vvar]
 7ffe1cb93000-7ffe1cb94000 r-xp 00000000 00:00 0                          [vdso]
 ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]
ProcStatus:
 Name:  dotnet
 Umask: 0002
 State: S (sleeping)
 Tgid:  9655
 Ngid:  0
 Pid:   9655
 PPid:  9639
 TracerPid: 0
 Uid:   1000    1000    1000    1000
 Gid:   1000    1000    1000    1000
 FDSize:    128
 Groups:    4 24 27 30 46 116 126 1000 
 NStgid:    9655
 NSpid: 9655
 NSpgid:    1735
 NSsid: 1735
 VmPeak:     3015284 kB
 VmSize:     3014832 kB
 VmLck:        0 kB
 VmPin:        0 kB
 VmHWM:    38632 kB
 VmRSS:    38632 kB
 RssAnon:       8672 kB
 RssFile:      29960 kB
 RssShmem:         0 kB
 VmData:       69496 kB
 VmStk:      132 kB
 VmExe:       68 kB
 VmLib:    65476 kB
 VmPTE:      344 kB
 VmSwap:           0 kB
 HugetlbPages:         0 kB
 CoreDumping:   1
 THP_enabled:   1
 Threads:   10
 SigQ:  0/15554
 SigPnd:    0000000000000000
 ShdPnd:    0000000000000000
 SigBlk:    0000000000000000
 SigIgn:    0000000000001000
 SigCgt:    00000003800040de
 CapInh:    0000000000000000
 CapPrm:    0000000000000000
 CapEff:    0000000000000000
 CapBnd:    0000003fffffffff
 CapAmb:    0000000000000000
 NoNewPrivs:    0
 Seccomp:   0
 Speculation_Store_Bypass:  thread vulnerable
 Cpus_allowed:  3
 Cpus_allowed_list: 0-1
 Mems_allowed:  00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
 Mems_allowed_list: 0
 voluntary_ctxt_switches:   38
 nonvoluntary_ctxt_switches:    372
Signal: 11
Uname: Linux 5.3.0-40-generic x86_64
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_LogindSession: 3
JerryJian commented 1 year ago

Hi, is there any way around this issue?

mlptownsend commented 1 year ago

Hi, is there any way around this issue?

We just decided on our Linux builds that the user just has to install onto the system whatever fonts they want to use. For instance, in our docker builds it just goes in as part of the setup.

furness-io commented 3 months ago

@mlptownsend Could you share your docker build file? I've tried to do this but not worked so far.