Попытка достать блобы из базы paradox в отдельные файлы с помощью pxview: $ pxview -v --blobextension=jpg -b Personel.MB Personel.db datablock position = 2048 . . . . . datablock position = 1902592 *** stack smashing detected ***: pxview terminated Аварийный останов При экспорте без указания расширения или импорте в mysql то же самое. Без блобов в mysql импортируется, лишь ругается после каждой записи: Couldn't get blob data for 1 (2, 3...) Вывод с valgrind: $valgrind -v pxview Personel.db -b Personel.MB datablock position = 1886208 datablock position = 2738176 datablock position = 1902592 *** stack smashing detected ***: pxview terminated ==25275== ==25275== Process terminating with default action of signal 6 (SIGABRT) ==25275== at 0x4129EB6: raise (in /lib/libc-2.5.1.so) ==25275== by 0x412B660: abort (in /lib/libc-2.5.1.so) ==25275== by 0x415F52A: (within /lib/libc-2.5.1.so) ==25275== by 0x41D1D13: __stack_chk_fail (in /lib/libc-2.5.1.so) ==25275== by 0x4053D83: (within /usr/lib/libpx.so.0.6.3) ==25275== by 0x404867F: PX_open_blob_fp (in /usr/lib/libpx.so.0.6.3) ==25275== by 0x404894E: PX_open_blob_file (in /usr/lib/libpx.so.0.6.3) ==25275== by 0x804BD00: (within /usr/bin/pxview) ==25275== by 0x41180EB: (below main) (in /lib/libc-2.5.1.so) ==25275== ==25275== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 37 from 1) --25275-- --25275-- supp: 37 dl-hack3 ==25275== malloc/free: in use at exit: 365,392 bytes in 84 blocks. ==25275== malloc/free: 536 allocs, 452 frees, 381,890 bytes allocated. ==25275== ==25275== searching for pointers to 84 not-freed blocks. ==25275== checked 568,628 bytes. ==25275== ==25275== LEAK SUMMARY: ==25275== definitely lost: 0 bytes in 0 blocks. ==25275== possibly lost: 0 bytes in 0 blocks. ==25275== still reachable: 365,392 bytes in 84 blocks. ==25275== suppressed: 0 bytes in 0 blocks. ==25275== Rerun with --leak-check=full to see details of leaked memory. --25275-- memcheck: sanity checks: 44 cheap, 2 expensive --25275-- memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use --25275-- memcheck: auxmaps: 0 searches, 0 comparisons --25275-- memcheck: SMs: n_issued = 29 (464k, 0M) --25275-- memcheck: SMs: n_deissued = 0 (0k, 0M) --25275-- memcheck: SMs: max_noaccess = 65535 (1048560k, 1023M) --25275-- memcheck: SMs: max_undefined = 4 (64k, 0M) --25275-- memcheck: SMs: max_defined = 80 (1280k, 1M) --25275-- memcheck: SMs: max_non_DSM = 29 (464k, 0M) --25275-- memcheck: max sec V bit nodes: 0 (0k, 0M) --25275-- memcheck: set_sec_vbits8 calls: 0 (new: 0, updates: 0) --25275-- memcheck: max shadow mem size: 768k, 0M --25275-- translate: fast SP updates identified: 3,485 ( 90.1%) --25275-- translate: generic_known SP updates identified: 199 ( 5.1%) --25275-- translate: generic_unknown SP updates identified: 183 ( 4.7%) --25275-- tt/tc: 8,697 tt lookups requiring 8,843 probes --25275-- tt/tc: 8,697 fast-cache updates, 3 flushes --25275-- transtab: new 3,300 (68,244 -> 1,141,180; ratio 167:10) [0 scs] --25275-- transtab: dumped 0 (0 -> ??) --25275-- transtab: discarded 6 (164 -> ??) --25275-- scheduler: 4,488,266 jumps (bb entries). --25275-- scheduler: 44/50,827 major/minor sched events. --25275-- sanity: 45 cheap, 2 expensive checks. --25275-- exectx: 30,011 lists, 132 contexts (avg 0 per list) --25275-- exectx: 1,025 searches, 893 full compares (871 per 1000) --25275-- exectx: 0 cmp2, 91 cmp4, 0 cmpAll Аварийный останов К сожалению, файл приложить не могу. Но он, вероятно, цел, с ним успешно работает виндовая СУБД.
Имеет смысл тестировать только сборку из Сизифа: pxview-0.2.5-alt2 libpx-0.6.4 По поводу файла - если ошибка именно в блобах, вы наверное можете и создать файл специально для проверки.
(В ответ на комментарий №1) > Имеет смысл тестировать только сборку из Сизифа: > pxview-0.2.5-alt2 > libpx-0.6.4 На момент получения проблемы, в сизифе были версии pxview-0.2.5-alt1 и libpx-0.6.3-alt2, пробовал с ними. А с новыми мне тяжеловато, в зависимостях glibc. Попробуете? > По поводу файла - если ошибка именно в блобах, вы наверное можете и создать > файл специально для проверки. Нашел другой файл, содержащий блобы, при его обработке возникает аналогичная ошибка, прикладываю. Перевесить на Сизиф?
Файл приложить не получается, доступен по ссылке http://file.azdream.ru/wt_pxb.tar.gz
Ошибка возникает после вызова build_mb_block_list(pxblob); в функции PX_open_blob_fp(pxblob_t *pxblob, FILE *fp) { но отлаживать мне некогда. Это библиотека libpx
(В ответ на комментарий №4) > Ошибка возникает после вызова > build_mb_block_list(pxblob); > в функции > PX_open_blob_fp(pxblob_t *pxblob, FILE *fp) { > Это библиотека libpx Мистика, но собрал на домашнем компьютере (Не Альт) с теми же опциями сборки, работает гладко. Пересобирал в hasher в альте - та же ошибка.. Беда, конечно, что Вам некогда, но пакет нужен, буду думать сам. Кстати, у Вас машина времени? Последний pxlib на официальном сайте версии 0.6.3 :)
(В ответ на комментарий №5) > (В ответ на комментарий №4) > > Ошибка возникает после вызова > > build_mb_block_list(pxblob); > > в функции > > PX_open_blob_fp(pxblob_t *pxblob, FILE *fp) { > > Это библиотека libpx > > Мистика, но собрал на домашнем компьютере (Не Альт) с теми же опциями сборки, > работает гладко. Пересобирал в hasher в альте - та же ошибка.. Беда, конечно, > что Вам некогда, но пакет нужен, буду думать сам. Это не мистика, просто в этой другой системе нет такой проверки на запорченность стека. > Кстати, у Вас машина времени? Последний pxlib на официальном сайте версии 0.6.3 Ну небольшая машинка :) http://packages.debian.org/sid/pxlib-dev
test
В 4.1/branch исправления не будут вноситься уже технически (заглушена очередь на сборку), поэтому прошу ошибки, актуальные для sisyphus/p7/t7, перевесить на текущие ветки или сизиф.