View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002523 | JEDI VCS | Client (Gui) | public | 2005-01-17 14:21 | 2008-11-15 07:25 |
Reporter | schuettecarsten | Assigned To | schuettecarsten | ||
Priority | normal | Severity | minor | Reproducibility | random |
Status | closed | Resolution | fixed | ||
Product Version | |||||
Target Version | Fixed in Version | 2.40 RC2 (Client) | |||
Summary | 0002523: problems with GPF from midware | ||||
Description | there are still some problems with message processing in threads caused by the way midware implements it's internal window handles. error messages are "gpf at 0x00000000 read from 0x00000000" or something like this. | ||||
Additional Information | i have some callstack information here and will take a look at this. | ||||
Tags | No tags attached. | ||||
Fix in JVCS version | |||||
Releasedocumentation | |||||
child of | 0002377 | closed | Releaseinfo: 2.40 gui client issues |
|
Exception class: EAccessViolation Thread: 00000C58 [TJVCSJobThread] "" ---------------------------------------------------------------------------- ------------------------ Stack list, generated 18.01.2005 11:11:56 [035B4B5B] System.@HandleAnyException + $33 [03637C1C] Controls.BackgroundClipped + $24 [03636C28] Controls.TControl.RequestAlign + $8 [0363DC39] Controls.TWinControl.SetBounds + $C9 [0363A997] Controls.TWinControl.AlignControl + $F [035DB37C] Classes.StdWndProc + $14 [036F44B7] WSocket.TCustomWSocket.ProcessMessage (Line 3110, "WSocket.pas" + 8) + $4 [036F44CC] WSocket.TCustomWSocket.ProcessMessages (Line 3124, "WSocket.pas" + 1) + $2 [037030F2] CBroker.TClientObject.WaitForAnswer (Line 302, "CBroker.pas" + 4) + $3 [0371E0BF] JVCSClientObjBase.TJVCSClientObject.WaitForAnswer (Line 433, "..\common\client\JVCSClientObjBase.pas" + 2) + $4 [0371E048] JVCSClientObjBase.TJVCSClientObject.Execute (Line 369, "..\common\client\JVCSClientObjBase.pas" + 7) + $7 [0372293B] JVCSClientObj.TJVCSGetBugsByProject.Initialize (Line 11452, "..\common\client\JVCSClientObj.pas" + 2) + $2 [03724E15] JVCSConnect.TJVCSConnection.InternalExecuteObject (Line 666, "..\common\client\JVCSConnect.pas" + 26) + $5 [03724E56] JVCSConnect.TJVCSConnection.SendRequest (Line 679, "..\common\client\JVCSConnect.pas" + 3) + $4 [03726C02] DBModule.TDataModule1.ClientObjectSendRequest (Line 401, "DBModule.pas" + 7) + $5 [037F0D68] BugWindow.TVCSBugWindow.ThreadFillListView (Line 193, "BugWindow.pas" + 20) + $A [0376301C] JVCSThreads.TJVCSThreadJob.Run (Line 223, "..\common\JVCSThreads.pas" + 6) + $9 [037632EE] JVCSThreads.TJVCSJobThread.DoRunJobs (Line 351, "..\common\JVCSThreads.pas" + 18) + $2 [0376337E] JVCSThreads.TJVCSJobThread.Execute (Line 379, "..\common\JVCSThreads.pas" + 5) + $3 [035D9780] Classes.ThreadProc + $34 [035B54D0] System.ThreadWrapper + $28 ---------------------------------------------------------------------------- ------------------------ System : Windows XP Professional, Version: 5.1, Build: A28, "Service Pack 2" Processor: Intel, Pentium 4, 2550 MHz MMX Display : 1280x1024 pixels, 32 bpp ---------------------------------------------------------------------------- ------------------------ |
|
The problem is caused by the following procedure in WSocket.pas from midware. It processes ALL messages, also from the VCL thread. But it's not synchronized. function TCustomWSocket.ProcessMessage : Boolean; var Msg : TMsg; begin Result := FALSE; if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then begin Result := TRUE; if Msg.Message = WM_QUIT then FTerminated := TRUE else begin TranslateMessage(Msg); DispatchMessage(Msg); end; end; end; |
|
f hWnd is NULL, PeekMessage retrieves messages for any window that belongs to the current thread making the call. (PeekMessage does not retrieve messages for windows that belong to other threads.) - Win32 help I e, it only retrieves message belonging to the current thread. However, in a call or notification from the IDE, we should never process messages for that thread IMHO, only from the threads we have created ourselves. |
|
errors are no longer reproduceable |
Date Modified | Username | Field | Change |
---|---|---|---|
2005-01-17 14:21 | schuettecarsten | New Issue | |
2005-01-17 14:21 | schuettecarsten | Status | new => assigned |
2005-01-17 14:21 | schuettecarsten | Assigned To | => schuettecarsten |
2005-01-18 13:41 | schuettecarsten | Note Added: 0006216 | |
2005-01-22 12:05 | schuettecarsten | Note Added: 0006259 | |
2005-01-24 06:42 | schuettecarsten | Relationship added | child of 0002377 |
2005-03-21 04:46 | diwic | Note Added: 0006748 | |
2005-04-10 13:31 | schuettecarsten | Status | assigned => resolved |
2005-04-10 13:31 | schuettecarsten | Resolution | open => fixed |
2005-04-10 13:31 | schuettecarsten | Note Added: 0006882 | |
2005-04-16 05:51 | USchuster | Fixed in Version | => 2.40 RC2 (Client) |
2008-11-15 07:25 | THuber | Status | resolved => closed |