<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>44401</bug_id>
          
          <creation_ts>2022-11-23 14:04:57 +0300</creation_ts>
          <short_desc>Просьба поднять версию .Net Core 6 с 6.0.7 до последней (текущая 6.0.11)</short_desc>
          <delta_ts>2023-02-14 15:15:11 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>dotnet-6.0</component>
          <version>unstable</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Иван Скородумов">skorodumov</reporter>
          <assigned_to name="Nobody&apos;s working on this, feel free to take it">nobody</assigned_to>
          <cc>cas</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>217824</commentid>
    <comment_count>0</comment_count>
    <who name="Иван Скородумов">skorodumov</who>
    <bug_when>2022-11-23 14:04:57 +0300</bug_when>
    <thetext>Просьба поднять версию .Net Core 6 с 6.0.7 до последней (текущая 6.0.11) https://dotnet.microsoft.com/en-us/download/dotnet/6.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219410</commentid>
    <comment_count>1</comment_count>
    <who name="Иван Скородумов">skorodumov</who>
    <bug_when>2022-12-23 13:34:27 +0300</bug_when>
    <thetext>Дополнительно просьба добавить пакет с символьной информацией для отладки dotnet приложений в lldb
Речь про файлы, которые для поддерживаемых Microsoft платформ загружаются с помощью команды
dotnet-symbol --host-only</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219412</commentid>
    <comment_count>2</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2022-12-23 14:15:47 +0300</bug_when>
    <thetext>(Ответ для Иван Скородумов на комментарий #1)
&gt; Дополнительно просьба добавить пакет с символьной информацией для отладки
&gt; dotnet приложений в lldb
&gt; Речь про файлы, которые для поддерживаемых Microsoft платформ загружаются с
&gt; помощью команды
&gt; dotnet-symbol --host-only
То есть скачиваемую этой командой информацию добавить в пакет? Попробуем.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219414</commentid>
    <comment_count>3</comment_count>
    <who name="Иван Скородумов">skorodumov</who>
    <bug_when>2022-12-23 14:32:32 +0300</bug_when>
    <thetext>(In reply to Vitaly Lipatov from comment #2)
&gt; (Ответ для Иван Скородумов на комментарий #1)
&gt; &gt; Дополнительно просьба добавить пакет с символьной информацией для отладки
&gt; &gt; dotnet приложений в lldb
&gt; &gt; Речь про файлы, которые для поддерживаемых Microsoft платформ загружаются с
&gt; &gt; помощью команды
&gt; &gt; dotnet-symbol --host-only
&gt; То есть скачиваемую этой командой информацию добавить в пакет? Попробуем.

Да, всё верно! 
Спасибо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219509</commentid>
    <comment_count>4</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2022-12-27 01:59:35 +0300</bug_when>
    <thetext>(Ответ для Иван Скородумов на комментарий #1)
&gt; Дополнительно просьба добавить пакет с символьной информацией для отладки
&gt; dotnet приложений в lldb
&gt; Речь про файлы, которые для поддерживаемых Microsoft платформ загружаются с
&gt; помощью команды
&gt; dotnet-symbol --host-only

«Загрузка символов поддерживается только для официальных версий среды выполнения .NET Core, полученных по официальным каналам, таким как официальный веб-сайт и источники по умолчанию в сценариях установки dotnet. Ошибка 404 при скачивании файлов отладки может указывать на то, что дамп был создан с помощью среды выполнения .NET Core из другого источника, например из исходного кода, созданного локально или для конкретного дистрибутива Linux, либо с сайтов сообщества, таких как archlinux. В таких случаях файл, необходимый для отладки (dotnet, libcoreclr.so и libmscordaccore.so), должен быть скопирован из этих источников или из среды, в которой был создан файл дампа.»
https://learn.microsoft.com/ru-ru/dotnet/core/diagnostics/dotnet-symbol

Может быть вам просто нужно поставить соответствующие пакеты -debuginfo?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219511</commentid>
    <comment_count>5</comment_count>
    <who name="Иван Скородумов">skorodumov</who>
    <bug_when>2022-12-27 08:37:39 +0300</bug_when>
    <thetext>Для того, чтобы lldb просто загрузил дамп или подключился к процессу dotnet, нужно иметь отладочную информацию по загрузчику dotnet.
Далее начинает работать расширение sos, позволяющее отлаживать управляемый код.
Как вы и написали утилита dotnet-symbol, не может загрузить отладочные символы для dotnet на Alt Linux, поэтому мы просим включить их в отдельный пакет или в один из существующих пакетов установки dotnet sdk для Alt Linux
 
https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/aspnetcore/practice-troubleshoot-linux/lab-1-2-analyze-core-dumps-lldb-debugger
«The --host-only parameter will download only the host program. This is all that lldb needs to start debugging the ASP.NET Core application.»
«SOS is a cross-platform extension that can be loaded by WinDbg or a cdb debugger on Windows and by lldb on Linux and macOS.»</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219652</commentid>
    <comment_count>6</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2022-12-31 17:58:50 +0300</bug_when>
    <thetext>(Ответ для Иван Скородумов на комментарий #5)
&gt; Для того, чтобы lldb просто загрузил дамп или подключился к процессу dotnet,
Можете привести пример отладки базового приложения, создаваемого через
$ dotnet new console
?

Какая именно команда?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219836</commentid>
    <comment_count>7</comment_count>
    <who name="Иван Скородумов">skorodumov</who>
    <bug_when>2023-01-09 17:12:07 +0300</bug_when>
    <thetext>1. Установка lldb, .net и расширение SOS
# apt-get install lldb
# apt-get install dotnet-sdk-6.0
# dotnet tool install -g dotnet-sos
# export PATH=&quot;$PATH:/root/.dotnet/tools&quot;
# dotnet-sos install

2. Настройка coredump
# apt-get install systemd-coredump
# systemctl start systemd-coredump.socket
закомментировать следующую строку в /etc/profile: &apos;ulimit -Sc 0 &gt;/dev/null 2&gt;&amp;1&apos;
закомментрировать в файле /etc/security/limits.d/50-defaults.conf строку: &apos;* soft core 0&apos;
# reboot

3. Тестовое приложение.
# mkdir ~/test_debug
# cd ~/test_debug
# dotnet new console
# cat &lt;&lt;EOT &gt; Program.cs
Console.WriteLine(&quot;Hello, World!&quot;);

string msg = null;

List&lt;string&gt; memoryleak = new();
while (true)
{
    memoryleak.Add($&quot;Current time is: {DateTime.Now:O}&quot;);
    Thread.Sleep(100);
    if (memoryleak.Count &gt; 200)
    {
        // NullReferenceException через 20 секунд
       //долго, чтобы можно было еще Attach проверить.
        Console.WriteLine(msg.Length);
    }
}
EOT
# dotnet build

4. Генерация dump-а при падении приложения
# dotnet ./bin/Debug/net6.0/test_debug.dll &amp;
Hello, World!
… 20 seconds later
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at Program.&lt;Main&gt;$(String[] args) in /root/test_debug/Program.cs:line 12
[1]+  Aborted                 (core dumped) dotnet ./bin/Debug/net6.0/test_debug.dll

# coredumpctl list
TIME                            PID   UID   GID SIG COREFILE  EXE
Mon 2023-01-09 13:44:13 UTC    4055     0     0   6 present   /usr/lib64/dotnet/dotnet
# coredumpctl dump 4055 -o test_debug.core.4055
…

5. Отладка полученного дампа
# export DOTNET_ROOT=/usr/lib64/dotnet
# lldb --core test_debug.core.4055 dotnet
Current symbol store settings:
-&gt; Cache: /root/.dotnet/symbolcache
-&gt; Server: https://msdl.microsoft.com/download/symbols/ Timeout: 4 RetryCount: 0
(lldb) target create &quot;dotnet&quot; --core &quot;test_debug.core.4055&quot;
Core file &apos;/root/test_debug/test_debug.core.4055&apos; (x86_64) was loaded.

(lldb) pe
Failed to load data access module, 0x80004002
Can not load or initialize libmscordaccore.so. The target runtime may not be initialized.

For more information see https://go.microsoft.com/fwlink/?linkid=2135652
PrintException  failed

Если решение этой проблемы займет много времени, то лучше ее не решать сразу, а завести отдельный тикет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221633</commentid>
    <comment_count>8</comment_count>
    <who name="Иван Скородумов">skorodumov</who>
    <bug_when>2023-02-14 09:58:14 +0300</bug_when>
    <thetext>Коллеги, добрый день!
Скажите пож есть информация по указанному вопросу?
&quot;Просьба поднять версию .Net Core 6 с 6.0.7 до последней (текущая 6.0.11) https://dotnet.microsoft.com/en-us/download/dotnet/6.0&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221649</commentid>
    <comment_count>9</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2023-02-14 12:14:27 +0300</bug_when>
    <thetext>(Ответ для Иван Скородумов на комментарий #8)
&gt; Коллеги, добрый день!
&gt; Скажите пож есть информация по указанному вопросу?
&gt; &quot;Просьба поднять версию .Net Core 6 с 6.0.7 до последней (текущая 6.0.11)
&gt; https://dotnet.microsoft.com/en-us/download/dotnet/6.0&quot;

https://packages.altlinux.org/ru/sisyphus/srpms/dotnet-runtime-6.0/

Версия: 6.0.12-alt2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221656</commentid>
    <comment_count>10</comment_count>
    <who name="Иван Скородумов">skorodumov</who>
    <bug_when>2023-02-14 15:15:11 +0300</bug_when>
    <thetext>(In reply to Andrey Cherepanov from comment #9)
&gt; (Ответ для Иван Скородумов на комментарий #8)
&gt; &gt; Коллеги, добрый день!
&gt; &gt; Скажите пож есть информация по указанному вопросу?
&gt; &gt; &quot;Просьба поднять версию .Net Core 6 с 6.0.7 до последней (текущая 6.0.11)
&gt; &gt; https://dotnet.microsoft.com/en-us/download/dotnet/6.0&quot;
&gt; 
&gt; https://packages.altlinux.org/ru/sisyphus/srpms/dotnet-runtime-6.0/
&gt; 
&gt; Версия: 6.0.12-alt2

Это Sisyphus, есть возможность добавить в p9 и в p10?</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>