Greg Iaskievitch wrote:


Witam.

Sodipodi z ac-test nie dziala na amd64 :

(gdb) symbol-file /usr/lib/debug/usr/bin/sodipodi.debug
Reading symbols from /usr/lib/debug/usr/bin/sodipodi.debug...done.
(gdb) run
Starting program: /usr/bin/sodipodi

Program received signal SIGSEGV, Segmentation fault.
nr_svp_from_svl (svl=0x0, flat=0x0) at nr-svp.c:75
74              svp->length = nsegs;
(gdb) p svp
$1 = (NRSVP *) 0x0


pomysly?

Ja dopiero bede mogl popatrzec w przyszlym tygodniu.

Dobra, stwierdzilem ze sprobuje szybko. Tam ma byc linia 74 wczesniej, ja mam 75 bo dodalem include <stdlib.h>, co nie pomoglo (a czasem pomaga).


Ok, ten kawalek kodu wyglada tak:
svp = malloc (sizeof (NRSVP) + (nsegs - 1) * sizeof (NRSVPSegment));
svp->length = nsegs;
if (nsegs > 0) {
...


przy czym nsegs == 0. Wiec moim zdaniem ten malloc jest w zlym miejscu kodu. Moze, bo nie mam czasu zeby zobaczyc dobadac dalsza geneze tych zmiennych, i jak w ogole dziala ten kod.
Jesli ktos ma zdrowie i umiejtnosci, to bym prosil. Jesli nie, to niech mnie ktos kopnie po wtorku zebym to zrobil.


Cheers.

--
GJ

_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl

Odpowiedź listem elektroniczym