Menu

#5665 Remove broken and undocumented tracing features

Fixed
Enhancement
2020-01-23
2020-01-18
No

Remove broken and undocumented tracing features

Individual changes:
1. Drop -dtrace-scheme-coverage

As the initial commit dee82b1d0b of scm/coverage.scm notes, this
module requires support for memoize-symbol. This was indeed added
for Guile 1.9.0, but again removed in version 1.9.13. That means
there never was a stable version of Guile that worked with this.

When building / running with current Guile 1.8.8, the executable
crashes because the interpreter raise()s from within a critical
section and (at least my) libc kills the process:
$ guile1.8 -c "(trap-enable 'memoize-symbol)"
throw from within critical section.
Aborted (core dumped)

(With later releases of Guile, there's at least an error message:
$ guile2.0 -c "(trap-enable 'memoize-symbol)"
[...]
ERROR: In procedure memoize-variable-access!:
ERROR: Unbound variable: trap-enable

This is because the mentioned (unstable) release 1.9.13 completely
removed not only memoize-symbol, but the whole trap-* interface.)

  1. Drop -dtrace-memory-frequency

The existing documentation is outdated:
* The option is not bool, but takes an integer. Maybe the frequency,
but in what unit?
* The mentioned patch has been part of Guile since version 1.8.2.
However I can't find the added variable since release 1.9.3, not
unlikely that the module would not work with later versions.

Additionally there is no guide on how to use the produced files (.stacks
and .graph). If somebody has more information and wants this feature back,
please revert this commit and add appropriate documentation.

  1. Delete scripts to measure coverage

build-coverage.sh is meant to configure LilyPond for gathering coverage
information, then runs a full 'make test' and finally calls coverage.py
to postprocess the data.

Apart from using the broken -dtrace-scheme-coverage, build-coverage.sh
only works when called from the repository's root directory (as opposed
to just creating a new build directory). Furthermore it randomly touches
midi2ly and its manpage midi2ly.1 which leads to errors at first.
Finally the called covarage.py doesn't seem to handle coverage data
emitted by the latest GCC, which makes it useless going forward.

  1. Delete script build-profile.sh

It's not described in the documentation and seems to expect files
in input/mutopia which was removed back in 2009.

  1. Update documentation about tracing options

http://codereview.appspot.com/577320043

Discussion

  • Anonymous

    Anonymous - 2020-01-19
    • Description has changed:

    Diff:

    
    
    • Needs: -->
    • Patch: new --> review
     
  • Anonymous

    Anonymous - 2020-01-19

    Passes make, make check and a full make doc.

     
  • Anonymous

    Anonymous - 2020-01-21
    • Patch: review --> countdown
     
  • Anonymous

    Anonymous - 2020-01-21

    Patch on countdown for Jan 23rd.

     
  • Anonymous

    Anonymous - 2020-01-23

    Patch counted down - please push.

     
  • Anonymous

    Anonymous - 2020-01-23
    • Patch: countdown --> push
     
  • Jonas Hahnfeld

    Jonas Hahnfeld - 2020-01-23
    • labels: --> Fixed_2_21_0
    • status: Started --> Fixed
    • Patch: push -->
     
  • Jonas Hahnfeld

    Jonas Hahnfeld - 2020-01-23

    Pushed to staging as

    commit 5534def4466aca7d38868b9decf96c684ae939f4
    Author:     Jonas Hahnfeld <hahnjo@hahnjo.de>
    AuthorDate: Sat Jan 18 17:15:14 2020 +0100
    Commit:     Jonas Hahnfeld <hahnjo@hahnjo.de>
    CommitDate: Thu Jan 23 20:24:22 2020 +0100
    
        Issue 5665/5: Update documentation about tracing options
    
    commit d2f89742234b80649c49a702761b3f56d1cd2bf9
    Author:     Jonas Hahnfeld <hahnjo@hahnjo.de>
    AuthorDate: Sat Jan 18 16:32:33 2020 +0100
    Commit:     Jonas Hahnfeld <hahnjo@hahnjo.de>
    CommitDate: Thu Jan 23 20:24:18 2020 +0100
    
        Issue 5665/4: Delete script build-profile.sh
    
        It's not described in the documentation and seems to expect files
        in input/mutopia which was removed back in 2009.
    
    commit c167b0140a4015d6ca869743445ca76357044e63
    Author:     Jonas Hahnfeld <hahnjo@hahnjo.de>
    AuthorDate: Sat Jan 18 16:19:19 2020 +0100
    Commit:     Jonas Hahnfeld <hahnjo@hahnjo.de>
    CommitDate: Thu Jan 23 20:24:14 2020 +0100
    
        Issue 5665/3: Delete scripts to measure coverage
    
        build-coverage.sh is meant to configure LilyPond for gathering coverage
        information, then runs a full 'make test' and finally calls coverage.py
        to postprocess the data.
    
        Apart from using the broken -dtrace-scheme-coverage, build-coverage.sh
        only works when called from the repository's root directory (as opposed
        to just creating a new build directory). Furthermore it randomly touches
        midi2ly and its manpage midi2ly.1 which leads to errors at first.
        Finally the called covarage.py doesn't seem to handle coverage data
        emitted by the latest GCC, which makes it useless going forward.
    
    commit 1c91eb18ccb1ddd143d60fa273bb1d035da737ec
    Author:     Jonas Hahnfeld <hahnjo@hahnjo.de>
    AuthorDate: Sat Jan 18 16:39:35 2020 +0100
    Commit:     Jonas Hahnfeld <hahnjo@hahnjo.de>
    CommitDate: Thu Jan 23 20:24:11 2020 +0100
    
        Issue 5665/2: Drop -dtrace-memory-frequency
    
        The existing documentation is outdated:
         * The option is not bool, but takes an integer. Maybe the frequency,
           but in what unit?
         * The mentioned patch has been part of Guile since version 1.8.2.
           However I can't find the added variable since release 1.9.3, not
           unlikely that the module would not work with later versions.
    
        Additionally there is no guide on how to use the produced files (.stacks
        and .graph). If somebody has more information and wants this feature back,
        please revert this commit and add appropriate documentation.
    
    commit 626b35da58513e7396af53bc3ec9a0227cd8ecc8
    Author:     Jonas Hahnfeld <hahnjo@hahnjo.de>
    AuthorDate: Sat Jan 18 14:45:27 2020 +0100
    Commit:     Jonas Hahnfeld <hahnjo@hahnjo.de>
    CommitDate: Thu Jan 23 20:24:06 2020 +0100
    
        Issue 5665/1: Drop -dtrace-scheme-coverage
    
        As the initial commit dee82b1d0b of scm/coverage.scm notes, this
        module requires support for memoize-symbol. This was indeed added
        for Guile 1.9.0, but again removed in version 1.9.13. That means
        there never was a stable version of Guile that worked with this.
    
        When building / running with current Guile 1.8.8, the executable
        crashes because the interpreter raise()s from within a critical
        section and (at least my) libc kills the process:
         $ guile1.8 -c "(trap-enable 'memoize-symbol)"
        throw from within critical section.
        Aborted (core dumped)
    
        (With later releases of Guile, there's at least an error message:
         $ guile2.0 -c "(trap-enable 'memoize-symbol)"
        [...]
        ERROR: In procedure memoize-variable-access!:
        ERROR: Unbound variable: trap-enable
    
        This is because the mentioned (unstable) release 1.9.13 completely
        removed not only memoize-symbol, but the whole trap-* interface.)
    
     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.