Opened 12 years ago
Last modified 12 years ago
#4271 new defect
SIGFPE from mapsymbol.c 701
Reported by: | woodbri | Owned by: | sdlime |
---|---|---|---|
Priority: | normal | Milestone: | 6.2 release |
Component: | MapServer C Library | Version: | svn-trunk (development) |
Severity: | normal | Keywords: | |
Cc: |
Description
This is caused by:
symbol name "S" image '/u/data/tiger2011-maps/etc/svg/hwy/S-blank.svg' type svg end ... label ... class ... label expression ('[a3]' = '3') style # specifying an svg symbol this way crashes #symbol '/u/data/tiger2011-maps/etc/svg/hwy/S-blank.svg' # the following works symbol 'S' size 20 minsize 20 maxsize 20 end end end {{{ Starting program: /usr/local/bin/mapserv QUERY_STRING='mode=map&map=/home/woodbri/work/mapserver-tests/bug4279.map' > junk.png [Thread debugging using libthread_db enabled] warning: Lowest section in /usr/lib/libicudata.so.38 is .hash at 0000000000000120 [New Thread 0x7fb321165710 (LWP 3642)] Program received signal SIGFPE, Arithmetic exception. [Switching to Thread 0x7fb321165710 (LWP 3642)] 0x00007fb320d597d3 in msGetMarkerSize (symbolset=0x6e4110, style=0x739bc0, width=0x7fff4f2f54a8, height=0x7fff4f2f54a0, scalefactor=1) at mapsymbol.c:701 701 *width = MS_MAX(*width, ((size/symbol->pixmap_buffer->height) * symbol->pixmap_buffer->width)); (gdb) bt #0 0x00007fb320d597d3 in msGetMarkerSize (symbolset=0x6e4110, style=0x739bc0, width=0x7fff4f2f54a8, height=0x7fff4f2f54a0, scalefactor=1) at mapsymbol.c:701 #1 0x00007fb320ddc593 in computeLabelMarkerPoly (map=0x6e40e0, img=0x715720, cachePtr=0x702c90, label=0x739950, markerPoly=0x7fff4f2f5610) at mapdraw.c:2629 #2 0x00007fb320ddd576 in msDrawLabelCache (image=0x715720, map=0x6e40e0) at mapdraw.c:2904 #3 0x00007fb320dd13a5 in msDrawMap (map=0x6e40e0, querymap=0) at mapdraw.c:493 #4 0x00007fb320e64fa8 in msCGIDispatchImageRequest (mapserv=0x6e36c0) at mapservutil.c:1475 #5 0x00007fb320e65adc in msCGIDispatchRequest (mapserv=0x6e36c0) at mapservutil.c:1717 #6 0x000000000040131d in main (argc=2, argv=0x7fff4f2f5c28) at mapserv.c:201 (gdb) p *width $1 = 0 (gdb) p size $2 = 20 (gdb) p symbol->pixmap_buffer->height $3 = 0 (gdb) p symbol->pixmap_buffer->width $5 = 0 (gdb) p *symbol $6 = {name = 0x6f61a0 "/u/data/tiger2011-maps/etc/svg/hwy/S-blank.svg", type = 1003, inmapfile = 0, map = 0x0, sizex = 1, sizey = 1, minx = 0, miny = 0, maxx = 0, maxy = 0, points = {{x = 0, y = 0} <repeats 100 times>}, refcount = 1, numpoints = 0, filled = 0, anchorpoint_x = 0.5, anchorpoint_y = 0.5, renderer = 0x0, pixmap_buffer = 0x7459b0, renderer_cache = 0x0, full_font_path = 0x0, full_pixmap_path = 0x6eeba0 "/u/data/tiger2011-maps/etc/svg/hwy/S-blank.svg", svg_cairo_surface = 0x0, imagepath = 0x6f6160 "/u/data/tiger2011-maps/etc/svg/hwy/S-blank.svg", transparent = 0, transparentcolor = 0, character = 0x0, antialias = 0, font = 0x0, svg_text = 0x0} (gdb) p symbol->pixmap_buffer $7 = (rasterBufferObj *) 0x7459b0 (gdb) p *symbol->pixmap_buffer $8 = {type = 0, width = 0, height = 0, scale = 0, rotation = 0, data = { rgba = {pixels = 0x0, pixel_step = 0, row_step = 0, a = 0x0, r = 0x0, g = 0x0, b = 0x0}, palette = {pixels = 0x0, palette = 0x0, num_entries = 0, scaling_maxval = 0}, gd_img = 0x0}} (gdb) }}}
Note:
See TracTickets
for help on using tickets.
Also see #4272 which is probably related to this issue.