Crash under Fedora 17

Henrik Brautaset Aronsen subsurface at henrik.synth.no
Sun Oct 7 04:54:34 PDT 2012


Den 07.10.12 13:53, skrev Dirk Hohndel:
> Miika Turkia <miika.turkia at gmail.com> writes:
>
>> On Sun, Oct 7, 2012 at 11:27 AM, Dirk Hohndel <dirk at hohndel.org> wrote:
>>> Benjamin <nystire at gmail.com> writes:
>>>
>>>> Nothing. I tried it on two other computers. Worked perfectly. I think I may
>>>> need to reinstall my laptop. Maybe I screwed something up during the
>>>> upgrade from F16 to F17.
>>> Ok. Thanks for reporting back. I'll consider this one "unconfirmed" for
>>> now.
>>>
>>> I'll tag 2.0 in the next few minutes and push things out.
>> Aargh, bad news. I just got a bit of inspiration to get back to my
>> real dive log after seeing the tagging message. And of course there is
>> a crash. Reproducible with some test dives also. (Ubuntu 64 bit)
>>
>> $ gconftool-2 --recursive-unset /apps/subsurface # clear the configurations
>> $ ./subsurface dives/test1*.xml
>> - Go to File->Preferences
>> - Toggle "Automaticall group dives in trips"
>> - Hit "OK"
>>
>> #0  0x00007ffff5623445 in __GI_raise (sig=<optimised out>) at
>> ../nptl/sysdeps/unix/sysv/linux/raise.c:64
>> #1  0x00007ffff5626bab in __GI_abort () at abort.c:91
>> #2  0x00007ffff566149e in __libc_message (do_abort=2,
>> fmt=0x7ffff576b108 "*** glibc detected *** %s: %s: 0x%s ***\n") at
>> ../sysdeps/unix/sysv/linux/libc_fatal.c:201
>> #3  0x00007ffff566bc96 in malloc_printerr (action=3,
>> str=0x7ffff576b1f8 "munmap_chunk(): invalid pointer", ptr=<optimised
>> out>) at malloc.c:5007
>> #4  0x000000000042b77a in preferences_dialog (w=0x750150, data=0x0) at
>> gtk-gui.c:681
> This makes perfect sense. I missed that when reviewing Lubomir's memory
> leak patches...:
>
> b272fb8c (Lubomir I. Ivanov        2012-10-04 23:52:09 +0300  680)              if (divelist_font)
> b272fb8c (Lubomir I. Ivanov        2012-10-04 23:52:09 +0300  681)                      free((void *)divelist_font);
>
> but if no font is set, this is what linux.c does:
>
> void subsurface_ui_setup(GtkSettings *settings, GtkWidget *menubar,
>                  GtkWidget *vbox, GtkUIManager *ui_manager)
> {
>          if (!divelist_font)
>                  divelist_font = DIVELIST_DEFAULT_FONT;
>
> So we are handing a string literal to free. Not good.
>
> MacOS does the same, so my guess is that Henrik has a font in his
> config...

Nope, I deleted the preferences before testing.

H


More information about the subsurface mailing list