Opened 14 years ago

Closed 14 years ago

#64 closed defect (fixed)

Mapguide error:The value cannot be less than or equal to zero.

Reported by: zspitzer Owned by: madair
Priority: P2 Milestone: 1.1
Component: MapGuide Version: 1.0.6
Severity: Major Keywords:
Cc: Browser: All
External ID: Operating System: All
state: Analysing


Using 1.0.6 with a tiled map, i am seeing the following error in the mapguide server logs viewing the tiled Sheboygan map sample and the slate template with both FF2 and IE7.

There is no obvious problem i can see as a result of this error. It occurs using the zoom rectangle tool to zoom in.

mapguide access.log

<2008-05-14T13:20:20> 			Anonymous	QueryFeatures.1.0.0:7(Session:1bc12a1a-0000-1000-8001-00188b8b4aed_en_7F0000010AFC0AFB0AFA//Sheboygan482a59a37a3ac.Map,MgStringCollection,MgGeometry,4,,1,3) Failure

apache access.log - - [14/May/2008:13:20:20 +1000] "GET /mapguide/mapagent/mapagent.fcgi?&version=1.0.0&locale=en&operation=QUERYMAPFEATURES&session=1bc12a1a-0000-1000-8001-00188b8b4aed_en_7F0000010AFC0AFB0AFA&mapname=Sheboygan482a59a37a3ac&geometry=POLYGON((-87.70418013242478%2043.76565229696846%2C%20-87.70418013242478%2043.76561679407961%2C%20-87.70414462953593%2043.76561679407961%2C%20-87.70414462953593%2043.76565229696846%2C%20-87.70418013242478%2043.76565229696846))&maxFeatures=1&persist=0&selectionVariant=INTERSECTS&layerNames= HTTP/1.1" 559 522

mapguide error.log

<2008-05-14T13:20:20> 			Anonymous
 Error: Invalid argument(s):
        The value cannot be less than or equal to zero.
  - MgRenderingServiceHandler.ProcessOperation line 83 file d:\buildforgeprojects\mapguide_open_source_v2.0\build_27.13\mgdev\server\src\services\rendering\RenderingServiceHandler.cpp
  - MgOpQueryFeatures.Execute line 125 file d:\buildforgeprojects\mapguide_open_source_v2.0\build_27.13\mgdev\server\src\services\rendering\OpQueryFeatures.cpp
  - MgServerRenderingService.QueryFeatures line 652 file d:\buildforgeprojects\mapguide_open_source_v2.0\build_27.13\mgdev\server\src\services\rendering\ServerRenderingService.cpp
  - MgServerRenderingService.RenderForSelection line 1041 file d:\buildforgeprojects\mapguide_open_source_v2.0\build_27.13\mgdev\server\src\services\rendering\ServerRenderingService.cpp	Invalid argument(s):
The value cannot be less than or equal to zero.

Change History (7)

comment:1 by zspitzer, 14 years ago

basically the updateExtents ajax call had a problem it built a url string and then passed it in place of struct

if (this.url.indexOf('?') == -1) {
	//serverPath has no ? -- add one
	sParams = this.url + '?' + sParams;
} else {
	//serverPath contains ?, so must already have paramsString at the end
	sParams = this.url + '&' + sParams;

	url: sParams, 
	async: false,
	success: this._getExtentSuccess, 
	failure: this._getExtentFailure

in place of the OpenLayers.Ajax.Request call


comment:2 by madair, 14 years ago

Milestone: 1.0.7
Version: 1.0.6

from around line 12235 in OpenLayers.js in the Fusion 1.0 branch

comment:3 by madair, 14 years ago

state: NewAnalysing
Status: newassigned

comment:4 by madair, 14 years ago

I'm pretty sure this is a MGOS bug with tiled maps. The equivalent function with untiled maps works fine.

Tracing the error into the source file (line 1041 of ServerRenderingService.cpp) reveals that MGOS is making a call to map->GetViewCenter() which seems to be failing probably because the map extents have not been set.

To test this theory, I did a QUERYMAPFEATURES call first (which failed as above), then I made a call to GETVISIBLEMAPEXTENTS using the web tier test page, and then re-issued the same QUERYMAPFEATURES request and it worked properly.

I will file a bug in the MGOS trac system.

comment:6 by madair, 14 years ago

(In [1587]) re #64: add a call to GETVISIBLEMAPEXTENTS for tiled maps whenever the extents change

comment:7 by madair, 14 years ago

Resolution: fixed
Status: assignedclosed

(In [1590]) closes #64: add a call to GETVISIBLEMAPEXTENTS for tiled maps whenever the extents change; put Maptip widget in standard template; fix navigator error

Note: See TracTickets for help on using tickets.