Forums | Admin

Discussion Forums: help

Start New Thread Start New Thread

 

By: Vincent Carmona
RE: [git version] Erreur de segmentation [ reply ]  
2008-12-17 21:13
Je teste un autre binding pour gstreamer. J'ai plus l'erreur:
GStreamer-CRITICAL **: gst_element_set_state: assertion `GST_IS_ELEMENT (element)' failed.
As-tu toujours cette erreur?
As-tu toujours l'erreur de segmentation?

J'ai désactiver certaines fonctions pour l'instant (cd, radio).
Pour cette nouvelle version, sous Ubuntu, il faut installer le paquet libgst-ruby.
Si je continue avec ce binding (à voir, je n'ai pas encore décidé), les paquets libgstreamer0.10-ruby et libgstreamer0.10-ruby1.8 ne seront plus nécessaires.

By: draco draco
RE: [git version] Erreur de segmentation [ reply ]  
2008-12-04 21:24
J'ai le même bug, à priori toujours à la 5ième lecture.
Par contre, je ne pense pas que l'erreur de segmentation soit dû à ce bug !

En ce qui concerne l'installation des 2 versions, je te remercie pour ton explication.
Je tenterai cela prochainement.

By: Vincent Carmona
RE: [git version] Erreur de segmentation [ reply ]  
2008-12-01 18:48
Pour faire cohabiter les 2 versions:
désinstalle tout,
installe 0.5.5 normalement,
installe la version git dans un autre répertoire (/opt par exemple) en utilisant l'option prefix du script configure (./configure --prefix=/opt).

Normalement ZiK.rb devrait lancer la version 0.5.5 (à vérifier avec: which ZiK.rb). Il faudra utiliser le chemin complet pour lancer la version git (/opt/bin/ZiK.rb).

J'ai posté un bug sur launchpad:
https://bugs.launchpad.net/ubuntu/+source/ruby-gstreamer0.10/+bug/304080
Pourrais-tu vérifier que le même bug t'affecte. Si c'est le cas, poste un commentaire en précisant que tu es en 64 bit.

By: draco draco
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-28 22:34
OK, heureux que tu ais une piste.
Tiens-moi au courant quand tu auras commité une nouvelle version pour que je puisse refaire des tests :)

En attendant, je souhaite changer de lecteur, car là ça plante vraiment trop souvent !

A ce propos, est-il possible de faire cohabiter la version 0.5.5 de ZiK et la branche 0.6 "réécrite" ??
Si oui, comment faut-il procéder à l'installation ?

By: Vincent Carmona
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-27 19:48
J'ai identifié un comportement un peu "bizarre" du binding gstreamer-ruby.
Je vais essayé de voir si c'est dû à une mauvaise utilisation de ma part ou au binding.

By: draco draco
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-24 19:04
Après modif, il ne semble plus y avoir de segfault.
En tout cas, c'est moins fréquent que d'habitude.
J'ai pu lire plus de 3 morceaux à la suite sans plantage.
Par contre, on ne voit plus la piste en cours surlignée.
En fait, c'est toujours la première piste lue qui est surlignée.

... et voilà le premier plantage pendant que j'écris !!!
Alors, voyaons voir la log :

lundi 24 novembre 2008, 19:53:15 (UTC+0100)

Erreur de ZiK : Code 134

==> StdErr :

Error. Disable cd support.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/01 Everyday I love you less and less.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/02 I predict a riot.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/03 Modern way.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/04 Na Na Na Na Naa.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/05 You can have it all.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/06 Oh my god.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/07 Born to be a dancer.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/08 Saturday night.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/09 What did I ever give you-.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/10 Time honoured tradition.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/11 Caroline, yes.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/12 Team mate.wma's tag.

(ZiK.rb:11829): GStreamer-CRITICAL **: gst_element_set_state: assertion `GST_IS_ELEMENT (element)' failed

(ZiK.rb:11829): GStreamer-CRITICAL **: gst_element_set_state: assertion `GST_IS_ELEMENT (element)' failed
/usr/local/bin/ZiK.rb:164: [BUG] Segmentation fault
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]


==> StdOut :

Player stopped.
Playing AaRON - Strange Fruit.
Player stopped.
Playing AaRON - Strange Fruit.
Playing AaRON - Strange Fruit.
Playing AaRON - Strange Fruit.
Pause.
Playing AaRON - Strange Fruit.
Player stopped.
Playing Așa - Fire on the Mountain.

Les différentes lignes sur AaRON sont normal, j'ai essayé de cliquer plusieurs fois stop/play, pause/play ou play tout seul.
Il semble que le bug ait eu lieu au changement de piste une fois encore.
L'erreur sur "gst_element_set_state" apparaissait de temps en temps lors de certains segfault.
Il y a peut-être deux sources de segfault, et l'on en a trouvé qu'une !

... encore un autre ...

lundi 24 novembre 2008, 19:59:13 (UTC+0100)

Erreur de ZiK : Code 134

==> StdErr :

Error. Disable cd support.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/01 Everyday I love you less and less.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/02 I predict a riot.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/03 Modern way.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/04 Na Na Na Na Naa.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/05 You can have it all.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/06 Oh my god.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/07 Born to be a dancer.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/08 Saturday night.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/09 What did I ever give you-.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/10 Time honoured tradition.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/11 Caroline, yes.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/12 Team mate.wma's tag.
/usr/local/bin/ZiK.rb:164: [BUG] Segmentation fault
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]


==> StdOut :

/home/draco/.ZiK/draco/ZiKrc read.
Add /home/draco/.ZiK/draco/ZiK.m3u to playlist.
/home/draco/.ZiK/draco/radio read.
Refreshing tree view...done.
Playing James Blunt - Billy.
Player stopped.
Playing Mig - Smoke of Lies.


Finalement je ne suis pas sûr qu'il y en ai moins ...

By: draco draco
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-24 18:35
J'ai du mal commenter le bloc parce que ZiK n'aime pas du tout !

Voici le retour en console :

lundi 24 novembre 2008, 19:27:33 (UTC+0100)

Erreur de ZiK : Code 1

==> StdErr :

/usr/local/bin/ZiK.rb:47:in `require': /usr/local/share/ZiK/gui/gui.rb:577: syntax error, unexpected '=', expecting kEND (SyntaxError)
=begin
^
/usr/local/share/ZiK/gui/gui.rb:585: syntax error, unexpected '=', expecting kEND
=end
^
/usr/local/share/ZiK/gui/gui.rb:848: syntax error, unexpected $end, expecting kEND
from /usr/local/bin/ZiK.rb:47

==> StdOut :

Voici la modif que j'ai réalisée :

if duration <= 0
@lduration.text='--:--'
@sposition.set_range(0,1200)#Use 20 minutes if song's duration is not known.
else
@lduration.text=Time.at(duration).strftime("%M:%S")
@sposition.set_range(0,duration)
end
# store.each{|model,path,iter|
# if path.to_s.to_i==playlist.current
# iter[1]=true
# else
# iter[1]=false
# end
# }
=begin
store.each{|model,path,iter|
if path.to_s.to_i==playlist.current
iter[1]=true
else
iter[1]=false
end
}
=end
@timeout=Gtk.timeout_remove(@timeout) unless @timeout.nil?
@timeout=Gtk.timeout_add(400){
position=player.position
if position <= 0
@lposition.text="--:--"
else
@lposition.text=Time.at(position).strftime("%M:%S")
end
@sposition.value=position unless @seeking
player.playing?
}

Je vais réessayer en enlevant les tabulations devant le =begin et le =end.

By: Vincent Carmona
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-24 17:31
Pour vérifier que l'erreur vient bien du bloc (fichier gui/gui.rb ligne 570):

store.each{|model,path,iter|
if path.to_s.to_i==playlist.current
iter[1]=true
else
iter[1]=false
end
}

Peux-tu le commenter (ou le supprimer) en le remplaçant par:

=begin
store.each{|model,path,iter|
if path.to_s.to_i==playlist.current
iter[1]=true
else
iter[1]=false
end
}
=end

Il faut que =begin et =end soit en début de ligne pour définir un commentaire multiligne.

By: draco draco
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-23 21:33
Je n'ai pas réussit à reproduire le bug dû à l'arborescence.
En revanche le segfault à la lecture est courant.
Je dirais au moins 9 fois sur 10 lors du changement de piste.
Je ne clique jamais sur lecture vu que je suis en lecture automatique.

By: Vincent Carmona
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-22 15:10
Après l'erreur de segmentation, ZiK rend-il la main au terminal?
Je n'ai jamais utilisé strace mais d'après le log, l'erreur aurait lieu dans le bloc:

store.each{|model,path,iter|
if path.to_s.to_i==playlist.current
iter[1]=true
else
iter[1]=false
end
}

Ce bloc intervient lors de la phase d'initialisation de la méthode play. L'erreur a-t-elle toujours lieu lors d'un clis sur le bouton lecture ou au changement de piste?

Dans ce cas, je ne voie pas le lien avec le dépliement de l'arborescence.

By: draco draco
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-22 11:34
Encore un !!
Cette fois j'ai pu le reproduire 2 fois de suite !
Je ne pense pas qu'il y ait de lien avec les autres, mais la log est la même.

En fait, j'obtiens un segfault lorsque je veux "déplirer" l'arborescence d'un dossier situé sur un disque NTFS.
Je ne sais pas si le fait que le disque soit en NTFS ait son importance.

ZiK a planté deux fois de suite en segfault avec la même trace (mais lecture d'une piste différente), la troisième fois, le bug n'a pas été reproduit.

Le code retour est toujours 134, et la log toujours la même :
/usr/local/bin/ZiK.rb:164: [BUG] Segmentation fault
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

By: draco draco
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-22 11:28
Je viens de lancer un strace ZiK.rb
Une erreur est survenue mais je ne suis pas sûr que ce soit la même que ci dessus.
En espérant que la log soit plus parlante :

[...]
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0

(ZiK.rb:3656): GStreamer-CRITICAL **: gst_element_set_state: assertion `GST_IS_ELEMENT (element)' failed
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
write(2, "/usr/local/share/ZiK/gui/gui.rb:"..., 37/usr/local/share/ZiK/gui/gui.rb:570: ) = 37
write(2, "[BUG] ", 6[BUG] ) = 6
write(2, "Segmentation fault", 18Segmentation fault) = 18
write(2, "\nruby 1.8.7 (2008-08-11 patchlev"..., 55
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

) = 55
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(3656, 3656, SIGABRT) = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT +++
Process 3656 detached

La ligne 570 de gui.rb est la suivante :

if song.nil?
$stderr.puts "Song n°#{playlist.current} do not exists." unless $quiet
else
player.play(song)
@song_title.set_markup("<b>#{song.name}</b>")
duration=song.duration
if duration <= 0
@lduration.text='--:--'
@sposition.set_range(0,1200)#Use 20 minutes if song's duration is not known.
else
@lduration.text=Time.at(duration).strftime("%M:%S")
@sposition.set_range(0,duration)
end
store.each{|model,path,iter| <<<=== ICI
if path.to_s.to_i==playlist.current
iter[1]=true
else
iter[1]=false
end
}
@timeout=Gtk.timeout_remove(@timeout) unless @timeout.nil?
@timeout=Gtk.timeout_add(400){
position=player.position
if position <= 0
@lposition.text="--:--"
else
@lposition.text=Time.at(position).strftime("%M:%S")
end
@sposition.value=position unless @seeking
player.playing?
}
end
end


By: draco draco
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-22 11:17
Les erreurs de segmentation reviennent très régulièrement chez moi.
En fait, je crois que ZiK n'arrive que très rarement à lire plus d'une piste à la suite !
Je me suis donc fait un petit script qui le relance en boucle.
Le petit script réalise également une mise à jour depuis le dépot git au premier lancement.
Cela m'assure de bénéficier des dernières amélioration, et de relancer ZiK tout en logant les erreurs.

Le dernier rapport concernant une erreur de segmentation est le suivant :

samedi 22 novembre 2008, 11:56:24 (UTC+0100)

Erreur de ZiK : Code 134

==> StdErr :

Error. Disable cd support.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/01 Everyday I love you less and less.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/02 I predict a riot.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/03 Modern way.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/04 Na Na Na Na Naa.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/05 You can have it all.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/06 Oh my god.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/07 Born to be a dancer.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/08 Saturday night.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/09 What did I ever give you-.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/10 Time honoured tradition.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/11 Caroline, yes.wma's tag.
Cannot read /media/SeagateFreeAgent/MP3/Kaiser Chiefs/Employment/12 Team mate.wma's tag.
d/usr/local/bin/ZiK.rb:164: [BUG] Segmentation fault
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]


==> StdOut :

Add /home/draco/.ZiK/draco/ZiK.m3u to playlist.
/home/draco/.ZiK/draco/radio read.
Refreshing tree view...done.
Playing Kaiser Chiefs - Introduction.
Player stopped.
Playing James Blunt - Cry.
Player stopped.
Playing Mig - Smoke of Lies.
Player stopped.
Playing James Blunt - Where Is My Mind?.

La ligne 164 de ZiK.rb est dans le bloc ci-dessous :

include GetText
bindtextdomain('ZiK', {:path=>Locale_dir})
gui=Gui.new(player, playlist, config, cdplayer, cdlist, radioplayer, radiolist)
gui.show
player.gui=gui
cdplayer.gui=gui if $cd

begin
Gtk.main <<<=== ICI
if write_config
playlist.save_m3u(File.join(User_dir,'ZiK.m3u'))
config['current_song']=playlist.current
config['volume']=player.volume
config.write
radiolist.write if $radio
end
ensure
player.stop
cdplayer.stop if $cd
radioplayer.stop if $radio
end

puts "Bye." unless $quiet

Je peux fournir des log plus poussée si tu me donnes les commandes à lancer.
Peut-être ai-je également une version différente de certain paquet/lib.
A noter que je suis en 64 bits, cela peut-être une piste pour le debuggage.
(Je sais qu'en C cela peux poser problème lorsqu'un pointeur est stoqué dans un integer par exemple)

By: Vincent Carmona
RE: [git version] Erreur de segmentation [ reply ]  
2008-11-20 20:40
Bonjour.
Je ne sais pas très bien d'où peut venir cette erreur. Je n'ai reproduit cette erreur qu'une fois. Cependant, j'ai modifié la méthode "play". Je ne sais pas si celà a résolu le problème.

La nouvelle version est disponible dans le dépôt.

By: draco draco
[git version] Erreur de segmentation [ reply ]  
2008-11-20 19:33
Bonjour,

Je rencontre aléatoirement des erreurs de segmentation.
Cela se produit généralement au début des morceaux.
Je précise que j'utilise les modes "Play on start", "Shuffle" et "Repeat".

Voici la trace en console :
draco@draco-desktop:~/.ZiK$ ZiK.rb -c ~/.ZiK/draco/
Error. Disable cd support.
/home/draco/.ZiK/draco/ZiKrc read.
Add /home/draco/.ZiK/draco/ZiK.m3u to playlist.
/home/draco/.ZiK/draco/radio not found.
Refreshing tree view...done.
Playing Émilie Simon - Fleur de saison.
dPlayer stopped.
Playing Mig - Wild Me.
/usr/local/bin/ZiK.rb:156: [BUG] Segmentation fault
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

Abandon

Je précise que j'ai récupéré la version de ZiK dans le dépot Git hier.
(Avec correctif sur l'option -c)

Je suis toujours sous Xubuntu 8.10 x86_64
La ligne 156 fait partie du bloc ci-dessous :

begin
Gtk.main <<<=== ICI
if write_config
playlist.save_m3u(File.join(User_dir,'ZiK.m3u'))
config['current_song']=playlist.current
config['volume']=player.volume
config.write
radiolist.write if $radio
end
ensure
player.stop
cdplayer.stop if $cd
radioplayer.stop if $radio
end

Le paquet libgtk2-ruby1.8 semble pourtant correctement installé :

draco@draco-desktop:~/.ZiK$ dpkg -s libgtk2-ruby1.8
Package: libgtk2-ruby1.8
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 1128
Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
Architecture: amd64
Source: ruby-gnome2
Version: 0.17.0~rc1-6ubuntu1
Replaces: libgtk-trayicon-ruby1.8, libgtk2-ruby (<< 0.16.0)
Depends: libatk1.0-0 (>= 1.20.0), libc6 (>= 2.4), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.14.1), libpango1.0-0 (>= 1.21.6), libruby1.8 (>= 1.8.7.72), zlib1g (>= 1:1.1.4), libatk1-ruby1.8 (= 0.17.0~rc1-6ubuntu1), libpango1-ruby1.8 (= 0.17.0~rc1-6ubuntu1), libgdk-pixbuf2-ruby1.8 (= 0.17.0~rc1-6ubuntu1)
Conflicts: libgtk-trayicon-ruby1.8, libgtk2-ruby (<< 0.16.0)
Description: GTK+ bindings for the Ruby language
GTK+ is a library for creating graphical user interfaces. This package
contains libraries for using GTK+ with the Ruby programming language.
Homepage: http://ruby-gnome2.sourceforge.jp/
Original-Maintainer: Arnaud Cornet <acornet@debian.org>