Bonjour,

Je développe une application client-serveur simulant la gestion d'un compte bancaire. J'utilise RPC (Remote Procedure Call). Après avoir lancé mes programmes client et serveur sur deux machines, je reçois tout le temps un message:
Segmentation fault (core dumped)
Afin d'apporter plus de précision voici la partie de mon code qui, lorsque je l'ajoute, provoque cette erreur de segmentation:

Côté client: (ce code fait appel au serveur pour récupérer les informations d'un compte client)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
Client_account *get_balance(int clnt_id)
{
	CLIENT *clnt;
	Client_account *result_1;
 
 
#ifndef DEBUG
	clnt = clnt_create(primary_server, RBSPROG, RBSVER, "netpath");
	if (clnt == NULL) {
		clnt_pcreateerror(primary_server);
		return 0;
	}
#endif
 
	result_1 = get_balance_1(clnt_id,clnt);
 
	if (result_1 == NULL) {
		clnt_perror(clnt, "call failed");
 
#ifndef DEBUG
	clnt_destroy(clnt);
#endif
	return 0;
	}
	clnt_destroy(clnt);
	return result_1;
}
Côté Serveur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
Client_account *get_balance_1_svc(clnt_id, rqstp)
	int clnt_id;
	struct svc_req *rqstp;
{
	int max_data = 0;
	static Client_account  account;
 
	FILE *fp;
	fp = fopen(DB_FILE,"rb");
	memset(&account,0,sizeof(Client_account));
	if (clnt_id <= 0)
	{
		return NULL;
	}
 
	fseek(fp,0,SEEK_END);
	max_data = ftell(fp)/sizeof(Client_account);
 
	/*if (clnt_id > max_data)
	{
		fclose(fp);
		return NULL;
	}*/
	fseek(fp,(clnt_id-1)*sizeof(Client_account),SEEK_SET);
	/*if (clnt_id <= max_data)*/
	{
		fread(&account,sizeof(Client_account),1,fp);
	}
	fclose(fp);
	return (&account);
 
}
Je conçois qu'il soit difficile de m'aider, n'ayant que des "morceaux" de mon code, mais si quelqu'un a une idée pour m'aider, je lui en serait vraiment reconnaissant car je bloque sur cette erreur depuis plusieurs heures

Merci beaucoup