Re: Errors in application building

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

 



On 7/3/07, Lee Revell <rlrevell@xxxxxxxxxxx> wrote:
>
> Use gdb, strace is not useful for this
>
> On 7/3/07, Paul Kavan <pkavan@xxxxxxxxx> wrote:
> > Hello all:
> >
> > Just tried to run with the warnings:
> >
> >
> > >
> > >
> > > grhuser@pcL7:$ arm-linux-gcc -lasound -Wall -o grh_audio grh_audio.c
> > > grh_audio.c: In function 'grh_capture':
> > > grh_audio.c:112: warning: pointer targets in passing argument 3 of
> > 'snd_pcm_hw_params_set_rate_near' differ in signedness
> > > grh_audio.c: In function 'grh_playback':
> > > grh_audio.c:207: warning: pointer targets in passing argument 3 of
> > 'snd_pcm_hw_params_set_rate_near' differ in signedness
> > >
> > > Which comes from the code:
> > >
> > > 112:   if ((err = snd_pcm_hw_params_set_rate_near (capture_handle,
> > hw_params, &sample_rate, 0)) < 0)
> > >
> > >
> > > 207:   if ((err = snd_pcm_hw_params_set_rate_near (playback_handle,
> > hw_params, &sample_rate, 0)) < 0)
> >
> > However,  I get a seg fault when I ran it. The strace of this is:
> >
> > /usr/sbin $ strace grh_audio
> > execve("/usr/sbin/grh_audio", ["grh_audio"], [/* 7 vars */]) = 0
> > mmap2(NULL, 20, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
> =
> > 0x40005000
> > stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=1150, ...}) = 0
> > open("/etc/ld.so.cache", O_RDONLY)      = 3
> > mmap2(NULL, 1150, PROT_READ, MAP_SHARED, 3, 0) = 0x40006000
> > close(3)                                = 0
> > open("/usr/lib/libasound.so.2", O_RDONLY) = 3
> > fstat(3, {st_mode=S_IFREG|0755, st_size=762072, ...}) = 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) =
> > 0x40007000
> > read(3,
> > "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0x\367\1\000"...,
> > 4096) = 4096
> > mmap2(NULL, 794624, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> > 0x4000e000
> > mmap2(0x4000e000, 745564, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
> 0)
> > = 0x4000e000
> > mmap2(0x400cc000, 15508, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
> > 0xb6) = 0x400cc000
> > close(3)                                = 0
> > munmap(0x40007000, 4096)                = 0
> > open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=44167, ...}) = 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) =
> > 0x40007000
> > read(3,
> > "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0X\25\0\000"...,
> > 4096) = 4096
> > mmap2(NULL, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x400d0000
> > mmap2(0x400d0000, 28800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
> 0) =
> > 0x400d0000
> > mmap2(0x400df000, 548, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
> 0x7)
> > = 0x400df000
> > close(3)                                = 0
> > munmap(0x40007000, 4096)                = 0
> > open("/lib/libc.so.0", O_RDONLY)        = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) =
> > 0x40007000
> > read(3,
> > "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0000\253\0"...,
> > 4096) = 4096
> > mmap2(NULL, 360448, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> > 0x400e0000
> > mmap2(0x400e0000, 302380, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
> 0)
> > = 0x400e0000
> > mmap2(0x40132000, 5172, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
> > 0x4a) = 0x40132000
> > mmap2(0x40134000, 16020, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40130
> > close(3)                                = 0
> > munmap(0x40007000, 4096)                = 0
> > open("/lib/libm.so.0", O_RDONLY)        = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=45812, ...}) = 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) =
> > 0x40007000
> > read(3,
> > "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0t\22\0\000"...,
> > 4096) = 4096
> > mmap2(NULL, 81920, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x40138000
> > mmap2(0x40138000, 41428, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
> 0) =
> > 0x40138000
> > mmap2(0x4014a000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
> 0xa)
> > = 0x4014a000
> > close(3)                                = 0
> > munmap(0x40007000, 4096)                = 0
> > open("/lib/libdl.so.0", O_RDONLY)       = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=8900, ...}) = 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) =
> > 0x40007000
> > read(3,
> > "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0(\10\0\000"...,
> > 4096) = 4096
> > mmap2(NULL, 40960, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x4014c000
> > mmap2(0x4014c000, 5760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
> 0) =
> > 0x4014c000
> > mmap2(0x40155000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
> 0x1)
> > = 0x40155000
> > close(3)                                = 0
> > munmap(0x40007000, 4096)                = 0
> > open("/lib/libpthread.so.0", O_RDONLY)  = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=63852, ...}) = 0
> > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) =
> > 0x40007000
> > read(3,
> > "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0D<\0\0004"...,
> > 4096) = 4096
> > mmap2(NULL, 106496, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> > 0x40156000
> > mmap2(0x40156000, 40952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
> 0) =
> > 0x40156000
> > mmap2(0x40168000, 21732, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
> > 0xa) = 0x40168000
> > mmap2(0x4016e000, 5788, PROT_READ|PROT_WRITE,
> > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4016e0
> > close(3)                                = 0
> > munmap(0x40007000, 4096)                = 0
> > open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=44167, ...}) = 0
> > close(3)                                = 0
> > open("/lib/libc.so.0", O_RDONLY)        = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0
> > close(3)                                = 0
> > open("/lib/libc.so.0", O_RDONLY)        = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0
> > close(3)                                = 0
> > open("/lib/libc.so.0", O_RDONLY)        = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0
> > close(3)                                = 0
> > open("/lib/libc.so.0", O_RDONLY)        = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0
> > close(3)                                = 0
> > open("/lib/libc.so.0", O_RDONLY)        = 3
> > fstat(3, {st_mode=S_IFREG|0644, st_size=309840, ...}) = 0
> > close(3)                                = 0
> > munmap(0x40006000, 1150)                = 0
> > stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=21096, ...})
> = 0
> > mprotect(0x40132000, 4096, PROT_READ)   = 0
> > mprotect(0x4014a000, 4096, PROT_READ)   = 0
> > mprotect(0x40155000, 4096, PROT_READ)   = 0
> > mprotect(0x40168000, 4096, PROT_READ)   = 0
> > mprotect(0x4000c000, 4096, PROT_READ)   = 0
> > ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo
> > ...}) = 0
> > ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo
> > ...}) = 0
> > getpid()                                = 756
> > getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) =
> 0
> > setrlimit(RLIMIT_STACK, {rlim_cur=2040*1024, rlim_max=RLIM_INFINITY}) =
> 0
> > rt_sigaction(SIGRTMIN, {0x4015fd70, [], 0x4000000 /* SA_??? */}, NULL,
> 8) =
> > 0
> > rt_sigaction(SIGRT_1, {0x4015fc98, [RTMIN], 0x4000000 /* SA_??? */},
> NULL,
> > 8) = 0
> > rt_sigaction(SIGRT_2, {0x4015f2d0, [], 0x4000000 /* SA_??? */}, NULL, 8)
> = 0
> > rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0
> > rt_sigprocmask(SIG_UNBLOCK, [RT_1], NULL, 8) = 0
> > --- SIGSEGV (Segmentation fault) @ 0 (0) ---
> > +++ killed by SIGSEGV +++
> > Process 756 detached
> >
> >
> > I am still trying to locate why those warnings are popping up, but as
> that
> > part of the code is not called immediately, I am wondering why the seg
> fault
> > is occurring. Any clues?



Lee:

Have attempted to run this with gdb. However, I get:

/usr/sbin $ gdb grh_audio


dlopen failed on 'libthread_db.so.1' - File not found
GDB will not be able to debug pthreads.

GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "arm-linux-uclibc"...(no debugging symbols found)

(gdb)

Trying to determine why...will let you know asap what I find.

Paul



-- 
***************************************
Paul David Kavan
Project Engineer
GRH Electronics, Inc.
402-734-4900
pkavan@xxxxxxxxx
***************************************
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux