Re: pfunct crash on libSDL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Sun, Nov 09, 2008 at 08:25:29PM +0100, Diego 'Flameeyes' Pettenò escreveu:
> 
> Hi,
> 
> at http://www.flameeyes.eu/tmp/dwarves-crash-20081109.tar.bz2 I've
> uploaded a libSDL compiled on my system that crashes pfunct, both with
> -l and with -f some_function.
> 
> The funny thing is that gdb is unable to provide me a backtrace ...
> 
> This is with both an old git copy I had and the latest newest git I can
> fetch today.

Strange:

[acme@doppio pahole]$ cat .git/refs/heads/master 
bcf1c15d8bc8cfe2ce0977d249d49268dfcebaf1

acme@doppio pahole]$ pfunct -TVilf CheckMounts tmp/usr/lib/debug/usr/lib64/libSDL-1.2.so.0.11.2.debug 
/* <91a61> ./src/cdrom/linux/SDL_syscdrom.c:188 */
void CheckMounts(const char  * mtab);
{ /* low_pc=0x49ae0 */
	FILE * mntfp;                                                 //   189
	struct mntent * mntent;                                       //   190
	struct stat stbuf;                                            //   191
	{
		char * tmp;                                           //   195
		char * mnt_type;                                      //   196
		size_t mnt_type_len;                                  //   197
		char * mnt_dev;                                       //   198
		size_t mnt_dev_len;                                   //   199
		{ /* CheckMounts+0xe1 */
			size_t __s1_len;                              //   218
			size_t __s2_len;                              //   218
		} /* lexblock size=15 */
		{
			size_t __s1_len;                              //   242
			size_t __s2_len;                              //   242
		} /* lexblock size=0 */
	} /* lexblock size=0 */
}/* size: 474, variables: 3 */

acme@doppio pahole]$ ldd `which pfunct`
	linux-vdso.so.1 =>  (0x00007fff741fe000)
	libdwarves.so.1 => /home/acme/git/pahole/build/libdwarves.so.1 (0x0000000000110000)
	libdwarves_emit.so.1 => /home/acme/git/pahole/build/libdwarves_emit.so.1 (0x0000000000604000)
	libz.so.1 => /lib64/libz.so.1 (0x000000371d000000)
	libdw.so.1 => /usr/lib64/libdw.so.1 (0x000000371c400000)
	libelf.so.1 => /usr/lib64/libelf.so.1 (0x000000371d800000)
	libc.so.6 => /lib64/libc.so.6 (0x000000371c000000)
	libdl.so.2 => /lib64/libdl.so.2 (0x000000371c800000)
	/lib64/ld-linux-x86-64.so.2 (0x000000371bc00000)
[acme@doppio pahole]$

And I'm using elfutils 0.137 on this machine.

Humm, I see, its the other file in this tarball, the one without
debugging info, that makes the CTF code crash in pfunct, I'll fix that,
but please use the file with .debug suffix for now, its there that the
DWARF info is anyway :-)

Ahm and the backtrace is this:

(gdb) bt
#0  0x000000371c0f33a1 in ?? () from /lib64/libc.so.6
#1  0x000000371c0f38e4 in argp_parse () from /lib64/libc.so.6
#2  0x000000000011d5cf in ctf__load (self=0x604010, argp=0x603360, argc=4, argv=0x7fffffffe158) at /home/acme/git/pahole/ctf_loader.c:797
#3  0x000000000011b5b4 in cus__loadfl (self=0x604010, argp=0x603360, argc=4, argv=0x7fffffffe158) at /home/acme/git/pahole/dwarves.c:2584
#4  0x0000000000402044 in main (argc=4, argv=0x7fffffffe158) at /home/acme/git/pahole/pfunct.c:499

It tries to read the DWARF info, there is none, so it tries to find CTF
data, but then hits a bug.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe dwarves" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux