Куски кода в заголовках писем на Яндекс.Почте

    С 00:00 первого января, до 16:30 четвертого января, в заголовках писем, пришедших в Яндекс.Почту, будь то @ yandex.ru или почта для домена, вместо месяца получения письма попадали куски кода на сях.

    Пример заголовка:

    image

    С товарищем akke, который изначально и обнаружил столь странную штуку, мы собрали все кусочки, которые попадались, собрав заголовки из 400 писем.



    "" встречалось 43 раза
    "H‰пи ўшяє)" встречалось 6 раз
    "H‰Ги ’шяL‰зи€ЋшяH‰Яи™шяH‰ГллђђђAWM‰ЗAVI‰юAUI‰НATUH‰ХSH‰уH‰ОHЃм˜" встречалось 4 раза
    "ч…ШояяйЯояя" встречалось 44 раза
    "13sql_exception" встречалось 78 раз
    "essage, stid=%s" встречалось 27 раз
    "NS_21thread_resource_errorEEEEE" встречалось 18 раз
    "c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]" встречалось 14 раз
    "r.cc" встречалось 74 раза
    "Р}%H˜ѕ" встречалось 76 раз
    "x-Spam" встречалось 12 раз
    "loc = std::allocator<char>]" встречалось 3 раза
    "/libfeed/nosuchuser.tpl" встречалось 8 раз
    "H‰ЗиђЙшяL‰оH‰Зи…ЙшяL‰цH‰ЗиzЙшяH‹t$ H‰ЗиmЙшяH‹t$hH‰Зи`ЙшяH‹ґ$Ђ" встречалось 1 раз


    Полный список
    20140103-test-5.eml:
    20140103-test-6.eml: 13sql_exception
    20140103-test-7.eml: HЙ√и†Тш€LЙзиИОш€HЙяиЩш€HЙ√ллРРРAWMЙ«AVIЙюAUIЙЌATUHЙ’SHЙуHЙќHБмШ
    20140103-test-8.eml: r.cc
    20140103-test-9.eml: NS_21thread_resource_errorEEEEE
    20140103-test-10.eml: чЕЎо€€йяо€€
    20140103-test-11.eml: –}%HШЊ
    20140103-test-12.eml: r.cc
    20140103-test-13.eml: r.cc
    20140103-test-14.eml: 13sql_exception
    20140103-test-15.eml: чЕЎо€€йяо€€
    20140103-test-16.eml: NS_21thread_resource_errorEEEEE
    20140103-test-17.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-18.eml: r.cc
    20140103-test-19.eml: чЕЎо€€йяо€€
    20140103-test-20.eml: –}%HШЊ
    20140103-test-21.eml:
    20140103-test-22.eml: r.cc
    20140103-test-23.eml: r.cc
    20140103-test-24.eml: 13sql_exception
    20140103-test-25.eml: r.cc
    20140103-test-26.eml: –}%HШЊ
    20140103-test-27.eml: r.cc
    20140103-test-28.eml: r.cc
    20140103-test-29.eml:
    20140103-test-30.eml: –}%HШЊ
    20140103-test-31.eml: 13sql_exception
    20140103-test-32.eml: r.cc
    20140103-test-33.eml: r.cc
    20140103-test-34.eml: r.cc
    20140103-test-35.eml:
    20140103-test-36.eml: –}%HШЊ
    20140103-test-37.eml: 13sql_exception
    20140103-test-38.eml: r.cc
    20140103-test-39.eml: r.cc
    20140103-test-40.eml:
    20140103-test-41.eml: –}%HШЊ
    20140103-test-42.eml: r.cc
    20140103-test-43.eml: 13sql_exception
    20140103-test-44.eml: r.cc
    20140103-test-45.eml:
    20140103-test-46.eml: –}%HШЊ
    20140103-test-47.eml: r.cc
    20140103-test-48.eml: 13sql_exception
    20140103-test-49.eml: r.cc
    20140103-test-50.eml:
    20140103-test-51.eml: r.cc
    20140103-test-52.eml: r.cc
    20140103-test-53.eml: 13sql_exception
    20140103-test-54.eml: r.cc
    20140103-test-55.eml: –}%HШЊ
    20140103-test-56.eml:
    20140103-test-57.eml: r.cc
    20140103-test-58.eml: r.cc
    20140103-test-59.eml: r.cc
    20140103-test-60.eml: 13sql_exception
    20140103-test-61.eml: –}%HШЊ
    20140103-test-62.eml:
    20140103-test-63.eml: r.cc
    20140103-test-64.eml: 13sql_exception
    20140103-test-65.eml: r.cc
    20140103-test-66.eml: –}%HШЊ
    20140103-test-67.eml: 13sql_exception
    20140103-test-68.eml: r.cc
    20140103-test-69.eml:
    20140103-test-70.eml: r.cc
    20140103-test-71.eml: 13sql_exception
    20140103-test-72.eml: r.cc
    20140103-test-73.eml: –}%HШЊ
    20140103-test-74.eml: 13sql_exception
    20140103-test-75.eml: 13sql_exception
    20140103-test-76.eml:
    20140103-test-77.eml: чЕЎо€€йяо€€
    20140103-test-78.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-79.eml: NS_21thread_resource_errorEEEEE
    20140103-test-80.eml: –}%HШЊ
    20140103-test-81.eml: r.cc
    20140103-test-82.eml: 13sql_exception
    20140103-test-83.eml: r.cc
    20140103-test-84.eml:
    20140103-test-85.eml: –}%HШЊ
    20140103-test-86.eml: –}%HШЊ
    20140103-test-87.eml: чЕЎо€€йяо€€
    20140103-test-88.eml: 13sql_exception
    20140103-test-89.eml: r.cc
    20140103-test-90.eml: 13sql_exception
    20140103-test-91.eml: essage, stid=%s
    20140103-test-92.eml: 13sql_exception
    20140103-test-93.eml: NS_21thread_resource_errorEEEEE
    20140103-test-94.eml: r.cc
    20140103-test-95.eml: чЕЎо€€йяо€€
    20140103-test-96.eml:
    20140103-test-97.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-98.eml: NS_21thread_resource_errorEEEEE
    20140103-test-99.eml: r.cc
    20140103-test-100.eml: 13sql_exception
    20140103-test-101.eml: essage, stid=%s
    20140103-test-102.eml: 13sql_exception
    20140103-test-103.eml: NS_21thread_resource_errorEEEEE
    20140103-test-104.eml: чЕЎо€€йяо€€
    20140103-test-105.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-106.eml:
    20140103-test-107.eml: NS_21thread_resource_errorEEEEE
    20140103-test-108.eml: r.cc
    20140103-test-109.eml: r.cc
    20140103-test-110.eml: 13sql_exception
    20140103-test-111.eml: чЕЎо€€йяо€€
    20140103-test-112.eml: –}%HШЊ
    20140103-test-113.eml: 13sql_exception
    20140103-test-114.eml: r.cc
    20140103-test-115.eml:
    20140103-test-116.eml: чЕЎо€€йяо€€
    20140103-test-117.eml: –}%HШЊ
    20140103-test-118.eml: –}%HШЊ
    20140103-test-119.eml: 13sql_exception
    20140103-test-120.eml: r.cc
    20140103-test-121.eml: 13sql_exception
    20140103-test-122.eml: r.cc
    20140103-test-123.eml: чЕЎо€€йяо€€
    20140103-test-124.eml:
    20140103-test-125.eml: –}%HШЊ
    20140103-test-126.eml: –}%HШЊ
    20140103-test-127.eml: 13sql_exception
    20140103-test-128.eml: essage, stid=%s
    20140103-test-129.eml: 13sql_exception
    20140103-test-130.eml: r.cc
    20140103-test-131.eml: NS_21thread_resource_errorEEEEE
    20140103-test-132.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-133.eml: чЕЎо€€йяо€€
    20140103-test-134.eml: 13sql_exception
    20140103-test-135.eml:
    20140103-test-136.eml: r.cc
    20140103-test-137.eml: NS_21thread_resource_errorEEEEE
    20140103-test-138.eml: чЕЎо€€йяо€€
    20140103-test-139.eml:
    20140103-test-140.eml: –}%HШЊ
    20140103-test-141.eml: –}%HШЊ
    20140103-test-142.eml: r.cc
    20140103-test-143.eml: 13sql_exception
    20140103-test-144.eml: essage, stid=%s
    20140103-test-145.eml: r.cc
    20140103-test-146.eml: 13sql_exception
    20140103-test-147.eml: 13sql_exception
    20140103-test-148.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-149.eml: NS_21thread_resource_errorEEEEE
    20140103-test-150.eml: 13sql_exception
    20140103-test-151.eml: r.cc
    20140103-test-152.eml: чЕЎо€€йяо€€
    20140103-test-153.eml:
    20140103-test-154.eml: NS_21thread_resource_errorEEEEE
    20140103-test-155.eml: r.cc
    20140103-test-156.eml: –}%HШЊ
    20140103-test-157.eml: r.cc
    20140103-test-158.eml: чЕЎо€€йяо€€
    20140103-test-159.eml:
    20140103-test-160.eml: –}%HШЊ
    20140103-test-161.eml: 13sql_exception
    20140103-test-162.eml: essage, stid=%s
    20140103-test-163.eml: 13sql_exception
    20140103-test-164.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-165.eml: 13sql_exception
    20140103-test-166.eml: 13sql_exception
    20140103-test-167.eml: NS_21thread_resource_errorEEEEE
    20140103-test-168.eml: r.cc
    20140103-test-169.eml: чЕЎо€€йяо€€
    20140103-test-170.eml: r.cc
    20140103-test-171.eml:
    20140103-test-172.eml: –}%HШЊ
    20140103-test-173.eml: NS_21thread_resource_errorEEEEE
    20140103-test-174.eml: r.cc
    20140103-test-175.eml: 13sql_exception
    20140103-test-176.eml:
    20140103-test-177.eml: –}%HШЊ
    20140103-test-178.eml: essage, stid=%s
    20140103-test-179.eml: чЕЎо€€йяо€€
    20140103-test-180.eml: чЕЎо€€йяо€€
    20140103-test-181.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-182.eml: r.cc
    20140103-test-183.eml: 13sql_exception
    20140103-test-184.eml: 13sql_exception
    20140103-test-185.eml: 13sql_exception
    20140103-test-186.eml: NS_21thread_resource_errorEEEEE
    20140103-test-187.eml: чЕЎо€€йяо€€
    20140103-test-188.eml: r.cc
    20140103-test-189.eml: –}%HШЊ
    20140103-test-190.eml:
    20140103-test-191.eml: r.cc
    20140103-test-192.eml: 13sql_exception
    20140103-test-193.eml: NS_21thread_resource_errorEEEEE
    20140103-test-194.eml:
    20140103-test-195.eml: –}%HШЊ
    20140103-test-196.eml: essage, stid=%s
    20140103-test-197.eml: чЕЎо€€йяо€€
    20140103-test-198.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-199.eml: 13sql_exception
    20140103-test-200.eml: 13sql_exception
    20140103-test-201.eml: 13sql_exception
    20140103-test-202.eml: чЕЎо€€йяо€€
    20140103-test-203.eml: NS_21thread_resource_errorEEEEE
    20140103-test-204.eml: r.cc
    20140103-test-205.eml: чЕЎо€€йяо€€
    20140103-test-206.eml: –}%HШЊ
    20140103-test-207.eml: 13sql_exception
    20140103-test-208.eml: r.cc
    20140103-test-209.eml:
    20140103-test-210.eml: NS_21thread_resource_errorEEEEE
    20140103-test-211.eml: r.cc
    20140103-test-212.eml:
    20140103-test-213.eml: –}%HШЊ
    20140103-test-214.eml: essage, stid=%s
    20140103-test-215.eml: чЕЎо€€йяо€€
    20140103-test-216.eml: 13sql_exception
    20140103-test-217.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-218.eml: чЕЎо€€йяо€€
    20140103-test-219.eml: 13sql_exception
    20140103-test-220.eml: r.cc
    20140103-test-221.eml: –}%HШЊ
    20140103-test-222.eml: r.cc
    20140103-test-223.eml: чЕЎо€€йяо€€
    20140103-test-224.eml: 13sql_exception
    20140103-test-225.eml: чЕЎо€€йяо€€
    20140103-test-226.eml: 13sql_exception
    20140103-test-227.eml: essage, stid=%s
    20140103-test-228.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-229.eml: чЕЎо€€йяо€€
    20140103-test-230.eml: 13sql_exception
    20140103-test-231.eml: чЕЎо€€йяо€€
    20140103-test-232.eml: 13sql_exception
    20140103-test-233.eml: r.cc
    20140103-test-234.eml: –}%HШЊ
    20140103-test-235.eml: essage, stid=%s
    20140103-test-236.eml: r.cc
    20140103-test-237.eml: чЕЎо€€йяо€€
    20140103-test-238.eml: 13sql_exception
    20140103-test-239.eml: чЕЎо€€йяо€€
    20140103-test-240.eml: –}%HШЊ
    20140103-test-241.eml: 13sql_exception
    20140103-test-242.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-243.eml: r.cc
    20140103-test-244.eml: –}%HШЊ
    20140103-test-245.eml: чЕЎо€€йяо€€
    20140103-test-246.eml: 13sql_exception
    20140103-test-247.eml: чЕЎо€€йяо€€
    20140103-test-248.eml: –}%HШЊ
    20140103-test-249.eml: 13sql_exception
    20140103-test-250.eml: essage, stid=%s
    20140103-test-251.eml: r.cc
    20140103-test-252.eml: чЕЎо€€йяо€€
    20140103-test-253.eml: –}%HШЊ
    20140103-test-254.eml: 13sql_exception
    20140103-test-255.eml: r.cc
    20140103-test-256.eml: –}%HШЊ
    20140103-test-257.eml: x-Spam
    20140103-test-258.eml: –}%HШЊ
    20140103-test-259.eml: r.cc
    20140103-test-260.eml: –}%HШЊ
    20140103-test-261.eml: HЙп膥ш€Ї)
    20140103-test-262.eml: 13sql_exception
    20140103-test-263.eml: x-Spam
    20140103-test-264.eml: –}%HШЊ
    20140103-test-265.eml: loc = std::allocator<char>]
    20140103-test-266.eml: r.cc
    20140103-test-267.eml: /libfeed/nosuchuser.tpl
    20140103-test-268.eml: essage, stid=%s
    20140103-test-269.eml: –}%HШЊ
    20140103-test-270.eml: x-Spam
    20140103-test-271.eml: NS_21thread_resource_errorEEEEE
    20140103-test-272.eml: –}%HШЊ
    20140103-test-273.eml: r.cc
    20140103-test-274.eml: HЙп膥ш€Ї)
    20140103-test-275.eml: /libfeed/nosuchuser.tpl
    20140103-test-276.eml: HЙ«иР…ш€LЙоHЙ«иЕ…ш€LЙцHЙ«иz…ш€HЛt$ HЙ«иm…ш€HЛt$hHЙ«и`…ш€HЛі$А
    20140103-test-277.eml: essage, stid=%s
    20140103-test-278.eml: –}%HШЊ
    20140103-test-279.eml: r.cc
    20140103-test-280.eml: x-Spam
    20140103-test-281.eml: –}%HШЊ
    20140103-test-282.eml: essage, stid=%s
    20140103-test-283.eml: HЙп膥ш€Ї)
    20140103-test-284.eml: –}%HШЊ
    20140103-test-285.eml: 13sql_exception
    20140103-test-286.eml: r.cc
    20140103-test-287.eml: x-Spam
    20140103-test-288.eml: –}%HШЊ
    20140103-test-289.eml: /libfeed/nosuchuser.tpl
    20140103-test-290.eml: essage, stid=%s
    20140103-test-291.eml: loc = std::allocator<char>]
    20140103-test-292.eml: r.cc
    20140103-test-293.eml: –}%HШЊ
    20140103-test-294.eml: x-Spam
    20140103-test-295.eml: –}%HШЊ
    20140103-test-296.eml: essage, stid=%s
    20140103-test-297.eml: HЙп膥ш€Ї)
    20140103-test-298.eml: r.cc
    20140103-test-299.eml: чЕЎо€€йяо€€
    20140103-test-300.eml: 13sql_exception
    20140103-test-301.eml: 13sql_exception
    20140103-test-302.eml: –}%HШЊ
    20140103-test-303.eml: x-Spam
    20140103-test-304.eml: –}%HШЊ
    20140103-test-305.eml: r.cc
    20140103-test-306.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-307.eml: /libfeed/nosuchuser.tpl
    20140103-test-308.eml: essage, stid=%s
    20140103-test-309.eml: чЕЎо€€йяо€€
    20140103-test-310.eml: r.cc
    20140103-test-311.eml: –}%HШЊ
    20140103-test-312.eml: x-Spam
    20140103-test-313.eml: –}%HШЊ
    20140103-test-314.eml: r.cc
    20140103-test-315.eml: 13sql_exception
    20140103-test-316.eml: essage, stid=%s
    20140103-test-317.eml: essage, stid=%s
    20140103-test-318.eml: 13sql_exception
    20140103-test-319.eml: чЕЎо€€йяо€€
    20140103-test-320.eml: –}%HШЊ
    20140103-test-321.eml:
    20140103-test-322.eml: –}%HШЊ
    20140103-test-323.eml: 13sql_exception
    20140103-test-324.eml: essage, stid=%s
    20140103-test-325.eml: 13sql_exception
    20140103-test-326.eml: –}%HШЊ
    20140103-test-327.eml: чЕЎо€€йяо€€
    20140103-test-328.eml: 13sql_exception
    20140103-test-330.eml: –}%HШЊ
    20140103-test-331.eml: essage, stid=%s
    20140103-test-332.eml:
    20140103-test-333.eml: 13sql_exception
    20140103-test-334.eml: –}%HШЊ
    20140103-test-335.eml: 13sql_exception
    20140103-test-336.eml: чЕЎо€€йяо€€
    20140103-test-337.eml: –}%HШЊ
    20140103-test-338.eml: essage, stid=%s
    20140103-test-339.eml:
    20140103-test-340.eml: 13sql_exception
    20140103-test-341.eml: –}%HШЊ
    20140103-test-342.eml: чЕЎо€€йяо€€
    20140103-test-343.eml: –}%HШЊ
    20140103-test-344.eml: essage, stid=%s
    20140103-test-345.eml: 13sql_exception
    20140103-test-346.eml: 13sql_exception
    20140103-test-347.eml:
    20140103-test-348.eml: –}%HШЊ
    20140103-test-349.eml:
    20140103-test-350.eml: чЕЎо€€йяо€€
    20140103-test-351.eml: essage, stid=%s
    20140103-test-352.eml: –}%HШЊ
    20140103-test-353.eml: 13sql_exception
    20140103-test-354.eml: 13sql_exception
    20140103-test-355.eml:
    20140103-test-356.eml:
    20140103-test-357.eml: –}%HШЊ
    20140103-test-358.eml: 13sql_exception
    20140103-test-359.eml: c_string<char, std::char_traits<char>, std::allocator<char> > >, Allocator = std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]
    20140103-test-360.eml: чЕЎо€€йяо€€
    20140103-test-361.eml:
    20140103-test-362.eml: –}%HШЊ
    20140103-test-363.eml: –}%HШЊ
    20140103-test-364.eml: r.cc
    20140103-test-365.eml: 13sql_exception
    20140103-test-366.eml: –}%HШЊ
    20140103-test-367.eml: –}%HШЊ
    20140103-test-368.eml: x-Spam
    20140103-test-369.eml: r.cc
    20140103-test-370.eml:
    20140103-test-371.eml: essage, stid=%s
    20140103-test-372.eml: essage, stid=%s
    20140103-test-373.eml: essage, stid=%s
    20140103-test-374.eml:
    20140103-test-375.eml: чЕЎо€€йяо€€
    20140103-test-376.eml: –}%HШЊ
    20140103-test-377.eml: 13sql_exception
    20140103-test-378.eml: HЙп膥ш€Ї)
    20140103-test-379.eml: /libfeed/nosuchuser.tpl
    20140103-test-380.eml: –}%HШЊ
    20140103-test-381.eml: 13sql_exception
    20140103-test-382.eml: –}%HШЊ
    20140103-test-383.eml: loc = std::allocator<char>]
    20140103-test-384.eml: –}%HШЊ
    20140103-test-385.eml:
    20140103-test-386.eml: x-Spam
    20140103-test-387.eml: чЕЎо€€йяо€€
    20140103-test-388.eml: 13sql_exception
    20140103-test-389.eml: /libfeed/nosuchuser.tpl
    20140103-test-390.eml: –}%HШЊ
    20140103-test-391.eml:
    20140103-test-392.eml:
    20140103-test-393.eml: чЕЎо€€йяо€€
    20140103-test-394.eml: –}%HШЊ
    20140103-test-395.eml: 13sql_exception
    20140103-test-396.eml: –}%HШЊ
    20140103-test-397.eml: /libfeed/nosuchuser.tpl
    20140103-test-398.eml:
    20140103-test-399.eml: –}%HШЊ
    20140103-test-400.eml: чЕЎо€€йяо€€
    20140103-test-401.eml: –}%HШЊ
    20140103-test-402.eml: 13sql_exception
    20140103-test-403.eml: x-Spam
    20140103-test-404.eml: /libfeed/nosuchuser.tpl
    20140103-test-405.eml:
    20140103-test-406.eml: –}%HШЊ



    Данные в заголовках доступны по прежнему, поэтому можно посмотреть их на любом почтовом ящике Яндекса.

    Ну а теперь то, ради чего я это пишу:
    Что это было, и как вообще могли попасть куски компилируемого кода в заголовки письма?
    Поделиться публикацией

    Комментарии 57

      +6
      Яндекс написан на C — видать кто то думает что там не компилятор а интерпретатор.
        +12
        Больше на плюсы похоже.
          +5
          Они и есть. В си нет шаблонов, например.

          Скажу непопулярную вещь: в понимании многих смешиваются целые группы си-подобных языков. Иногда смешивают C и C++, иногда C++ и C# (особенно, когда идет речь про Managed C++). Причем и среди it'шного народа в том числе. Например Java, JavaScript и J# так не мешают.
            +2
            Да ладно, сплошь и рядом словом Java обозначают javascript
              +5
              Всякие хрюши путают — это известный факт. Но не в кругах it'шников же)
                0
                Айтишники не все вебом занимаются. Всякие одинесконфигурасты и сисадмины бывает такое говорят. Но часть, наверное ломает говорить джааваааскриипт и они говорят «ява» просто для краткости ( так как js щас везде, а Джава только у избранных ;-)
                  0
                  Джава только у избранных

                  Да, ладно!? Java на всех SIM-картах в телефонах стандарта GSM.
                    0
                    Я имел ввиду распространение в мозгах, а не в дивайсах.
              0
              Managed C++ умер. Теперь называется C++/CLI
                0
                В общем, в Managed C++ нашелся фатальный недостаток и появился ещё один повод скрестить C++ с CLR под новым названием… Le Roi est mort, vive le Roi!
                  +1
                  А теперь ещё и C++/CX.
            +81
            А BEGIN RSA PRIVATE KEY… не попадалось? ;)
              +6
              BEZИОГИМ
                +1
                тогда с этого бы и начался заговоловк этого поста
                +49
                Куски кода — из отладочных символов в бинаре. А видим мы их, потому что где-то строка указывает не куда надо, а в рандомную память.
                  +3
                  Непонятно, правда, как бинарь собранный не в релизе с отладочными символами попал на прод
                    +17
                    Очень часто компилируют и с оптимизациями, и с отладочной информацией. Чтобы в лучае крэша получить трейс, или чтобы профилировать.

                    Ведь то что называется Release и Debug (в MSVC например), это не более чем пресеты флагов компилятора. Которые можно на самом деле комбинировать как вам нужно.
                      +7
                      #define _DEBUG _RELEASE
                      +50
                      — Ну не нажимал я Ctrl-F5, не нажимал! — канючил Иван сидя на краешке неудобного стула напротив менеджера проекта Яндекс.Почта.
                      — Еще раз повторяю вопрос: что ты делал после корпоратива 30-го января вечером?! — воскликнул Евгений Борисович.
                      Евгений Борисович Печкин был менеджером по развитию проекта Яндекс.Почта и формально отвечал за взаимоотношения с корпоративными клиентами. Точнее был последним рубежом обороны между клиентами и периодически прорывающимися во «внешний мир» демонами-багами и всякой нечистью вроде волшебных существ мемориликов.
                      — Не помню! — шмыгнул носом Иван.
                      — Катя видела тебя с Сашей в серверной за сборочной станцией! И видеокамера вас зафиксировала! Вот — полюбуйся! — грохотал Евгений Борисович.
                      На беззвучном видео были явственно видны со спины два нетрезвых парня, что-то азартно нажимающих на клавиатуре, установленной в огромной стойке-шкафу в которой располагалась сборочная конфигурация, собирающая ночные билды Яндекс.Почты. Парни спорили и что-то друг другу доказывали, яростно жестикулируя и периодически оттесняя друг друга от клавиатуры. Невооруженным взглядом был виден нездоровый полет мысли двух нетрезвых людей, в очередной раз пытавшихся доказать друг другу что запятую нужно ставить в другом месте. Иван сник, судорожно вспоминаю события вечера 30-го… Его мысли были прерваны грубым окликом Жени:
                      — Прояснилось? Или нет? Ну погоди, сейчас я вас очную ставку устрою!
                      Нажав кнопку на переговорном, он сказал:
                      — Катя, позовите этого… второго партизана!
                      Спустя секунду в дверь вошел осунувшийся Саша. На секунду остановившись взглядом на съежившемся Иване, он поспешил его отвести. Потупившись он присел на краешек другого стула.
                      — Ну гуси-лебеди, расскажите мне, что вы делали в серверной тем вечером? Почему у кучи клиентов в заголовках всплыли куски STL-кода? Почему вы мать вашу, не пошли мирно спать домой после этого корпоратива?!
                      Парни быстро переглянулись и решились.
                      — Мы на корпоративе выпили — ну как и все, — начал Саша.
                      — Потом вспомнили ту задачу по оптимизации из-за которой нас чуть премии новогодней не лишили, — продолжил он.
                      — Ну Ванька и предложил опробовать идею с STL-контейнерами для быстрой сортировки заголовков.
                      — Ну да, как я тогда предлагал, а вы меня завернули, — с горячностью встрял Иван.
                      — И правильно завернул! — припечатал Евгений Боросович.
                      — Ну так я обдумал все ваши замечания и прогнал код у себя на компьютере — выходило действительно на 40% быстрее!, — не унимался Иван.
                      — И вы, две пьяные морды, решили проверить твой код на сборочной машине?!
                      — А что нам было делать? Уборщица уже заперла наш бокс, а ключи бы нам ни за что не дали!
                      — И вы решили пойти в серверную, опробовать, так сказать, «на горячую»?!
                      — Ну да! А что нам оставалось? Уйти и до 9-го января мучатся, думая, работает это или нет?!!!
                      На лице Евгения Борисовича появилась плохо скрываемая улыбка. Он поспешил отвернутся и забарабанил пальцами по столу… Ребята успели заметить улыбку и воспрянули духом, толкнув незаметно друг друга по колену под столом.
                      — Ну что мне с вами теперь делать?! — воскликнул он спустя некоторое время.
                      — С одной стороны вы вроде за дело боролись. А с другой стороны грубо нарушили протокол и ковырялись прямо в исходниках на интеграционном сервере…
                      Евгений Борисович крепко задумался. В душе он был на стороне ребят. Сколько раз по молодости бывало засиживался в офисе, кодируя всякие штуки…
                      — Ну вот что. Наказывать я вас не стану. Начальству скажем что это была неудачная «пасхалка» от программистов которая обычным пользователям не видна, а посему — безобидна. Кате подарите… не знаю придумайте что-нибудь, конфеты, цветы там. В общем сами с ней договаривайтесь чтобы не сдала вас в случае бури!
                      Ребята радостно переглянулись и закивали.
                      — Ну все — а теперь домой! Новый год встречать!
                      — Спасибо вам огромное, Евгений… — начал было Саша.
                      — Все! Вон из офиса, пока не передумал! — с напускной грубостью оборвал его Евгений Борисович, пряча в бороде улыбку.
                      — Нас уже нет! Вас тоже с наступающим Новым годом, ЕвгБорисыч! — дверь в кабинет хлопнула, проглотив убегающие слова.
                      А Евгений Борисович долго еще сидел в своем удобном кресле, поглаживая бороду и вспоминая с улыбкой те времена, когда он сам, как эти двое, был программистом и любил вкрутить в код что-нибудь этакое. Так, веселья ради…
                      +4
                      Только скорее всего это не отладочные символы, а идентификаторы RTTI, кое-где обычные литералы.
                        0
                        А вы не знаете как эти идентификаторы RTTI в памяти живут? Не похоже что
                        std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char,
                        

                        имеет в памяти на конце '/0'… похоже то, что пишет их в заголовки не воспринимает это как строки C.
                          0
                          Упс, понял свою ошибку. Прошу прощения, что побеспокоил.
                        +2
                        А загрузчик отладочные символы разве в память грузит? Что в файле они есть это может быть, но где их место в памяти? Я не для спорить, мне интересно.
                          0
                          Должен признаться, я даже и не знаю, где в ELF лежат отладочные символы :-) При дальнейших рассуждениях, я склонен согласиться с комментарием выше — про RTTI.
                          0
                          Это не отладочные символы. Больше похоже больше на таблицу экспорта и случайный мусор из памяти.
                          +31
                          Кто-то отметил Новый Год в офисе?
                            +11
                            У человека тоже есть куски неактивированных ДНК. Ученые пытаются узнать, за что они отвечают. Может быть жители Яндекса когда-нибудь их активируют в своих заголовках писем.
                              +12
                              может это просто интересный способ хантинга?
                                +17
                                Спрашивается, за что человека заминусовали? :) JavaScript-разработчиков Яндекс так и набирает, хоть и не столь хитро — откройте консоль браузера в их почте.
                                  0
                                  Мозилла тоже так делает.
                                    +2
                                    И не только хантят…
                                    $ telnet mx.yandex.ru 25
                                    Trying 93.158.134.89...
                                    Connected to mx.yandex.ru.
                                    Escape character is '^]'.
                                    220 mxfront5m.mail.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
                                  +7
                                  Скорее всего просто printf c %s у которого аргументов меньше, чем нужно.
                                    +7
                                    Любопытно, что как вы говорите, это началось ровно в полночь. Либо в полночь была включена новая версия софта с ошибкой (что мне кажется маловероятно: никто бы на новый год релиз не запланировал бы) либо в самом коде генерации заголовков проблема, которая проявляется только в новом году. Этакая «Проблема 2014». И поэтому она проскочила тестирование.
                                      +14
                                      Более вероятно то, что проблема крылась в какой-нибудь функции, форматирующей дату (конкретно — месяц в дате, ещё более конкретно — январь в дате). Куски кода же вываливались именно в том месте, где должно быть «Jan». Если это так, то неудивительно, что проявляться баг начал именно в полночь.
                                        +6
                                        Действительно, это может быть не «проблема 2014» а «проблема Jan». Тогда это выглядит как off-by-one ошибка (проинициализировали массив месяцев начиная не 0 а с 1 например).
                                        Любопытно, что похожая ошибка уже встречалась у Гугла: В календаре Android 4.2 отсутствует декабрь
                                      –70
                                      Gmail пока никто не отменял. Яндекс давно пора закрыть к чертям собачьим.
                                        +26
                                        Откуда столько ненависти?
                                          –21
                                          Яндекс защитник, удаление данных с диска, Яндекс БАР?
                                          Этого мало?
                                            +9
                                            Ну а Я.Почта чем обидела?
                                            Мне Яндекс.Диск дал 200 гигов, но ничего не удалял, хех.
                                            А в плане Я.Бара и Я.Защитника:
                                            bar.yandex.ru
                                            Яндекс.Бар закрыт.
                                            Ну а про защитник вообще нигде не написано на ресурсах Яндекса…
                                              +2
                                              Я этот вопрос представителям Яндекса уже задавал, но они меня проигнорировали.

                                              А конкретно идём сюда: help.yandex.ru/element/chrome/setup.xml и читаем:
                                              После установки Элементов Яндекса в браузер будут добавлены следующие расширения: Яндекс.Бар и Я.Переводчик на основной панели браузера;

                                              Аналогично и в Опере.

                                              Так что было закрыто?
                                              +16
                                              Закрытие Google Reader, реклама в роликах Youtube, платная корпоративная почта (даже для мелких контор), те, кто работал с Adsense тоже могут много чего лестного рассказать.
                                              В целом, я думаю у любой крупной компании найдутся те, кого что-то (или многое) не устраивает. И это правильно, конкуренция повышает эффективность самих компаний.
                                              А вы хотите, чтобы Google просто сгнил изнутри без внешних мотивирующих факторов?)
                                                –7
                                                Не припомню, чтоб Google диск удалял данные с HDD пользователей.
                                                  0
                                                  При тестировании нечаянно потерли исходники((
                                            +23
                                            Email на собственном хостинге никто не отменял. Google давно пора…
                                              +21
                                              Почту России никто не отменял. Интернет давно пора…
                                                +32
                                                Никто не отменял. Давно пора…
                                                  +1
                                                  Вершитель, время!
                                              –2
                                              Нельзя просто так взять и закрыть Яндекс.
                                              +2
                                              Может на сервере просто память попортилась. Говорят такое редко, но бывает.
                                                –2
                                                ECC такое вряд ли допустит.
                                                0
                                                Первого января на яндексе Jabber совсем сломался (так и не починили). Совпадение?
                                                  0
                                                  А что именно сломалось? У нас корпоративный чат работает через xmpp.ya.ru, сейчас зашел по удаленке, вроде все работает
                                                    0
                                                    Вот «доменный» джаббер работает, а @ya.ru — нет.
                                                  +1
                                                  А пробовали список по бэкэндам сортировать? Скорее всего просто порченый указатель. А разные строчки из-за того, что письма обрабатываются разными процессами, физически расположенными в разных областях памяти.
                                                    0
                                                    А выключить/включить пробовали? )
                                                      +2
                                                      Сервер?
                                                      • НЛО прилетело и опубликовало эту надпись здесь

                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                    Самое читаемое