Crash dans la version 2.13.45 et 2.13.46

Bonsoir à l'équipe,

Voici, j'ai un problème de crash avec la nouvelle version 2.13.45, qui se
reproduit avec la version 2.13.46
J'ai signalé le bug par la voie officielle, mais il est refusé car :
"Non-members are not allowed to post messages to this list."

Venons-en au fait (sous Windows XP) :
J'ai un fichier de 1800 lignes, qui comprend 15 \score (des exercices
d'écriture) chacun de 8 à 16 mesures.

À la compilation, il lit correctement le fichier, crée les "midi", puis
affiche
   Finding the ideal number of pages...
   Fitting music on 3 or 4 pages...

et se bloque pendant plusieurs seconde. À ce moment, si je monitorise
l'occupation mémoire, celle-ci monte de plus d'1 Go avant de revenir à sa
position de départ. LilyPond affiche ensuite :

   This application has requested the Runtime to terminate it in an unusual
way.
   Please contact the application's support team for more information.
   terminate called after throwing an instance of 'std::bad_alloc'
     what(): St9bad_alloc
   Durée totale du traitement : 13 secondes

Ni fichier PS ni PDF

Le fichier tournait sans problème sous 2.13.27
J'ai fait les modifications nécessaires pour les alignements verticaux (et
donc, il ne tourne plus sous la 2.13.27).
Avec ces modifications, un autre fichier qui ne contient qu'un \score tourne
parfaitement.

Mais difficile de créer un exemple minimum. Avec 4 \score au lieu de 15, ça
passe sans problème, mais je suis déjà à 473 lignes.

J'ai déposé ce fichier sur ma page en
http://www.espace-midi.com/lilypond/031-045.ly
http://www.espace-midi.com/lilypond/031-045.ly

Qui aurait une idée, pour orienter les recherches, car je me doute qu'il y a
un bouclage dans le calcul de la pagination, et que le programme rend l'âme
quand il a alloué une certaine taille (fort proche de 1 Go en l'occurrence,
mon PC étant équipé de 2 Go).

Pour l'instant, je ne sais dans quelle direction chercher, ni qui contacter.

Merci d'avance,

Jean-François

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Crash-dans-la-version-2-13-45-et-2-13-46-tp5941483p5941483.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

N'est-ce pas ce bug ?
http://code.google.com/p/lilypond/issues/detail?id=1475

N'est-ce pas ce bug ?
http://code.google.com/p/lilypond/issues/detail?id=1475

Ça y ressemble très fort, sinon que je n'ai aucun message d'erreur du type :
lilypond (2769( malloc: *** mmap(size=2097152) failed (error code=12)
*** error: can't allocate region
et que je n'utilise pas le \repeat unfold, mais là, il n'est utilisé que pour créer rapidement un code suffisament long.

Mais beaucoup d'autres éléments en commun.

Donc wait and see, ce rapport est récent, et l'auteur a pu créer un vrai exemple minimum.

Merci pour cette recherche,

Jean-François

= = = = = = = = = = = = = = = = = = = =
               j-f.lucarelli
               ****@****
          20-01-2011

Ça ressemble à ça aussi : http://code.google.com/p/lilypond/issues/detail?id=1098
Apparemment, faire des bookparts permet d'éviter de surcharger la RAM. J'ai déjà eu quelques fois ce genre de problème sur mon ancien PC. Avant de planter, le programme remplissait le (ou la) swap, ce qui bloquait l'ordi pendant assez longtemps. Si votre mise en page impose que vous n'utilisiez pas de bookparts, la solution est sans doute d'avoir beaucoup de RAM ou d'augmenter sensiblement le swap. La première solution est sans doute la meilleure.
Ou alors LilyPond pourrait, une fois la RAM pleine, créer un fichier cache de la RAM utilisée par LilyPond, vider cette partie de la RAM puis repartir de plus belle. Cela reviendrait à peu près au même que d'élargir son swap.
Ou alors il s'agit vraiment d'un bug récent. Mes dernières compilations d'énormes livres remontant à 2.13.25...
Et, c'est vrai, votre message d'erreur ne parle pas clairement d'un problème de mémoire. Je jetterai ce soir un coup d'oeil à votre source.

Je dirais aussi que c'est #1475 .

Bug pas facile à appréhender on dirait.
Mais pas d'inquiétude, il a la priorité "Critical", la version stable
2.14 ne sortira pas tant qu'il n'aura pas été corrigé.
Et d'après les discussions sur -devel il y a des gens sur le coup. :wink:

Cordialement,
Xavier

···

2011/1/20 Bertrand Bordage <****@****>:

N'est-ce pas ce bug ?
http://code.google.com/p/lilypond/issues/detail?id=1475

--
Xavier Scheuer <****@****>

Benkő Pál <****@****> a la prise en charge de ce problème. Si tu pouvais le contacter (en anglais ou hongrois!) et lui donner un petit résumé de ce qui s'est passé, ça l'aiderait à mieux réperer et éliminer le bug.

~Mike

···

On Jan 20, 2011, at 12:50 PM, j-f.lucarelli wrote:

=================================

== En réponse au message du 20-01-2011, 16:31:28 ==

2011/1/20 Bertrand Bordage <****@****>:

N'est-ce pas ce bug ?
http://code.google.com/p/lilypond/issues/detail?id=1475

Je dirais aussi que c'est #1475 .

Bug pas facile à appréhender on dirait.
Mais pas d'inquiétude, il a la priorité "Critical", la version stable
2.14 ne sortira pas tant qu'il n'aura pas été corrigé.
Et d'après les discussions sur -devel il y a des gens sur le coup. :wink:

Cordialement,
Xavier

--
Xavier Scheuer <****@****>

Effectivement, c'est bien celui-là.
De toute manière, il paraît "stable" (si on peut utiliser ce mot pour un bug). J'ai fait des modifications au fichier .ly, il revient constamment.
Ça devrait aider l'équipe de développement à le cerner. Et il est lié à l'amélioration des instructions de l'alignement vertical.
Si je compile avec l'ancienne version, j'obtiens en message l'impossiblilité de faire tenir la partition sur une page.

Courage aux développeurs,

Jean-François

========================================
_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

Nan, c'est bon.
J'ai déjà relayé le message de Jean-François (cf. les commentaires sous
le signalement du bug #1475).

En fait le code incriminé a été identifié.
Un PATCH (correctif) a déjà été proposé mais apparemment personne ne
comprend exactement ce qui se passe. :smiley:

Benkő attend les avis de Neil (développeur qui a proposé le PATCH mais
ne sait pas pourquoi c'est ainsi) et Joe (développeur qui est à
l'origine du nouveau système d'espacement vertical) et va "reconstruire"
tout "from scratch".

Cordialement,
Xavier

···

2011/1/20 ****@**** <****@****>:

Benkő Pál <****@****> a la prise en charge de ce problème.
Si tu pouvais le contacter (en anglais ou hongrois!) et lui donner un
petit résumé de ce qui s'est passé, ça l'aiderait à mieux réperer et
éliminer le bug.

--
Xavier Scheuer <****@****>

Et le temps que j'écrive ce message Joe a répondu, expliquant le
pourquoi du comment et annonçant qu'il avait un PATCH et qu'il était en
train d'effectuer les tests de régression en ce moment.

Bref, dans la prochaine release cela devrait être réglé.

Cordialement,
Xavier

···

2011/1/20 Xavier Scheuer <****@****>:

Nan, c'est bon.
J'ai déjà relayé le message de Jean-François (cf. les commentaires sous
le signalement du bug #1475).

En fait le code incriminé a été identifié.
Un PATCH (correctif) a déjà été proposé mais apparemment personne ne
comprend exactement ce qui se passe. :smiley:

Benkő attend les avis de Neil (développeur qui a proposé le PATCH mais
ne sait pas pourquoi c'est ainsi) et Joe (développeur qui est à
l'origine du nouveau système d'espacement vertical) et va "reconstruire"
tout "from scratch".

--
Xavier Scheuer <****@****>

== En réponse au message du 20-01-2011, 22:47:37 ==

=================================

Voilà, l'exemple et les messages d'erreur ont été envoyé à Benkő, en espérant que cela puisse l'aider à cerner le problème.
Effectivement, ça ressemble à une untilisation récursive de la mémoire, toujours délicat à situer.

Bonne fin de soirée à tous,

Jean-François

Réponse immédiate de Benkő, il semble que la solution soit trouvée, les tests sont en cours.
Efficacité redoutable, dans l'équipe de Lilypond ...

···

========================================
_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

========================================

Réponse immédiate de Benkő, il semble que la solution soit trouvée, les tests sont en cours.
Efficacité redoutable, dans l'équipe de Lilypond ...

Oui, c'en est presque gênant :blush:
Suis-je le seul à sauter partout comme un cabri quand on me demande d'expliquer ce qu'est LilyPond ?

Réponse immédiate de Benkő, il semble que la solution soit trouvée, les
tests sont en cours.
Efficacité redoutable, dans l'équipe de Lilypond ...

Oui, c'en est presque gênant :blush:
Suis-je le seul à sauter partout comme un cabri quand on me demande
d'expliquer ce qu'est LilyPond ?

Certainement pas, la motivation des développeurs aiguise la motivation des utilisateurs. Et c'est certainement un argument lorsqu'on parle de LilyPond à des musiciens sceptiques.

Combien de logiciels dit libres sont verrouillés - ou bridés - tant qu'on ne passe pas au tiroir-caisse !!!

= = = = = = = = = = = = = = = = = = = =
      
               j-f.lucarelli
               ****@****
          21-01-2011

C'est officiellement réglé !

Joe a appliqué les correctifs il y a quelques heures.
Je viens de récupérer les sources, compiler LilyPond et tester : le
fichier "031-045.ly" de Jean-François compile correctement et rapidement
avec la version 2.13.47.

Cordialement,
Xavier

···

2011/1/20 Xavier Scheuer <****@****>:

Et le temps que j'écrive ce message Joe a répondu, expliquant le
pourquoi du comment et annonçant qu'il avait un PATCH et qu'il était en
train d'effectuer les tests de régression en ce moment.

Bref, dans la prochaine release cela devrait être réglé.

--
Xavier Scheuer <****@****>

C'est la version du git. À compiler soi-même. Elle est toujours en avance sur la version publiée sur le site car elle prépare justement cette version.
Le git : http://git.savannah.gnu.org/gitweb/?p=lilypond.git
Et comment s'en servir : http://lilypond.org/doc/v2.13/Documentation/contributor/working-with-source-code
Pratique pour profiter des dernières modifications en évitant de devoir retélécharger et réinstaller à chaque fois une nouvelle version de développement.

======= 25-01-2011 21:56:22 =======

C'est la version du git. À compiler soi-même. Elle est toujours en avance
sur la version publiée sur le site car elle prépare justement cette version.
Le git : http://git.savannah.gnu.org/gitweb/?p=lilypond.git
Et comment s'en servir :
http://lilypond.org/doc/v2.13/Documentation/contributor/working-with-source-code
Pratique pour profiter des dernières modifications en évitant de devoir
retélécharger et réinstaller à chaque fois une nouvelle version de
développement.

Ok, mais c'est un peu beaucoup pour mes neurones vespéraux.
Mais pourquoi pas se lancer dans l'aventure ... demain matin. Les mains dans le cambouis, ça fait longtemps que je n'ai plus risqué.

Merci et bonne soirée,

Jean-François

= = = = = = = = = = = = = = = = = = = =
      
               j-f.lucarelli
               ****@****
          25-01-2011