ports/105589: Firefox 2.0 segfaults when saving more than one file per session

Micah micahjon at ywave.com
Fri Dec 8 11:49:58 PST 2006


Joe Marcus Clarke wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Micah wrote:
>> Joe Marcus Clarke wrote:
>>> On Thu, 2006-12-07 at 16:00 -0800, Micah wrote:
>>>> Joe Marcus Clarke wrote:
>>>>> Before anything can be done to fix this, someone needs to provide a
>>>>> backtrace with full debugging symbols.  For more on doing this, see
>>>>> http://www.freebsd.org/gnome/docs/bugging.html .
>>>>>
>>>>> Joe
>>>> Anything else I can provide?
>>> This backtrace appears corrupt.  I do not see how it dies in endian.h.
>>> Rebuild libc and libpthread with debugging symbols, and get a new trace.
>>>
>>> Joe
>>>
>> Okay, but it still died in endian.h. I then rebuilt world with debugging
>> symbols in hope that there's some other library somewhere that needed
>> them, but the stack trace still ends in endian.h
>>
>> I followed it through the debugger in hopes of getting you something
>> more useful. It segfaults while executing line 357 of xdgmimecache.c,
>> (which is: XdgMimeCache *cache = _caches[i]; inside
>> cache_glob_lookup_literal). Stepping into that line of code sends the
>> debugger to endian.h. Is there another non-system library that I need to
>> add debugging symbols to?
> 
> What endian.h files do you have on your system?  What does:
> 
> (gdb) frame 0
> (gdb) l
> 
> Report?
> 
> Joe

(gdb) frame 0
#0  0x48614d0e in cache_glob_lookup_literal (
     file_name=0x8e8b317 "logo-reverse.png", mime_types=0x101, 
n_mime_types=2)
     at endian.h:144
144     {
(gdb) list
139                 ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56)));
140     }
141
142     static __inline __uint32_t
143     __bswap32(__uint32_t _x)
144     {
145
146             return (__byte_swap_int(_x));
147     }
148


kdbg reports that endian.h resides in /usr/include/machine.

- Micah


More information about the freebsd-gnome mailing list