Bonjour à tous,

Je poste mon soucis sans grand espoir, mais bon, sait-on jamais:
J'ai un bout de code (confidentiel, donc peux pas le poster) qui fait un appel à Fvsinit32 pour initialiser une structure avec les valeur null définis de la vue correspondante de cette manière:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Fvsinit32(structure, "nom_de_la_vue")
J'ai un segfault qui se pointe (pas tout le temps) dans cette portion de code. Quand j'analyse le core généré via dbx, la stack trace donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Segmentation fault in _e_mutex_lock at 0xd1398400 ($t1)
0xd1398400 (_e_mutex_lock+0x20) a81f003c        lha   r0,0x3c(r31)
(dbx) where
_e_mutex_lock() at 0xd1398400
_Finit_cache32() at 0xd1373d34
Fvsinit32() at 0xd1381330
Je me dis donc que c'est un problème de thread, j'ai cru comprendre que cette fonction n'était pas thread safe via ce lien:
A thread in a multithreaded application may issue a call to Fvsinit() or Fvsinit32() while running in any context state, including TPINVALIDCONTEXT.
Le problème intervient uniquement lorsque nous sommes plusieurs à faire des requêtes sur le serveur (le segfault apparait sur le serveur).

Le segfault est tout le temps au même endroit (Fvsinit32), mais ne dépend pas du cheminement parcouru.

La plupart des appels à "Fvsinit32" passent sans soucis.

Donc à votre bon coeur, si vous avez des pistes ou avez connu des soucis avec ces fonctions......

Merci d'avance .