<div dir="ltr"><div class="gmail_extra">Hi Eric,</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 26, 2013 at 1:03 PM, Eric Blake <span dir="ltr"><<a href="mailto:eblake@redhat.com" target="_blank">eblake@redhat.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":1cs">Oh, you did narrow in on the test.  I haven't seen any recent bug-gnulib<br>


traffic that mentions this test failing on OSX, nor do I have easy<br>
access to a machine to verify and clean it up myself.  Can you help<br>
debug the issue?  One thing to look at is whether gnulib is declaring<br>
the system getgroups() as working or not - what does 'grep GETGROUPS<br>
config.status' report for you?  Also, it could just be an overly-strict<br>
test.</div></blockquote></div><br><div class="gmail_extra">[ruben@odin ~/src/libvirt-1.0.5]$ grep GETGROUPS config.status </div><div class="gmail_extra">S["REPLACE_GETGROUPS"]="1"</div><div class="gmail_extra">

S["HAVE_GETGROUPS"]="1"</div><div class="gmail_extra">S["GNULIB_GETGROUPS"]="IN_LIBVIRT_GNULIB_TESTS"</div><div class="gmail_extra">D["GETGROUPS_T"]=" gid_t"</div>

<div class="gmail_extra">D["HAVE_GETGROUPS"]=" 1"</div><div class="gmail_extra">D["GNULIB_TEST_GETGROUPS"]=" 1"</div><div class="gmail_extra"><br></div><div class="gmail_extra" style>

Here's a quick gdb session:</div><div class="gmail_extra" style><br></div><div class="gmail_extra" style><div class="gmail_extra">[ruben@odin ~/src/libvirt-1.0.5/gnulib/tests]$ gdb ./test-getgroups </div><div class="gmail_extra">

GNU gdb (GDB) 7.5.1</div><div class="gmail_extra">Copyright (C) 2012 Free Software Foundation, Inc.</div><div class="gmail_extra">License GPLv3+: GNU GPL version 3 or later <<a href="http://gnu.org/licenses/gpl.html">http://gnu.org/licenses/gpl.html</a>></div>

<div class="gmail_extra">This is free software: you are free to change and redistribute it.</div><div class="gmail_extra">There is NO WARRANTY, to the extent permitted by law.  Type "show copying"</div><div class="gmail_extra">

and "show warranty" for details.</div><div class="gmail_extra">This GDB was configured as "x86_64-apple-darwin12.3.0".</div><div class="gmail_extra">For bug reporting instructions, please see:</div><div class="gmail_extra">

<<a href="http://www.gnu.org/software/gdb/bugs/">http://www.gnu.org/software/gdb/bugs/</a>>...</div><div class="gmail_extra">Reading symbols from /Users/ruben/src/libvirt-1.0.5/gnulib/tests/test-getgroups...done.</div>

<div class="gmail_extra">(gdb) b main</div><div class="gmail_extra">Breakpoint 1 at 0x100001327: file test-getgroups.c, line 39.</div><div class="gmail_extra">(gdb) r</div><div class="gmail_extra">Starting program: /Users/ruben/src/libvirt-1.0.5/gnulib/tests/test-getgroups </div>

<div class="gmail_extra"><br></div><div class="gmail_extra">Breakpoint 1, main (argc=1, argv=0x7fff5fbffa00) at test-getgroups.c:39</div><div class="gmail_extra">39<span class="" style="white-space:pre"> </span>  errno = 0;</div>

<div class="gmail_extra">(gdb) n</div><div class="gmail_extra">40<span class="" style="white-space:pre">        </span>  result = getgroups (0, NULL);</div><div class="gmail_extra">(gdb) </div><div class="gmail_extra">41<span class="" style="white-space:pre">       </span>  if (result == -1 && errno == ENOSYS)</div>

<div class="gmail_extra">(gdb) p result</div><div class="gmail_extra">$1 = 12</div><div class="gmail_extra">(gdb) n</div><div class="gmail_extra">46<span class="" style="white-space:pre"> </span>  ASSERT (0 <= result);</div>

<div class="gmail_extra">(gdb) </div><div class="gmail_extra">47<span class="" style="white-space:pre">        </span>  ASSERT (result + 1 < SIZE_MAX / sizeof *groups);</div><div class="gmail_extra">(gdb) </div><div class="gmail_extra">

48<span class="" style="white-space:pre">     </span>  groups = malloc ((result + 1) * sizeof *groups);</div><div class="gmail_extra">(gdb) </div><div class="gmail_extra">49<span class="" style="white-space:pre">    </span>  ASSERT (groups);</div>

<div class="gmail_extra">(gdb) </div><div class="gmail_extra">50<span class="" style="white-space:pre">        </span>  groups[result] = -1;</div><div class="gmail_extra">(gdb) </div><div class="gmail_extra">55<span class="" style="white-space:pre">        </span>  if (1 < result)</div>

<div class="gmail_extra">(gdb) </div><div class="gmail_extra">57<span class="" style="white-space:pre">        </span>      errno = 0;</div><div class="gmail_extra">(gdb) </div><div class="gmail_extra">58<span class="" style="white-space:pre">    </span>      ASSERT (getgroups (result - 1, groups) == -1);</div>

<div class="gmail_extra">(gdb) s</div><div class="gmail_extra">rpl_getgroups (n=11, group=0x100107cb0) at getgroups.c:54</div><div class="gmail_extra">54<span class="" style="white-space:pre">  </span>rpl_getgroups (int n, gid_t *group)</div>

<div class="gmail_extra">(gdb) </div><div class="gmail_extra">60<span class="" style="white-space:pre">        </span>  if (n < 0)</div><div class="gmail_extra">(gdb) </div><div class="gmail_extra">70<span class="" style="white-space:pre">       </span>        return getgroups (n, (GETGROUPS_T *) group);</div>

<div class="gmail_extra">(gdb) </div><div class="gmail_extra">test-getgroups.c:58: assertion failed</div><div class="gmail_extra">rpl_fflush (stream=0x7fff7cf03bc0) at fflush.c:124</div><div class="gmail_extra">124<span class="" style="white-space:pre">      </span>rpl_fflush (FILE *stream)</div>

<div><br></div><div style>Can you guide me on what to do next?</div><div style><br></div><div style>Thanks,</div><div style><br></div><div style>Ruben</div></div><div class="gmail_extra"><br></div></div></div>