{"id":632,"date":"2004-10-19T04:32:56","date_gmt":"2004-10-19T02:32:56","guid":{"rendered":"http:\/\/vasil.ludost.net\/blog\/?p=632"},"modified":"2004-10-19T04:32:56","modified_gmt":"2004-10-19T02:32:56","slug":"2004-10-19-0432","status":"publish","type":"post","link":"https:\/\/vasil.ludost.net\/blog\/?p=632","title":{"rendered":"2004-10-19 04:32"},"content":{"rendered":"<p>ffserver, et tu mama tambien!<\/p>\n<p>\u0414\u0435\u043d\u044f \u043d\u0435 \u0431\u0435\u0448\u0435 \u043d\u0435\u0449\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043e, \u043e\u0447\u0438\u043b\u0430\u0442\u0430 \u0441\u0430 \u043c\u0438 \u043d\u0430 \u0440\u0435\u043c\u043e\u043d\u0442, \u043c\u0438\u043d\u0430\u0445 \u043f\u0440\u0435\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f \u0435\u0434\u043d\u043e-\u0434\u0432\u0435 \u043d\u0435\u0449\u0430, \u0441\u043b\u0435\u0434 \u043a\u043e\u0435\u0442\u043e \u0438\u043c\u0430\u0445\u043c\u0435 \u0441\u0440\u0435\u0449\u0430 \u0437\u0430 openfest, \u0438 \u0437\u0430 \u0442\u0435\u0441\u0442 \u043d\u0430 \u043a\u0430\u043c\u0435\u0440\u0430\u0442\u0430. \u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u043e\u0442\u043e \u0441\u0435 \u043e\u043a\u0430\u0437\u0430, \u0447\u0435 \u043d\u044f\u043c\u0430\u043c\u0435 \u043a\u0430\u0431\u0435\u043b, \u0434\u043d\u0435\u0441 \u0449\u0435 \u0442\u044a\u0440\u0441\u044f \u043f\u043e \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0438\u0442\u0435.<\/p>\n<p>\u0421\u043b\u0435\u0434 \u0442\u043e\u0432\u0430 \u0441\u0435 \u043f\u0440\u0438\u0431\u0440\u0430\u0445, \u0441 \u0435\u0434\u043d\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043b\u0430\u0437\u0430\u043d\u044f \u043f\u043e\u0434 \u043c\u0438\u0448\u043d\u0438\u0446\u0430, \u0445\u0430\u043f\u043d\u0430\u0445, \u0438 \u0441\u0435\u0434\u043d\u0430\u0445 \u0434\u0430 \u0440\u043e\u0432\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432\u044a\u0432 ffserver-\u0430, \u0434\u0430\u0432\u0430\u0448\u0435 segmentation fault \u043e\u0442 \u0432\u0440\u0435\u043c\u0435 \u043d\u0430 \u0432\u0440\u0435\u043c\u0435.<\/p>\n<p>\u041a\u0430\u043a\u0432\u043e \u043b\u0438 \u043d\u0435 \u043f\u0440\u043e\u0431\u0432\u0430\u0445, gdb, valgring, strace, \u0447\u0435\u0442\u043e\u0445 source \u043d\u0430 0.4.8, 0.4.7, cvs snapshot-\u0430 \u043e\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0442\u0430 \u0438\u043c \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u044f cvs&#8230; \u0415 \u0441\u0442\u0438\u0433\u043d\u0430\u0445 \u0434\u043e \u0435\u0434\u0438\u043d \u0438\u0437\u0432\u043e\u0434 &#8211; \u041d\u042f\u041a\u042a\u0414\u0415 \u043d\u0430\u043c\u0430\u0437\u0432\u0430 .ffm \u0444\u0430\u0439\u043b\u0430, \u0432 \u043a\u043e\u0439\u0442\u043e \u0434\u044a\u0440\u0436\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u044f \u043f\u043e\u0442\u043e\u043a, \u043f\u0440\u0438 \u0440\u0430\u0437\u043d\u0438 \u043c\u0440\u0435\u0436\u043e\u0432\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0438, \u0438 \u043a\u0430\u0442\u043e \u0441\u0442\u0438\u0433\u043d\u0430\u0442 \u0434\u043e\u0442\u0430\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0438\u0442\u0435, \u0433\u044a\u0440\u043c\u0438 \u0441\u044a\u0441 sigsegv. \u041d\u043e\u0449\u0442\u0430 \u043c\u0438 \u043c\u0438\u043d\u0430 \u0432 \u0433\u043b\u0435\u0434\u0430\u043d\u0435 \u043d\u0430 \u043d\u0435\u0449\u0430 \u043e\u0442 \u0442\u0438\u043f\u0430:<\/p>\n<pre>\r\n193.110.159.41 - - [Tue Oct 19 01:10:15 2004] \"GET \/test2.avi HTTP\/1.0\" 200 5309590\r\n193.110.159.41 - - [Tue Oct 19 01:12:06 2004] \"GET \/test1.avi HTTP\/1.0\" 200 10399138\r\nSegmentation fault (core dumped)\r\nmarla:\/home\/vasil$ gdb --core=core ffmpeg-0.4.8\/ffserver\r\n....\r\n#0  0x400c31b7 in memcpy () from \/lib\/libc.so.6\r\n(gdb) bt\r\n#0  0x400c31b7 in memcpy () from \/lib\/libc.so.6\r\n#1  0x08062db1 in ffm_read_data (s=0x8288260, buf=0x82cbcc3 \"....\", size=6421, \r\n    first=0) at ffm.c:354\r\n#2  0x080632fe in ffm_read_packet (s=0x8288260, pkt=0xbfffbc88) at ffm.c:511\r\n#3  0x0805da4c in av_read_packet (s=0x8288260, pkt=0xbfffbc88) at utils.c:424\r\n#4  0x08054998 in http_prepare_data (c=0x8295270) at ffserver.c:2116\r\n#5  0x0805501a in http_send_data (c=0x8295270) at ffserver.c:2384\r\n#6  0x08051f60 in handle_connection (c=0x8295270) at ffserver.c:879\r\n#7  0x0805191d in http_server () at ffserver.c:625\r\n#8  0x0805b0f2 in main (argc=3, argv=0xbffffd94) at ffserver.c:4654\r\n(gdb) frame 4\r\n#4  0x08054998 in http_prepare_data (c=0x8295270) at ffserver.c:2116\r\n2116        return av_read_packet(s, pkt);\r\n(gdb) print c->state\r\n$1 = HTTPSTATE_SEND_DATA\r\n(gdb) print  c->stream->feed\r\n$2 = (struct FFStream *) 0x827fed0\r\n....\r\n(gdb) print ffm->file_size  \r\n$37 = 117878784\r\n(gdb) print size\r\n$38 = 6421\r\n(gdb) print len \r\n$39 = -24191\r\n(gdb) print fill_size\r\n$40 = 28273\r\n(gdb) print frame_offset\r\n$41 = -24191\r\n(gdb) q\r\n\r\n<\/pre>\n<p>\u041e\u0441\u043e\u0431\u0435\u043d\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u0438 \u0441\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u043a\u0430\u043a \u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u044f\u0442\u043e \u0432 \u043e\u0431\u0449\u0438 \u043b\u0438\u043d\u0438\u0438 \u043f\u0440\u0430\u0432\u0438 \u043f\u0440\u043e\u0447\u0438\u0442\u0430 2 \u0431\u0430\u0439\u0442\u0430 \u0438 \u043f\u0440\u0430\u0432\u0438 \u043e\u0442 \u0442\u044f\u0445 \u0435\u0434\u043d\u043e \u0434\u0432\u0443\u0431\u0430\u0439\u0442\u043e\u0432\u043e \u0447\u0438\u0441\u043b\u043e, \u043c\u043e\u0433\u0430 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430 \u043d\u0435\u0449\u043e, \u043a\u043e\u0435\u0442\u043e \u0435 \u043d\u0430\u0434 65536 &#8211; \u0438 Valgrind \u043d\u0435 \u0445\u0432\u0430\u043d\u0430 \u043d\u0438\u043a\u0430\u043a\u0432\u0438 overflows.<\/p>\n<p>\u041f\u043e\u043d\u0435\u0436\u0435 \u043c\u0438 \u043f\u0438\u0441\u043d\u0430, \u0441\u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0445 \u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0444\u0438\u043b\u0438\u0439\u043a\u0438, \u0437\u0430\u043a\u0443\u0441\u0438\u0445, \u0438 \u043c\u0438\u0441\u043b\u044f \u0434\u0430 \u0441\u043f\u044f \u0434\u043e \u0441\u043b\u0435\u0434\u043e\u0431\u0435\u0434\u0430.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ffserver, et tu mama tambien! \u0414\u0435\u043d\u044f \u043d\u0435 \u0431\u0435\u0448\u0435 \u043d\u0435\u0449\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043e, \u043e\u0447\u0438\u043b\u0430\u0442\u0430 \u0441\u0430 \u043c\u0438 \u043d\u0430 \u0440\u0435\u043c\u043e\u043d\u0442, \u043c\u0438\u043d\u0430\u0445 \u043f\u0440\u0435\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f \u0435\u0434\u043d\u043e-\u0434\u0432\u0435 \u043d\u0435\u0449\u0430, \u0441\u043b\u0435\u0434 \u043a\u043e\u0435\u0442\u043e \u0438\u043c\u0430\u0445\u043c\u0435 \u0441\u0440\u0435\u0449\u0430 \u0437\u0430 openfest, \u0438 \u0437\u0430 \u0442\u0435\u0441\u0442 \u043d\u0430 \u043a\u0430\u043c\u0435\u0440\u0430\u0442\u0430. \u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u043e\u0442\u043e \u0441\u0435 \u043e\u043a\u0430\u0437\u0430, \u0447\u0435 \u043d\u044f\u043c\u0430\u043c\u0435 \u043a\u0430\u0431\u0435\u043b, \u0434\u043d\u0435\u0441 \u0449\u0435 \u0442\u044a\u0440\u0441\u044f \u043f\u043e \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0438\u0442\u0435. \u0421\u043b\u0435\u0434 \u0442\u043e\u0432\u0430 \u0441\u0435 \u043f\u0440\u0438\u0431\u0440\u0430\u0445, \u0441 \u0435\u0434\u043d\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043b\u0430\u0437\u0430\u043d\u044f \u043f\u043e\u0434 \u043c\u0438\u0448\u043d\u0438\u0446\u0430, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-632","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=632"}],"version-history":[{"count":0,"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/632\/revisions"}],"wp:attachment":[{"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vasil.ludost.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}