After following Ubuntu tile server setup instructions I encounter the following segmentation fault any time Apache2 is started. I've attempted re-installing mod_tile from SVN but still hit this crash.
user@host:~$ sudo /etc/init.d/apache2 start
* Starting web server apache2 [Fri Jan 11 13:25:59 2013] [notice] Committing tile config default
[Fri Jan 11 13:25:59 2013] [notice] Loading tile config default at /osm/ for zooms 0 - 18 from tile directory /var/lib/mod_tile with extension .png and mime type image/png
*** glibc detected *** /usr/sbin/apache2: double free or corruption (fasttop): 0x00007fa6fc5859f0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7eb96)[0x7fa6fa7f9b96]
/usr/lib/apache2/modules/mod_tile.so(+0xaa00)[0x7fa6f7847a00]
/usr/sbin/apache2(+0x417d1)[0x7fa6fb6567d1]
/usr/sbin/apache2(ap_walk_config+0xb7)[0x7fa6fb658807]
/usr/sbin/apache2(+0x3b20a)[0x7fa6fb65020a]
/usr/sbin/apache2(+0x417ee)[0x7fa6fb6567ee]
/usr/sbin/apache2(ap_walk_config+0xb7)[0x7fa6fb658807]
/usr/sbin/apache2(ap_process_config_tree+0xd2)[0x7fa6fb659722]
/usr/sbin/apache2(main+0x98d)[0x7fa6fb641f5d]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7fa6fa79c76d]
/usr/sbin/apache2(+0x2d2a9)[0x7fa6fb6422a9]
======= Memory map: ========
.... omitted ....
So I grabbed a core dump and did some mucking around in gdb at frame 4 we see load_tile_config() get called then everything falls to pieces. Appears to be a double free in mod_tile.c in load_tile_config(), a quick look through the function didn't turn up anything that should cause the crash but I don't know this code base so maybe I missed something :/
#0 0x00007f5e09a65425 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007f5e09a68b8b in __GI_abort () at abort.c:91
#2 0x00007f5e09aa339e in __libc_message (do_abort=2, fmt=0x7f5e09bad028 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:201
#3 0x00007f5e09aadb96 in malloc_printerr (action=3, str=0x7f5e09bad218 "double free or corruption (fasttop)", ptr=<optimized out>) at malloc.c:5007
#4 0x00007f5e06afba00 in load_tile_config () from /usr/lib/apache2/modules/mod_tile.so
#5 0x00007f5e0a90a7d1 in invoke_cmd (cmd=0x7f5e06cff9c0 <tile_cmds>, parms=parms@entry=0x7fffa0cb77e0, mconfig=0x0, args=0x7f5e06a7c369 "") at config.c:791
#6 0x00007f5e0a90c807 in ap_walk_config_sub (section_vector=0x7f5e0a82fea8, parms=0x7fffa0cb77e0, current=0x7f5e06a7c318) at config.c:1164
#7 ap_walk_config (current=0x7f5e06a7c318, parms=parms@entry=0x7fffa0cb77e0, section_vector=0x7f5e0a82fea8) at config.c:1197
#8 0x00007f5e0a90420a in virtualhost_section (cmd=0x7fffa0cb77e0, dummy=<optimized out>, arg=<optimized out>) at core.c:2234
#9 0x00007f5e0a90a7ee in invoke_cmd (cmd=0x7f5e0ab365d0 <core_cmds+80>, parms=parms@entry=0x7fffa0cb77e0, mconfig=0x7f5e0a87e318, args=0x7f5e06a7c0d8 "*:80>") at config.c:758
#10 0x00007f5e0a90c807 in ap_walk_config_sub (section_vector=0x7f5e0a87dee0, parms=0x7fffa0cb77e0, current=0x7f5e06a7c098) at config.c:1164
#11 ap_walk_config (current=0x7f5e06a7c098, parms=parms@entry=0x7fffa0cb77e0, section_vector=0x7f5e0a87dee0) at config.c:1197
#12 0x00007f5e0a90d722 in ap_process_config_tree (s=s@entry=0x7f5e0a8b5578, conftree=<optimized out>, p=0x7f5e0a8bc028, ptemp=<optimized out>) at config.c:1792
#13 0x00007f5e0a8f5f5d in main (argc=3, argv=0x7fffa0cb7a38) at main.c:647
Any help/advice?
Config files
/etc/renderd.conf
/etc/apache2/apache2.conf
/etc/apache2/mods-available/tile.load
asked
11 Jan '13, 21:33
7bitbyte
1●1●1●1
accept rate:
0%
What version of Unbuntu is this with?
Ubuntu 12.10 quantal running on a 64bit machine
I was hitting this on 12.04, preformed the update to 12.10 and still hit so I started digging deeper.
Although I haven't tested the 12.10 version yet, so it is possible that there is a general bug, I rather suspect there is something in the config that upsets it (of cause that is also a bug, but perhaps easier to work around). Could you post the site config and the renderd config?
Good point, updated post to include links to config files
I can avoid the crash now by removing the ATTRIBUTION and DESCRIPTION tags from /etc/renderd.conf but there is definitely a bug in mod_tile
hey, i have the same error.
i didnt tested it yet, but have a look at the end of the method load_tile_config()
if (description) free(description);
if (attribution) free(description);
if (hostnames) free(description);
that looks wrong :)
edit: that fixed it for me
if (description) free(description);
if (attribution) free(attribution);
if (hostnames) free(hostnames);
doh, yep that should be the issue.
Ah, yes, that is indeed wrong. I'll commit a fix for that soon. I wonder if I committed the wrong version, as I noticed that error before committing and thought I had already fixed it. Oh well... Thanks for the report.
I fixed those double frees in SVN revision 29190 now. Hopefully that will solve the issue. Could you please confirm this? I will also upload a fixed package soon.