udoprog / c10t

A minecraft cartography tool
Other
225 stars 50 forks source link

Segmentation fault on render #281

Closed koro666 closed 10 years ago

koro666 commented 11 years ago

Hi, I am having issues trying to render my server's world. I am getting a segmentation fault.

Here's the offending line, obviously -122 must be an invalid input.

#0 0x000000000043d8ae in mc::get_color (material=-122, data=0) at blocks.hpp:200 200 return MaterialColorData[material].top[data]; [New Thread 802007400 (LWP 575142/c10t)]

Here is the stack trace:

`#0 0x000000000043d8ae in mc::get_color (material=-122, data=0) at blocks.hpp:200

1 0x000000000044dc20 in flat_base::render (this=0x8023fc0c0, level=@0x7fffffffca20, oper=@0x7fffffffca10) at flat_base.hpp:71

2 0x000000000043af30 in generate_map (out=@0x7fffffffd550, out_log=@0x7fffffffd050, error=@0x6e7750, s=@0x7fffffffd3a0, hints=@0x7fffffffd7a0, world_path=@0x7fffffffd480, output_path=@0x7fffffffd448) at /home/minecraft/c10t/src/generate_map.cpp:747

3 0x000000000040bc3c in main (argc=8, argv=0x7fffffffdaa0) at /home/minecraft/c10t/src/main.cpp:406`

I've compiled c10t on FreeBSD 9.0-RELEASE-p3 amd64, but to get it to compile, I had to remove dl from c10t_LIBRARIES in CMakeLists.txt and set CMAKE_CXX_FLAGS to -Wno-long-long.

c10t version information: version: git 6ae7e15, built on Dec 30 2012

I can provide the debug log, core file, or world on request. The world is a Bukkit world, but other than that, it does not use any kind of special blocks or anything.

Thanks.

elad661 commented 11 years ago

I'm getting the same issue, here's a full backtrace from gdb

GNU gdb (GDB) Fedora (7.5.1-32.fc18)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/elad/c10t/c10t-debug...done.
(gdb) start -w ~/newmc-backup/newworld -o test.png
Temporary breakpoint 1 at 0x471e00: file /home/elad/c10t/src/main.cpp, line 269.
Starting program: /home/elad/c10t/c10t-debug -w ~/newmc-backup/newworld -o test.png
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Temporary breakpoint 1, main (argc=5, argv=0x7fffffffe408) at /home/elad/c10t/src/main.cpp:269
269     nullstream nil;
Missing separate debuginfos, use: debuginfo-install freetype-2.4.10-2.fc18.x86_64 glibc-2.16-28.fc18.x86_64 libgcc-4.7.2-8.fc18.x86_64 libpng-1.5.13-1.fc18.x86_64 libstdc++-4.7.2-8.fc18.x86_64 zlib-1.2.7-9.fc18.x86_64
(gdb) continue
Continuing.

Generating PNG Map

 --- SCANNING WORLD DIRECTORY --- 
world: /home/elad/newmc-backup/newworld
...............................     3100 parts
...............................     6200 parts
...............................     9300 parts
..............    10729 parts
 --- ALLOCATING MEMORY --- 
memory usage: 99 MB
memory limit: 1000 MB
 --- RENDERING --- 

Program received signal SIGSEGV, Segmentation fault.
0x00000000004a13fb in mc::get_color (material=-1, data=0) at /home/elad/c10t/src/mc/blocks.hpp:200
200     return MaterialColorData[material].top[data];
(gdb) bt full
#0  0x00000000004a13fb in mc::get_color (material=-1, data=0) at /home/elad/c10t/src/mc/blocks.hpp:200
No locals.
#1  0x00000000004b709c in flat_base<top_cube>::render (this=0xa0e090, level=..., oper=...) at /home/elad/c10t/src/engine/flat_base.hpp:71
        blocked_position = 156
        block_type = -1
        block_data = 0
        top = {r = 7.0373527e+22, g = 2.3509887e-38, b = 1.46936794e-39, a = 1.46936794e-39, z = 0}
        px = 13
        side = {r = 7.0373527e+22, g = 2.3509887e-38, b = 1.46936794e-39, a = 1.46936794e-39, z = 0}
        p = {x = 8, y = 69, z = 3}
        py = 8
        x = 9
        z = 3
        abs_y = 69
        y = 5
        br_blocks = {x = 9, z = 3, rotation = 0, array = {px = 0xb8e780, pn = {pi_ = 0xb91570}}}
        br_data = {x = 9, z = 3, rotation = 0, array = {px = 0xb91510, pn = {pi_ = 0xa162f0}}}
        br_block_light = {x = 9, z = 3, rotation = 0, array = {px = 0xbe1cd0, pn = {pi_ = 0xb83f40}}}
        br_sky_light = {x = 9, z = 3, rotation = 0, array = {px = 0xa67480, pn = {pi_ = 0xb82820}}}
        Section = {Blocks = {px = 0xb8e780, pn = {pi_ = 0xb91570}}, Data = {px = 0xb91510, pn = {pi_ = 0xa162f0}}, SkyLight = {px = 0xa67480, pn = {
              pi_ = 0xb82820}}, BlockLight = {px = 0xbe1cd0, pn = {pi_ = 0xb83f40}}, Y = 4 '\004'}
        _foreach_continue41 = false
        _foreach_end41 = @0x7fffffffca00: {<No data fields>}
        _foreach_cur41 = @0x7fffffffc9f0: {<No data fields>}
        _foreach_col41 = @0x7fffffffc9d0: {<No data fields>}
        _foreach_is_rvalue41 = false
        s = @0xa0e0e0: {rotation = 0, night = false, heightmap = false, striped_terrain = false, hellmode = false, cavemode = false, top = 127, 
          bottom = 0, excludes = {px = 0xa073b0, pn = {pi_ = 0xa083c0}}}
        iw = 17
        ih = 17
        L = {px = 0xbe4fc0, pn = {pi_ = 0xb1c280}}
        blocked = 0xbe1b30
#2  0x000000000049df99 in generate_map (out=..., out_log=..., error=..., s=..., hints=std::vector of length 1, capacity 1 = {...}, world_path=..., 
    output_path=...) at /home/elad/c10t/src/generate_map.cpp:747
---Type <return> to continue, or q <return> to quit---
        cache_hit = false
        mod = 1
        level_info = {px = 0xb75800, pn = {pi_ = 0xb75a60}}
        coord = {x = 4, z = -44}
        ss = <incomplete type>
        level_dir = {static preferred_separator = 47 '/', m_pathname = "cache/4/k"}
        rotated_level_info = {level = {px = 0xb75800, pn = {pi_ = 0xb75a60}}, coord = {x = 4, z = -44}}
        level = {px = 0xb914a0, pn = {pi_ = 0xa0e810}}
        path = {static preferred_separator = 47 '/', m_pathname = "/home/elad/newmc-backup/newworld/region/r.0.-2.mca(4,-44)"}
        operations = {px = 0xa0e7c0, pn = {pi_ = 0xc041b0}}
        basename = "4.-44.cmap"
        cache = {cache_dir = {static preferred_separator = 47 '/', m_pathname = "cache/4/k"}, source_write_time = 1, cache_compress = false, 
          cache_path = {static preferred_separator = 47 '/', m_pathname = "cache/4/k/4.-44.cmap"}}
        value = {first = {x = 4, z = -44}, second = {level = {px = 0xb75800, pn = {pi_ = 0xb75a60}}, coord = {x = 4, z = -44}}}
        _foreach_continue706 = false
        _foreach_end706 = @0x7fffffffd330: {<No data fields>}
        _foreach_cur706 = @0x7fffffffd320: {<No data fields>}
        _foreach_col706 = @0x7fffffffd300: {<No data fields>}
        _foreach_is_rvalue706 = false
        world_size = 10729
        effective_threads = 1
        failed_levels = 0
        region_buffer = {factor = 1, factor_max = 16, size = 131072, buffer_size = 131072, buffer = 0x7fffeb5ff010 "\n"}
        cropped = {px = 0x0, pn = {pi_ = 0x0}}
        cache_hits = 0
        reporter = warning: RTTI symbol not found for class 'nonstd::limited<unsigned int, std::ostream>'
{<nonstd::reporting<unsigned int>> = {_vptr.reporting = 0x4e6530 <vtable for nonstd::limited<unsigned int, std::ostream>+16>}, 
          static LINE_WIDTH = 30, out = @0x7fffffffdb80, chunks = 27, total = 0, progress_threshold = 50, line = 0, 
          progress_f = 0x4a43ea <dot<unsigned int>(std::ostream&, unsigned int)>, 
          endline_f = 0x49aa1d <parts_perc_endl(std::ostream&, unsigned int, unsigned int)>, total_limit = 10729}
        id = 28
        players = std::vector of length 0, capacity 0
        work_in_progress = {px = 0xbbaf70, pn = {pi_ = 0xbbb030}}
        center_x = 0
        warps = std::vector of length 0, capacity 0
---Type <return> to continue, or q <return> to quit---
        signs = std::vector of length 0, capacity 0
        engine = {px = 0xa0e090, pn = {pi_ = 0xa093c0}}
        engine_s = {rotation = 0, night = false, heightmap = false, striped_terrain = false, hellmode = false, cavemode = false, top = 127, 
          bottom = 0, excludes = {px = 0xa073b0, pn = {pi_ = 0xa083c0}}}
        center_y = 0
        markers = {<boost::ptr_sequence_adapter<marker, std::vector<void*, std::allocator<void*> >, boost::heap_clone_allocator>> = {<boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::sequence_config<marker, std::vector<void*, std::allocator<void*> > >, boost::heap_clone_allocator>> = {static allow_null = false, c_ = std::vector of length 0, capacity 0}, <No data fields>}, <No data fields>}
        world = {world_path = {static preferred_separator = 47 '/', m_pathname = "/home/elad/newmc-backup/newworld"}, min_x = -67, min_z = -46, 
          max_x = 86, max_z = 85, diff_x = 153, diff_z = 131, min_xp = -1072, min_zp = -736, chunk_x = 0, chunk_y = 0}
        levels = std::map with 10729 elements = {[{x = 3, z = -46}] = {level = {px = 0xb748b0, pn = {pi_ = 0xb74a20}}, coord = {x = 3, z = -46}}, [{
            x = 7, z = -46}] = {level = {px = 0xb74970, pn = {pi_ = 0xb74ac0}}, coord = {x = 7, z = -46}}, [{x = 2, z = -45}] = {level = {
              px = 0xb749a0, pn = {pi_ = 0xb74b60}}, coord = {x = 2, z = -45}}, [{x = 3, z = -45}] = {level = {px = 0xb74910, pn = {
                pi_ = 0xb74c00}}, coord = {x = 3, z = -45}}, [{x = 4, z = -45}] = {level = {px = 0xb74a40, pn = {pi_ = 0xb74ca0}}, coord = {x = 4, 
              z = -45}}, [{x = 5, z = -45}] = {level = {px = 0xb74ae0, pn = {pi_ = 0xb74d40}}, coord = {x = 5, z = -45}}, [{x = 6, z = -45}] = {
            level = {px = 0xb74b80, pn = {pi_ = 0xb74de0}}, coord = {x = 6, z = -45}}, [{x = 7, z = -45}] = {level = {px = 0xb74c20, pn = {
                pi_ = 0xb74e80}}, coord = {x = 7, z = -45}}, [{x = 8, z = -45}] = {level = {px = 0xb74cc0, pn = {pi_ = 0xb74f20}}, coord = {x = 8, 
              z = -45}}, [{x = 9, z = -45}] = {level = {px = 0xb74d60, pn = {pi_ = 0xb74fc0}}, coord = {x = 9, z = -45}}, [{x = 10, z = -45}] = {
            level = {px = 0xb74e00, pn = {pi_ = 0xb75060}}, coord = {x = 10, z = -45}}, [{x = 11, z = -45}] = {level = {px = 0xb74ea0, pn = {
                pi_ = 0xb75100}}, coord = {x = 11, z = -45}}, [{x = 12, z = -45}] = {level = {px = 0xb74f40, pn = {pi_ = 0xb751a0}}, coord = {
              x = 12, z = -45}}, [{x = 13, z = -45}] = {level = {px = 0xb74fe0, pn = {pi_ = 0xb75240}}, coord = {x = 13, z = -45}}, [{x = 14, 
            z = -45}] = {level = {px = 0xb75080, pn = {pi_ = 0xb752e0}}, coord = {x = 14, z = -45}}, [{x = 15, z = -45}] = {level = {px = 0xb75120, 
              pn = {pi_ = 0xb75380}}, coord = {x = 15, z = -45}}, [{x = 16, z = -45}] = {level = {px = 0xb751c0, pn = {pi_ = 0xb75420}}, coord = {
              x = 16, z = -45}}, [{x = 17, z = -45}] = {level = {px = 0xb75260, pn = {pi_ = 0xb754c0}}, coord = {x = 17, z = -45}}, [{x = 18, 
            z = -45}] = {level = {px = 0xb75300, pn = {pi_ = 0xb75560}}, coord = {x = 18, z = -45}}, [{x = 19, z = -45}] = {level = {px = 0xb753a0, 
              pn = {pi_ = 0xb75600}}, coord = {x = 19, z = -45}}, [{x = 20, z = -45}] = {level = {px = 0xb75440, pn = {pi_ = 0xb756a0}}, coord = {
              x = 20, z = -45}}, [{x = 21, z = -45}] = {level = {px = 0xb754e0, pn = {pi_ = 0xb75740}}, coord = {x = 21, z = -45}}, [{x = 22, 
            z = -45}] = {level = {px = 0xb75580, pn = {pi_ = 0xb757e0}}, coord = {x = 22, z = -45}}, [{x = 23, z = -45}] = {level = {px = 0xb75620, 
              pn = {pi_ = 0xb75880}}, coord = {x = 23, z = -45}}, [{x = 2, z = -44}] = {level = {px = 0xb756c0, pn = {pi_ = 0xb75920}}, coord = {
              x = 2, z = -44}}, [{x = 3, z = -44}] = {level = {px = 0xb75760, pn = {pi_ = 0xb759c0}}, coord = {x = 3, z = -44}}, [{x = 4, 
            z = -44}] = {level = {px = 0xb75800, pn = {pi_ = 0xb75a60}}, coord = {x = 4, z = -44}}, [{x = 5, z = -44}] = {level = {px = 0xb758a0, 
              pn = {pi_ = 0xb75b00}}, coord = {x = 5, z = -44}}, [{x = 6, z = -44}] = {level = {px = 0xb75940, pn = {pi_ = 0xb75ba0}}, coord = {
              x = 6, z = -44}}, [{x = 7, z = -44}] = {level = {px = 0xb759e0, pn = {pi_ = 0xb75c40}}, coord = {x = 7, z = -44}}, [{x = 8, 
            z = -44}] = {level = {px = 0xb75a80, pn = {pi_ = 0xb75ce0}}, coord = {x = 8, z = -44}}, [{x = 9, z = -44}] = {level = {px = 0xb75b20, 
---Type <return> to continue, or q <return> to quit---
              pn = {pi_ = 0xb75d80}}, coord = {x = 9, z = -44}}, [{x = 10, z = -44}] = {level = {px = 0xb75bc0, pn = {pi_ = 0xb75e20}}, coord = {
              x = 10, z = -44}}, [{x = 11, z = -44}] = {level = {px = 0xb75c60, pn = {pi_ = 0xb75ec0}}, coord = {x = 11, z = -44}}, [{x = 12, 
            z = -44}] = {level = {px = 0xb75d00, pn = {pi_ = 0xb75f60}}, coord = {x = 12, z = -44}}, [{x = 13, z = -44}] = {level = {px = 0xb75da0, 
              pn = {pi_ = 0xb76000}}, coord = {x = 13, z = -44}}, [{x = 14, z = -44}] = {level = {px = 0xb75e40, pn = {pi_ = 0xb760a0}}, coord = {
              x = 14, z = -44}}, [{x = 15, z = -44}] = {level = {px = 0xb75ee0, pn = {pi_ = 0xb76140}}, coord = {x = 15, z = -44}}, [{x = 16, 
            z = -44}] = {level = {px = 0xb75f80, pn = {pi_ = 0xb761e0}}, coord = {x = 16, z = -44}}, [{x = 17, z = -44}] = {level = {px = 0xb76020, 
              pn = {pi_ = 0xb76280}}, coord = {x = 17, z = -44}}, [{x = 18, z = -44}] = {level = {px = 0xb760c0, pn = {pi_ = 0xb76320}}, coord = {
              x = 18, z = -44}}, [{x = 19, z = -44}] = {level = {px = 0xb76160, pn = {pi_ = 0xb763c0}}, coord = {x = 19, z = -44}}, [{x = 20, 
            z = -44}] = {level = {px = 0xb76200, pn = {pi_ = 0xb76460}}, coord = {x = 20, z = -44}}, [{x = 21, z = -44}] = {level = {px = 0xb762a0, 
              pn = {pi_ = 0xb76500}}, coord = {x = 21, z = -44}}, [{x = 22, z = -44}] = {level = {px = 0xb76340, pn = {pi_ = 0xb765a0}}, coord = {
              x = 22, z = -44}}, [{x = 23, z = -44}] = {level = {px = 0xb763e0, pn = {pi_ = 0xb76640}}, coord = {x = 23, z = -44}}, [{x = 24, 
            z = -44}] = {level = {px = 0xb76480, pn = {pi_ = 0xb766e0}}, coord = {x = 24, z = -44}}, [{x = -2, z = -43}] = {level = {px = 0xa93650, 
              pn = {pi_ = 0xa937c0}}, coord = {x = -2, z = -43}}, [{x = 2, z = -43}] = {level = {px = 0xb76520, pn = {pi_ = 0xb76780}}, coord = {
              x = 2, z = -43}}, [{x = 3, z = -43}] = {level = {px = 0xb765c0, pn = {pi_ = 0xb76820}}, coord = {x = 3, z = -43}}, [{x = 4, 
            z = -43}] = {level = {px = 0xb76660, pn = {pi_ = 0xb768c0}}, coord = {x = 4, z = -43}}, [{x = 5, z = -43}] = {level = {px = 0xb76700, 
              pn = {pi_ = 0xb76960}}, coord = {x = 5, z = -43}}, [{x = 6, z = -43}] = {level = {px = 0xb767a0, pn = {pi_ = 0xb76a00}}, coord = {
              x = 6, z = -43}}, [{x = 7, z = -43}] = {level = {px = 0xb76840, pn = {pi_ = 0xb76aa0}}, coord = {x = 7, z = -43}}, [{x = 8, 
            z = -43}] = {level = {px = 0xb768e0, pn = {pi_ = 0xb76b40}}, coord = {x = 8, z = -43}}, [{x = 9, z = -43}] = {level = {px = 0xb76980, 
              pn = {pi_ = 0xb76be0}}, coord = {x = 9, z = -43}}, [{x = 10, z = -43}] = {level = {px = 0xb76a20, pn = {pi_ = 0xb76c80}}, coord = {
              x = 10, z = -43}}, [{x = 11, z = -43}] = {level = {px = 0xb76ac0, pn = {pi_ = 0xb76d20}}, coord = {x = 11, z = -43}}, [{x = 12, 
            z = -43}] = {level = {px = 0xb76b60, pn = {pi_ = 0xb76dc0}}, coord = {x = 12, z = -43}}, [{x = 13, z = -43}] = {level = {px = 0xb76c00, 
              pn = {pi_ = 0xb76e60}}, coord = {x = 13, z = -43}}, [{x = 14, z = -43}] = {level = {px = 0xb76ca0, pn = {pi_ = 0xb76f00}}, coord = {
              x = 14, z = -43}}, [{x = 15, z = -43}] = {level = {px = 0xb76d40, pn = {pi_ = 0xb76fa0}}, coord = {x = 15, z = -43}}, [{x = 16, 
            z = -43}] = {level = {px = 0xb76de0, pn = {pi_ = 0xb77040}}, coord = {x = 16, z = -43}}, [{x = 17, z = -43}] = {level = {px = 0xb76e80, 
              pn = {pi_ = 0xb770e0}}, coord = {x = 17, z = -43}}, [{x = 18, z = -43}] = {level = {px = 0xb76f20, pn = {pi_ = 0xb77180}}, coord = {
              x = 18, z = -43}}, [{x = 19, z = -43}] = {level = {px = 0xb76fc0, pn = {pi_ = 0xb77220}}, coord = {x = 19, z = -43}}, [{x = 20, 
            z = -43}] = {level = {px = 0xb77060, pn = {pi_ = 0xb772c0}}, coord = {x = 20, z = -43}}, [{x = 21, z = -43}] = {level = {px = 0xb77100, 
              pn = {pi_ = 0xb77360}}, coord = {x = 21, z = -43}}, [{x = 22, z = -43}] = {level = {px = 0xb771a0, pn = {pi_ = 0xb77400}}, coord = {
              x = 22, z = -43}}, [{x = 23, z = -43}] = {level = {px = 0xb77240, pn = {pi_ = 0xb774a0}}, coord = {x = 23, z = -43}}, [{x = 24, 
            z = -43}] = {level = {px = 0xb772e0, pn = {pi_ = 0xb77540}}, coord = {x = 24, z = -43}}, [{x = -2, z = -42}] = {level = {px = 0xa93710, 
              pn = {pi_ = 0xa93860}}, coord = {x = -2, z = -42}}, [{x = -1, z = -42}] = {level = {px = 0xa93740, pn = {pi_ = 0xa93900}}, coord = {
              x = -1, z = -42}}, [{x = 0, z = -42}] = {level = {px = 0xb77380, pn = {pi_ = 0xb775e0}}, coord = {x = 0, z = -42}}, [{x = 1, 
            z = -42}] = {level = {px = 0xb77420, pn = {pi_ = 0xb77680}}, coord = {x = 1, z = -42}}, [{x = 2, z = -42}] = {level = {px = 0xb774c0, 
              pn = {pi_ = 0xb77720}}, coord = {x = 2, z = -42}}, [{x = 3, z = -42}] = {level = {px = 0xb77560, pn = {pi_ = 0xb777c0}}, coord = {
---Type <return> to continue, or q <return> to quit---
              x = 3, z = -42}}, [{x = 4, z = -42}] = {level = {px = 0xb77600, pn = {pi_ = 0xb77860}}, coord = {x = 4, z = -42}}, [{x = 5, 
            z = -42}] = {level = {px = 0xb776a0, pn = {pi_ = 0xb77900}}, coord = {x = 5, z = -42}}, [{x = 6, z = -42}] = {level = {px = 0xb77740, 
              pn = {pi_ = 0xb779a0}}, coord = {x = 6, z = -42}}, [{x = 7, z = -42}] = {level = {px = 0xb777e0, pn = {pi_ = 0xb77a40}}, coord = {
              x = 7, z = -42}}, [{x = 8, z = -42}] = {level = {px = 0xb77880, pn = {pi_ = 0xb77ae0}}, coord = {x = 8, z = -42}}, [{x = 9, 
            z = -42}] = {level = {px = 0xb77920, pn = {pi_ = 0xb77b80}}, coord = {x = 9, z = -42}}, [{x = 10, z = -42}] = {level = {px = 0xb779c0, 
              pn = {pi_ = 0xb77c20}}, coord = {x = 10, z = -42}}, [{x = 11, z = -42}] = {level = {px = 0xb77a60, pn = {pi_ = 0xb77cc0}}, coord = {
              x = 11, z = -42}}, [{x = 12, z = -42}] = {level = {px = 0xb77b00, pn = {pi_ = 0xb77d60}}, coord = {x = 12, z = -42}}, [{x = 13, 
            z = -42}] = {level = {px = 0xb77ba0, pn = {pi_ = 0xb77e00}}, coord = {x = 13, z = -42}}, [{x = 14, z = -42}] = {level = {px = 0xb77c40, 
              pn = {pi_ = 0xb77ea0}}, coord = {x = 14, z = -42}}, [{x = 15, z = -42}] = {level = {px = 0xb77ce0, pn = {pi_ = 0xb77f40}}, coord = {
              x = 15, z = -42}}, [{x = 16, z = -42}] = {level = {px = 0xb77d80, pn = {pi_ = 0xb77fe0}}, coord = {x = 16, z = -42}}, [{x = 17, 
            z = -42}] = {level = {px = 0xb77e20, pn = {pi_ = 0xb78080}}, coord = {x = 17, z = -42}}, [{x = 18, z = -42}] = {level = {px = 0xb77ec0, 
              pn = {pi_ = 0xb78120}}, coord = {x = 18, z = -42}}, [{x = 19, z = -42}] = {level = {px = 0xb77f60, pn = {pi_ = 0xb781c0}}, coord = {
              x = 19, z = -42}}, [{x = 20, z = -42}] = {level = {px = 0xb78000, pn = {pi_ = 0xb78260}}, coord = {x = 20, z = -42}}, [{x = 21, 
            z = -42}] = {level = {px = 0xb780a0, pn = {pi_ = 0xb78300}}, coord = {x = 21, z = -42}}, [{x = 22, z = -42}] = {level = {px = 0xb78140, 
              pn = {pi_ = 0xb783a0}}, coord = {x = 22, z = -42}}, [{x = 23, z = -42}] = {level = {px = 0xb781e0, pn = {pi_ = 0xb78440}}, coord = {
              x = 23, z = -42}}, [{x = 24, z = -42}] = {level = {px = 0xb78280, pn = {pi_ = 0xb784e0}}, coord = {x = 24, z = -42}}, [{x = 51, 
            z = -42}] = {level = {px = 0xb83f10, pn = {pi_ = 0xb84080}}, coord = {x = 51, z = -42}}, [{x = 57, z = -42}] = {level = {px = 0xb83fd0, 
              pn = {pi_ = 0xb84120}}, coord = {x = 57, z = -42}}...}
        use_any_database = false
        output_json = false
#3  0x0000000000472837 in main (argc=5, argv=0x7fffffffe408) at /home/elad/c10t/src/main.cpp:406
        nil = {<std::basic_ostream<char, std::char_traits<char> >> = {<No data fields>}, <No data fields>}
        out_log = <incomplete type>
        s = {binary = false, cache_compress = false, cache_use = false, cavemode = false, debug = false, has_coordinate_color = false, 
          has_player_color = false, has_sign_color = false, has_warp_color = false, heightmap = false, hellmode = false, 
          memory_limit_default = true, night = false, nocheck = false, no_log = false, pedantic_broad_phase = false, require_all = false, 
          show_coordinates = false, show_players = false, show_signs = false, show_warps = false, silent = false, strip_sign_prefix = false, 
          striped_terrain = false, use_split = false, write_js = false, write_json = false, excludes = {px = 0xa073b0, pn = {pi_ = 0xa083c0}}, 
          coordinate_color = {r = 0, g = 0, b = 0, a = 1, z = 0}, player_color = {r = 0, g = 0, b = 0, a = 1, z = 0}, sign_color = {r = 0, g = 0, 
            b = 0, a = 1, z = 0}, ttf_color = {r = 0, g = 0, b = 0, a = 1, z = 0}, warp_color = {r = 0, g = 0, b = 0, a = 1, z = 0}, mode = Top, 
          cache_dir = {static preferred_separator = 47 '/', m_pathname = "cache"}, output_log = {static preferred_separator = 47 '/', m_pathname = 
    "/home/elad/c10t/c10t.log"}, output_path = {static preferred_separator = 47 '/', m_pathname = "/home/elad/c10t/test.png"}, palette_read_path = {
            static preferred_separator = 47 '/', m_pathname = ""}, palette_write_path = {static preferred_separator = 47 '/', m_pathname = ""}, 
          show_warps_path = {static preferred_separator = 47 '/', m_pathname = ""}, statistics_path = {static preferred_separator = 47 '/', 
---Type <return> to continue, or q <return> to quit---
            m_pathname = "/home/elad/c10t/statistics.txt"}, swap_file = {static preferred_separator = 47 '/', m_pathname = "swap.bin"}, ttf_path = {
            static preferred_separator = 47 '/', m_pathname = "font.ttf"}, world_path = {static preferred_separator = 47 '/', m_pathname = 
    "/home/elad/newmc-backup/newworld"}, write_json_path = {static preferred_separator = 47 '/', m_pathname = ""}, write_js_path = {
            static preferred_separator = 47 '/', m_pathname = ""}, engine_path = {static preferred_separator = 47 '/', m_pathname = ""}, 
          engine_use = false, bottom = 0, max_radius = 1000, min_x = -10000, max_x = 10000, min_z = -10000, max_z = 10000, top = 127, ttf_size = 12, 
          memory_limit = 1000, split = empty std::list, show_players_set = std::set with 0 elements, cache_key = "", show_signs_filter = "", 
          prebuffer = 4, rotation = 0, split_base = 0, threads = 1, graph_block = -1, center_x = 0, center_z = 0, action = GenerateWorld}
        out = <incomplete type>
        hints = std::vector of length 1, capacity 1 = {
    "To use less memory, specify a memory limit with `-M <MB>', if it is reached c10t will swap to disk instead"}
(gdb) 

version version: git 6ae7e15, built on Jan 4 2013

Ben0mega commented 11 years ago

It looks as though the get_color code does not handle unknown materials - a simple patch to fix it would be if(material==-1) return SENTINEL_COLOR; or so