parserALT
Страницы форума: ← Назад | 1 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 600 | Дальше →
Страницы ветки: ← Назад | 1 2 | одной страницей

Портятся запощенные данные

#21zobzn
→ moko [#19] | 28.05.10 15:21
www.parser.ru → | ответить → | в избранное →
Сборка парсера не помогла. Ни 3.4.0 ни HEAD версия. Все равно те же самые битые данные.
Тогда к следующей неделе попробую организовать ssh доступ. Мне нужно еще что-то дополнительно установить, что может понадобиться при дебаге?
#22MoKo
→ zobzn [#21] | 31.05.10 01:19
www.parser.ru → | ответить → | в избранное →

gdb

Кроме gdb скорее всего ничего не потребуется. :)
Доступ слать на moko@moko.ru.
#23moko
→ MoKo [#22] | 01.06.10 17:37
www.parser.ru → | ответить → | в избранное →

9 лет висело ружье на стене (судя по CVS с 1.72 от 16-Oct-01)

Проблема есть, есть и решение. Интересно, что вылезло это только на конкретной конфигурации - получается во всех остальных системных библиотеках используется реализация memcpy, которой не принциально пересечение областей. Но потенциально может вылезти где угодно и когда угодно. :( На остальные memcpy в коде тоже посмотрим.

man memcpy:


The memcpy() function copies n bytes from memory area src to memory area dest. The memory areas should not overlap. Use memmove(3) if the memory areas do overlap.


>cvs diff -u pa_common.C
Index: pa_common.C
===================================================================
RCS file: /parser3project/parser3/src/main/pa_common.C,v
retrieving revision 1.259
diff -u -r1.259 pa_common.C
--- pa_common.C 25 May 2010 09:30:30 -0000 1.259
+++ pa_common.C 1 Jun 2010 13:18:16 -0000
@@ -102,7 +102,7 @@
while(char* eol=(char*)memchr(bol, '\r', eob -bol)) {
size_t len=eol-bol;
if(dest!=bol)
- memcpy(dest, bol, len);
+ memmove(dest, bol, len);
dest+=len;
*dest++='\n';

@@ -114,7 +114,7 @@
}
// last piece without \r
if(dest!=bol)
- memcpy(dest, bol, eob-bol);
+ memmove(dest, bol, eob-bol);
str[length]=0; // terminating
}

P.S. Вызов fix_line_breaks идет из VForm::AppendFormEntry.
#24zobzn
→ moko [#23] | 01.06.10 18:06
www.parser.ru → | ответить → | в избранное →
После патча вроде все исправилось. Больше проблем не встречал.
Всем большое спасибо за помощь.
Страницы ветки: ← Назад | 1 2 | одной страницей
Страницы форума: ← Назад | 1 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 600 | Дальше →