List Info

Thread: network_client segfault




network_client segfault
country flaguser name
France
2007-03-22 09:31:58
Hi,

I have migrated my system (gentoo) to 64 bits, and now, I'm
not able to
use moziax, but I'm not sure my system is really clean.
I went in the sources (cvs) and I can tell that is
network_client which
segfault when mozphone uses the proxiax_send :
proxiax_send( 'iaxc_initialize,' + Call.MAXCALLS );

$ ./network_client
Setting up network input
ProxIAX waiting on port 9998
Client connection 1...
Greeting client with: Hello SVN 610M

Pa_QueryDevice /dev/dsp returned -9986
Pa_QueryDevice /dev/dsp1 returned -10000
PortAudio error at Unable to open streams: Illegal error
number.
iaxc_initialize OK, 4 lines
Erreur de segmentation

(tried too with a telnet connection).

I tried to recompile network_client (as I have already done
in past),
but :
$ make clean && make
rm -f *.o network_client
(pushd ../iaxclient/lib; make libiaxclient.a; popd)
/sauve_loc/src/moziax/src/iaxclient/lib
/sauve_loc/src/moziax/src/iaxclient_network
make[1]: entrant dans le répertoire
« /sauve_loc/src/moziax/src/iaxclient/lib »
make[1]: « libiaxclient.a » est à jour.
make[1]: quittant le répertoire
« /sauve_loc/src/moziax/src/iaxclient/lib »
/sauve_loc/src/moziax/src/iaxclient_network
gcc -I../iaxclient/lib -I../iaxclient/lib/libiax/src
-I../iaxclient/lib/gsm/inc
-I../iaxclient/lib/portaudio/pa_common
-I../iaxclient/lib/portaudio/pablio -I. -DMOZPHONE
-DPOSIXSLEEP
-DGASTMAN   -c network_client.c -o network_client.o
network_client.c:614: attention : 'struct iaxc_ev_image'
declared inside
parameter list
network_client.c:614: attention : visible uniquement depuis
cette
définition ou déclaration, ce qui n'est probablement pas ce
que vous
désirez
network_client.c:614: erreur: parameter 1 ('e') has
incomplete type
network_client.c: In function 'iaxc_callback':
network_client.c:746: erreur: 'IAXC_EVENT_IMAGE' undeclared
(first use
in this function)
network_client.c:746: erreur: (Each undeclared identifier is
reported
only once
network_client.c:746: erreur: for each function it appears
in.)
network_client.c:747: erreur: 'union <anonymous>' has
no member named
'image'
network_client.c:747: erreur: le type du paramètre formel 1
est
incomplet
make: *** [network_client.o] Erreur 1


I don't know what I can try else. I use iaxclient cvs.


-- 
Christophe


_______________________________________________
Moziax mailing list
Moziaxmozdev.org
http://mozd
ev.org/mailman/listinfo/moziax

Re: network_client segfault
user name
2007-03-22 11:48:56
Christophe PEREZ a écrit :
> Hi,
> 
> I have migrated my system (gentoo) to 64 bits, and now,
I'm not able to
> use moziax, but I'm not sure my system is really
clean.
> I went in the sources (cvs) and I can tell that is
network_client which
> segfault when mozphone uses the proxiax_send :
> proxiax_send( 'iaxc_initialize,' + Call.MAXCALLS );
> 
> $ ./network_client
> Setting up network input
> ProxIAX waiting on port 9998
> Client connection 1...
> Greeting client with: Hello SVN 610M
> 
> Pa_QueryDevice /dev/dsp returned -9986
> Pa_QueryDevice /dev/dsp1 returned -10000
> PortAudio error at Unable to open streams: Illegal
error number.
> iaxc_initialize OK, 4 lines
> Erreur de segmentation
> 
 > (tried too with a telnet connection).

My main system is 64 bits, MozPhone works fine 

This is a problem I had when devices where used and
PortAudio could not 
open them. Probably a sound daemon has taken exclusive
access to 
/dev/dsp and /dev/dsp1.
Of course network_client should not segfault, but the
problem is deep in 
libiaxclient, or even PortAudio. I've tried to find it but
couldn't...

> 
> I tried to recompile network_client (as I have already
done in past),
> but :
> $ make clean && make
> rm -f *.o network_client
> (pushd ../iaxclient/lib; make libiaxclient.a; popd)
> /sauve_loc/src/moziax/src/iaxclient/lib
/sauve_loc/src/moziax/src/iaxclient_network
> make[1]: entrant dans le répertoire
> « /sauve_loc/src/moziax/src/iaxclient/lib »
> make[1]: « libiaxclient.a » est à jour.
> make[1]: quittant le répertoire
> « /sauve_loc/src/moziax/src/iaxclient/lib »
> /sauve_loc/src/moziax/src/iaxclient_network
> gcc -I../iaxclient/lib -I../iaxclient/lib/libiax/src
> -I../iaxclient/lib/gsm/inc
-I../iaxclient/lib/portaudio/pa_common
> -I../iaxclient/lib/portaudio/pablio -I. -DMOZPHONE
-DPOSIXSLEEP
> -DGASTMAN   -c network_client.c -o network_client.o
> network_client.c:614: attention : 'struct
iaxc_ev_image' declared inside
> parameter list
> network_client.c:614: attention : visible uniquement
depuis cette
> définition ou déclaration, ce qui n'est probablement
pas ce que vous
> désirez
> network_client.c:614: erreur: parameter 1 ('e') has
incomplete type
> network_client.c: In function 'iaxc_callback':
> network_client.c:746: erreur: 'IAXC_EVENT_IMAGE'
undeclared (first use
> in this function)
> network_client.c:746: erreur: (Each undeclared
identifier is reported
> only once
> network_client.c:746: erreur: for each function it
appears in.)
> network_client.c:747: erreur: 'union <anonymous>'
has no member named
> 'image'
> network_client.c:747: erreur: le type du paramètre
formel 1 est
> incomplet
> make: *** [network_client.o] Erreur 1
> 
> 
> I don't know what I can try else. I use iaxclient cvs.
> 
> 
This is due to modifications I made to libiaxclient for IAX
image 
support. Could you try this patch:

============================================================
=======
--- iaxclient.h (révision 610)
+++ iaxclient.h (copie de travail)
 -95,6
+95,7 
  #define IAXC_EVENT_URL                 5       /* URL push
via IAX(2) */
  #define IAXC_EVENT_VIDEO               6       /* video
data (pointer) */
  #define IAXC_EVENT_REGISTRATION        7
+#define IAXC_EVENT_IMAGE       8

  #define IAXC_CALL_STATE_FREE           0
  #define IAXC_CALL_STATE_ACTIVE         (1<<1)
 -183,6
+184,14 
      int msgcount;
  };

+#define IAXC_IMAGE_DATA 65535
+struct iaxc_ev_image {
+       int type;       /* IAXC_FORMAT_JPEG or
IAXC_FORMAT_PNG */
+       int callNo;
+       int len;
+       char data[IAXC_IMAGE_DATA]; /* XXX char!=bytes */
+};
+
  typedef struct iaxc_event_struct {
         struct iaxc_event_struct *next;
         int type;
 -194,6
+203,7 
                 struct iaxc_ev_url          url;
                 struct iaxc_ev_video            video;
                 struct iaxc_ev_registration reg;
+               struct iaxc_ev_image            image;
         } ev;
  } iaxc_event;

By the way I'm still using the "oldtrunk" branch
of libiaxclient svn.


Thanks,
-- 
Jean-Denis Girard

SysNux                  Systèmes Linux en Polynésie
française
http://www.sysnux.pf/  
Tél: +689 483 527 / GSM: +689 797 527
_______________________________________________
Moziax mailing list
Moziaxmozdev.org
http://mozd
ev.org/mailman/listinfo/moziax

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )