plantage quand je bouge un point
Modérateur : xcasadmin
plantage quand je bouge un point
Bonjour Bernard !
j'ai deux problèmes indépendants :
- pour mes bspline, je veux tracer une courbe paramétrée dont l'équation dépend de plusieurs points du plan. J'ai repris l'exemple courbe de bézier du site xcas mais plotparam ne m'affiche rien (fichier test.xws joint)
- dès que je passe en mode pointeur et que je déplace un point, xcas se ferme tout seul (xcas dernière version linux amd64). Je n'ai pas essayé sur une autre plateforme.
A+
j'ai deux problèmes indépendants :
- pour mes bspline, je veux tracer une courbe paramétrée dont l'équation dépend de plusieurs points du plan. J'ai repris l'exemple courbe de bézier du site xcas mais plotparam ne m'affiche rien (fichier test.xws joint)
- dès que je passe en mode pointeur et que je déplace un point, xcas se ferme tout seul (xcas dernière version linux amd64). Je n'ai pas essayé sur une autre plateforme.
A+
- Pièces jointes
-
- test.xws.zip
- courbe de bézier avec 3 points
- (1.42 Kio) Téléchargé 554 fois
Re: plantage quand je bouge un point
Salut!
Dans bezier3, il faut écrire
bezier3(A,B,C,x):={evalf(affixe(A)*(1-x)^2+2*affixe(B)*x*(1-x)+affixe(C)*x^2);}
:;
sinon il y a un joyeux mélange de points et d'affixe, et c'est ca qui fait qu'il n'y a pas d'affichage et probablement génère le plantage après (plantage qui n'apparait pas chez moi, je testerai sur un 64 bits).
Ca m'a permis de trouver un bug de mon cote dans la version de développement pour une raison que j'ignore un t s'est transformé en -t ce qui fait que plotparam utilise la plage de t opposée à celle qui est donnée, mais je pense que ça n'est pas le cas dans la version que tu as.
Dans bezier3, il faut écrire
bezier3(A,B,C,x):={evalf(affixe(A)*(1-x)^2+2*affixe(B)*x*(1-x)+affixe(C)*x^2);}
:;
sinon il y a un joyeux mélange de points et d'affixe, et c'est ca qui fait qu'il n'y a pas d'affichage et probablement génère le plantage après (plantage qui n'apparait pas chez moi, je testerai sur un 64 bits).
Ca m'a permis de trouver un bug de mon cote dans la version de développement pour une raison que j'ignore un t s'est transformé en -t ce qui fait que plotparam utilise la plage de t opposée à celle qui est donnée, mais je pense que ça n'est pas le cas dans la version que tu as.
Re: plantage quand je bouge un point
merci, effectivement en mettant evalf(affixe(A)*(1-x)^2+2*affixe(B)*x*(1-x)+affixe(C)*x^2); ça fonctionne.
C'est étonnant car il me semble que affixe(bezier3(A,B,C,x)) me donne exactement le même résultat qu'avant.
La page file:///usr/share/giac/doc/fr/casgeo/node116.html devrait être mise à jour pour tenir compte de ce changement...
Autrement pour le plantage, ce n'est pas lié à mon fichier.
Je réussis à le reproduire sous linux64 et sous windows :
1) j'ouvre xcas
2) alt-G
3) mode point
4) je crée un point A
5) mode pointeur
6) je le déplace 2 fois de suite : pas de pb
7) je le déplace une 3ème fois : fermeture de xcas.
j'utilise la dernière version disponible sur le site.
A+
C'est étonnant car il me semble que affixe(bezier3(A,B,C,x)) me donne exactement le même résultat qu'avant.
La page file:///usr/share/giac/doc/fr/casgeo/node116.html devrait être mise à jour pour tenir compte de ce changement...
Autrement pour le plantage, ce n'est pas lié à mon fichier.
Je réussis à le reproduire sous linux64 et sous windows :
1) j'ouvre xcas
2) alt-G
3) mode point
4) je crée un point A
5) mode pointeur
6) je le déplace 2 fois de suite : pas de pb
7) je le déplace une 3ème fois : fermeture de xcas.
j'utilise la dernière version disponible sur le site.
A+
Re: plantage quand je bouge un point
encore un truc que je ne comprends pas mais c'est peut-être moi qui ne fait pas ce qu'il faut :
je veux tracer plusieurs arcs de ma bspline avec cette boucle :
Portant, si je tape directement sur la ligne de commande les plotparam pour des valeurs de j, j'obtiens bien mes arcs.
dans le fichier joint :
- le programme courbebspline est en 1
- les plotparam sont en 15
je veux tracer plusieurs arcs de ma bspline avec cette boucle :
le programme ne m'affiche rien ou bien seulement le dernier arc correspondant à j=k-1.for(j:=0;j<=k-1;j++){
plotparam(om[j],t,noeuds[j],noeuds[j+1]);
}
Portant, si je tape directement sur la ligne de commande les plotparam pour des valeurs de j, j'obtiens bien mes arcs.
dans le fichier joint :
- le programme courbebspline est en 1
- les plotparam sont en 15
- Pièces jointes
-
- bspline.xws.zip
- (20.35 Kio) Téléchargé 507 fois
Re: plantage quand je bouge un point
C'est parce que la boucle est une instruction algébrique qui ne renvoie que sa dernière évaluation. Il faut stocker les courbes intermédiaires, par ex. L:=[];
for(j:=0;j<=k-1;j++){
L[j]:=plotparam(om[j],t,noeuds[j],noeuds[j+1]);
}
L;
Je regarderai sous win32, mais je n'ai pas de machine 64 bits sous windows, donc si ca plante pas sous win32 je ne pourrai pas faire grand chose (deja la ce serait dur, car sous linux ca ne pose pas de problemes).
for(j:=0;j<=k-1;j++){
L[j]:=plotparam(om[j],t,noeuds[j],noeuds[j+1]);
}
L;
Je regarderai sous win32, mais je n'ai pas de machine 64 bits sous windows, donc si ca plante pas sous win32 je ne pourrai pas faire grand chose (deja la ce serait dur, car sous linux ca ne pose pas de problemes).
Re: plantage quand je bouge un point
c'est bien sous win32 que ça plante aussi !parisse a écrit : Je regarderai sous win32, mais je n'ai pas de machine 64 bits sous windows, donc si ca plante pas sous win32 je ne pourrai pas faire grand chose (deja la ce serait dur, car sous linux ca ne pose pas de problemes).
Re: plantage quand je bouge un point
c'était bien ça, merci.parisse a écrit :C'est parce que la boucle est une instruction algébrique qui ne renvoie que sa dernière évaluation. Il faut stocker les courbes intermédiaires.
Je me demandais comment xcas retenait la dépendance des objets géométriques des uns par rapport aux autres. En particulier comment en bougeant mes points, mes courbes paramétrées allaient se modifier. La solution est toute simple et efficace : xcas réévalue toutes les instructions liées à la figure géométrique à chaque changement. ça me plait bien.
Re: plantage quand je bouge un point
Je viens de tester sur un autre pc win32 et je n'ai aucun plantage.
je vais utiliser gdb sous linux 64 pour regarder de plus près.
je vais utiliser gdb sous linux 64 pour regarder de plus près.
Re: plantage quand je bouge un point
voilà :cdeval a écrit :je vais utiliser gdb sous linux 64 pour regarder de plus près.
j'ai réessayé avec seulement 1 point A et je n'ai plus le plantage !
Heureusement avec la courbe de bézier avec 3 points, je retrouve le crash :
Code : Tout sélectionner
(gdb) c
Continuing.
[New Thread 0x7f3057868910 (LWP 5589)]
[Thread 0x7f3057868910 (LWP 5589) exited]
[New Thread 0x7f3057868910 (LWP 5590)]
[Thread 0x7f3057868910 (LWP 5590) exited]
[New Thread 0x7f3057868910 (LWP 5591)]
[Thread 0x7f3057868910 (LWP 5591) exited]
[New Thread 0x7f3057868910 (LWP 5592)]
Program received signal SIGSEGV, Segmentation fault.
0x00007f305f513b7e in giac::gen::~gen() () from /usr/lib/libgiac.so.0
(gdb) bt
#0 0x00007f305f513b7e in giac::gen::~gen() () from /usr/lib/libgiac.so.0
#1 0x000000000042db11 in void std::_Destroy<giac::gen>(giac::gen*) ()
#2 0x000000000042db2f in void std::__destroy_aux<giac::gen*>(giac::gen*, giac::gen*, std::__false_type) ()
#3 0x000000000042db64 in void std::_Destroy<giac::gen*>(giac::gen*, giac::gen*) ()
#4 0x000000000042db87 in void std::_Destroy<giac::gen*, giac::gen>(giac::gen*, giac::gen*, std::allocator<giac::gen>) ()
#5 0x000000000042dde2 in std::vector<giac::gen, std::allocator<giac::gen> >::~vector() ()
#6 0x000000000042de51 in giac::dbgprint_vector<giac::gen>::~dbgprint_vector() ()
#7 0x00007f305f513d27 in giac::gen::~gen() () from /usr/lib/libgiac.so.0
#8 0x000000000042dcc3 in __gnu_cxx::new_allocator<giac::gen>::destroy(giac::gen*) ()
#9 0x000000000042dcfa in std::vector<giac::gen, std::allocator<giac::gen> >::pop_back() ()
#10 0x00007f305f1933b2 in giac::symbolic::evalf(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#11 0x00007f305f51c9f1 in giac::gen::in_evalf(int, giac::gen&, giac::context const*) const () from /usr/lib/libgiac.so.0
#12 0x00007f305f51cf78 in giac::gen::evalf(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#13 0x00007f305f1932e6 in giac::symbolic::evalf(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#14 0x00007f305f51c9f1 in giac::gen::in_evalf(int, giac::gen&, giac::context const*) const () from /usr/lib/libgiac.so.0
#15 0x00007f305f51cf78 in giac::gen::evalf(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#16 0x00007f305f53ad99 in giac::evalf_VECT(giac::dbgprint_vector<giac::gen> const&, int, int, giac::context const*) ()
from /usr/lib/libgiac.so.0
#17 0x00007f305f51c664 in giac::gen::in_evalf(int, giac::gen&, giac::context const*) const () from /usr/lib/libgiac.so.0
#18 0x00007f305f51cf78 in giac::gen::evalf(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#19 0x00007f305f1932e6 in giac::symbolic::evalf(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#20 0x00007f305f51c9f1 in giac::gen::in_evalf(int, giac::gen&, giac::context const*) const () from /usr/lib/libgiac.so.0
#21 0x00007f305f51cf78 in giac::gen::evalf(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#22 0x00007f305f53ad99 in giac::evalf_VECT(giac::dbgprint_vector<giac::gen> const&, int, int, giac::context const*) ()
from /usr/lib/libgiac.so.0
#23 0x00007f305f51c664 in giac::gen::in_evalf(int, giac::gen&, giac::context const*) const () from /usr/lib/libgiac.so.0
#24 0x00007f305f51cf78 in giac::gen::evalf(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#25 0x00007f305f193178 in giac::symbolic::evalf(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#26 0x00007f305f51c9f1 in giac::gen::in_evalf(int, giac::gen&, giac::context const*) const () from /usr/lib/libgiac.so.0
#27 0x00007f305f51cf78 in giac::gen::evalf(int, giac::context const*) const () from /usr/lib/libgiac.so.0
#28 0x00007f305f51cff6 in giac::evalf(giac::gen const&, int, giac::context const*) () from /usr/lib/libgiac.so.0
#29 0x00007f305f3e33ab in giac::nearest_point(giac::dbgprint_vector<giac::gen> const&, giac::gen const&, double, giac::context const*) ()
from /usr/lib/libgiac.so.0
#30 0x00007f305fd3ad81 in xcas::Graph2d::geometry_round(double, double, double, double, giac::gen&, giac::context const*) ()
from /usr/lib/libxcas.so.0
#31 0x00007f305fd2ee7b in xcas::Graph2d3d::geometry_round(double, double, double, double, giac::gen&, int&) () from /usr/lib/libxcas.so.0
#32 0x00007f305fd3b394 in xcas::Graph2d3d::geo_handle(int) () from /usr/lib/libxcas.so.0
#33 0x00007f305fd4eb90 in xcas::Geo2d::in_handle(int) () from /usr/lib/libxcas.so.0
#34 0x00007f305fd16400 in xcas::Graph2d3d::handle(int) () from /usr/lib/libxcas.so.0
#35 0x00007f305fd9c801 in ?? () from /usr/lib/libxcas.so.0
#36 0x00007f305fd9d79e in Fl::handle(int, Fl_Window*) () from /usr/lib/libxcas.so.0
#37 0x00007f305fdc80fc in ?? () from /usr/lib/libxcas.so.0
#38 0x00007f305fdc8160 in fl_wait(double) () from /usr/lib/libxcas.so.0
#39 0x00007f305fd9ce68 in Fl::wait(double) () from /usr/lib/libxcas.so.0
#40 0x00007f305fd9cee9 in Fl::wait() () from /usr/lib/libxcas.so.0
#41 0x000000000042c38f in ?? ()
#42 0x000000000042c514 in ?? ()
#43 0x00007f305b5a3abd in __libc_start_main () from /lib/libc.so.6
#44 0x000000000040f5c9 in ?? ()
#45 0x00007fffe4634a28 in ?? ()
#46 0x000000000000001c in ?? ()
#47 0x0000000000000001 in ?? ()
#48 0x00007fffe4636bac in ?? ()
#34 0x00007f305fd16400 in xcas::Graph2d3d::handle(int) () from /usr/lib/libxcas.so.0
#35 0x00007f305fd9c801 in ?? () from /usr/lib/libxcas.so.0
#36 0x00007f305fd9d79e in Fl::handle(int, Fl_Window*) () from /usr/lib/libxcas.so.0
#37 0x00007f305fdc80fc in ?? () from /usr/lib/libxcas.so.0
#38 0x00007f305fdc8160 in fl_wait(double) () from /usr/lib/libxcas.so.0
#39 0x00007f305fd9ce68 in Fl::wait(double) () from /usr/lib/libxcas.so.0
#40 0x00007f305fd9cee9 in Fl::wait() () from /usr/lib/libxcas.so.0
#41 0x000000000042c38f in ?? ()
#42 0x000000000042c514 in ?? ()
#43 0x00007f305b5a3abd in __libc_start_main () from /lib/libc.so.6
#44 0x000000000040f5c9 in ?? ()
#45 0x00007fffe4634a28 in ?? ()
#46 0x000000000000001c in ?? ()
#47 0x0000000000000001 in ?? ()
#48 0x00007fffe4636bac in ?? ()
[Thread 0x7f3057868910 (LWP 5589) exited]
apparaissent à chaque petit déplacement d'un point mais ça doit être normal, c'est le recalcul automatique des instructions je suppose...
Si tu veux que je fasse d'autres tests...
Re: plantage quand je bouge un point
Il me faudrait la valeur des variables et la ligne ou ca plante
f 28
p e.dbgprint()
ou bien
f 29
p g.dbgprint()
eventuellement aussi en frame 10 (f 10)
f 28
p e.dbgprint()
ou bien
f 29
p g.dbgprint()
eventuellement aussi en frame 10 (f 10)
Re: plantage quand je bouge un point
je n'ai pas les symbol !
il faut que je recompile giac avec -g ?#45 0x00007f2043035ff6 in giac::evalf(giac::gen const&, int, giac::context const*) () from /usr/lib/libgiac.so.0
---Type <return> to continue, or q <return> to quit---
#46 0x00007f2042efc3ab in giac::nearest_point(giac::dbgprint_vector<giac::gen> const&, giac::gen const&, double, giac::context const*) ()
from /usr/lib/libgiac.so.0
#47 0x00007f2043853d81 in xcas::Graph2d::geometry_round(double, double, double, double, giac::gen&, giac::context const*) ()
from /usr/lib/libxcas.so.0
#48 0x00007f2043847e7b in xcas::Graph2d3d::geometry_round(double, double, double, double, giac::gen&, int&) () from /usr/lib/libxcas.so.0
#49 0x00007f2043854394 in xcas::Graph2d3d::geo_handle(int) () from /usr/lib/libxcas.so.0
#50 0x00007f2043867b90 in xcas::Geo2d::in_handle(int) () from /usr/lib/libxcas.so.0
#51 0x00007f204382f400 in xcas::Graph2d3d::handle(int) () from /usr/lib/libxcas.so.0
#52 0x00007f20438b5801 in ?? () from /usr/lib/libxcas.so.0
#53 0x00007f20438b679e in Fl::handle(int, Fl_Window*) () from /usr/lib/libxcas.so.0
#54 0x00007f20438e10fc in ?? () from /usr/lib/libxcas.so.0
#55 0x00007f20438e1270 in fl_wait(double) () from /usr/lib/libxcas.so.0
#56 0x00007f20438b5e68 in Fl::wait(double) () from /usr/lib/libxcas.so.0
#57 0x00007f20438b5ee9 in Fl::wait() () from /usr/lib/libxcas.so.0
#58 0x000000000042c38f in ?? ()
#59 0x000000000042c514 in ?? ()
#60 0x00007f203f0bcabd in __libc_start_main () from /lib/libc.so.6
#61 0x000000000040f5c9 in ?? ()
#62 0x00007ffffbd0e788 in ?? ()
#63 0x000000000000001c in ?? ()
#64 0x0000000000000001 in ?? ()
#65 0x00007ffffbd0ebac in ?? ()
#66 0x0000000000000000 in ?? ()
(gdb) f 45
#45 0x00007f2043035ff6 in giac::evalf(giac::gen const&, int, giac::context const*) () from /usr/lib/libgiac.so.0
(gdb) p e.dbgprint()
No symbol table is loaded. Use the "file" command.
(gdb) f 46
#46 0x00007f2042efc3ab in giac::nearest_point(giac::dbgprint_vector<giac::gen> const&, giac::gen const&, double, giac::context const*) ()
from /usr/lib/libgiac.so.0
(gdb) p g.dbgprint()
No symbol table is loaded. Use the "file" command.
Re: plantage quand je bouge un point
ok, je vais me replonger dans la doc pour faire ça (ça me rappellera le mois de juin où j'essayais de compiler sous windows vc++ !).
En attendant, j'ai refait des tests avec mon fichier bspline : plantage au bout de 2 ou 3 déplacements d'un des points de la figure sous 3 plateformes différentes :
- linux 64 natif et linux 32 en virtualbox sur la même machine avec processeur amd64
- windows 32 sur un portable avec processeur intel double core.
je te rejoins mon fichier bspline.xws, les points à bouger sont en ligne 15 à la fin du fichier. je te tiens au courant dès que j'ai du nouveau
A+
En attendant, j'ai refait des tests avec mon fichier bspline : plantage au bout de 2 ou 3 déplacements d'un des points de la figure sous 3 plateformes différentes :
- linux 64 natif et linux 32 en virtualbox sur la même machine avec processeur amd64
- windows 32 sur un portable avec processeur intel double core.
je te rejoins mon fichier bspline.xws, les points à bouger sont en ligne 15 à la fin du fichier. je te tiens au courant dès que j'ai du nouveau
A+
Re: plantage quand je bouge un point
Pas reussi a reproduire le plantage. Je soupconne une race condition, peut-etre un evenement de deplacement souris qui relance quelque chose alors qu'il est encore en train de calculer le plotparam, il me semblait avoir pris des precautions contre ca mais j'ai pu oublier quelque chose. Pour recompiler avec option de debug le plus simple est avant de faire
./configure
de faire
export CXXFLAGS=-g
ensuite en lancant le programme au debug avec ta session, tu arriveras peut-etre a voir *ou* ca plante.
./configure
de faire
export CXXFLAGS=-g
ensuite en lancant le programme au debug avec ta session, tu arriveras peut-etre a voir *ou* ca plante.
Re: plantage quand je bouge un point
voilà, j'espère ne pas m'être trompé sur le numéro des lignes :parisse a écrit :Il me faudrait la valeur des variables et la ligne ou ca plante
f 28
p e.dbgprint()
ou bien
f 29
p g.dbgprint()
eventuellement aussi en frame 10 (f 10)
Code : Tout sélectionner
Program received signal SIGSEGV, Segmentation fault.
0x00007f326b624ef0 in ?? () from /lib/libc.so.6
(gdb) bt
#0 0x00007f326b624ef0 in ?? () from /lib/libc.so.6
#1 0x00007f326b6274c9 in ?? () from /lib/libc.so.6
#2 0x00007f326b6297ee in malloc () from /lib/libc.so.6
#3 0x00007f326be8064d in operator new(unsigned long) () from /usr/lib/libstdc++.so.6
#4 0x000000000042fdb2 in __gnu_cxx::new_allocator<giac::gen>::allocate (this=0x7fff039d3050,
__n=67086078) at /usr/include/c++/4.4/ext/new_allocator.h:89
#5 0x000000000042f123 in std::_Vector_base<giac::gen, std::allocator<giac::gen> >::_M_allocate (
this=0x7fff039d3050, __n=67086078) at /usr/include/c++/4.4/bits/stl_vector.h:140
#6 0x00007f326f6cd7cc in std::vector<giac::gen, std::allocator<giac::gen> >::_M_allocate_and_copy<giac::gen*> (this=0x7fff039d3050, __n=67086078, __first=0x0, __last=0x0)
at /usr/include/c++/4.4/bits/stl_vector.h:963
#7 0x00007f326f6cd113 in std::vector<giac::gen, std::allocator<giac::gen> >::reserve (
this=0x7fff039d3050, __n=67086078) at /usr/include/c++/4.4/bits/vector.tcc:74
#8 0x00007f326f1df87c in giac::evalf_VECT (v=..., subtype=0, level=1, contextptr=0x18d5560)
at gen.cc:1484
#9 0x00007f326f1e2b5e in giac::gen::in_evalf (this=0x7f3260007308, level=1, evaled=...,
contextptr=0x18d5560) at gen.cc:1891
#10 0x00007f326f1e205c in giac::gen::evalf (this=0x7f3260007308, level=1, contextptr=0x18d5560)
at gen.cc:1781
#11 0x00007f326ee4c651 in giac::symbolic::evalf (this=0x7f32600072f0, level=1, contextptr=0x18d5560)
at symbolic.cc:454
#12 0x00007f326f1e2ee7 in giac::gen::in_evalf (this=0x7f326000b980, level=1, evaled=...,
contextptr=0x18d5560) at gen.cc:1908
---Type <return> to continue, or q <return> to quit---
#13 0x00007f326f1e205c in giac::gen::evalf (this=0x7f326000b980, level=1, contextptr=0x18d5560)
at gen.cc:1781
#14 0x00007f326f1df8ac in giac::evalf_VECT (v=..., subtype=8, level=1, contextptr=0x18d5560)
at gen.cc:1486
#15 0x00007f326f1e2b5e in giac::gen::in_evalf (this=0x7f3260009190, level=1, evaled=...,
contextptr=0x18d5560) at gen.cc:1891
#16 0x00007f326f1e205c in giac::gen::evalf (this=0x7f3260009190, level=1, contextptr=0x18d5560)
at gen.cc:1781
#17 0x00007f326f1df8ac in giac::evalf_VECT (v=..., subtype=5, level=1, contextptr=0x18d5560)
at gen.cc:1486
#18 0x00007f326f1e2b5e in giac::gen::in_evalf (this=0x7f326000af08, level=1, evaled=...,
contextptr=0x18d5560) at gen.cc:1891
#19 0x00007f326f1e205c in giac::gen::evalf (this=0x7f326000af08, level=1, contextptr=0x18d5560)
at gen.cc:1781
#20 0x00007f326ee4c4f4 in giac::symbolic::evalf (this=0x7f326000aef0, level=1, contextptr=0x18d5560)
at symbolic.cc:446
#21 0x00007f326f1e2ee7 in giac::gen::in_evalf (this=0x7f32600076b0, level=1, evaled=...,
contextptr=0x18d5560) at gen.cc:1908
#22 0x00007f326f1e205c in giac::gen::evalf (this=0x7f32600076b0, level=1, contextptr=0x18d5560)
at gen.cc:1781
#23 0x00007f326f1df8ac in giac::evalf_VECT (v=..., subtype=8, level=1, contextptr=0x18d5560)
at gen.cc:1486
#24 0x00007f326f1e2b5e in giac::gen::in_evalf (this=0x7f326000a7e8, level=1, evaled=...,
---Type <return> to continue, or q <return> to quit---
contextptr=0x18d5560) at gen.cc:1891
#25 0x00007f326f1e205c in giac::gen::evalf (this=0x7f326000a7e8, level=1, contextptr=0x18d5560)
at gen.cc:1781
#26 0x00007f326ee4c4f4 in giac::symbolic::evalf (this=0x7f326000a7d0, level=1, contextptr=0x18d5560)
at symbolic.cc:446
#27 0x00007f326f1e2ee7 in giac::gen::in_evalf (this=0x7fff039d5e20, level=1, evaled=...,
contextptr=0x18d5560) at gen.cc:1908
#28 0x00007f326f1e205c in giac::gen::evalf (this=0x7fff039d5e20, level=1, contextptr=0x18d5560)
at gen.cc:1781
#29 0x00007f326f1e1da3 in giac::evalf (e=..., level=1, contextptr=0x18d5560) at gen.cc:1748
#30 0x00007f326f04cf85 in giac::nearest_point (v=..., p=..., eps=0.15338196392785572,
contextptr=0x18d5560) at plot.cc:4536
#31 0x00007f326f71b90c in xcas::Graph2d::geometry_round (this=0x195e320, x=2.3296125019542613,
y=3.8713087318087318, z=0, eps=0.15338196392785572, tmp=..., contextptr=0x18d5560)
at Graph.cc:3439
#32 0x00007f326f71b5b9 in xcas::Graph2d3d::geometry_round (this=0x195e320, x=2.3296125019542613,
y=3.8713087318087318, z=0, eps=0.15338196392785572, original=..., pos=@0x7fff039d6178)
at Graph.cc:3415
#33 0x00007f326f71b334 in xcas::Graph2d3d::in_handle (this=0x195e320, event=11) at Graph.cc:3389
#34 0x00007f326f71122f in xcas::Graph2d::common_in_handle (this=0x195e320, event=11) at Graph.cc:2462
#35 0x00007f326f71cf9f in xcas::Geo2d::in_handle (this=0x195e320, event=11) at Graph.cc:3591
#36 0x00007f326f71ab2f in xcas::Graph2d3d::handle (this=0x195e320, event=11) at Graph.cc:3311
#37 0x00007f326f65f21f in xcas::History_Pack::handle (this=0x18d51f0, event=11) at History.cc:1233
---Type <return> to continue, or q <return> to quit---
#38 0x00007f326f66de6c in xcas::History_Fold::handle (this=0x18d4ec0, event=11) at History.cc:3465
#39 0x00007f326d016bfa in Fl_Tabs::handle(int) () from /usr/lib/libfltk.so.1.1
#40 0x00007f326cfe411c in fl_fix_focus() () from /usr/lib/libfltk.so.1.1
#41 0x00007f326d01305b in Fl_Scroll::~Fl_Scroll() () from /usr/lib/libfltk.so.1.1
#42 0x00007f326f6647c3 in xcas::History_Pack_Group_eval (g=0x19622b0, add_group=true)
at History.cc:1941
#43 0x00007f326f665051 in xcas::History_Pack_cb_eval (q=0x1962520) at History.cc:2025
#44 0x00007f326f667b31 in xcas::History_Pack::update (this=0x195df60, n=3) at History.cc:2532
#45 0x00007f326f667b78 in xcas::History_Pack::next (this=0x195df60, hp_pos=3) at History.cc:2540
#46 0x00007f326f68de8d in xcas::Xcas_eval_callback (evaled_g=..., param=0x19c9df0) at Xcas1.cc:1098
#47 0x00007f326efd011a in giac::check_thread (contextptr=0x18d5560) at global.cc:2628
#48 0x00007f326f6894df in xcas::Xcas_idle_function (dontcheck=0x0) at Xcas1.cc:451
#49 0x00007f326cfe50a1 in Fl::wait(double) () from /usr/lib/libfltk.so.1.1
#50 0x00007f326cfe514d in Fl::wait() () from /usr/lib/libfltk.so.1.1
#51 0x000000000042ae2f in Xcas_run (argc=1, argv=0x7fff039d6d58) at hist.cxx:4867
#52 0x000000000042afb3 in main (argc=1, argv=0x7fff039d6d58) at hist.cxx:4914
(gdb) f 29
#29 0x00007f326f1e1da3 in giac::evalf (e=..., level=1, contextptr=0x18d5560) at gen.cc:1748
1748 return e.evalf(level,contextptr);
(gdb) p e.dbgprint()
Program received signal SIGSEGV, Segmentation fault.
0x00007f326ee47db0 in giac::symbolic::print (this=0x7f32600072f0, contextptr=0x0) at symbolic.cc:93
93 if ( (feuille.type!=_VECT) || ( (sommet!=at_prod) && (feuille._VECTptr->front().type==_VECT) ) ){
The program being debugged was signaled while in a function called from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use "set unwindonsignal on".
Evaluation of the expression containing the function
(giac::gen::dbgprint() const) will be abandoned.
When the function is done executing, GDB will silently stop.
(gdb)
Code : Tout sélectionner
(gdb) f 45
#45 0x00007f326f04cf85 in giac::nearest_point (v=..., p=..., eps=0.15338196392785572,
contextptr=0x18d5560) at plot.cc:4536
4536 qf=remove_at_pnt(evalf(g,1,contextptr));
(gdb) p g.dbgprint()
Program received signal SIGSEGV, Segmentation fault.
0x00007f326ee47db0 in giac::symbolic::print (this=0x7f32600072f0, contextptr=0x0) at symbolic.cc:93
93 if ( (feuille.type!=_VECT) || ( (sommet!=at_prod) && (feuille._VECTptr->front().type==_VECT) ) ){
The program being debugged was signaled while in a function called from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use "set unwindonsignal on".
Evaluation of the expression containing the function
(giac::gen::dbgprint() const) will be abandoned.
When the function is done executing, GDB will silently stop.