|
From: Jelte W. <Jel...@cr...> - 2006-02-13 10:24:27
|
Hello, =20 I am trying to debug my application with valgrind. It uses some third-party supplied binary libraries for which I have no source code. It seems one of these calls an illegal opcode. Does anyone know of a way to circumvent this problem? =20 Find below the full output of valgrind. =20 TIA, =20 Jelte Werkhoven =20 =20 =20 =3D=3D15913=3D=3D Memcheck, a memory error detector. =3D=3D15913=3D=3D Copyright (C) 2002-2005, and GNU GPL'd, by Julian = Seward et al. =3D=3D15913=3D=3D Using LibVEX rev 1313, a library for dynamic binary translation. =3D=3D15913=3D=3D Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks = LLP. =3D=3D15913=3D=3D Using valgrind-3.0.1.SVN, a dynamic binary = instrumentation framework. =3D=3D15913=3D=3D Copyright (C) 2000-2005, and GNU GPL'd, by Julian = Seward et al. --15913-- Valgrind library directory: /usr/lib/valgrind --15913-- Command line --15913-- ./amadeus_proxyd --15913-- start --15913-- Startup, with flags: --15913-- --tool=3Dmemcheck --15913-- -v --15913-- Contents of /proc/version: --15913-- Linux version 2.6.13-15.7-default (geeko@buildhost) (gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)) #1 Tue Nov 29 14:32:29 UTC 2005 --15913-- Reading syms from /home/jelte/devel/amadeus/chroot/bin/amadeus_proxyd (0x8048000) --15913-- Reading syms from /lib/ld-2.3.5.so (0x1B8E4000) --15913-- Reading syms from /usr/lib/valgrind/stage2 (0xB0000000) --15913-- object doesn't have a symbol table --15913-- Reading suppressions file: /usr/lib/valgrind/default.supp =3D=3D15913=3D=3D=20 --15913-- Reading syms from /usr/lib/valgrind/vg_preload_core.so (0x1B8FB000) --15913-- object doesn't have a symbol table --15913-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck.so (0x1B8FE000) --15913-- object doesn't have a symbol table --15913-- REDIR: 0x1B8F5440 (index) redirected to 0x1B9011F0 (index) --15913-- REDIR: 0x1B8F55E0 (strlen) redirected to 0x1B9012A0 (strlen) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libapi_v2_Core.so. (0x1B925000) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libedi.so.3.13 (0x1B96B000) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libedixml.so.2.8 (0x1B98F000) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libedicont.so.1.17 (0x1B99E000) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libexpat.so.1.10 (0x1B9A8000) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libgrammarsXML.so.2_1_31_0 (0x1B9CA000) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libgrammarsCNT.so.2_1_31_0 (0x1BEF0000) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libzlib.so.3.0 (0x1C43B000) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libCryptoLib.so.2.0 (0x1C44D000) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libcontainer.so.2.3 (0x1C454000) --15913-- Reading syms from /home/jelte/devel/amadeus/lib/libtcpsocket.so.3_2 (0x1C45B000) --15913-- Reading syms from /lib/tls/libpthread-2.3.5.so (0x1C468000) --15913-- Reading syms from /lib/tls/libc-2.3.5.so (0x1C47A000) --15913-- Reading syms from /lib/libdl-2.3.5.so (0x1C599000) --15913-- Reading syms from /usr/lib/libstdc++.so.6.0.6 (0x1C59E000) --15913-- object doesn't have a symbol table --15913-- Reading syms from /lib/tls/libm-2.3.5.so (0x1C67A000) --15913-- Reading syms from /lib/libgcc_s.so.1 (0x1C6A0000) --15913-- object doesn't have a symbol table --15913-- REDIR: 0x1B8E47A0 (_dl_sysinfo_int80) redirected to 0xB002303B (???) --15913-- REDIR: 0x1C4E50A0 (memset) redirected to 0x1B9015B0 (memset) --15913-- REDIR: 0x1C4E5570 (memcpy) redirected to 0x1B901690 (memcpy) --15913-- REDIR: 0x1C4E4220 (rindex) redirected to 0x1B9010D0 (rindex) --15913-- REDIR: 0x1C4E3D90 (strlen) redirected to 0x1B901280 (strlen) --15913-- REDIR: 0x1C4E3FB0 (strncmp) redirected to 0x1B9012E0 (strncmp) --15913-- REDIR: 0x1C4DFE20 (malloc) redirected to 0x1B8FF827 (malloc) --15913-- REDIR: 0x1C4DE170 (free) redirected to 0x1B900346 (free) --15913-- REDIR: 0x1C4E3880 (strcpy) redirected to 0x1B9018F0 (strcpy) --15913-- REDIR: 0x1C4E3810 (strcmp) redirected to 0x1B901350 (strcmp) --15913-- REDIR: 0x1C4E0410 (realloc) redirected to 0x1B900BAD (realloc) --15913-- REDIR: 0x1C4E4140 (strncpy) redirected to 0x1B901C00 (strncpy) --15913-- REDIR: 0x1C4E5EB0 (rawmemchr) redirected to 0x1B901670 (rawmemchr) --15913-- REDIR: 0x1C4E4BA0 (memchr) redirected to 0x1B9013F0 (memchr) --15913-- REDIR: 0x1C4E5F80 (strchrnul) redirected to 0x1B901640 (strchrnul) --15913-- REDIR: 0x1C4E5290 (stpcpy) redirected to 0x1B9019A0 (stpcpy) --15913-- REDIR: 0x1C4E36A0 (index) redirected to 0x1B9011C0 (index) --15913-- REDIR: 0x1C4DFAD0 (calloc) redirected to 0x1B900B02 (calloc) --15913-- Reading syms from /lib/libnss_files-2.3.5.so (0x1B905000) vex x86->IR: unhandled instruction bytes: 0x1C 0xFF 0xF 0xB6 =3D=3D15913=3D=3D=20 =3D=3D15913=3D=3D Process terminating with default action of signal 4 = (SIGILL) =3D=3D15913=3D=3D Illegal opcode at address 0x1C462D9D =3D=3D15913=3D=3D at 0x1C462D9D: TCP_Recv (in /home/jelte/devel/amadeus/lib/libtcpsocket.so.3_2) =3D=3D15913=3D=3D by 0x1B93BAAE: CAS_receive (in /home/jelte/devel/amadeus/lib/libapi_v2_Core.so.) =3D=3D15913=3D=3D by 0x1B9435B7: CAS_getAccessToServer (in /home/jelte/devel/amadeus/lib/libapi_v2_Core.so.) =3D=3D15913=3D=3D by 0x1B949D83: CAS_configureConversationFactory (in /home/jelte/devel/amadeus/lib/libapi_v2_Core.so.) =3D=3D15913=3D=3D by 0x1B94A2FE: CAI_createConversationFactory_SI (in /home/jelte/devel/amadeus/lib/libapi_v2_Core.so.) =3D=3D15913=3D=3D by 0x804AD3D: convfac_createConversationFactory (conversationfactory.c:38) =3D=3D15913=3D=3D by 0x804E48F: startServer (proxyd.c:500) =3D=3D15913=3D=3D by 0x804E6EE: main (proxyd.c:590) --15913-- discard syms at 0x1B905000-0x1B910000 in /lib/libnss_files-2.3.5.so due to munmap() =3D=3D15913=3D=3D=20 =3D=3D15913=3D=3D ERROR SUMMARY: 0 errors from 0 contexts (suppressed: = 50 from 4) --15913--=20 --15913-- supp: 3 index-not-intercepted-early-enough-HACK-1 --15913-- supp: 1 strlen-not-intercepted-early-enough-HACK-4 --15913-- supp: 1 strlen-not-intercepted-early-enough-HACK-3 --15913-- supp: 45 dl_relocate_object =3D=3D15913=3D=3D malloc/free: in use at exit: 83037 bytes in 83 blocks. =3D=3D15913=3D=3D malloc/free: 146 allocs, 63 frees, 91663 bytes = allocated. =3D=3D15913=3D=3D=20 =3D=3D15913=3D=3D searching for pointers to 83 not-freed blocks. =3D=3D15913=3D=3D checked 6779916 bytes. =3D=3D15913=3D=3D=20 =3D=3D15913=3D=3D LEAK SUMMARY: =3D=3D15913=3D=3D definitely lost: 0 bytes in 0 blocks. =3D=3D15913=3D=3D possibly lost: 0 bytes in 0 blocks. =3D=3D15913=3D=3D still reachable: 83037 bytes in 83 blocks. =3D=3D15913=3D=3D suppressed: 0 bytes in 0 blocks. =3D=3D15913=3D=3D Reachable blocks (those to which a pointer was found) = are not shown. =3D=3D15913=3D=3D To see them, rerun with: --show-reachable=3Dyes --15913-- memcheck: sanity checks: 29 cheap, 2 expensive --15913-- memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use --15913-- memcheck: auxmaps: 0 searches, 0 comparisons --15913-- memcheck: secondaries: 104 issued (6656k, 6M) --15913-- memcheck: secondaries: 134 accessible and distinguished (8576k, 8M) --15913-- tt/tc: 10318 tt lookups requiring 10932 probes --15913-- tt/tc: 10318 fast-cache updates, 5 flushes --15913-- translate: new 4990 (113946 -> 1830368; ratio 160:10) [0 scs] --15913-- translate: dumped 0 (0 -> ??) --15913-- translate: discarded 121 (2236 -> ??) --15913-- scheduler: 1463672 jumps (bb entries). --15913-- scheduler: 29/5925 major/minor sched events. --15913-- sanity: 30 cheap, 2 expensive checks. --15913-- exectx: 4999 lists, 129 contexts (avg 0 per list) --15913-- exectx: 259 searches, 131 full compares (505 per 1000) --15913-- exectx: 0 cmp2, 142 cmp4, 0 cmpAll Illegal instruction =20 =20 |
|
From: Tom H. <to...@co...> - 2006-02-13 10:41:45
|
In message <E08...@cn...uisetravel.local>
Jelte Werkhoven <Jel...@cr...> wrote:
> I am trying to debug my application with valgrind. It uses some
> third-party supplied binary libraries for which I have no source code.
> It seems one of these calls an illegal opcode. Does anyone know of a way
> to circumvent this problem?
Use the latest version of valgrind?
> vex x86->IR: unhandled instruction bytes: 0x1C 0xFF 0xF 0xB6
That is "sbb Ib, Al" which is implemented in valgrind 3.1.0 so you
need to upgrade.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|