<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">20 июня 2016 г., 17:44 пользователь Евгений Терешков <span dir="ltr"><<a href="mailto:evg-krsk@yandex.ru" target="_blank">evg-krsk@yandex.ru</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Игорь Андросов пишет:</blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">> Однако после всего этого - заметил в хосте следующее сообщение в журнале,<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span>
> после попытки подключения FreeNX.<br>
><br>
> kernel: traps: ssh-agent[21556] general protection ip:7f6ba137ab10<br>
> sp:7ffeef76d400 error:0 in <a href="http://ld-2.23.so" rel="noreferrer" target="_blank">ld-2.23.so</a>[7f6ba1362000+24000]<br>
<br>
</span>Поищите это время в выводе journalctl</blockquote><div><br></div><div>В общем разобрался с coredump, нужно было еще suid_dumpable разрешить, после этого в хост прилетела корка. </div><div>Дальше было чудесатей:</div><div><br></div><div><div> Stack trace of thread 11373:</div><div> #0 0x00007f8d10e10b10 check_one_fd (/lib64/<a href="http://ld-2.23.so">ld-2.23.so</a>)</div><div> #1 0x00007f8d10e10b30 __libc_check_standard_fds (/lib64/<a href="http://ld-2.23.so">ld-2.23.so</a>)</div><div> #2 0x00007f8d10e0f5df _dl_sysdep_start (/lib64/<a href="http://ld-2.23.so">ld-2.23.so</a>)</div><div> #3 0x00007f8d10dfcdaa _dl_start_final (/lib64/<a href="http://ld-2.23.so">ld-2.23.so</a>)</div><div> #4 0x00007f8d10df8e18 _start (/lib64/<a href="http://ld-2.23.so">ld-2.23.so</a>)</div></div><div><br></div><div>Эм я правильно вижу что падает еще до входа в main???</div><div><br></div><div>В check_one_fd есть блок кода:</div><div><pre class="" style="color:rgb(0,0,0)"><div class=""><a id="l49" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l49" class="" style="color:rgb(153,153,153);text-decoration:none"> 49</a> /* For writable descriptors we use /dev/full. */</div><div class=""><a id="l50" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l50" class="" style="color:rgb(153,153,153);text-decoration:none"> 50</a> if ((mode & O_ACCMODE) == O_WRONLY)</div><div class=""><a id="l51" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l51" class="" style="color:rgb(153,153,153);text-decoration:none"> 51</a> {</div><div class=""><a id="l52" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l52" class="" style="color:rgb(153,153,153);text-decoration:none"> 52</a> name = _PATH_DEV "full";</div><div class=""><a id="l53" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l53" class="" style="color:rgb(153,153,153);text-decoration:none"> 53</a> dev = makedev (DEV_FULL_MAJOR, DEV_FULL_MINOR);</div><div class=""><a id="l54" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l54" class="" style="color:rgb(153,153,153);text-decoration:none"> 54</a> }</div><div class=""><a id="l55" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l55" class="" style="color:rgb(153,153,153);text-decoration:none"> 55</a> else</div><div class=""><a id="l56" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l56" class="" style="color:rgb(153,153,153);text-decoration:none"> 56</a> {</div><div class=""><a id="l57" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l57" class="" style="color:rgb(153,153,153);text-decoration:none"> 57</a> name = _PATH_DEVNULL;</div><div class=""><a id="l58" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l58" class="" style="color:rgb(153,153,153);text-decoration:none"> 58</a> dev = makedev (DEV_NULL_MAJOR, DEV_NULL_MINOR);</div><div class=""><a id="l59" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l59" class="" style="color:rgb(153,153,153);text-decoration:none"> 59</a> }</div></pre></div><div>а в __libc_check_standard_fds </div><div><pre class="" style="color:rgb(0,0,0)"><pre class=""><a id="l98" href="https://sourceware.org/git/?p=glibc.git;a=blob;f=csu/check_fds.c;h=baa77a95d7c1fe2e6d40a1996cead065511331cb;hb=HEAD#l98" class="" style="color:rgb(153,153,153);text-decoration:none;font-size:12px"> 98</a><span style="font-size:12px"> check_one_fd (STDIN_FILENO, O_WRONLY | O_NOFOLLOW);</span><br></pre></pre></div><div>То есть тут явно есть обращение к /dev/full, в контейнере он есть, но на попытку "потрогать" отвечает что операция не позволена, добавил его в конфиг lxc, после перезапуска контейнера ssh-agent перестал падать.</div><div>Вопрос остался как тогда работало раньше и почему под [s|l]trace работает?</div><div><br></div></div><div><br></div>-- <br><div data-smartmail="gmail_signature">С уважением Игорь.<br></div>
</div></div>