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

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

    <bug>
          <bug_id>44277</bug_id>
          
          <creation_ts>2022-11-11 15:10:27 +0300</creation_ts>
          <short_desc>make: cannot open output sync mutex</short_desc>
          <delta_ts>2023-05-22 06:54:21 +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>glibc-source</component>
          <version>unstable</version>
          <rep_platform>x86_64</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="Ivan A. Melnikov">iv</reporter>
          <assigned_to name="Gleb F-Malinovskiy">glebfm</assigned_to>
          <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>mikealley23</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>217215</commentid>
    <comment_count>0</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2022-11-11 15:10:27 +0300</bug_when>
    <thetext>При пересборке cross-toolchain-* обновлённым make получаем ошибку:

[...]
+ make -j8
make -r PARALLELMFLAGS=&quot;&quot; -C ../glibc objdir=`pwd` all
make[1]: Entering directory &apos;/usr/src/RPM/BUILD/cross-toolchain-arm-linux-gnueabihf-20220605/glibc&apos;
make[1]: *** cannot open output sync mutex /usr/src/tmp/GmWR7CBxr: No such file or directory.  Stop.
make[1]: Leaving directory &apos;/usr/src/RPM/BUILD/cross-toolchain-arm-linux-gnueabihf-20220605/glibc&apos;
make: *** [Makefile:9: all] Error 2
[...]

Ошибка прекрасно воспроизводится в локальном hasher на моём рабочем ноуте (Сизиф).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217216</commentid>
    <comment_count>1</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2022-11-11 15:12:15 +0300</bug_when>
    <thetext>Запустил под strace&apos;ом и вижу такое:

[builder@localhost obj_glibc]$ grep /usr/src/tmp/Gmhy *strace*
the_make.strace.2131235:11:00:33.693720 openat(AT_FDCWD, &quot;/usr/src/tmp/Gmhyxom8&quot;, O_RDWR|O_CREAT|O_EXCL, 0600) = 5
the_make.strace.2131235:11:00:33.723026 unlink(&quot;/usr/src/tmp/Gmhyxom8&quot;) = 0
the_make.strace.2131236:11:00:33.702617 openat(AT_FDCWD, &quot;/usr/src/tmp/Gmhyxom8&quot;, O_WRONLY) = 3
the_make.strace.2131236:11:00:33.702734 openat(AT_FDCWD, &quot;/usr/src/tmp/Gmhyxom8&quot;, O_WRONLY) = 4
the_make.strace.2131236:11:00:33.722006 openat(AT_FDCWD, &quot;/usr/src/tmp/Gmhyxom8r&quot;, O_WRONLY) = -1 ENOENT (No such file or directory)


Откуда взялся это &apos;r&apos; в конце?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217220</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2022-11-11 15:24:53 +0300</bug_when>
    <thetext>похоже на use-after-free или просто ошибка индекса буфера.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217221</commentid>
    <comment_count>3</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2022-11-11 15:33:37 +0300</bug_when>
    <thetext>Совсем забыл:

$ rpm -qa make
make-4.4.0-alt1.x86_64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217222</commentid>
    <comment_count>4</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2022-11-11 15:35:07 +0300</bug_when>
    <thetext>(In reply to Alexey Gladkov from comment #2)
&gt; похоже на use-after-free или просто ошибка индекса буфера.

Угу. Я пробовал запускать под valgrind&apos;ом, ничего интересного.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217227</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2022-11-11 15:39:45 +0300</bug_when>
    <thetext>Сообщение отсюда:

https://git.altlinux.org/gears/m/make.git?p=make.git;a=blob;f=make/src/posixos.c#l668</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217228</commentid>
    <comment_count>6</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2022-11-11 15:42:49 +0300</bug_when>
    <thetext>(In reply to Ivan A. Melnikov from comment #0)
&gt; При пересборке cross-toolchain-* обновлённым make получаем ошибку

Ещё веслее: если попытаться после этого зайти в hsh-shell и запустить make, получим другую ошибку:

make[2]: *** Cannot open jobserver /usr/src/tmp/GMfifo2236197r: No such file or directory.  Stop.

Тоже &apos;r&apos;, но в другом месте. Причём этот &apos;r&apos; уже присутсвует в переданных процессу MFLAGS (посмотрел на /exec в strace --ff -tt -v -s 99999).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217230</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2022-11-11 15:48:27 +0300</bug_when>
    <thetext>Возможно связанная проблема https://savannah.gnu.org/bugs/?63333</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217232</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2022-11-11 16:20:17 +0300</bug_when>
    <thetext>А это случайно не та же самая проблема, которая вылезла в glibc:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2d7ed98add14f75041499ac189696c9bd3d757fe
?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217233</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2022-11-11 16:21:28 +0300</bug_when>
    <thetext>-MAKEFLAGS := $(MAKEFLAGS)r
+MAKEFLAGS := $(MAKEFLAGS) -r

очень похоже.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217240</commentid>
    <comment_count>10</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2022-11-11 16:44:11 +0300</bug_when>
    <thetext>Тогда это надо в пакетах исправлять.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217241</commentid>
    <comment_count>11</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2022-11-11 16:52:13 +0300</bug_when>
    <thetext>Значит в этом случае проблема в glibc-source?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217247</commentid>
    <comment_count>12</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2022-11-11 17:53:28 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #8)
&gt; А это случайно не та же самая проблема, которая вылезла в glibc:
&gt; https://sourceware.org/git/?p=glibc.git;a=commitdiff;
&gt; h=2d7ed98add14f75041499ac189696c9bd3d757fe
&gt; ?

Да, оно, спасибо.

(In reply to Gleb F-Malinovskiy from comment #11)
&gt; Значит в этом случае проблема в glibc-source?

Да, пожалуй.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217263</commentid>
    <comment_count>13</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2022-11-12 13:09:40 +0300</bug_when>
    <thetext>glibc-6:2.35.0.6.491f2e-alt2 -&gt; sisyphus:

 Sat Nov 12 2022 Gleb F-Malinovskiy &lt;glebfm@altlinux&gt; 6:2.35.0.6.491f2e-alt2
 - Backported upstream commits:
   + &quot;Makerules: fix MAKEFLAGS assignment for upcoming make-4.4&quot; to fix build with
   make 4.4 (thx Sergei Trofimovich) (ALT#44277);
   + &quot;Avoid undefined behaviour in ibm128 implementation of llroundl&quot;
   (thx Aurelien Jarno) to fix test-ibm128-llround test regression on ppc64le.
 - ppc64le: xfailed test-ibm128-y1 test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226170</commentid>
    <comment_count>14</comment_count>
    <who name="Mike Alley">mikealley23</who>
    <bug_when>2023-05-22 06:54:21 +0300</bug_when>
    <thetext>The mutex merely assures that no two goroutines write/read the count at the same time; it has no control over the sequence in which those goroutines are performed.
https://retrobowlgo.com/</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>