[VSDK] Semaphore freeze after a crash

Totte Alm totte at code66.se
Mon Jan 5 20:45:07 CST 2004


Eric, Ruslan!!

I've tried to make Ruslan fix this bug for 6 months!!
Its because of the fact that deep inside VSDK, there is a MUTEX that is  
created with the WRONG parameter, probably proted Windows code, as  
Windows
Mutexes are REENTRANT by default unless you explicit specify POSIX  
Mode, but on UNIX Mutexes are NOT REENTRANT, hence the bug doesnt
show up in the VSDK for Win32.

If you have code to preproduce it, please send it to Ruslan as he  
"denies the existance of that mutex"!
I KNOW its deep down in the FBL stuff, and its becuase the mutex stuff  
is classes them self, and its hard to try to folow WHAT is really  
compiled when
we only have parts of it and not KNOW what really inside the VSDK  
Framework and really gets called.

Sorry for the rough language, but I've really really really tried to  
make Ruslan fixc this one, but he cant find it...

// Totte

2004-01-05 kl. 19.59 skrev Eric Forget:

> Hi Ruslan,
>
> After a crash, everytime I try to execute an INSERT SQL statement I  
> freeze
> there:
>
> #0    0x90017048 in semaphore_wait_signal_trap
> #1    0x90002300 in pthread_mutex_lock
> #2    0xb0041028 in FBL_IndexerTask::Run()
> #3    0xb0041c14 in FBL_Task::DoIndexing(FBL_Task*)
> #4    0xb0031704 in FBL_SecondaryIndex::BuildIndex()
> #5    0xb0031df0 in FBL_SecondaryIndex::OpenFirstTime()
> #6    0xb0031bd4 in FBL_SecondaryIndex::Open()
> #7    0xb0031254 in FBL_SecondaryIndex::AddPair(unsigned long)
> #8    0xb0021010 in BF_STRING::AddToIndex(unsigned long,  
> FBL_FieldSorter*,
> char const*, bool)
> #9    0xb002e1ac in FBL_IndexedTable::AddRecord(bool)
> #10    0xb00c3b9c in OBL_CursorTable_Indirect::Add()
> #11    0xb006dad8 in VDK_Cursor::Add()
> #12    0xb00754dc in VDK_DataBase::Parse_InsertStatementSelect(char  
> const*,
> unsigned long*, char const*, FBL_Array<FBL_String*>&)
> #13    0xb00748d8 in VDK_DataBase::Parse_InsertStatement(char const*,
> unsigned long*, FBL_Array<VDK_IParameter*>*)
>
> Removing the index file didn't help. The diagnose say everything is all
> right.
>
> I may be wrong, but it looks like a flag has been kept in a wrong  
> state in
> the database, isn't it?
>
> Éric
>
> ___________________________________________________________________
>
>  Eric Forget                       Cafederic
>  ForgetE at cafederic.com             <http://www.cafederic.com/>
>
>  Fingerprint <86D5 38F5 E1FD 5D9C 71C3  BAA3 797E 70A4 6210 C684>
>
>
> _______________________________________________
> Valentina mailing list
> Valentina at lists.macserve.net
> http://lists.macserve.net/mailman/listinfo/valentina
>
>
------------------------------------------------------------------------ 
--------------------
Give a man a fish and you feed him for a day;
teach him to use the Net and he wont bother you for weeks.
--unknown



More information about the Valentina mailing list