LINUX.ORG.RU

Сообщения Kroz

 

Маппинг uid и gid при монтировании nfs

Форум — General

Всем привет!

Имеется NAS с расшареными по nfs каталогами. Имеется десктоп (а точнее несколько), который эти шары монтирует. Проблема в том, что uid и gid на NAS и на десктопе не совпадают.

Как можно сделать маппинг uid и gid при работа с nfs?

До. информация:
- Gentoo (к вопросу о конфигах, но по идее от дистра не должно силно зависеть)
- nfs3, но, если нужно, могу включить nfs4.
- монтирую на десктопе так:

$ cat /etc/fstab | grep nfs
1.2.3.4:/volume/dir    /mnt/mountpoint nfs     rw,users,noauto,_netdev 0 0
- На клиенте запущен /etc/init.d/rpc.statd , прописан fstab, больше ничего не настраивал.

 ,

Kroz
()

Можно ли снифать HTTPS трафик?

Форум — General

Всем привет.

Сорри за нубовопрос, что-то сегодня с утра соображаю плохо. Попробовать не могу, ответ нужен срочно.

Браузер, захожу на HTTPS сайт. Я могу трафик смотреть через tcpdump/wireshark ? Мыслю что нет, ибо соединение от браузера (сокета) до сервера. Но помню что вроде как-то снифали. Но меня интересуют именно «стандартные» способы, то есть уязвимости/брут не интересуют.

Просвети разум, LOR?

 

Kroz
()

Почему в \newenvironment не работает?

Форум — General

Всем привет!

Нашел чудесный пакет minted, который подсвечивает код. Одна беда: не работает с кириллицей. Но, отыскался патч, который это решает.

Но у меня minted засовывается в \newenvironment . Так вот, непатченый minted - все отлично. А вот патченый отдельно работает, а в \newenvironment пишет:

File ended while scanning use of \FancyVerbGetLine

Чего ему нужно?

\documentclass[a4paper,10pt]{book}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[english,russian]{babel}

\usepackage{minted}

%%%%%%%%%%%%%%% Сам патч
\makeatletter
\newcommand{\minted@write@detok}[1]{%
  \immediate\write\FV@OutFile{\detokenize{#1}}}%

\newcommand{\minted@FVB@VerbatimOut}[1]{%
  \@bsphack
  \begingroup
    \FV@UseKeyValues
    \FV@DefineWhiteSpace
    \def\FV@Space{\space}%
    \FV@DefineTabOut
    %\def\FV@ProcessLine{\immediate\write\FV@OutFile}% %Old, non-Unicode version
    \let\FV@ProcessLine\minted@write@detok %Patch for Unicode
    \immediate\openout\FV@OutFile #1\relax
    \let\FV@FontScanPrep\relax
%% DG/SR modification begin - May. 18, 1998 (to avoid problems with ligatures)
    \let\@noligs\relax
%% DG/SR modification end
    \FV@Scan}
    \let\FVB@VerbatimOut\minted@FVB@VerbatimOut

\renewcommand\minted@savecode[1]{
  \immediate\openout\minted@code\jobname.pyg
  \immediate\write\minted@code{\expandafter\detokenize\expandafter{#1}}%
  \immediate\closeout\minted@code}
\makeatother
%%%%%%%%%%%%%%% Конец патча

\newenvironment{code}{
	\begin{VerbatimOut}{\jobname.pyg}}
{
	\end{VerbatimOut}
	\minted@pygmentize{с++}
	\DeleteFile{\jobname.pyg}
}

\begin{document}

%%%%%%%%%%%%%% Это работает
\begin{minted}{c}
double m[4];    // Работает
m[0] = 1;
double *n = (double *) malloc(pocet_cisel * 4 * sizeof (double));
n[4 + 0] = 1;
free(n);
\end{minted}
%%%%%%%%%%%%%% 

%%%%%%%%%%%%%% А вот это не работает
\begin{code}
double m[4];    // Работает
m[0] = 1;
double *n = (double *) malloc(pocet_cisel * 4 * sizeof (double));
n[4 + 0] = 1;
free(n);
\end{code}
%%%%%%%%%%%%%%

\end{document}

 

Kroz
()

Подтвердите баг eselect news (не обновляются)

Форум — General

UPD2: Бага нет.

Текст новостей хранится в /usr/portage/metadata/news . Это каталоги, в них есть файлы с текстом новости, а там есть запись 'Display-If-Installed:' . Дальше, думаю, понятно.

UPD: Всё, спасибо! Материала для анализа достаточно!

Привет всем пользователям Gentoo.

Похоже, eselect news поломался. Помогите проверить.

Дайте, пожалуйста, выхлоп вот этот команд:

$ eselect news list
$ ls -la /usr/portage/metadata/news

 ,

Kroz
()

LaTeX: Заменить '=>' на стрелку вправо

Форум — General

Всем привет!

Можно ли в Latex сделать такие маппинги (автозамены):
=> - $\Leftarrow$
<= - $\Rightarrow$
|^ - $\uparrow$
|v - $\downarrow$

?

То есть правая часть - то, что я пишу сейчас, а левая - то, что упростило бы жизнь.

cast Eddy_Em

Решение: таким образом лучше не делать

 ,

Kroz
()

Подтвердите баг KDE 4.13: krunner + desktop search съедает память

Форум — General

Привет всем, кто обновил KDE до 4.13.

Проделайте, пожалуйста, такие шаги:
0. Выведите на видное место индикатор потребления памяти
1. Вызовите KRunner (Alt+F2)
2. В настройках убедитесь что включен Desktop Search плагин
3. Впишите туда какую-то формулу, например 1+2+3
4. Вопрос: сколько у вас отъело памяти? У меня 1G

Отпишитесь, пожалуйста:
1. Присутствует ли у вас такая проблема?
2. Дистрибутив?
3. Пытался ли у вас baloo что-то индексировать?
4. Предполагается у вас KDE 4.13

У меня Gentoo с сегодняшними обновлениями, baloo начинал индексировать, но я его прервал с помощью Alt+SysRq+B.

Спасибо.

UPD: Судя по всему, баг повторяется у многих. Если согласны что это баг, давайте писать на багзиллу. Для Gentoo я уже создал, голосуем: https://bugs.gentoo.org/show_bug.cgi?id=508556 . Ребята с остальными дистрами - создавайте на свои багзиллы.

 , , , ,

Kroz
()

Создать на форуме категорию для полезных заметок

Форум — Linux-org-ru

Всем привет.

Все чаще встречаются на LORе темы вроде такой или такой, где люди просто делятся наработками, ну и запрашивают комментарии/улучшения. По сслыкам скрипты, но речь не только о скриптах. Наиболее близко вот такое.

Есть wiki, да, но, как по мне «порог вхождения» для нее слишком большой. Кроме того: там можно комментировать? В любом случае тот факт, что люди создают подобные темы именно в форум, говорит, что wiki не совсем то.

Может создать под это дело отдельную категорию в форуме? Что-то вроде «Полезняшки» или «LOR-советы» (не хочется, конечно, копировать OpenNet). Думаю, это позитивно скажется на развитии сайта.

Discuss

cast maxcom

 , , ,

Kroz
()

ca-certificates: «UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND»

Форум — Security

Всем привет.

Сегодня при обновлении app-misc/ca-certificates (файлы /usr/share/ca-certificates/*.crt) выдало вот такие вот сообщения (см. внизу). Подскажите, что это значит на практике, и как на это реагировать?

Спасибо

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Distrust a pb.com certificate that does not comply with the baseline requirements."
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 1/3)"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 2/3)"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 3/3)"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ignoring certificate "UTN-USER First-Network Applications".  SAUTH=CKT_NSS_MUST_VERIFY_TRUST, EPROT=CKT_NSS_MUST_VERIFY_TRUST
Ignoring certificate "UTN USERFirst Object Root CA".  SAUTH=CKT_NSS_MUST_VERIFY_TRUST, EPROT=CKT_NSS_MUST_VERIFY_TRUST
Certificate "MD5 Collisions Forged Rogue CA 25c3" blacklisted, ignoring.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Distrusted AC DG Tresor SSL"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ignoring certificate "TC TrustCenter Universal CA III".  SAUTH=CKT_NSS_MUST_VERIFY_TRUST, EPROT=CKT_NSS_MUST_VERIFY_TRUST
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Bogus Mozilla Addons"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Bogus Global Trustee"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Bogus GMail"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Bogus Google"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Bogus Skype"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Bogus Yahoo 1"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Bogus Yahoo 2"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ca-certificates
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Bogus Yahoo 3"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Bogus live.com"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Bogus kuix.de"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Explicitly Distrust DigiNotar Root CA"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Explicitly Distrust DigiNotar Services 1024 CA"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Explicitly Distrust DigiNotar Cyber CA"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Explicitly Distrust DigiNotar Cyber CA 2nd"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Explicitly Distrusted DigiNotar PKIoverheid"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Explicitly Distrusted DigiNotar PKIoverheid G2"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "MITM subCA 1 issued by Trustwave"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "MITM subCA 2 issued by Trustwave"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "TURKTRUST Mis-issued Intermediate CA 1"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
UNTRUSTED BUT NOT BLACKLISTED CERTIFICATE FOUND: "TURKTRUST Mis-issued Intermediate CA 2"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 ,

Kroz
()

Transmission не может присоедениться к трекеру

Форум — General

Всем привет,

Поставил Transmission 2.82, настроил. Все работает кроме скачивания. Сам торрент в список добавляется, но дальше дело не идет. В логах пишется «Could not connect to tracker».

Если важно:
- Gentoo
- Запускаю так: /etc/init.d/transmission-daemon start
- Использую WEB клиент
- Сеть проводная (без wifi)
- Рутер/NAT
- Параллельно стоит deluge - работает
- rutracker

Как анализировать? Что может быть?

Лог запуска, при котором добавлен один торрент:

[14:51:47.795] Transmission 2.82 (14160) started (session.c:738)
[14:51:47.795] RPC Server Adding address to whitelist: 127.0.0.1 (rpc-server.c:828)
[14:51:47.795] RPC Server Serving RPC and Web requests on port 127.0.0.1:9091/transmission/ (rpc-server.c:1035)
[14:51:47.795] RPC Server Whitelist enabled (rpc-server.c:1039)
[14:51:47.795] DHT Generating new id (tr-dht.c:310)
[14:51:47.795] Using settings from "/mnt/data/_p2p/.config/transmission" (daemon.c:526)
[14:51:47.795] Saved "/mnt/data/_p2p/.config/transmission/settings.json" (variant.c:1217)
[14:51:47.795] Saved pidfile "/var/run/transmission/transmission.pid" (daemon.c:538)
[14:51:47.795] Watching "/mnt/data/_p2p/transmission/torrents" for new .torrent files (daemon.c:564)
[14:51:47.795] Using inotify to watch directory "/mnt/data/_p2p/transmission/torrents" (watch.c:74)
[14:51:47.795] Loaded 1 torrents (session.c:1994)
[14:51:47.795] Port Forwarding (NAT-PMP) initnatpmp succeeded (0) (natpmp.c:73)
[14:51:47.795] Port Forwarding (NAT-PMP) sendpublicaddressrequest succeeded (2) (natpmp.c:73)
[14:51:49.796] Port Forwarding (UPnP) Found Internet Gateway Device "http://192.168.0.1:65535/ctl/IPConn" (upnp.c:202)
[14:51:49.796] Port Forwarding (UPnP) Local Address is "192.168.0.100" (upnp.c:204)
[14:51:49.796] Port Forwarding (UPnP) Port forwarding through "http://192.168.0.1:65535/ctl/IPConn", service "urn:schemas-upnp-org:service:WANIPConnection:1". (local address: 192.168.0.100:51413) (upnp.c:279)
[14:51:49.796] Port Forwarding (UPnP) Port forwarding successful! (upnp.c:282)
[14:51:49.796] Port Forwarding State changed from "Not forwarded" to "Forwarded" (port-forwarding.c:95)
[14:51:49.796] <Torrent Name Here> Could not connect to tracker (announcer.c:999)
[14:51:49.796] <Torrent Name Here> Retrying announce in 20 seconds. (announcer.c:1008)
[14:52:03.803] <Torrent Name Here> Starting IPv4 DHT announce (poor, 11 nodes) (tr-dht.c:576)
[14:52:09.806] DHT Attempting bootstrap from dht.transmissionbt.com (tr-dht.c:248)
...

 , , ,

Kroz
()

Segmentation fault на удалении элемента вектора .erase(...)

Форум — Development

Всем привет!

Помогите разрулить проблему, уже второй час бьюсь!

Быдлокожу алгоритм парсинга формулы. Парсинг работает нормально. Теперь пишу упрощение - раскрытие скобок, функция Simplify.

Весь исходник: http://pastebin.com/C9he4AEK Запускаю так: $ g++ -std=c++11 semantic.cpp -o semantic && ./semantic

При запуске выдает Segmentation fault на удалении элемента из вектора operands.

Еще интересно, что, если убрать вставку (operands.insert(...)) то Segmentation fault нет. Сама вставка проходит корректно и итератор i указывает куда нужно.

Что не так???

Сам код:

void CSum::Simplify()
{
FUNC("");
	vector<CFunction*>::iterator i,j,prev;
	CSum *tmp;
	
	LOG("We are in '"<<PrintTree()<<"'");
	
	for (i=operands.begin();i!=operands.end();i++){
		if ((*i)==nullptr)
			throw "Error in SC: empty operands in Sum";
		LOG("Simplifying operand type:"<<(*i)->PrintType());
		(*i)->Simplify();
		if ((*i)->type==sum){ // Opening Brackets
			LOG("Opening brackets of "<< PrintTree() <<"...");
			j=i;
			j++;
			operands.insert(j,((CBinaryFunction*)(*i))->operands.begin(),((CBinaryFunction*)(*i))->operands.end());
			LOG("...deleting old one "<<(*i)->PrintTree()<<", type:"<<(*i)->PrintType()<<", from "<<PrintTree()<<"...");
// 			tmp=(CSum*)(*i);
// 			delete[] tmp;
			*i=nullptr;
			operands.erase(i);
			LOG("...done");
			i=operands.begin(); // TODO: this is incorrect. We need to continue just from previous element. Fix this!
		}
	};
	
	RETURN("");
};

Структура классов:

class CFunction{
public:
	enum TFunctionType {
		var,
		sum,
		mul
	};
	const TFunctionType type;
	
	CFunction(const TFunctionType t):type(t){};
	
	virtual TFormula Get()=0;
	virtual uint GetOperandsNum()=0;
	virtual bool IsValid()=0;
	
	string PrintType(){ // For debugging needs
		switch (type) {
			case var: return "var";
			case sum: return "sum";
			case mul: return "mul";
		}
		return "unknown";
	}
	virtual string PrintTree()=0; // For debugging needs; prints even invalid structures
	virtual void Simplify()=0; // Expand brackets etc
};

//////////////////////////
class CVariable: public CFunction{
public:
	TValue value;
	bool inverted;
	
	CVariable():CFunction(var),value(""),inverted(false){};
	CVariable(TValue v):CFunction(var),value(v),inverted(false){};
	CVariable(TValue v,bool i):CFunction(var),value(v),inverted(i){};
	
	virtual TFormula Get();
	virtual uint GetOperandsNum(){return 1;};
	virtual bool IsValid(){return !value.empty();};
	virtual string PrintTree(){ if (value.empty()) return "''"; else return value;}; // For debugging needs; TODO: should print invalid structures ; TODO: inversion
	virtual void Simplify(){return;}; // Nothing to simplify in a simple variable
};

//////////////////////////
class CBinaryFunction:public CFunction{ // Actually - function with many arguments
public:
	vector<CFunction*> operands;
	
	CBinaryFunction(const TFunctionType t):CFunction(t){};
	CBinaryFunction(const TFunctionType t,CFunction *o1):CFunction(t){
		AddOperand(o1);
	};
	CBinaryFunction(const TFunctionType t,CFunction *o1,CFunction *o2):CFunction(t){
		AddOperand(o1);
		AddOperand(o2);
	};
	~CBinaryFunction(){
		for (auto i:operands)
			if (i!=nullptr)
				delete[] i;
		operands.erase(operands.begin(),operands.end());
	};
	
	virtual uint AddOperand(CFunction *f){operands.push_back(f);};
	virtual uint GetOperandsNum(){return operands.size();};
	virtual bool IsValid();
};

//////////////////////////
class CSum: public CBinaryFunction{
public:
	CSum():CBinaryFunction(sum){};
	CSum(CFunction *o1):CBinaryFunction(sum,o1){};
	CSum(CFunction *o1,CFunction *o2):CBinaryFunction(sum,o1,o2){};
	~CSum();
	virtual TFormula Get();
	virtual string PrintTree(); // For debugging needs; prints even invalid structures
	virtual void Simplify();
};

//////////////////////////
class CMul: public CBinaryFunction{
public:
	CMul():CBinaryFunction(mul){};
	CMul(CFunction *o1):CBinaryFunction(mul,o1){};
	CMul(CFunction *o1,CFunction *o2):CBinaryFunction(mul,o1,o2){};
	~CMul();
	virtual TFormula Get();
	virtual string PrintTree(); // For debugging needs; prints even invalid structures
	virtual void Simplify();
};

Лог:

semantic.cpp:261: >>> Simplify()
semantic.cpp:265: We are in '(a+(b+c))'
semantic.cpp:270: Simplifying operand type:var
semantic.cpp:270: Simplifying operand type:sum
semantic.cpp:261: >>> Simplify()
semantic.cpp:265: We are in '(b+c)'
semantic.cpp:270: Simplifying operand type:var
semantic.cpp:270: Simplifying operand type:var
semantic.cpp:287: <<< Simplify() returns 
semantic.cpp:273: Opening brackets of (a+(b+c))...
semantic.cpp:277: ...deleting old one (b+c), type:sum, from (a+(b+c)+b+c)...
Segmentation fault

 ,

Kroz
()

Сделать #ifdef внутри макроса или как-то это обойти

Форум — Development

Всем привет.

Пишу код, внутри есть логирование вида:

#define LOG(a) clog<<a<<endl;
...
#define DEBUG
...
#ifdef DEBUG
  LOG("Log message");
#endif
...
#undef DEBUG

Это позволяет логировать только тот участок, который требует отладки.

Если честно, немного надоедает каждый раз писать #ifdef ... #endif , хочется засунуть это в макрос LOG, но, как я понял, этого сделать нельзя. Или можно?

Как засунуть условие #ifdef в макрос? Или какой может быть альтернативное решение, которое позволило бы логировать определенный участок кода?

Спасибо.

 

Kroz
()

Low Level Format: как?

Форум — General

Всем привет!

Нужно форматнуть на низком уровне хард. Какие утилиты для этого есть под онтопик?

Kroz
()

При kdm логине появляется окно с Warning, но после Ok логин продолжается

Форум — General

Всем привет.

Вчера с апдейтом прилетела проблема. При логине (kdm) появляется окно с сообщением «Cannot open ConsoleKit session: Unable to open session: Unable to get information about the calling process»; сообщение дублируется в лог. После нажатия Ok логин идет нормально. В чем может быть проблема?

Доп. информация:
- Gentoo
- openrc (не systemd)
- kdm, автологин без пароля
- kdm'ные логи дублируются в отдельный файл. Обновлял вчера (Jan 31), сегодня (Feb 1) обнаружил проблему, что четко видно по логу:

Jan 31 06:56:48 localhost kdm: :0[2913]: pam_unix(kde-np:session): session opened for user kroz by (uid=0)
Jan 31 06:56:48 localhost kdm: :0[2913]: pam_ck_connector(kde-np:session): nox11 mode, ignoring PAM_TTY :0
Jan 31 06:56:48 localhost kdm: :0 '[2922]: No password for Kerberos5 provided.
Jan 31 07:22:40 localhost kdm: :0[2913]: pam_unix(kde-np:session): session closed for user kroz
Jan 31 20:21:29 localhost kdm: :0[2916]: pam_unix(kde-np:session): session opened for user kroz by (uid=0)
Jan 31 20:21:29 localhost kdm: :0[2916]: pam_ck_connector(kde-np:session): nox11 mode, ignoring PAM_TTY :0
Jan 31 20:21:29 localhost kdm: :0 '[2945]: No password for Kerberos5 provided.
Jan 31 21:38:12 localhost kdm: :0[2916]: pam_unix(kde-np:session): session closed for user kroz

Feb  1 12:04:49 localhost kdm: :0[2917]: Cannot open ConsoleKit session: Unable to open session: Unable to get information about the calling process
Feb  1 12:05:12 localhost kdm: :0[2917]: pam_unix(kde-np:session): session opened for user kroz by (uid=0)
Feb  1 12:05:12 localhost kdm: :0[2917]: pam_ck_connector(kde-np:session): nox11 mode, ignoring PAM_TTY :0
Feb  1 12:05:12 localhost kdm: :0 '[3452]: No password for Kerberos5 provided.
Feb  1 18:13:42 localhost kdm: :0[2917]: pam_unix(kde-np:session): session closed for user kroz
Feb  1 18:14:50 localhost kdm: :0[2874]: Cannot open ConsoleKit session: Unable to open session: Unable to get information about the calling process
Feb  1 18:15:44 localhost kdm: :0[2874]: pam_unix(kde-np:session): session opened for user kroz by (uid=0)
Feb  1 18:15:44 localhost kdm: :0[2874]: pam_ck_connector(kde-np:session): nox11 mode, ignoring PAM_TTY :0
Feb  1 18:15:44 localhost kdm: :0 '[4125]: No password for Kerberos5 provided.
Куда копать?

UPD: Список того, что обновлялось:

$ cat /var/log/emerge.log | grep "Started emerge on: Jan 31" -A 1000 | grep ">>> emerge (\|Started" | sed "s/^[^ ]* *//g"
Started emerge on: Jan 31, 2014 20:23:15
Started emerge on: Jan 31, 2014 20:43:28
>>> emerge (1 of 45) sys-apps/ethtool-3.13 to /
>>> emerge (2 of 45) dev-libs/gobject-introspection-common-1.38.0 to /
>>> emerge (3 of 45) media-fonts/arphicfonts-0.2.20080216.1-r1 to /
>>> emerge (4 of 45) dev-libs/apr-1.5.0-r2 to /
>>> emerge (5 of 45) dev-libs/apr-util-1.5.3-r1 to /
>>> emerge (6 of 45) app-admin/apache-tools-2.4.7-r1 to /
>>> emerge (7 of 45) sys-apps/man-pages-3.57 to /
>>> emerge (8 of 45) x11-libs/xtrans-1.3.3 to /
>>> emerge (9 of 45) net-misc/curl-7.35.0 to /
>>> emerge (10 of 45) sys-power/acpid-2.0.21 to /
>>> emerge (11 of 45) sys-process/at-3.1.14 to /
>>> emerge (12 of 45) dev-libs/glib-2.38.2 to /
>>> emerge (13 of 45) sys-devel/gettext-0.18.3.2 to /
>>> emerge (14 of 45) gnome-extra/yelp-xsl-3.10.1 to /
>>> emerge (15 of 45) virtual/libintl-0-r1 to /
>>> emerge (16 of 45) app-portage/eix-0.30.1 to /
>>> emerge (17 of 45) dev-libs/gobject-introspection-1.38.0 to /
>>> emerge (18 of 45) media-libs/libmng-2.0.2-r1 to /
>>> emerge (19 of 45) net-libs/glib-networking-2.38.2 to /
Started emerge on: Jan 31, 2014 21:19:26
>>> emerge (1 of 4) dev-libs/DirectFB-1.7.1 to /
>>> emerge (2 of 4) dev-qt/qtgui-4.8.5-r1 to /
>>> emerge (3 of 4) media-gfx/gimp-2.8.10-r1 to /
Started emerge on: Feb 01, 2014 12:06:46
Started emerge on: Feb 01, 2014 13:05:38
>>> emerge (1 of 27) media-libs/libao-1.2.0 to /
>>> emerge (2 of 27) dev-util/gdbus-codegen-2.38.2 to /
>>> emerge (3 of 27) dev-python/netlib-0.10 to /
>>> emerge (4 of 27) net-proxy/mitmproxy-0.10 to /
>>> emerge (5 of 27) sys-boot/grub-2.02_beta2 to /
>>> emerge (6 of 27) app-text/yelp-tools-3.10.0 to /
>>> emerge (7 of 27) dev-libs/atk-2.10.0 to /

Started emerge on: Feb 01, 2014 13:27:00
>>> emerge (1 of 2) media-video/mplayer-1.2_pre20130729 to /
Started emerge on: Feb 01, 2014 13:33:59
>>> emerge (1 of 2) media-video/mplayer-1.2_pre20130729 to /
>>> emerge (2 of 2) media-gfx/gimp-2.8.10-r1 to /
Started emerge on: Feb 01, 2014 14:12:23
>>> emerge (1 of 20) dev-libs/libusb-1.0.18 to /
>>> emerge (2 of 20) x11-libs/pango-1.36.1 to /
>>> emerge (3 of 20) app-accessibility/at-spi2-core-2.10.2 to /
>>> emerge (4 of 20) dev-python/pygobject-3.10.2 to /
>>> emerge (5 of 20) app-accessibility/at-spi2-atk-2.10.2 to /
>>> emerge (6 of 20) x11-libs/gdk-pixbuf-2.30.1 to /
>>> emerge (7 of 20) x11-libs/gtk+-3.10.6 to /
>>> emerge (8 of 20) gnome-base/dconf-0.18.0 to /
>>> emerge (9 of 20) dev-util/cmake-2.8.12.2 to /
>>> emerge (10 of 20) net-im/skype-4.2.0.13 to /
>>> emerge (11 of 20) x11-themes/oxygen-gtk-1.4.3 to /
>>> emerge (12 of 20) media-libs/openal-1.15.1-r2 to /
>>> emerge (13 of 20) media-gfx/graphviz-2.36.0 to /
>>> emerge (14 of 20) net-libs/glib-networking-2.38.2 to /
>>> emerge (15 of 20) net-libs/libsoup-2.44.2 to /
>>> emerge (16 of 20) net-libs/libsoup-gnome-2.44.2 to /
>>> emerge (17 of 20) x11-themes/qtcurve-1.8.18 to /
>>> emerge (18 of 20) gnome-base/gvfs-1.18.3 to /
>>> emerge (19 of 20) kde-base/kdepim-common-libs-4.12.1-r2 to /
>>> emerge (20 of 20) kde-base/kmail-4.12.1-r2 to /

 , ,

Kroz
()

Задачка на out-of-box thinking level 2: люк

Форум — Talks

Почему люк круглый?

Имеется ввиду обычный канализационный люк.

Ответов много, я в свое время насчитал около 20. Вот что уже ответили здесь:
- Чтобы его можно было докатить (yoghurt)
- Что-бы крышка не проваливалась внутрь ни при каких условиях (qrck)
- Потому что круглый люк дает оптимальный расход чугуния при максимизации полезной площади отверстия. (shimon)
- Круглый люк, особенно если он слегка выпуклый, будет прочнее при давлении сверху по сравнению с люком другой формы. (selivan)

Еще?

 

Kroz
()

Задачка на out-of-box thinking level 2: золото

Форум — Talks

В магазин нанимается работник, чтобы поработать 4 дня. За каждый день он получает 1кг золота. Платить нужно каждый день. У хозяина есть 2 слитка: 1кг и 3кг. Пилить нельзя. Давать авансом нельзя, так как работник сбежит. Не заплатить нельзя. Нужно платить каждый день. Как это реализовать?

Народ, сорри, я ошибся. Вот корректный вариант:

Работник поступил на работу. Срок: 7 дней. Каждый день нужно платить килограмм золота. У хозяина есть слиток 7кг, и он может его (слиток) распилить на 3 части (то есть сделать 2 распила). На какие 3 части должен распилить хозяин слиток, чтобы каждый день платить работнику 1 кг золота?

Бумажный эквивалент - нельзя.

 

Kroz
()

Задачка на out-of-box thinking: монеты

Форум — Talks

Есть 12 монет. Одна из них фальшивая, она легче. Есть аптекарские весы (позволяют определить на какой чаше груз тяжелее). Каково минимальное количество взвешиваний, позволяющее определить фальшивую монету?

 

Kroz
()

Задачка на out-of-box thinking: бутыли из крепкого орешка

Форум — Talks

Есть 2 бутыля: 5л и 3л. Нужно набрать 4л воды.
Дать 2 решения.

Да, задача из Крепкого Орешка, многие знают.

Кто заранее знает ответ (а не додумался) - молчите, пусть думают.

 

Kroz
()

Задачка на out-of-box thinking: комнаты

Форум — Talks

В продолжение А сможете ли вы найти площадь круга? by teod0r

Есть три комнаты: к1, к2, к3. В каждую ведет закрытая дверь. В комнатах по одной лампочке. Возле трех дверей стоит панель с тремя выключателями: в1, в2, в3. Но вот проблема: какой выключатель от какой комнаты (какую лампочку включает) мы не знаем.

Мы стоим перед тремя закрытыми дверьми и панелью выключателей. Сейчас мы можем включать и выключать любые выключатели. После этого мы можем войти в две комнаты. После этого нам нужно будет сказать какой выключатель от какой комнаты.

Как это сделать?

Upd 1: изначально лампочки выключены.
Upd 2: рушить стены между комнатами нельзя
Upd 3: ждать пока перегорит нельзя
UPD: можно войти в 2 комнаты.

P. S. Ребята, кто знает решение - не спешите отвечать, пусть народ пому^W поучится...

 

Kroz
()

Посоветуйте годного транс-радио (желательно Goa)

Форум — Talks

Все привет!

Слушаю транс, в основном Goa (но не только). Все, что у себя - надоело, посоветуйте годного радио.

Пока слушаю trance.fm, но немного не то. Еще слушал подкасты Group Therapy, но в онлайне не нашел. Одни из моих любимых треков - записи из bpm.fm, но то, что я нашел в онлайне... в общем не транс там, видать просто «программы» есть какие-то.

Из любимого - Infected Mushroom, Alien Project, Guy Salama, Astral Projection... Вообще сборников много слушаю. Paul Oakenfold не нравится.

Есть на ЛОР'е любители транса?

Kroz
()

Какая файловая система на NAS Synology?

Форум — General

Всем привет!

Есть NAS Synology . Вставил HDD, создал volume. Поскольку инфы туда нужно залить много, решил вытащить HDD и вставить его в комп. А там такое:

$ fdisk -l /dev/sdc

Disk /dev/sdc: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00038c31

Device    Boot     Start        End    Blocks  Id System
/dev/sdc1            256    4980735   2490240  fd Linux raid autodetect
/dev/sdc2        4980736    9175039   2097152  fd Linux raid autodetect
/dev/sdc3        9437184 1953520064 972041440+ fd Linux raid autodetect
Опытным путем выяснил что /dev/sdc1 - ext4, корневой каталог ОС. А как узнать ФС остальных разделов? Кто сталкивался?

 ,

Kroz
()

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