LINUX.ORG.RU

Сообщения StirliZ

 

printf по памяти

Добрый день! Интересная проблема нарисовалась.

Есть большой и сложный проект, практически SCADA система. Вдруг (как обычно) обнаружилась ошибка - при разыменовании указателя (глобальная переменная) получаем ошибку сегментации. Ну вроде понятно, перетирается указатель. Однако перетирается интересным образом - функцией printf(). То есть в нескольких потоках (printf потокобезопасна) есть вызовы printf(«бла бла бла»), и в какой-то момент это самое «бла бла бла» начинает выводится прямо по глобальным переменным, т. е. если было глобально определено

char a=1,b=2,c=3; 
то получится a='б', b='л', c='а', и т. д. В какой-то момент времени таким образом портится и указатель.

Посмотрел в файле stdio.h, там stdout определен как &__iob[1], где __iob[] - массив FILE. При этом указатель на позицию в буффере в структуре stdout как раз приходится на адреса глобальных переменных, причем сам буффер (base addr) расположен дальше в памяти, количество свободных элементов в буффере порядка 15тыс.

В общем-то вопрос и заключается в следующем - как может изменится (перетереться?) адрес в указателе позиции буффера в stdout? Переменные, располагающиеся в памяти вокруг stdout в полном порядке. И как можно отследить эту ситуацию? Запустить под отладчиком - проблема.

ОС - solaris 2.5.1 на SPARCstation-10

StirliZ
()

День 0xFF

Всех программистов с профессиональным праздником. Безглюючного кода и моря пива.

>>>

StirliZ
()

Поздравим турков?

Спаслись, как в кино, в последний момент

>>>

StirliZ
()

Портирование из ДОС в Линукс

Здравствуйте! Мне надо портировать драйвер из-под доса в линукс. Там есть код, типа:

REGS regs;
regs.w.ax=AX;
regs.w.cx=CX;
regs.w.dx=DX;
int386( 0x1A, &regs, &regs );

Потом из регистров считывается нужная инфа. И как сделать нечто похожее под линукс?
Спасибо

StirliZ
()

МСВС и видеокарта

Здравствуйте! Такая проблема: есть МСВС 3.0 (ядро 2.4.32, хорг 6.8.2) и комп с интегрированной видеокартой (i845G) - не хочет работать DRI. Модули agpgart и i810 загружены (в таком порядке), драйвер в конфиге выбран i810. В катологе /dev/dri/ появляется устройство card0. В логе пишет:


drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenByBusid: drmOpenMinor returns 9
drmOpenByBusid: drmGetBusid reports
drmOpenDevice: node name is /dev/dri/card1
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenByBusid: drmOpenMinor returns -1023
[....]
drmOpenDevice: node name is /dev/dri/card14
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
(II) I810(0): [drm] drmOpen failed
(EE) I810(0): [dri] DRIScreenInit failed. Disabling DRI.
(весь лог: http://stirlizzz.narod.ru/Xorg.0.log.html)


Сменить (пересобрать) ядро или Хорг нет возможности, да и раньше работало. Облазил пол инета, ничего путного не нашел. Пробовал xorgconfig, xorgcfg, пересобрать Mesa (не выходит из-за отсутствия конфига ядра). Куда еще копать? Спасибо

StirliZ
()

Assertion failed

Доброго времени суток При использовании любого OpenGL приложения в Kubuntu (последнее обновление) на ноуте с 915 чипсетом и интегрированной видюхой возникает следующая ошибка:

intel_ioctl.c:62: intelEmitIrqLocked: Assertion `((*(int *)intel->driHwLock) & ~0x40000000U) == (0x80000000U|intel->hHWContext)' failed. Aborted

Никто не знает как починить? а то уже пол инета облазил, но так ничего путного не нашел =(( Заранее спасибо

StirliZ
()

Доп. кнопки на клаве

Доброго времени суток! У меня такой вопрос: почему для некоторых кнопок на клаве showkeys -s не показывает сканкоды, а showkeys -k кейкоды показывает. Эти же кнопки не видны в иксах (xev). Собственно, почему есть кейкод, но нет сканкода? Разве не из сканкода ядром формируется кейкод?

StirliZ
()

Порядок загрузки модулей ядра

Люди, подскажите, где настраивается сабж. А то посте загрузки приходится выдирать модули тюнера ( tda9887 tuner saa7134 ) и вставлять их в нужном порядке вручную - чувствую, что это не правильное решение.

StirliZ
()

Рутовый файл с SUID исполняется с правами пользователя

В общем такая ситуация:
есть файл с флагом SUID, владелец - root
запускаю под юзером, а выполняется он без прав суперпользователя

Из-за чего такое может быть?
StirliZ
()

Штифты в вайне

В вайне (0.9.1) вместо русских букв - квадраты. Из-за чего такое может быть, в какую сторону копать? ЗЫ во всех остальных приложениях все вроде нормально ЗЗЫ гугл не помог

StirliZ
()

Пропадает точка монтирования

Для обзора виндовой сети использую fusesmb. Монтирую коммандой

fusesmb /mnt/Lan -o nonempty

При этом под рутом все впорядке, но под пользователем - точка монтирования просто пропадает. Кто сталкивался с этим?

StirliZ
()

Не заводится радеон

Не включается direct rendering. Все делал по статье из FAQ. В логах ничего ( даже пишется: direct rendering enabled, но уже в иксах glxinfo дает противоположный результат ). Дрова открытые, карточка 9200, ядро 2.6.15. Что я делаю не так?

Логи: http://stirlizzz.narod.ru/Xorg.log http://stirlizzz.narod.ru/xorg.conf

StirliZ
()

xev не видит кнопки мыши

Как исправить?

StirliZ
()

Многокнопочная мышь - проблема

Не могу настроить многокнопочную мышь. Подскажите плз какую-нить доку. 
Мышь A4Tech RP 680 - 1 скрол и 5 доп. кнопок. xev видит только стандартные кнопки
- левую, правую, среднюю, скрол вверх и вниз. В гугле ничего не нашел - все сразу про
настройку imwheel(не помог и здешний FAQ). Почитал маны xorg.conf на предмет 
Option "ZAxisMapping" и xmodmap - все равно не ясно, чего как прописать, чтобы виделись все кнопки.

/etc/X11/Xmodmap
pointer = 1 2 3 4 5 6 7 8 9 10

/etc/X11/xorg.conf, секция для мышки
Section "InputDevice"
    Identifier	"Mouse"
    Driver	"mouse"
    Option	"Protocol"	"ExplorerPS/2"
    Option	"Buttons"	"10"
    Option	"InputFashion"	"Mouse"
    Option	"ButtonNumber"	"10"
    Option	"Device"	"/dev/mouse"
    Option	"ZAxisMapping"	"4 5"  #"4 5 8 9 6 7 10"
    Option	"ChordMiddle" 
EndSection
StirliZ
()

Пропал звук, хотя необходимые модули подгружены

После перехода с дистрибутивного ядра 2.4.26 на 2.6.15 ( и другие 2.6 ) пропал звук. 
Причем никаких ошибок нигде не всплывает. Alsaconf карточку определила. Из-за чего такое может быть?

bash-2.05b# lsmod |grep snd
Module                  Size  Used by
snd_intel8x0m          17804  0
snd_pcm_oss            52256  0
snd_mixer_oss          19328  1 snd_pcm_oss
snd_intel8x0           33436  0
snd_ac97_codec         93984  2 snd_intel8x0m,snd_intel8x0
snd_ac97_bus            2432  1 snd_ac97_codec
snd_pcm                90376  4 snd_intel8x0m,snd_pcm_oss,snd_intel8x0,snd_ac97_codec
snd_timer              25348  1 snd_pcm
snd                    56036  7 snd_intel8x0m,snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_
timer
snd_page_alloc         11144  3 snd_intel8x0m,snd_intel8x0,snd_pcm

lspci |grep audio
00:1f.5 Multimedia audio controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)

StirliZ
()

gimp и русские пути

Есть gimp 2.0, но он не видит русских папок/файлов. Как лечить?

ЗЫ: В факе смотрел - не нашел (плохо искал?), в гугле тоже

StirliZ
()

Проблема в squid

Поставил на сервере сквид. С локалки видятся только локальные страницы, а в инет не вылезть. Конфиг:

http_port 192.168.1.1:3128 visible_hostname stirliz acl mynet src 192.168.1.2 acl my src 192.168.1.1 acl all src 0.0.0.0/0.0.0.0 http_access allow mynet http_access allow my http_access deny all

В логах при запросе например яндекса пишется:

1110629497.322 48851 192.168.1.2 TCP_MISS/000 0 GET http://yandex.ru/ - NONE/- -

Что не так?

StirliZ
()

Проблемы с запуском всего

При попытке запустить файл на исполнение с любой файловой системы, кроме корневой получаю:

для скриптов bash-2.05b# ./setup.sh bash: ./setup.sh: /bin/bash: bad interpreter: Permission denied для файлов ELF: bash-2.05b$ ./quake3.x86 bash: ./quake3.x86: Permission denied

Разрешения на bash: rwxr-xr-x (для исполняемых файлов такие же) Запускаю с рутовыми привелегиями (сижу под юзером, перед запуском набираю su) Что не так?

ЗЫ То же самое и с другими интерпретаторами (aka sh)

StirliZ
()

Настройка squid

Поставил squid-2.5.STABLE7. Все настройки по-дефолту, как где-то прочитал (чтоб всем было разрешено все). Все запускается, но ничего не работает (в браузере клиента пишет access denied). Что ему надо?

StirliZ
()

RSS подписка на новые темы