denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] Denemo crashes


From: Richard Shann
Subject: Re: [Denemo-devel] Denemo crashes
Date: Mon, 13 May 2013 17:52:54 +0100

On Mon, 2013-05-13 at 17:50 +0200, Éloi Rivard wrote:
> I am working with -Wall -Wno-deprecated-declarations, I will see later
> for gtk deprecation warnings.
> I am currently working on warning suppression. There is a lot of
> unused functions
There are just one or two cases I know of where functions are there for
use from a debugger, or when inserting debug statements - well, only one
that I can name immediately - it is a show_type() or some such, which
gets the name of a gtk type. Such things should be (perhaps are) always
marked as being for debugging.

>  and variables, I can suppress some things, but I just comment some
> others, because I don't know if you plan to use theme someday, in this
> case I set a tag UNUSED to allow you to find it. I can also see a lot
> of #ifdef 0. Maybe some cleanup would be welcome, for readability ?

On balance I think the clean up would be good - it will be enough if I
look over the things you delete and copy out anything that looks useful,
perhaps restoring it with some more self-explanatory #ifdef rather than
the #if 0, indeed I think there are a few bits of #ifdef there that
could get activated one day - a bug in the counting of columns in
GtkTextBuffer which may be fixed in gtk3 for example.

> 
> A lot of warning concern typecasting indeed, for data storage for
> example. There is some very bad code about type length (int vs char in
> 64 archs for instance), but I will solve it in a second time since it
> is less trivial.
> 
> And there some cases like the original one of this email, implicit
> function declarations. Maybe that will prevent some other crashes like
> yours.

Sounds good!

Richard


> 
> 
> 
> 2013/5/13 Richard Shann <address@hidden>
>         On Mon, 2013-05-13 at 09:08 +0200, Éloi Rivard wrote:
>         > That makes sense. I didn't event understand why it compiled
>         at all :)
>         
>         
>         It is very common for it not to matter, and not uncommon for
>         it to fail
>         consistently, but I am surprised at seeing apparently random
>         crashes -
>         on one run the label of one menu item was a string that
>         belonged
>         somewhere else altogether. I still haven't seen any crashes
>         since, but I
>         haven't done any serious music typesetting.
>         
>         In this case, if you don't give the prototype for a function
>         it assumes
>         the function returns an int. This only matters if it actually
>         returns
>         something larger - I am guessing that a pointer on a 64-bit
>         architecture
>         might have its top bits corrupted by the optimizer squeezing
>         something
>         else into what it thinks are unused bits in a register.
>         >
>         > I can work on warning suppression, that would maybe make the
>         code
>         > safer.
>         
>         
>         There are one or two cases which I didn't get to the bottom of
>         - type
>         conflicts with built-in functions. And a bunch of warnings
>         that arise
>         from code inside macros that I couldn't quickly fix.
>         And then, most worryingly there are complaints now about
>         storing
>         pointers in integers which I haven't looked closely into, but
>         I imagine
>         could be tricky to fix.
>         
>         >
>         >
>         >
>         > There is a lot of warnings about gtk.
>         
>         
>         Are you referring to the default warning level or -Wall?
>         
>         Richard
>         
>         
>         >
>         >
>         >
>         > 2013/5/12 Richard Shann <address@hidden>
>         >         Eloi,
>         >
>         >         I was getting a crash when doing File->New. The
>         crash vanished
>         >         when I
>         >         turned the optimizer off. I re-compiled and noticed
>         that
>         >         keymapio.c had
>         >         some warnings about prototypes so I put the headers
>         in
>         >         keymapio.h, now
>         >         the crash has gone away. Before finding this
>         consistent crash
>         >         I was just
>         >         getting occasional crashes on startup, never the
>         same twice.
>         >         Denemo used to be full of warnings on compile, but I
>         have been
>         >         reducing
>         >         them whenever I work on a file if I can; I hope this
>         is
>         >         another case
>         >         where it has paid off and that we don't have some
>         threading
>         >         bug lurking
>         >         in the code.
>         >         Below is the backtrace FWIW.
>         >
>         >         Richard
>         >
>         >         #2  0x00000000004b842b in add_ui (
>         >             menupath=0xffffffffd802a010 <Address
>         0xffffffffd802a010
>         >         out of
>         >         bounds>,
>         >             after=0x0, name=0x0)
>         at ../../denemo/src/keyboard.c:195
>         >         #3  0x00000000004b886c in create_command
>         (is_script=<value
>         >         optimized
>         >         out>,
>         >             name=0x7fffd802a0b0 "ScoreTitle", label=<value
>         optimized
>         >         out>,
>         >             scheme=0x7fffd8033ae0 ";;;ScoreTitle\n(let ((tag
>         >         \"ScoreTitle\")
>         >         (title ScoreTitle::params))\n\t(define
>         (blank-title)\n\t\t
>         >         \t(if (not
>         >         (d-DirectiveGet-header-postfix tag))\n\t\t\t\t(begin
>         \n\t\t\t
>         >         \t
>         >         \t(d-DirectivePut-header-override tag 0) \n\t\t\t
>         \t"...,
>         >         tooltip=<value
>         >         optimized out>, hidden=0, after=0x0,
>         >             menupath=0x0,
>         >             fallback=0xffffffffd802a010 <Address
>         0xffffffffd802a010
>         >         out of
>         >         bounds>,
>         >             menupaths=0x0, merge=1)
>         at ../../denemo/src/keyboard.c:279
>         >         #4  0x00000000004d9a2f in parseScripts
>         (filename=<value
>         >         optimized out>,
>         >             interactive=<value optimized out>)
>         >         at ../../denemo/src/keymapio.c:56
>         >         #5  parseCommands (filename=<value optimized out>,
>         >             interactive=<value optimized out>)
>         >         at ../../denemo/src/keymapio.c:213
>         >         #6  parseKeymap (filename=<value optimized out>,
>         >             interactive=<value optimized out>)
>         >         at ../../denemo/src/keymapio.c:230
>         >         #7  load_xml_keymap (filename=<value optimized out>,
>         >             interactive=<value optimized out>)
>         >         at ../../denemo/src/keymapio.c:294
>         >         #8  0x000000000046cd86 in instantiate_script
>         (action=0xfd5960)
>         >         ---Type <return> to continue, or q <return> to
>         quit---
>         >             at ../../denemo/src/view.c:8003
>         >         #9  0x000000000046d0e5 in activate_script
>         (action=0xfd5960,
>         >             param=<value optimized out>)
>         >         at ../../denemo/src/view.c:8082
>         >         #10 0x000000000046d248 in scheme_script_callback (
>         >             script=<value optimized out>,
>         params=0x7fffdd149d80)
>         >             at ../../denemo/src/view.c:1080
>         >
>         >
>         >
>         >         _______________________________________________
>         >         Denemo-devel mailing list
>         >         address@hidden
>         >         https://lists.gnu.org/mailman/listinfo/denemo-devel
>         >
>         >
>         >
>         > --
>         > Éloi Rivard - address@hidden
>         >
>         > « On perd plus à être indécis qu'à se tromper. »
>         >
>         
>         
>         
> 
> 
> 
> -- 
> Éloi Rivard - address@hidden
>         
> « On perd plus à être indécis qu'à se tromper. »
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]