gddccontrol-0.4.2-alt12.git20101010 evg@evg ~ $beesu -c gddccontrol Поиск доступных мониторов ....*** stack smashing detected ***: gddccontrol terminated ======= Backtrace: ========= /lib/libc.so.6(__fortify_fail+0x40)[0xb7042220] /lib/libc.so.6(+0xe41da)[0xb70421da] /usr/lib/libddccontrol.so.0(+0x99d4)[0xb70cb9d4] /usr/lib/libddccontrol.so.0(+0x35b3)[0xb70c55b3] /usr/lib/libddccontrol.so.0(ddcci_caps+0x21b)[0xb70c57db] /usr/lib/libddccontrol.so.0(+0x3e01)[0xb70c5e01] /usr/lib/libddccontrol.so.0(ddcci_probe_device+0x5d)[0xb70c631d] /usr/lib/libddccontrol.so.0(ddcci_probe+0x330)[0xb70c6800] gddccontrol[0x804bd6e] gddccontrol[0x804d056] /lib/libc.so.6(__libc_start_main+0xe6)[0xb6f74c96] gddccontrol[0x804b3d1] ======= Memory map: ======== 08048000-08054000 r-xp 00000000 08:11 396081 /usr/bin/gddccontrol 08054000-08055000 r--p 0000b000 08:11 396081 /usr/bin/gddccontrol 08055000-08056000 rw-p 0000c000 08:11 396081 /usr/bin/gddccontrol 08056000-08187000 rw-p 00000000 00:00 0 [heap] b5cc9000-b5ce4000 r-xp 00000000 08:11 884920 /lib/libgcc_s.so.1 b5ce4000-b5ce5000 r--p 0001a000 08:11 884920 /lib/libgcc_s.so.1 b5ce5000-b5ce6000 rw-p 0001b000 08:11 884920 /lib/libgcc_s.so.1 b5cf9000-b5cfa000 rw-p 00000000 00:00 0 b5cfa000-b5d5a000 rw-s 00000000 00:04 464683025 /SYSV00000000 (deleted) b5d5a000-b5d8a000 rw-s 00000000 00:04 464650256 /SYSV00000000 (deleted) b5d8a000-b5da3000 r--s 00000000 08:11 486212 /usr/share/mime/mime.cache b5da3000-b5dab000 r--p 00000000 08:11 565496 /usr/share/locale/ru/LC_MESSAGES/gdk-pixbuf.mo b5dab000-b654f000 r--p 00000000 08:11 543226 /usr/share/icons/hicolor/icon-theme.cache b654f000-b656a000 r--p 00000000 08:11 565549 /usr/share/locale/ru/LC_MESSAGES/glib20.mo b656a000-b656c000 r-xp 00000000 08:11 450797 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so b656c000-b656d000 r--p 00001000 08:11 450797 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so b656d000-b656e000 rw-p 00002000 08:11 450797 /usr/lib/pango/1.6.0/modules/pango-basic-fc.so b656e000-b661e000 r--p 00000000 08:11 535049 /usr/share/fonts/ttf/dejavu/DejaVuSans.ttf b661e000-b6624000 r--s 00000000 08:11 1402333 /var/cache/fontconfig/4f70f4f1f809aff504a916f761d89035-le32d4.cache-3 b6624000-b6629000 r--s 00000000 08:11 1402322 /var/cache/fontconfig/4895606e50256e4cabf266abfab3de0a-le32d4.cache-3 b6629000-b662d000 r--s 00000000 08:11 1402321 /var/cache/fontconfig/044a24978ad5bb89e309a3da312e41f9-le32d4.cache-3 b662d000-b662f000 r--s 00000000 08:11 1402319 /var/cache/fontconfig/602676315df2200a099db7aa99c430ab-le32d4.cache-3 b662f000-b6632000 r--s 00000000 08:11 1402318 /var/cache/fontconfig/485a1f8355cd8a8a4650b1393993d618-le32d4.cache-3 b6632000-b6639000 r--s 00000000 08:11 1402304 /var/cache/fontconfig/b21b32016269415eda92fbbbd5a18fed-le32d4.cache-3 b6639000-b663b000 r--s 00000000 08:11 1401212 /var/cache/fontconfig/ea5bc0860cad7cedc00cc1988b762e2a-le32d4.cache-3 b663b000-b6641000 r--s 00000000 08:11 1402266 /var/cache/fontconfig/61e2d8c2406ea650c2c08429bb80869c-le32d4.cache-3 b6641000-b6677000 r--p 00000000 08:11 565627 /usr/share/locale/ru/LC_MESSAGES/gtk20-properties.mo b6677000-b6682000 r-xp 00000000 08:11 887571 /lib/libnss_files-2.11.3.so b6682000-b6683000 r--p 0000a000 08:11 887571 /lib/libnss_files-2.11.3.so b6683000-b6684000 rw-p 0000b000 08:11 887571 /lib/libnss_files-2.11.3.so b6687000-b6697000 r--s 00000000 08:11 1402258 /var/cache/fontconfig/05bfe6c0ea901d2d6593adc07dfde765-le32d4.cache-3 b6697000-b66c2000 r--p 00000000 08:11 565440 /usr/share/locale/ru/LC_MESSAGES/libc.mo b66c2000-b66db000 r--p 00000000 08:11 565945 /usr/share/locale/ru/LC_MESSAGES/gtk20.mo b66db000-b66e3000 r--p 00000000 08:11 565828 /usr/share/locale/ru/LC_MESSAGES/ddccontrol.mo b66e3000-b6722000 r--p 00000000 08:11 436994 /usr/lib/locale/ru_RU.utf8/LC_CTYPE b6722000-b683f000 r--p 00000000 08:11 435064 /usr/lib/locale/ru_RU.utf8/LC_COLLATE b683f000-b6842000 rw-p 00000000 00:00 0 b6842000-b6846000 r-xp 00000000 08:11 396114 /usr/lib/libXdmcp.so.6.0.0 b6846000-b6847000 r--p 00003000 08:11 396114 /usr/lib/libXdmcp.so.6.0.0 b6847000-b6848000 rw-p 00004000 08:11 396114 /usr/lib/libXdmcp.so.6.0.0 b6848000-b684a000 r-xp 00000000 08:11 396108 /usr/lib/libXau.so.6.0.0 b684a000-b684b000 r--p 00001000 08:11 396108 /usr/lib/libXau.so.6.0.0 b684b000-b684c000 rw-p 00002000 08:11 396108 /usr/lib/libXau.so.6.0.0 b684c000-b684d000 rw-p 00000000 00:00 0 b684d000-b6874000 r-xp 00000000 08:11 884917 /lib/libexpat.so.1.5.2 b6874000-b6875000 ---p 00027000 08:11 884917 /lib/libexpat.so.1.5.2 b6875000-b6877000 r--p 00027000 08:11 884917 /lib/libexpat.so.1.5.2 b6877000-b6878000 rw-p 00029000 08:11 884917 /lib/libexpat.so.1.5.2 b6878000-b688a000 r-xp 00000000 08:11 887584 /lib/libresolv-2.11.3.so b688a000-b688b000 ---p 00012000 08:11 887584 /lib/libresolv-2.11.3.so b688b000-b688c000 r--p 00012000 08:11 887584 /lib/libresolv-2.11.3.so b688c000-b688d000 rw-p 00013000 08:11 887584 /lib/libresolv-2.11.3.so b688d000-b688f000 rw-p 00000000 00:00 0 b688f000-b68a4000 r-xp 00000000 08:11 884827 /lib/libz.so.1.2.5 b68a4000-b68a5000 r--p 00014000 08:11 884827 /lib/libz.so.1.2.5 b68a5000-b68a6000 rw-p 00015000 08:11 884827 /lib/libz.so.1.2.5 b68a6000-b68ac000 r-xp 00000000 08:11 396702 /usr/lib/libxcb-render.so.0.0.0 b68ac000-b68ad000 r--p 00005000 08:11 396702 /usr/lib/libxcb-render.so.0.0.0 b68ad000-b68ae000 rw-p 00006000 08:11 396702 /usr/lib/libxcb-render.so.0.0.0 b68ae000-b68b0000 r-xp 00000000 08:11 396707 /usr/lib/libxcb-shm.so.0.0.0 b68b0000-b68b1000 r--p 00001000 08:11 396707 /usr/lib/libxcb-shm.so.0.0.0 b68b1000-b68b2000 rw-p 00002000 08:11 396707 /usr/lib/libxcb-shm.so.0.0.0 b68b2000-b68b3000 rw-p 00000000 00:00 0 b68b3000-b68d8000 r-xp 00000000 08:11 395395 /usr/lib/libpng12.so.0.46.0 b68d8000-b68d9000 r--p 00024000 08:11 395395 /usr/lib/libpng12.so.0.46.0 b68d9000-b68da000 rw-p 00025000 08:11 395395 /usr/lib/libpng12.so.0.46.0 b68da000-b6948000 r-xp 00000000 08:11 395809 /usr/lib/libpixman-1.so.0.22.2 b6948000-b694c000 r--p 0006d000 08:11 395809 /usr/lib/libpixman-1.so.0.22.2 b694c000-b694d000 rw-p 00071000 08:11 395809 /usr/lib/libpixman-1.so.0.22.2 b694d000-b6950000 r-xp 00000000 08:11 884952 /lib/libdl-2.11.3.so b6950000-b6951000 r--p 00002000 08:11 884952 /lib/libdl-2.11.3.so b6951000-b6952000 rw-p 00003000 08:11 884952 /lib/libdl-2.11.3.so b6952000-b696a000 r-xp 00000000 08:11 396718 /usr/lib/libxcb.so.1.1.0 b696a000-b696b000 r--p 00017000 08:11 396718 /usr/lib/libxcb.so.1.1.0 b696b000-b696c000 rw-p 00018000 08:11 396718 /usr/lib/libxcb.so.1.1.0[1] 8230 exit 1 beesu -c gddccontrol
я на своем мониторе не воспроизвел, значит, это только у вас можно воспризвести. поставьте, пожалуйста, debuginfo пакеты, чтобы отследить, в какой функции возникает ошибка.
и от рута запускать gddccontrol совсем не обязательно, это нежелательный временный хак. достаточно, например, sudo chmod 666 /dev/i2c-* и можно пускать gddccontrol под gdb от простого пользователя.
по идее, консольный ddccontrol тоже должно выбивать, а его отлаживать легче. попробуйте ddccontrol -p выбивает ли?
выбивает не всегда и не везде, поэтому не critical
Падают и графическая версия, и консольная, если каким-либо образом доступны устройства /dev/i2c-* (запуск из под рута или из-за прав доступа): evg@evg ~ $ddccontrol -p ddccontrol версии 0.4.2 Авторские права 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su) Авторские права 2004-2006 Nicolas Boichat (nicolas@boichat.ch) Эта программа распространяется БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. Вы можете распространять ее копии на условиях GNU General Public License. Поиск доступных мониторов....*** stack smashing detected ***: ddccontrol terminated ======= Backtrace: ========= /lib/libc.so.6(__fortify_fail+0x40)[0xb7835220] /lib/libc.so.6(+0xe41da)[0xb78351da] /usr/lib/libddccontrol.so.0(+0x99d4)[0xb78be9d4] /usr/lib/libddccontrol.so.0(+0x35b3)[0xb78b85b3] /usr/lib/libddccontrol.so.0(ddcci_caps+0x21b)[0xb78b87db] /usr/lib/libddccontrol.so.0(+0x3e01)[0xb78b8e01] /usr/lib/libddccontrol.so.0(ddcci_probe_device+0x5d)[0xb78b931d] /usr/lib/libddccontrol.so.0(ddcci_probe+0x330)[0xb78b9800] ddccontrol[0x8049d0c] /lib/libc.so.6(__libc_start_main+0xe6)[0xb7767c96] ddccontrol[0x8048be1] ======= Memory map: ======== 08048000-0804b000 r-xp 00000000 08:11 397115 /usr/bin/ddccontrol 0804b000-0804c000 r--p 00003000 08:11 397115 /usr/bin/ddccontrol 0804c000-0804d000 rw-p 00004000 08:11 397115 /usr/bin/ddccontrol 0804d000-0808f000 rw-p 00000000 00:00 0 [heap] b7445000-b7460000 r-xp 00000000 08:11 884920 /lib/libgcc_s.so.1 b7460000-b7461000 r--p 0001a000 08:11 884920 /lib/libgcc_s.so.1 b7461000-b7462000 rw-p 0001b000 08:11 884920 /lib/libgcc_s.so.1 b7475000-b7476000 rw-p 00000000 00:00 0 b7476000-b747e000 r--p 00000000 08:11 565828 /usr/share/locale/ru/LC_MESSAGES/ddccontrol.mo b747e000-b74bd000 r--p 00000000 08:11 436994 /usr/lib/locale/ru_RU.utf8/LC_CTYPE b74bd000-b75da000 r--p 00000000 08:11 435064 /usr/lib/locale/ru_RU.utf8/LC_COLLATE b75da000-b75db000 rw-p 00000000 00:00 0 b75db000-b7603000 r-xp 00000000 08:11 884953 /lib/libm-2.11.3.so b7603000-b7604000 r--p 00027000 08:11 884953 /lib/libm-2.11.3.so b7604000-b7605000 rw-p 00028000 08:11 884953 /lib/libm-2.11.3.so b7605000-b761a000 r-xp 00000000 08:11 884827 /lib/libz.so.1.2.5 b761a000-b761b000 r--p 00014000 08:11 884827 /lib/libz.so.1.2.5 b761b000-b761c000 rw-p 00015000 08:11 884827 /lib/libz.so.1.2.5 b761c000-b761d000 rw-p 00000000 00:00 0 b761d000-b7620000 r-xp 00000000 08:11 884952 /lib/libdl-2.11.3.so b7620000-b7621000 r--p 00002000 08:11 884952 /lib/libdl-2.11.3.so b7621000-b7622000 rw-p 00003000 08:11 884952 /lib/libdl-2.11.3.so b7622000-b774b000 r-xp 00000000 08:11 396722 /usr/lib/libxml2.so.2.7.8 b774b000-b774f000 r--p 00128000 08:11 396722 /usr/lib/libxml2.so.2.7.8 b774f000-b7750000 rw-p 0012c000 08:11 396722 /usr/lib/libxml2.so.2.7.8 b7750000-b7751000 rw-p 00000000 00:00 0 b7751000-b78ae000 r-xp 00000000 08:11 884888 /lib/libc-2.11.3.so b78ae000-b78af000 ---p 0015d000 08:11 884888 /lib/libc-2.11.3.so b78af000-b78b1000 r--p 0015d000 08:11 884888 /lib/libc-2.11.3.so b78b1000-b78b2000 rw-p 0015f000 08:11 884888 /lib/libc-2.11.3.so b78b2000-b78b5000 rw-p 00000000 00:00 0 b78b5000-b78c0000 r-xp 00000000 08:11 395399 /usr/lib/libddccontrol.so.0.0.0 b78c0000-b78c1000 r--p 0000b000 08:11 395399 /usr/lib/libddccontrol.so.0.0.0 b78c1000-b78c2000 rw-p 0000c000 08:11 395399 /usr/lib/libddccontrol.so.0.0.0 b78c4000-b78c5000 r--p 00000000 08:11 435262 /usr/lib/locale/ru_RU.utf8/LC_NUMERIC b78c5000-b78c6000 r--p 00000000 08:11 436495 /usr/lib/locale/ru_RU.utf8/LC_TIME b78c6000-b78c7000 r--p 00000000 08:11 436494 /usr/lib/locale/ru_RU.utf8/LC_MONETARY b78c7000-b78c8000 r--p 00000000 08:11 442819 /usr/lib/locale/ru_RU.utf8/LC_MESSAGES/SYS_LC_MESSAGES b78c8000-b78c9000 r--p 00000000 08:11 434857 /usr/lib/locale/ru_RU.utf8/LC_PAPER b78c9000-b78ca000 r--p 00000000 08:11 435198 /usr/lib/locale/ru_RU.utf8/LC_NAME b78ca000-b78cb000 r--p 00000000 08:11 436982 /usr/lib/locale/ru_RU.utf8/LC_ADDRESS b78cb000-b78cc000 r--p 00000000 08:11 436520 /usr/lib/locale/ru_RU.utf8/LC_TELEPHONE b78cc000-b78cd000 r--p 00000000 08:11 434846 /usr/lib/locale/ru_RU.utf8/LC_MEASUREMENT b78cd000-b78d4000 r--s 00000000 08:11 419371 /usr/lib/gconv/gconv-modules.cache b78d4000-b78d5000 r--p 00000000 08:11 436493 /usr/lib/locale/ru_RU.utf8/LC_IDENTIFICATION b78d5000-b78d6000 rw-p 00000000 00:00 0 b78d6000-b78f4000 r-xp 00000000 08:11 884817 /lib/ld-2.11.3.so b78f4000-b78f5000 r-xp 00000000 00:00 0 [vdso] b78f5000-b78f6000 r--p 0001e000 08:11 884817 /lib/ld-2.11.3.so b78f6000-b78f7000 rw-p 0001f000 08:11 884817 /lib/ld-2.11.3.so bfd46000-bfd67000 rw-p 00000000 00:00 0 [stack] [1] 32563 abort (core dumped) ddccontrol -p evg@evg ~ $gdb ddccontrol core GNU gdb (GDB) 7.2-alt2 (ALT Linux) Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i586-alt-linux". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/ddccontrol...(no debugging symbols found)...done. [New Thread 32563] Reading symbols from /usr/lib/libddccontrol.so.0...Reading symbols from /usr/lib/debug/usr/lib/libddccontrol.so.0.0.0.debug...done. done. Loaded symbols for /usr/lib/libddccontrol.so.0 Reading symbols from /lib/libc.so.6...Reading symbols from /usr/lib/debug/lib/libc-2.11.3.so.debug...done. done. Loaded symbols for /lib/libc.so.6 Reading symbols from /usr/lib/libxml2.so.2...Reading symbols from /usr/lib/debug/usr/lib/libxml2.so.2.7.8.debug...done. done. Loaded symbols for /usr/lib/libxml2.so.2 Reading symbols from /lib/ld-linux.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.11.3.so.debug...done. done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /lib/libdl.so.2...Reading symbols from /usr/lib/debug/lib/libdl-2.11.3.so.debug...done. done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/libz.so.1...Reading symbols from /usr/lib/debug/lib/libz.so.1.2.5.debug...done. done. Loaded symbols for /lib/libz.so.1 Reading symbols from /lib/libm.so.6...Reading symbols from /usr/lib/debug/lib/libm-2.11.3.so.debug...done. done. Loaded symbols for /lib/libm.so.6 Reading symbols from /lib/libgcc_s.so.1...Reading symbols from /usr/lib/debug/lib/libgcc_s.so.1.debug...done. done. Loaded symbols for /lib/libgcc_s.so.1 Core was generated by `ddccontrol -p'. Program terminated with signal 6, Aborted. #0 0xb777bb17 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 64 return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig); (gdb) bt #0 0xb777bb17 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #1 0xb777d2ae in abort () at abort.c:92 #2 0xb77b6c97 in __libc_message (do_abort=2, fmt=0xb7875755 "*** %s ***: %s terminated\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:186 #3 0xb7835220 in __fortify_fail (msg=0xb787573d "stack smashing detected") at fortify_fail.c:32 #4 0xb78351da in __stack_chk_fail () at stack_chk_fail.c:29 #5 0xb78be9d4 in __stack_chk_fail_local () at stack_chk_fail_local.c:29 #6 0xb78b85b3 in ddcci_parse_caps ( caps_str=0x8050000 "(prot(monitor)type(lcd)model(L196WTQ)cmds(0102030CE3F3)vcp(0203040506080B0C0E101214(01050607080B)16181A1E20303E5260(0103)6C6E7087ACAEB6C0C6C8C9D6(0104)DFF1F2(000102)F3(00010203)FC(00010203)FD(0001)FE("..., caps=0xbfd63eb4, add=1) at ddcci.c:720 #7 0xb78b87db in ddcci_caps (mon=0xbfd63e94) at ddcci.c:814 #8 0xb78b8e01 in ddcci_open_with_addr (mon=0xbfd63e94, filename=<value optimized out>, probing=1, edid=80, addr=55) at ddcci.c:943 #9 0xb78b931d in ddcci_probe_device (filename=0x8077a98 "dev:/dev/i2c-3", current=0xbfd64344, last=0xbfd64340) at ddcci.c:1046 #10 0xb78b9800 in ddcci_probe () at ddcci.c:1160 #11 0x08049d0c in ?? () #12 0xb7767c96 in __libc_start_main (main=0x8048fc0, argc=2, ubp_av=0xbfd65234, init=0x804a220, fini=0x804a280, rtld_fini=0xb78e47a0 <_dl_fini>, stack_end=0xbfd6522c) at libc-start.c:226 #13 0x08048be1 in ?? () (gdb)
выцарапайте, пожалуйста, полное значение caps_str это та, которая (prot(monitor)type(lcd)model(L196WTQ)cmds(0102030CE3F3)vcp(0203040506080B0C0E101214(01050... а также сообщите пожалуйста название вашего монитора.
(gdb) print caps_str
Дамп сбрасывается, только когда запуск идёт не из под рута и есть доступ к /dev/i2c-*. Видимо, так и должно быть. (gdb) print caps_str No symbol "caps_str" in current context. Модель там тоже упомянута: LG Flatron L196WTQ (это второй монитор. На первом мониторе, Samsung SyncMaster 172N, валится с такой же руганью).
сначала frame 6 чтобы попасть на ddcci_parse_caps если я правильно помню
(gdb) frame 6 #6 0xb782a5b3 in ddcci_parse_caps ( caps_str=0x8050000 "(prot(monitor)type(lcd)model(L196WTQ)cmds(0102030CE3F3)vcp(0203040506080B0C0E101214(01050607080B)16181A1E20303E5260(0103)6C6E7087ACAEB6C0C6C8C9D6(0104)DFF1F2(000102)F3(00010203)FC(00010203)FD(0001)FE("..., caps=0xbfb163e4, add=1) at ddcci.c:720 720 } (gdb) print caps_str $1 = 0x8050000 "(prot(monitor)type(lcd)model(L196WTQ)cmds(0102030CE3F3)vcp(0203040506080B0C0E101214(01050607080B)16181A1E20303E5260(0103)6C6E7087ACAEB6C0C6C8C9D6(0104)DFF1F2(000102)F3(00010203)FC(00010203)FD(0001)FE("... (gdb)
обрезало конец строки :( ничего, приложите, пожалуйста, core file, я завтра сам вытащу строку.
Created attachment 5069 [details] Core dump
Created attachment 5070 [details] test case
Created attachment 5071 [details] capacity string
в общем, проблема локализована, ф-я ddcci_parse_caps некорректно парсит то, что выдает ваш монитор. Проблема, что апстрим скорее мертв, чем жив, поэтому смотреть, где у них ошибка, придется нам. Я посмотрю на досуге, а если хотите ускорить, то я приложил коротенькую test_ddcci.c, которая воспроизводит ошибку в этой ф-и. Если хотите ускорить дело, соберите gcc -g -o test_ddcci test_ddcci.c; ./test_ddcci и разберитесь почему падает :) там не очень сложно. Я просто уже спать хочу.
ddccontrol-0.4.2-alt13.git20101010 -> sisyphus: * Sun Aug 28 2011 Igor Vlasenko <viy@altlinux> 0.4.2-alt13.git20101010 - fixed buffer overflow (closes: 26177)
Теперь и у меня не падает.