LINUX.ORG.RU

Сообщения KblCb

 

Отозванные драйвер Nvidia

Форум — General

Тут недавно Nvidia отозвала свои последние драйвера (в виду того что оные недокручивали кулер на видюхах). Не осталось ли у кого пакета скачиваемого с сайта nvidia с этим драйвером. Мне как бы на кулер пофигу, у меня охлаждение пассивное, но зато баг один с КЕДами омерзительный именно в этой версии пофикшен.

P.S: У меня кстати на nv и vesa драйвере иксы стабильно виснут через минут 10 после запуска, так что, если не трудно, ткните в мануал по установке nouveau из исходников для мальчиков-дебилов.

KblCb
()

Опять дохнет дисковая подсистема...

Форум — Linux-hardware

В последнее время участились проблемы с диском не связанные с файловой системой. С определённой вероятностью система фризится при попытки прочесть чего-либо не из кэша. Временами в тех же условиях намертво виснет. Всё это сопровождается звуком горячего подключения SATA'шного диска. Из глубин syslog'а извлёк вот это:

Mar  7 05:24:32 slackhome kernel: ata4.00: status: { Busy }
Mar  7 06:03:43 slackhome kernel: ata4.00: exception Emask 0x10 SAct 0x0 SErr 0x3950000 action 0xe frozen
Mar  7 06:03:43 slackhome kernel: ata4: SError: { PHYRdyChg CommWake Dispar LinkSeq TrStaTrns UnrecFIS }
Mar  7 06:03:43 slackhome kernel: ata4.00: failed command: READ DMA
Mar  7 06:03:43 slackhome kernel: ata4.00: cmd c8/00:28:5f:b0:49/00:00:00:00:00/e0 tag 0 dma 20480 in
Mar  7 06:03:43 slackhome kernel:          res d0/00:28:5f:b0:49/00:00:3f:04:2f/e0 Emask 0x12 (ATA bus error)
И вот это:
Mar  7 17:36:34 slackhome kernel: ata4.00: Mar  7 17:46:41 slackhome kernel: ACPI: RSDP 000f7560 00014 (v00 Nvidia)
Mar  7 17:46:41 slackhome kernel: ACPI: RSDT 9fff3040 00034 (v01 Nvidia AWRDACPI 42302E31 AWRD 00000000)
Mar  7 17:46:41 slackhome kernel: ACPI: FACP 9fff30c0 00074 (v01 Nvidia AWRDACPI 42302E31 AWRD 00000000)
Mar  7 17:46:41 slackhome kernel: ACPI: DSDT 9fff3180 06622 (v01 NVIDIA AWRDACPI 00001000 MSFT 0100000E)
Mar  7 17:46:41 slackhome kernel: ACPI: FACS 9fff0000 00040
Mar  7 17:46:41 slackhome kernel: ACPI: SSDT 9fff98c0 000D6 (v01 PTLTD  POWERNOW 00000001  LTP 00000001)
Mar  7 17:46:41 slackhome kernel: ACPI: MCFG 9fff9a00 0003C (v01 Nvidia AWRDACPI 42302E31 AWRD 00000000)
Mar  7 17:46:41 slackhome kernel: ACPI: APIC 9fff9800 0007C (v01 Nvidia AWRDACPI 42302E31 AWRD 00000000)
Mar  7 17:46:41 slackhome kernel: Zone PFN ranges:
Mar  7 17:46:41 slackhome kernel:   DMA      0x00000010 -> 0x00001000
Mar  7 17:46:41 slackhome kernel:   Normal   0x00001000 -> 0x000373fe
Mar  7 17:46:41 slackhome kernel:   HighMem  0x000373fe -> 0x0009fff0
Mar  7 17:46:41 slackhome kernel: Movable zone start PFN for each node
Mar  7 17:46:41 slackhome kernel: early_node_map[2] active PFN ranges
Mar  7 17:46:41 slackhome kernel:     0: 0x00000010 -> 0x0000009f
Mar  7 17:46:41 slackhome kernel:     0: 0x00000100 -> 0x0009fff0
Что бы это могло быть и что с этим можно сделать? В конце концов что сдохло: диск или контроллер?
P.S: Ушёл уговаривать ext3 отдать хоть что-то из kde'шных конфигов...

KblCb
()

[C][bison] Вернуть структуры из yyparse.

Форум — Development

Есть связка flex/bison. Связка эта таскает текст не со стандартного ввода, а из строки, предоставляемой им другой функцией. Bison по большому счёту делает всего две вещи: собирает структуры из полученных токенов и матерится на синтаксические ошибки. Мне нужно как-то получать собранные им структуры. Первый это впихивать в правила bison'а return'ы. Но тогда во-первых получается, что функция которая должна возвращать int возвращает указатель (что как-то не красиво и запутано), а во-вторых она уже не вернёт 0 после успешного разбора и становится не понятно как отследить тот момент когда разбор завершился. Второй это создать некий внешний «стек» при помощи extern'а и писать в него указатели на структуры из yyparse, чтобы потом прочесть их из функции вызвавшей yyparse. Недостатком этого варианта является то что при вызове yyparse из нескольких нитей одновременно стек превратится в кашу (можно конечно залочить стэк на время его использования, а после этого скопировать его локально для вызывающей функции, но это по моему самый крайний случай, да и замок в таком месте обиден и явно не обоснован). Собственно как можно попытаться решить такую задачу?

 ,

KblCb
()

[flex] невозножно применить правило

Форум — Development

Есть вот такие правила для лекса.

%{
    #include <stdio.h>
    int count;
%}

%start START

ST "("
EN ")"

%%

{ST}        { BEGIN START; }

<START>"("  { count++; }
<START>{EN} { printf("%d\n", count); BEGIN 0; }

%%
При попытке его отлексить, он ругается ворнингом на строчку 15 (ту в которой происходит инкрементирование). Что характерно, в собранном сканере правило не применяется. Собственно два вопроса: чем ему не нравится правило и как таки добиться вышеозначенного?

 

KblCb
()

[bison] генерируемый бизоном header

Форум — Development

Есть у бизона ключик --defines, который позволяет сгенерировать к сишному файлу парсера ещё и заголовок. И всё в нем замечательно, кроме содержания заголовка. В нём не определена ни одна функция из оного сишника, а YYSTYPE определён так, что при подключении этого заголовка к чему либо кроме оного сишника у стороннего наблюдателя (например у компилятора) создаётся неправильное впечатление о типах. Его можно как-то облагоразумить? Нет. Конечно можно написать руками дополнительный заголовок к автоматически сгенерированному сишнику, но как-то это не очень кошерно.

 

KblCb
()

[c][gnu readline] экранирование перевода строки

Форум — Development

Очень хочется заставить readline не заканчивать ввод, а прочитать ещё строку, если перед enter был введён \. Само собой навелосипедил функцию которая проверяет не закончилась ли строка чем-то вроде [^\]\ и если закончилась, то... , но есть ощущение, что libreadline это умеет делать сам. Гугление в основном приводит к статьям по использованию libreadline в php.

 

KblCb
()

парсер на bison vs строка текста

Форум — Development

С переменным успехом бизоню bison. Всё в нём замечательно, если не считать функции yyparse. Она читает stdin и парсит всё что туда попало. Но что делать если у меня stdin читает, например, readline? Или мне просто нужно разобрать строчку текста (которая уже лежит в памяти)?

KblCb
()

[perl] первый элемент массива

Форум — Development

Я всегда думал что приведённые ниже строки абсолютно эквивалентны.

my ($string) = @array;
my $string = $array[0];
В виду подсознательной нелюбви к явному указанию адресов, всегда пользовался первой записью. Однако только что обнаружил (ещё как обнаружил, но речь не про то) что если массив содержит что-то вроде 01, 02, 03, то первая запись присвоит $string соответствующие число. Почему оно так и есть ли возможность таки обойтись без явного указания элемента массива?

 

KblCb
()

iptables и искусственная потеря пакетов

Форум — Admin

Как при помощи iptables терять случайным образом часть трафика проходящего через цепочку? Или хотя бы как это по науке называется, а то не понятно что гуглить.

KblCb
()

Локальная сеть linux <-> windows

Форум — Admin

Может дело в праздниках, но я решительно ничего не понимаю. Есть машина с wxp по статическому адресу 192.168.0.2 для которой шлюзом указан 192.168.0.1. Она прекрасно пингует шлюз. Есть машина со слакой у которой eth1 имеет адрес 192.168.0.1. С неё 192.168.0.2 не пингуется.

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.2     192.168.0.1     255.255.255.255 UGH   0      0        0 eth1
10.7.32.0       0.0.0.0         255.255.224.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         10.7.32.1       0.0.0.0         UG    0      0        0 eth0
# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:17:31:64:89:1f
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::217:31ff:fe64:891f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:48 errors:0 dropped:0 overruns:0 frame:0
          TX packets:613 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5510 (5.3 KiB)  TX bytes:81175 (79.2 KiB)
          Interrupt:20 Base address:0x8000
# ping 192.168.0.2 & tcpdump -i eth1
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
[1] 2134                                            
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes     
01:48:09.107177 IP 192.168.0.1 > 192.168.0.2: ICMP echo request, id 22024, seq 2, length 64
01:48:10.108282 IP 192.168.0.1 > 192.168.0.2: ICMP echo request, id 22024, seq 3, length 64
01:48:11.107574 IP 192.168.0.1 > 192.168.0.2: ICMP echo request, id 22024, seq 4, length 64
01:48:12.107236 IP 192.168.0.1 > 192.168.0.2: ICMP echo request, id 22024, seq 5, length 64
01:48:13.105895 ARP, Request who-has 192.168.0.2 tell 192.168.0.1, length 28               
01:48:13.106072 ARP, Reply 192.168.0.2 is-at 00:23:8b:e7:f3:12 (oui Unknown), length 46    
01:48:13.106929 IP 192.168.0.1 > 192.168.0.2: ICMP echo request, id 22024, seq 6, length 64
01:48:14.106620 IP 192.168.0.1 > 192.168.0.2: ICMP echo request, id 22024, seq 7, length 64
01:48:15.106302 IP 192.168.0.1 > 192.168.0.2: ICMP echo request, id 22024, seq 8, length 64
01:48:16.106246 IP 192.168.0.1 > 192.168.0.2: ICMP echo request, id 22024, seq 9, length 64
Такое чувство что я забыл что-то важное, но никак не пойму что.

KblCb
()

[macosx 10.6][launchd] автозапуск программ порождающих дочерние процессы

Форум — General

Необходимо запускать вместе с макосью программу которая, в числе прочего, будет вызывать произвольный скрипт на баше. Пишу вот твкой plist для launchd'а:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>explorer</string>
        <key>KeepAlive</key>
        <dict>
                <key>SuccessfulExit</key>
                <true/>
        </dict>
        <key>Program</key>
        <string>/usr/libexec/explorer</string>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>
Это вполне валидный plist. Он даже запускает /usr/libexec/explorer при старте системы. Вот только исполняется explorer корректно только до вызова system. Как сделать так чтобы explorer мог порождать дочерние процессы?

KblCb
()

[perl] слушает ли кто-то FIFO

Форум — Development

А есть возможность узнать у FIFO-файла слушает его кто-то или нет? Желательно штатными средствами перла.

 

KblCb
()

[perl] чтение из дописываемового файла...

Форум — Development

Нужно обрабатывать вывод программы по мере его поступления. Добиться надо приблизительно следующего эффекта:

$ ping ya.ru|sed -ne 's/.*/1/p'

Такой скрипт

#!/usr/bin/perl

while (1)
{
    $line = readline *STDIN;
    print 1;
}
того же самого не делает. Подозреваю потому что ждёт когда ping закончит вывод (чего само собой не произойдёт). Никак не возьму в толк как это победить.

 

KblCb
()

падение процесса при инициализации в mac os x

Форум — General

Процесс стартует по такому plist'у:

macbook-fe-j:~ root# cat /Library/LaunchDaemons/localhost.explorer.start
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>localhost.explorer.start</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/libexec/explorer</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>
и сегфолтится, генерируя вот такой крашрепорт. Можно ли из этого крашрепорта понять почему /usr/libexec/explorer падает будучи запущенным launchd'ом и не падает будучи запущенным руками?

KblCb
()

где init в mac os x?

Форум — General
macbook-fe-j:~ root# uname -a
Darwin macbook-fe-j.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
macbook-fe-j:~ root# ls /sbin/init
ls: /sbin/init: No such file or directory

Существуют /etc/{rc.common,rc.netboot}, но при этом создаётся впечатление будто команды оттуда не выполняются; rc.boot видимо находится там же где и init. Мне нужно прописать в автозапуск один небольшой процесс от root'а, а я никак не пойму как она вообще запускается. У меня шок: слаку и бсдю называют помойкой, но это нечто за гранью добра и зла. Я устал, я есть хочу. Ткните меня кто-нибудь в статью или мануал по иниту макосей, который бы прямо не противоречил тому что я вижу на отдельно взятом макбуке.

KblCb
()

git qt-4.6

Форум — General

Дожил до того что kdelibs из транка хотят qt-4.6 и не меньше. Можно конечно скачать соответствующий снапшот в виде тарболла, но хотелось бы просто клонировать qt-шный гит и обновлять его время от времени. Проблема в том что тролли уже во всю разрабатывают 4.7. Как вытащить из их гита только ветку 4.6?

KblCb
()

Виртуальная Mac OS X

Форум — General

Внезапно встала передо мной такая острая необходимость. Ситуация несколько осложняется тем что у меня МакОси нет. Соответственно получалось ли у кого-нибудь запустить её в виртуальном окружении, если да то в каком? И где можно найти инструкцию по установке МакОси на виртуалку? Что нужно знать для установки МакОси? Попытки конвертировать dmg в iso, а результат посадить в virtualbox кончились плохо.

KblCb
()

О молекулах и МС

Форум — Development

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

KblCb
()

C и попытки вернуть из функции указатель на массив символов

Форум — Development
#include <stdio.h>
#define BUFSIZE 10000

int main ( int argc, char *argv[] )
{
    char *str;
    FILE *stream = fopen( *++argv, "r" );
    getvar( stream, str );
    while ( *str )
        putchar( *str++ );
    return 0;
}

int getvar( FILE *istream, char *pvar )
{
    static int a;
    static int b = '\n';
    static char *parr, arr[BUFSIZE];
    pvar = parr = arr;

    while (( *parr = fgetc(istream) ) != EOF )
    {
        if ( b == '\n' && a == '=' )           
            b = *parr;
        if ( *parr == '\n' && a == b )
            break;
        a = *parr; 
        parr++; 
    }
    return 0;
}

Почему конструкция while ( *str ) putchar( *str++ ) выводит чёрт знает что, а конструкция while ( *pvar ) putchar( *pvar++ ) помещённая в getvar выводит то что прочитано из файла?

KblCb
()

firefox-qt vs gtk/gtk.h

Форум — General

Собираю firefox с cairo-qt.

./configure \
    --prefix=/usr \
    --libdir=/usr/lib \
    --with-default-mozilla-five-home=/usr/lib/firefox-qt \
    --with-system-zlib \
    --enable-application=browser \
    --enable-default-toolkit=cairo-qt \
    --enable-crypto \
    --enable-svg \
    --enable-canvas \
    --enable-xft \
    --enable-xinerama \
    --enable-optimize \
    --enable-reorder \
    --enable-strip \
    --disable-system-cairo \
    --enable-cpp-rtti \
    --enable-single-profile \
    --disable-ldap \
    --disable-accessibility \
    --disable-debug \
    --disable-logging \
    --disable-pedantic \
    --disable-installer \
    --disable-mailnews \
    --disable-composer \
    --disable-profilesharing \
    --disable-necko-wifi \
    --disable-gnomevfs \
    --disable-gnomeui

Я молчу о том что оно хочет древний autoconf. Вот уже который раз оно падает при компиляции причём ругаясь на то что не может найти <gtk/gtk.h>. Возникает два вопроса: почему оно не может найти гткашные заголовки, хотя все остальные могут и почему оно вообще ищет гткашные заголовки если оно cairo-qt?

KblCb
()

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