LINUX.ORG.RU

Сообщения unDEFER

 

Segmentation fault при компиляции с оптимизацией

Здравствуйте!

У меня сложилась довольно забавная ситуация:

Программа выдаёт segmentation fault если её скомпилить с флагами оптимизации,
а при -O0 всё нормально.

Долгое отслеживание вставкой printf'ов показало, что падение происходит при
выходе из функции (т.е. printf перед return'ом проходит, а сразу после вызова этой
функции -- нет).

valgrind показывает (при -O0, иначе не доходит) несколько "Conditional jump
or move depends on uninitialised value(s)", но уже ПОСЛЕ этого фрагмента.
Кстати особенно в одном месте я абсолютно уверен, что переменная всё же
инициализируется, потому что код выглядит так:

    int res=0;

    dizcrossflags_t crossed_flags;
    dizcrossflags_t av_crossed_flags;
    do
    {
      ....
    }
    while (queue);
    if (res) res=DIZ_EVENTHANDLER_ERROR;

valgrind утвеждает что в последней строке этого фрагмента имеет место
использование неинициализированной переменной. Но res очевидно всё же
инициализирован выше, а DIZ_EVENTHANDLER_ERROR, это макрос -- число.

Вообще valgrind также показывает ну, очень много "Conditional jump or move
depends on uninitialised value(s)" в модуле /usr/lib/libGLcore.so.1.0.7174, т.е.
драйверах OpenGL от NVidia. Как бы его заставить игнорировать их..

Так вот, неужели я смог-таки написать правильный код, который
не компилится gcc правильно с оптимизацией?
unDEFER
()

Нашёл! Проприетарная но полноценная OCR для Unix.

http://www.vividata.com/be_xtr_overview.html

Доступна как консольная версия, так и GUI, а также API.
Доступна 30-дневная триальная версия.
языки:

-language may equal one of:
Languages with dictionaries:
czech, danish, dutch, english, finnish, french, german,
greek, hungar (for Hungarian), italian, norsk, polish,
port (for Portuguese), russian, spanish, swedish, turkish
Languages without dictionaries:
romanian, estonian, afrikaans, albanian, aymara, basque, breton,
bulgarian, byelorussian, croatian, faroese, flemish, friulian,
gaelic, galician, greenlandic, hawaiian, icelandic, indonesian,
kurdishlat, latin, latvian, lithuanian, sorbianl, macedonianc,
malaysian, piginenglish, serbian, ukranian, catalan, sbcroatian,
slovak, slovenian, swahili, tahitian, sorbianu, welsh, frisianw,
zulu

Проверил -- русский распознаёт на ура.

Кто ещё скажет что нет OCR для Linux???
unDEFER
()

Размер ящика GMail: на глазах растёт!

Зашёл только что на gmail.com и чуть не офигел:
размер ящика там на глазах растёт!

Клёвая фишка! :-D
unDEFER
()

mplayer: не проигрывает последний кадр

Здравствуйте!
Есть с mplayer/mencoder одна проблема -- он не проигрывает последний кадр, т.е. проигрывает, но всегда мгновение, а надо чтобы, например, написав:
$ mplayer -fps 0.1 "mf://picture.png"

картинка показывалась в течении 10 секунд.

Надо бы узнать:
1. Сохранился ли баг в последней версии. (у меня MPlayer 1.0pre5-3.3.3)
2. Баг ли это? Может быть всё же есть опция которая его исправляет?

Если ответы на оба вопросы "да", то надо бы написать bug-report.
Жду ответов от вас.
Спасибо за внимание.
unDEFER
()

Загадка :)

Придумал загадку. Интересно кто-нибудь угадает:
"Слева белый свет, справа -- красный. Что это?"
unDEFER
()

Mini-Knoppix?

Здравствуйте!

В Knoppix, есть возможность загрузить образ диска в оперативную память и далее работать без обращений к CD. Но эта прелесть только для счастливых обладателей >= 1Гб оперативки.

Однако, товарища интересует такая возможность т.к. у него только один CD-привод (пишущий) и оперативки <1Гб, но ему хочется иметь возможность писать диски при загрузке с Live-CD.

Какой бы вы могли предложить небольшой (до 128 Мб?) LiveCD желательно с K3B и XMMS ( чтобы слушать музыку во время записи :-) ) с возможностью загрузить весь образ в оперативку?

Спасибо за внимание.
unDEFER
()

Бессмысленные наборы букв в спам-письмах: какой в них смысл?

Здравствуйте!
В спам-письмах часто можно видеть либо бессмысленные наборы букв в конце тела письма (типа "пнхд 35 вщж 9267 сскр 6180") либо мелкие цифры, буквы между словами написанные "белым по белому".
А какой в этом смысл? Неужели помогает обходить фильтры?
unDEFER
()

15 млн. детей сегодня посадили, более млн. — впервый раз...

15 млн. детей сегодня посадили, более млн. -- впервый раз...
За что? За парты!

А вообще я тут услышал (РТР, <<Подробности>>), что уже несколько лет подряд у нас в ВУЗы поступает людей больше, чем окончивает школу. Откуда же они берутся?
unDEFER
()

Уравнение с вещественными степенями

Здравствуйте!

Может быть здесь есть специалисты?

Нужно решить уравнение:

 K1      K2      K3 
X   + B X   + C X   = D, где 

4 > K1 >= K2 >= K3 > 2 -- _вещественные_ коэффициенты. 
B, C, D -- положительные числа.

Интересует только действительный корень. 

Спасибо за внимание!
unDEFER
()

Карандаш: сквозь землю провалился!

Здравствуйте, вот игрался-баловался тут с карандашом (ну, пока ждал очередного результата выполения программы -- всё равно заняться ничем особенным не успеешь) -- подбрасывал-ловил и тут после очередного неудачного броска, он упал и... пропал -- всё, нету его!
Обыскал всё что мог, но его нету -- и укатиться далеко не мог он -- карандаш всё же, а не шарик какой.

Надо сказать, что это уже второй в моей жизни предмет, который проваливается сквозь землю, когда я "балуюсь" (первым была небольшая расчёска).
Также надо сказать, что играю я так с различными предметами (ручки, карандаши, стёрки, линейки, монеты, точилка наконец) я довольно часто, также они довольно часто падают, а вот так чтобы не найтись после этого -- нет.

Я вот, и думаю, то ли этот карандаш в самом деле в паралельный мир укатился, или резко переместился в пространственно-временном континуме, или наконец, он в буквальном смысле провалился сквозь землю и мне стоит спросить у соседей снизу не падал ли к ним карандаш? :-)

Было ли у кого-нибудь ещё, что-нибудь подобное?
unDEFER
()

Позиция операций ввода/вывода в файловом дескрипторе открытом процессом

Приветсвую!
Узнать все открытые файловые дескрипторы процессом легко: /proc/<ID>/fd
А можно ли (и как) узнать позицию операций ввода/вывода в этих файловых дескрипторах?
unDEFER
()

Наиболее обсуждаемая тема ...

Наиболее обсуждаемая тема ...
но не месяца, а вообще:
"Станет ли l.o.r лучше, если..."
http://www.linux.org.ru/view-vote.jsp?vote=19&back=

Думаете это нормально?
unDEFER
()

dlsym и переменные

Здравствуйте!
Пишут, что dlsym позволяет получать указатели не только на функции, но и на переменные.
Может - проверил, но для чего - всё равно их не вывести не изменить таким образом не выходит???
unDEFER
()

OpenGL: проблемы со сглаживанием

Здравствуйте!

Вот, пример простейшего SDL-приложения (вернее тут только фрагмент - функция
инициализации OpenGL и прорисовки экрана), который выводит изображение на
экран влевом нижнем углу в масштабе 1:1.

Сглаживание работает, но при этом откуда-то появляется диагональная линия (такая
же как при методе задания граней GL_TRIANGLE_FAN - но там она ещё
естественна) от левого нижнего угла текстуры, до правого верхнего. Откуда она
берётся (точно не из рисунка - проверил неоднократно "пипеткой" в Gimp)??

И ещё поразила скорость вывода при попытки вывести изображение размером
1024x768 - ужасно долго (секунд 10, наверное проходит до появления картинки)!
При отключении сглаживания - мгновенно. Оно что там не аппаратно что ли
производиться?

static void draw_screen( void )
{
    glClear(GL_COLOR_BUFFER_BIT);
    glLoadIdentity();

    glTranslatef(-1024.0f/2, -768.0f/2, -768.0f/2);

    glBegin(GL_QUADS);

    glBindTexture( GL_TEXTURE_2D, texture );
    glTexCoord2f( 0.0f,  texh);
    glVertex2f( 0.0f, 0.0f);

    glTexCoord2f( texw,  texh);
    glVertex2f( texpw, 0.0f);

    glTexCoord2f( texw,  0.0f);
    glVertex2f( texpw, texph);

    glTexCoord2f( 0.0f,  0.0f);
    glVertex2f( 0.0f, texph);

    glEnd();

    SDL_GL_SwapBuffers();
}

static void setup_opengl( int width, int height )
{
    glViewport(0,0,width, height);
    //Todo: load textures
    if (!LoadGLTextures()) {
        printf ("Failure to load textures");
        exit(1);
    }

    glEnable(GL_TEXTURE_2D); //enable texture mapping
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f); //Black Background
    glDisable(GL_DEPTH_TEST); //disables depth testing
    glDisable(GL_ALPHA_TEST);

    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glEnable(GL_BLEND);

    glEnable(GL_POLYGON_SMOOTH);
    glHint(GL_POLYGON_SMOOTH_HINT,GL_NICEST);

    glShadeModel(GL_SMOOTH); //enables smooth color shading

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity(); //Reste projection matrix

    gluPerspective(90.0f, (GLfloat)width/(GLfloat)height, 1.0f, 1024.0f);
    //calculate aspect ratio of the window
    glMatrixMode(GL_MODELVIEW);
}
unDEFER
()

LaTeX: пакет listings и \ в строках

Приветствую!
Использую пакет listings для листинга программы.
Имею следующую проблему, если есть строка вроде:

"\\" /* Что угодно */

, то он считает, что второй backslash экранирует кавычку и после неё всё ещё продолжается строка, (о чём свидетельствует особое выделение пробелов как в строках в последующих комментариях) хотя на самом деле первый backslash экранирует второй и второй уже ни на что не влияет.

Где бы что поправить по этому поводу?
unDEFER
()

Про Игровые Движки

Приветствую!
Вот, любопытно каждый раз как выходит какая-либо игрушка кто-нибудь да скажет, что движок в игре не ценное - движков хороших море, а без высококачественной графики игра совсем ничего не стоит.
Тем не менее вопрос: где же можно найти хороший игровой движок (2D)?
unDEFER
()

Автокоррекция громкости

Приветсвую!
А некоторых музыкальных проигрывателях (в DeliPlayer под windows точно было) есть опция автоматической корректировки громкости, чтобы она неслишком разнилась между композициями.
Не представляю как оно может работать, но работает, однако.
Как с этим в Linux? В каких проигрывателях есть подобная возможность? Или может быть более глобальное решение?
P.S. Видел в K3B флажок при записи аудио-дисков "нормализовать уровень громкости", вроде это то, но флажок "засерен", ну а K3B не музыкальный проигрыватель
unDEFER
()

Dia: блоки ввода/вывода

Приветствую!
Dia замечательный, конечно, инстумент, но есть проблема которая сразу бросается в глаза и всё портит:
Если поставить два блока ввода/вывода друг под друг другом и попытаться соединить их, то окажется что, либо сами блоки придётся ставить с некоторым наклоном друг над другом, либо соединительную линию оставлять с наклоном, а не вертикальной, т.к. привязка идёт не к середине прямоугольника, в котором находиться блок, а к середине стороны параллелограмма. Это не устраивает.
Кто как с этим живёт? Dia 0.94
unDEFER
()

Попытка прожига Tux'а на CD-RW

Так после долгих мучений начиная отсюда:
http://www.linux.org.ru/jump-message.jsp?msgid=860433
У меня таки дошло дело до прожига самого Tux'а.
Прожёг значит я образ и.. Нечто видно :-)
Но изображение слишком растянуто, так сказать "по касательной"
Вообще, 5-ти милиметровая радиальная линия выглядит как растянутая 20-ти милиметровая..
Что там ещё может быть ещё за шифрование кроме 8 к 14-ти..
Вроде Cross-Interleaved Reed Solomon Coding (CIRC) ещё есть, но на влияние CIRC это явно не похоже, т.к. CIRC по идее всего лишь преобразовывает 24 байта в 32, а 32 байта всё равно визуально никак ощущаться не будет..
unDEFER
()

Возможно ли выжигать рисунки на CD

Приветсвую всех!
Вот, меня вопрос заинтересовал - возможно ли выжигать рисунки на CD, чтоб их было
видно визуально на поверхности диска. Т.е. должны ли отличаться нули и единицы
записанные на CD визуально?
Сам я попытался для определения этого написать нехитрую программку, которая
вроде как определяет "полосатый" образ:

#include <stdio.h>
#include <stdlib.h>

#define MB *1024*1024
main()
{
    for (long long i=0; i<100 MB; i++)
        printf ("%c",'\0');
    for (long long i=0; i<100 MB; i++)
        printf ("%c",255);
    for (long long i=0; i<100 MB; i++)
        printf ("%c",'\0');
    for (long long i=0; i<100 MB; i++)
        printf ("%c",255);
    for (long long i=0; i<100 MB; i++)
        printf ("%c",'\0');
    for (long long i=0; i<100 MB; i++)
        printf ("%c",255);
    for (long long i=0; i<100 MB; i++)
        printf ("%c",'\0');
}

К сожалению запись файла созданного такой программой на CD-RW (уже до этого
многократно раз перезаписанного) ничего увидеть не позволила :-(
CD-R портить не охота, совсем чистого CD-RW у меня к сожалению нет - поэтому
ещё проверить как-то нет у меня возможности..

В общем хотелось бы узнать возможно ли всё же это..
unDEFER
()