<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Непонятки...</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/9125.html</link>
    <description>валится процесс на фряхе на лине все в норме:&lt;br&gt;- write(0x5152... - &quot;псевдо отладка&quot;&lt;br&gt;- выхлоп &quot;ktrace -i -d -t+ -p 5672&quot;&lt;br&gt;&lt;br&gt;&amp;gt;  5672 proc CALL  write(0x5152c,0xbfbfeba0,0x8)&lt;br&gt;&amp;gt;  5672 proc RET   write -1 errno 9 Bad file descriptor&lt;br&gt;&amp;gt;  5672 proc CALL  lseek(0x6,0,&amp;lt;invalid=673239296&amp;gt;,0)&lt;br&gt;&amp;gt;  5672 proc RET   lseek 0&lt;br&gt;&amp;gt;  5672 proc CALL  write(0x51590,0xbfbfebb0,0x4)&lt;br&gt;&amp;gt;  5672 proc RET   write -1 errno 9 Bad file descriptor&lt;br&gt;&amp;gt;  5672 proc CALL  write(0x6,0x8062160,0xa)&lt;br&gt;&amp;gt;  5672 proc RET   write -1 errno 27 File too large&lt;br&gt;&lt;br&gt;...&lt;br&gt;&quot;5672 proc CALL  lseek(0x6,0,&amp;lt;invalid=673239296&amp;gt;,0)&quot;&lt;br&gt;&lt;br&gt;- какого -&amp;gt; &amp;lt;invalid=673239296&amp;gt; ?&lt;br&gt;  если все параметры передаюся явно - через константы в вызове,&lt;br&gt;  окромя фйлового дескрипторa ?&lt;br&gt;- почему 4 параметра в трасировке lseek() ?&lt;br&gt;</description>

<item>
    <title>Непонятки... (nikto)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/9125.html#5</link>
    <pubDate>Sun, 15 May 2011 16:57:43 GMT</pubDate>
    <description>&amp;gt; А кто вызывает lseek  с таким большим значением? может у вас &lt;br&gt;&amp;gt; там косяк где нибудь?&lt;br&gt;&amp;gt; бросьте ktrace и запускайте в gdb. и смотрите значения сразу перед вызовом &lt;br&gt;&amp;gt; lseek &lt;br&gt;&amp;gt; может где нибудь идет переполнение в массивах(строках) и оно затирает значение локальных &lt;br&gt;&amp;gt; переменных.&lt;br&gt;&lt;br&gt;С проблемой границ массивов знаком, все тип-топ по этому направлению.&lt;br&gt;В том то и анекдот, вызов был с нулевым параметром, т.е установить на начало файла. &lt;br&gt;Помогло явное приведение типов.&lt;br&gt;Суть, на фряхе:&lt;br&gt;&lt;br&gt;bla_bla_fun(int fd, off_t off, char *buf, unsigned len) &lt;br&gt;&#123;&lt;br&gt;...&lt;br&gt;lseek(...);&lt;br&gt;...&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;Было: bla_bla_fun(fd,0,buf,len) &lt;br&gt;Стало: bla_bla_fun(fd,(off_t)0,buf,len) &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Непонятки... (NuINu)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/9125.html#4</link>
    <pubDate>Thu, 12 May 2011 14:27:13 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; советую присмотреться к этой записи, и посмотреть насколько велик данный файл.&lt;br&gt;&amp;gt; упс, пожадничал на трафике - секвестировал пару строк(тяжелое наследие &quot;модемного режима&quot;), &lt;br&gt;&amp;gt; а файл нулевой: &lt;br&gt;&amp;gt;&amp;gt;5672 proc STRU  struct stat &#123;dev=70, ino=56371, mode=-rw------- , nlink=1, uid=1001, gid=1110, rdev=0, atime=0, stime=1286974484, ctime=1305123352, birthtime=1286974484, size=0, blksize=16384, blocks=0, flags=0x0 &#125; &lt;br&gt;&amp;gt;&amp;gt;5672 proc RET   stat 0 &lt;br&gt;&amp;gt; Есть подозрение - обертка внутрисистемная(бегло глянул на сорцы dd и в ман&#096;ах &lt;br&gt;&amp;gt; lseek), &lt;br&gt;&amp;gt; и похоже устанавливается указатель внутри файла, за пределами текущего размера, на 673239296 &lt;br&gt;&amp;gt; -&amp;gt; и на write() вылетает &lt;br&gt;&amp;gt; &quot;Будем копать&quot; (c) &lt;br&gt;&lt;br&gt;А кто вызывает lseek  с таким большим значением? может у вас там косяк где нибудь?&lt;br&gt;бросьте ktrace и запускайте в gdb. и смотрите значения сразу перед вызовом lseek&lt;br&gt;может где нибудь идет переполнение в массивах(строках) и оно затирает значение локальных переменных.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Непонятки... (nikto)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/9125.html#3</link>
    <pubDate>Wed, 11 May 2011 17:21:41 GMT</pubDate>
    <description>..&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  5672 proc CALL  lseek(0x6,0,&amp;lt;invalid=673239296&amp;gt;,0) &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  5672 proc RET   lseek 0 &lt;br&gt;&lt;br&gt;...&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  5672 proc RET   write -1 errno 27 File too large &lt;br&gt;&amp;gt; советую присмотреться к этой записи, и посмотреть насколько велик данный файл.&lt;br&gt;&lt;br&gt;упс, пожадничал на трафике - секвестировал пару строк(тяжелое наследие &quot;модемного режима&quot;), а файл нулевой:&lt;br&gt;&lt;br&gt;&amp;gt;5672 proc STRU  struct stat &#123;dev=70, ino=56371, mode=-rw------- , nlink=1, uid=1001, gid=1110, rdev=0, atime=0, stime=1286974484, ctime=1305123352, birthtime=1286974484, size=0, blksize=16384, blocks=0, flags=0x0 &#125;&lt;br&gt;&amp;gt;5672 proc RET   stat 0&lt;br&gt;&lt;br&gt;...&lt;br&gt;&amp;gt; это то можно обьяснить, в стеке это лишь область памяти в которой &lt;br&gt;&amp;gt; передается желаемое смещение, возможно процедура lseek ее использует во время работы &lt;br&gt;&amp;gt; и меняет. те на входе 0, а после выхода уже некое &lt;br&gt;&amp;gt; значение.&lt;br&gt;&amp;gt; это лишь догадка, надо код смотеть.&lt;br&gt;&amp;gt; ну вообщем 27 ошибка. в линуксе тоже самое.&lt;br&gt;&amp;gt;&amp;gt;   окромя фйлового дескрипторa ?&lt;br&gt;&amp;gt;&amp;gt; - почему 4 параметра в трасировке lseek() ?&lt;br&gt;&amp;gt; хз &lt;br&gt;&lt;br&gt;Есть подозрение - оберт</description>
</item>

<item>
    <title>Непонятки... (nikto)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/9125.html#2</link>
    <pubDate>Wed, 11 May 2011 17:19:27 GMT</pubDate>
    <description>..&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  5672 proc CALL  lseek(0x6,0,&amp;lt;invalid=673239296&amp;gt;,0) &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  5672 proc RET   lseek 0 &lt;br&gt;&lt;br&gt;...&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  5672 proc RET   write -1 errno 27 File too large &lt;br&gt;&amp;gt; советую присмотреться к этой записи, и посмотреть насколько велик данный файл.&lt;br&gt;&lt;br&gt;упс, пожадничал на трафике - секвестировал пару строк(тяжелое наследие &quot;модемного режима&quot;), а файл нулевой:&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;   если все параметры передаюся явно - через константы в вызове, &lt;br&gt;&amp;gt; это то можно обьяснить, в стеке это лишь область памяти в которой &lt;br&gt;&amp;gt; передается желаемое смещение, возможно процедура lseek ее использует во время работы &lt;br&gt;&amp;gt; и меняет. те на входе 0, а после выхода уже некое &lt;br&gt;&amp;gt; значение.&lt;br&gt;&amp;gt; это лишь догадка, надо код смотеть.&lt;br&gt;&amp;gt; ну вообщем 27 ошибка. в линуксе тоже самое.&lt;br&gt;&amp;gt;&amp;gt;   окромя фйлового дескрипторa ?&lt;br&gt;&amp;gt;&amp;gt; - почему 4 параметра в трасировке lseek() ?&lt;br&gt;&amp;gt; хз &lt;br&gt;&lt;br&gt;Есть подозрение - обертка внутрисистемная(бегло глянул на сорцы dd и в ман&#096;ах lseek),&lt;br&gt;и похоже устанавливается указатель внутри файла, за пределами текущего размера, на 673239296</description>
</item>

<item>
    <title>Непонятки... (NuINu)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/9125.html#1</link>
    <pubDate>Wed, 11 May 2011 17:03:27 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; - write(0x5152... - &quot;псевдо отладка&quot; &lt;br&gt;&amp;gt; - выхлоп &quot;ktrace -i -d -t+ -p 5672&quot; &lt;br&gt;&amp;gt;&amp;gt;  5672 proc CALL  write(0x5152c,0xbfbfeba0,0x8) &lt;br&gt;&amp;gt;&amp;gt;  5672 proc RET   write -1 errno 9 Bad file descriptor &lt;br&gt;&amp;gt;&amp;gt;  5672 proc CALL  lseek(0x6,0,&amp;lt;invalid=673239296&amp;gt;,0) &lt;br&gt;&amp;gt;&amp;gt;  5672 proc RET   lseek 0 &lt;br&gt;&amp;gt;&amp;gt;  5672 proc CALL  write(0x51590,0xbfbfebb0,0x4) &lt;br&gt;&amp;gt;&amp;gt;  5672 proc RET   write -1 errno 9 Bad file descriptor &lt;br&gt;&amp;gt;&amp;gt;  5672 proc CALL  write(0x6,0x8062160,0xa) &lt;br&gt;&amp;gt;&amp;gt;  5672 proc RET   write -1 errno 27 File too large &lt;br&gt;&lt;br&gt;советую присмотреться к этой записи, и посмотреть насколько велик данный файл.&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; ...&lt;br&gt;&amp;gt; &quot;5672 proc CALL  lseek(0x6,0,&amp;lt;invalid=673239296&amp;gt;,0)&quot; &lt;br&gt;&amp;gt; - какого -&amp;gt; &amp;lt;invalid=673239296&amp;gt; ?&lt;br&gt;&amp;gt;   если все параметры передаюся явно - через константы в вызове, &lt;br&gt;&lt;br&gt;это то можно обьяснить, в стеке это лишь область памяти в которой передается желаемое смещение, возможно процедура lseek ее использует во время работы и меняет. те на входе 0, а после выхода уже некое значение.&lt;br&gt;&lt;br&gt;это лишь догадка, надо код смотеть.&lt;br&gt;</description>
</item>

</channel>
</rss>
