Re: lug-bg: libgtk2.0-bin.deb undefined symbol
- Subject: Re: lug-bg: libgtk2.0-bin.deb undefined symbol
- From: George Danchev <danchev@xxxxxxxxx>
- Date: Thu, 30 Sep 2004 16:14:58 +0300
On Thursday 30 September 2004 12:44, peyo wrote:
--cut--
> old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0x407d0000
> забелязвам смяна на режима на достъп към read/write
> --> mprotect(0x402fe000, 376832, PROT_READ|PROT_WRITE) = 0
> и тук веднага(без междувременно да се случва нещо там) смяна към read/exec
> --> mprotect(0x402fe000, 376832, PROT_READ|PROT_EXEC) = 0
защо отива на mprotect() остава загадка за мен.
> writev(2, [{"gtk-query-immodules-2.0", 23}, {": ", 2}, {"relocation error",
> 16}, {": ", 2}, {"/usr/lib/libgtk-x11-2.0.so.0", 28}, {": ", 2},
> {"undefined symbol: gdk_threads_lo"..., 34}, {"", 0}, {"", 0}, {"\n", 1}],
> 10) = 108 exit_group(127) = ?
>
> Последните три реда ги няма в читавото изпълнение, което означава, че между
> "мапването " и "ънмапването"(което го има в нормалното изпълнение) се
> случва нещо, което предизвиква последователна смяна на режима на
> достъп(което пък въобще го няма в нормалното изпълнение)
Да не би да са променени някои променливи на sysctl, като тази:
cat /proc/sys/vm/max_map_count
65536
max_map_count:
This file contains the maximum number of memory map areas a process
may have. Memory map areas are used as a side-effect of calling
malloc, directly by mmap and mprotect, and also when loading shared
libraries.
While most applications need less than a thousand maps, certain
programs, particularly malloc debuggers, may consume lots of them,
e.g., up to one or two maps per allocation.
The default value is 65536.
> Което пък ме кара да се обърна към gdb да видя ако мога какво става
> междувременно.
Ами за gdb ок, може да се пребилдне libc6 от debian source package-a
(apt-get build-dep libc6
apt-get source libc6
add -g, set my version
debian/rules binary)
Ама как ще се закачи и наблюдава линкера какво прави и защо го прави малко ми
е мътно ... ако има спецове да казват .... Аз съм по-склонен, че gtk/gdk са
ок, и нещо от линкера който е от libc6 или от кърнела ще да е ?
С това [1] бързо ще се оправиш с gdb, след като имаш пребилднато libc6 дебъг
символите (rms - кратко и ясно ;-), но специално за линкера какво трябва да
прави и как ми е мътно ;-) Може да се намесят дебъг гурутата да кажат.
[1] http://www.unknownroad.com/rtfm/gdbtut/
--
pub 4096R/0E4BD0AB 2003-03-18 <keyserver.bu.edu ; pgp.mit.edu>
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|