1. C++ / Говнокод #4507

    +190

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    ////// вот такое мы нашли после 3 месяцев отладки //////
    
    long WINAPI ThreadFunc(long lParam);
    {
    	//Kill yourself!
    	//good debug, Bitches! >=]
    	while(1) free(rand());
    	return 0;
    }
    
    ///// и где-то в дебрях кода еще вот такое ////
    
    CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadFunc,NULL,0,&dwID[0]);

    В общем как то так =(

    Запостил: vii, 01 Ноября 2010

    Комментарии (30) RSS

    • while(1) хавало бы весь CPU и тред был бы обнаружен чуть ранее чем сразу?

      Что вы делали три месяца?
      Ответить
      • "и где-то в дебрях кода"
        Иначе бы не "хавало весь CPU", а сразу падало
        Ответить
        • А если переданный в free адрес не был ранее выделен через malloc/calloc/realloc, то ничего не происходит или происходит ошибка?
          Ответить
      • Пиво они пили видимо все это время. В системе надо знать сколько тредов должно быть.
        Ответить
      • В основном мы честно искали где освобождаются элементы одного большого связного списка... Оказалось что везде с ними все всегда нормально. Поток - один из пачки рабочих потоков короткоживущего компрессора изображений. По загрузке CPU на фоне еще 16 не особо заметно. Вообще, в остальном компрессор работает идеально и отношения к проблемному списку никакого не имеет.
        Ответить
        • бесконечный цикл без пауз и ожиданий чего-либо не особо заметен ? да что вы говорите
          Ответить
          • рядом с 16 другими циклами - не заметно абсолютно.
            Ответить
            • ну, если они такие как этот - то не удивительно :)
              Ответить
            • while(1) malloc( rand() );

              остальные треды такие?
              Ответить
          • может быть у них такой гениальный шедулер у операционки, что сразу загнал приоритет жадного треда ниже плинтуса?
            Ответить
    • даже инквизиция не позволяла себе такие муки)) но в самом деле, чем вы 3 месяца занимались? Оо
      Ответить
    • > while(1) free(rand());
      fucking MASTERPIECE garbage collector i ever seen!!!
      Ответить
      • можно ещё более полный:
        typedef unsigned long long ull;
        for( ull i = 0; i<std::numeric_limits<ull>::max(); ++i )
        {
            free( (void*)i );
        }
        Ответить
        • Ты жестокий.
          Ответить
        • Собирает ВЕСЬ мусор.
          А что не мусор, то делает мусором и собирает.
          Ответить
          • Собранное сборщиком мусора по определению является мусором. Уловка 22 отдыхает. Слава роботам!
            Ответить
            • Это если постулировать непогрешимость сборщика мусора.
              Гм, или попробовать апофатией?
              Приятно, что Уловку 22 помнят:) (Сдается мне, что лурк надо благодарить)
              Ответить
              • (Не обязательно /lm/. Полно и без него в сети источников того, что стоит почитать.)
                Ответить
              • в моем случае Геллер стоял на полке еще когда луркоморья в планах не было :)
                Ответить
                • Да что это я, чувствуется-чувствуется, коллега!
                  Ответить
                  • в стране в всеобщей воинской повинностью - обязательное чтение, кстати =)
                    Ответить
    • Нормальный компилятор, кстати, не компилит это:
      error: invalid conversion from 'int' to 'void*'
      Ответить
      • а менее нормальный пишет :
        Warning! W113: Pointer type mismatch
        Ответить
        • А еще менее нормальный программист отключит предупреждения.
          Ответить
        • Вы случайно не этот компилятор используете?
          http://govnokod.ru/4502#comment50696
          Ответить
          • мы все его неявно используем, когда тут комментарии добавляем
            Ответить
      • а на
        <(long lParam);
        <{
        не ругается?
        Ответить
    • svn blame и паяльник в руки.
      Ответить

    Добавить комментарий