SASGIS - SAS.Планета
View Issue Details
0002933SAS.Планета[All Projects] Багpublic20-12-2015 18:5701-03-2016 16:11
Garl 
vdemidov 
normalminorhave not tried
closedunable to reproduce 
Windows7Professional
.Nightly 
 
0002933: EAssertionFailed
в 10 потоков генерировал вышележащие слои + копирование кэша

Assertion failure (D:\coding\Delphi\src\SAS.Planet\sas.nightly\sas.src\Src\TileProvider\u_BitmapTileProviderByOtherProjection.pas, line 355).
No tags attached.
? SASPlanet.Debug.elf (100,769) 20-12-2015 18:57
http://www.sasgis.org/mantis/file_download.php?file_id=1995&type=bug
Issue History
20-12-2015 18:57GarlNew Issue
20-12-2015 18:57GarlFile Added: SASPlanet.Debug.elf
20-12-2015 19:37vdemidovNote Added: 0016950
20-12-2015 19:41GarlNote Added: 0016952
20-12-2015 19:57vdemidovNote Added: 0016953
20-12-2015 19:58vdemidovNote Added: 0016954
20-12-2015 21:08vdemidovNote Added: 0016957
21-12-2015 04:54GarlNote Added: 0016960
01-03-2016 16:11vdemidovStatusnew => resolved
01-03-2016 16:11vdemidovResolutionopen => unable to reproduce
01-03-2016 16:11vdemidovAssigned To => vdemidov
01-03-2016 16:11vdemidovStatusresolved => closed

Notes
(0016950)
vdemidov   
20-12-2015 19:37   
Ну, ассерт был не в обработке областей, а в посторении видимой области. Нужно смотерть.
(0016952)
Garl   
20-12-2015 19:41   
самое обидное в том что все прогрессы (штук 20) надо начинать сначала...
если вылетит ещё - приложу лог.
(0016953)
vdemidov   
20-12-2015 19:57   
А ты не заглядывал ненароком на 24-й зум? А то что-то сильно похоже на переполнение.
(0016954)
vdemidov   
20-12-2015 19:58   
Эхх, нужно писать в ассерты подробные сообщения с данными, но как же лень этим заниматься.
(0016957)
vdemidov   
20-12-2015 21:08   
Ошибка где-то в этом коде - вылетает ассерт. Но вот где, я понять не могу.

  if not VProjectionTarget.CheckTilePosStrict(VTile) then begin
    Exit;
  end;
  VTargetPixelRect := VProjectionTarget.TilePos2PixelRect(VTile);
  VTargetTileSize := Types.Point(VTargetPixelRect.Right - VTargetPixelRect.Left, VTargetPixelRect.Bottom - VTargetPixelRect.Top);
  VRelativeRect := VProjectionTarget.PixelRect2RelativeRect(VTargetPixelRect);
  VTargetPixelRectAtSource := VProjectionSource.RelativeRect2PixelRectFloat(VRelativeRect);
  VSourceTileRect := RectFromDoubleRect(VProjectionSource.PixelRectFloat2TileRectFloat(VTargetPixelRectAtSource), rrOutside);
  Assert(VSourceTileRect.Right > VSourceTileRect.Left);
  Assert(VSourceTileRect.Bottom > VSourceTileRect.Top);
(0016960)
Garl   
21-12-2015 04:54   
возможно был переход к последнему выделению , а оно как на зло было очень маленьким...