Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1495 closed defect (fixed)

Crash on Linux setting a sequence of rally points

Reported by: vts Owned by: vts
Priority: Should Have Milestone: Alpha 11
Component: Core engine Keywords:
Cc: Patch:

Description (last modified by vts)

halcyonXIII encountered a crash when setting a sequence of rally points for a structure, using svn rev. 11951.

Steps to reproduce:

  1. Select a building which can produce or garrison units.
  2. Hold down the Shift key, and set a chain of rally points anywhere.
  3. Usually on about the 5th rally point, 0AD crashes.

Occasionally, the crash produces this log:

Function call failed: return value was -120000 (Handle index completely out of bounds)
Location: h_mgr.cpp:197 (h_data_from_idx)

Call stack:

(0x7f4caa) ./pyrogenesis() [0x7f4caa]
(0x79fc11) ./pyrogenesis() [0x79fc11]
(0x7a08ee) ./pyrogenesis() [0x7a08ee]
(0x7a00e9) ./pyrogenesis() [0x7a00e9]
(0x7c33f3) ./pyrogenesis() [0x7c33f3]
(0x7cad95) ./pyrogenesis() [0x7cad95]
(0x5e81e4) ./pyrogenesis() [0x5e81e4]
(0x675537) ./pyrogenesis() [0x675537]
(0x65aade) ./pyrogenesis() [0x65aade]
(0x65ad39) ./pyrogenesis() [0x65ad39]
(0x65b62c) ./pyrogenesis() [0x65b62c]
(0x6510c4) ./pyrogenesis() [0x6510c4]
(0x65191f) ./pyrogenesis() [0x65191f]
(0x587fa1) ./pyrogenesis() [0x587fa1]
(0x41d9b3) ./pyrogenesis() [0x41d9b3]
(0x4135d7) ./pyrogenesis() [0x4135d7]

errno = 0 (No error reported here)
OS error = ?

The crash is confirmed to be reproducible on Linux (tested on flavors of Ubuntu), but not on Windows.

Change History (9)

comment:1 by vts, 12 years ago

Historicbruno reports the following:

Sometimes I get a slightly different error, again while placing the 5th waypoint flag:

Function call failed: return value was -120003 (Handle tag mismatch (stale reference?))
Location: h_mgr.cpp:245 (h_data_tag)

With this call stack (thread 1 is the relevant bit):

Thread 8 (Thread 0x7fffc54aa700 (LWP 22391)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
        at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:140
No locals.
#1  0x00007ffff176c660 in pa_threaded_mainloop_wait ()
   from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#2  0x00007ffff6299e7a in ?? () from /usr/lib/libopenal.so.1
No symbol table info available.
#3  0x00007ffff62252ea in ?? () from /usr/lib/libopenal.so.1
No symbol table info available.
#4  0x00007ffff4817efc in start_thread (arg=0x7fffc54aa700)
        at pthread_create.c:304
                __res = <optimized out>
                pd = 0x7fffc54aa700
                now = <optimized out>
                unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1, -3394299257482913114,
                                140737295555616, 140736503392704, 0, 3, 3394179587834108582,
                                3394288936646859430}, mask_was_saved = 0}}, priv = {pad = {
                          0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
                          canceltype = 0}}}
                not_first_call = 0
                robust = <optimized out>
                pagesize_m1 = <optimized out>
                sp = <optimized out>
                freesize = <optimized out>
                __PRETTY_FUNCTION__ = "start_thread"
#5  0x00007ffff455259d in clone ()
        at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#6  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 7 (Thread 0x7fffc9cac700 (LWP 22390)):
#0  0x00007ffff4546473 in __GI___poll (fds=<optimized out>,
        nfds=<optimized out>, timeout=<optimized out>)
        at ../sysdeps/unix/sysv/linux/poll.c:87
                resultvar = <optimized out>
                oldtype = 0
                result = <optimized out>
#1  0x00007ffff176c03f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#2  0x00007ffff175d45c in pa_mainloop_poll ()
   from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#3  0x00007ffff175dac9 in pa_mainloop_iterate ()
   from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#4  0x00007ffff175db80 in pa_mainloop_run ()
   from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#5  0x00007ffff176bfef in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#6  0x00007fffefdc3c78 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libpulsecommon-1.0.so
No symbol table info available.
#7  0x00007ffff4817efc in start_thread (arg=0x7fffc9cac700)
        at pthread_create.c:304
                __res = <optimized out>
                pd = 0x7fffc9cac700
                now = <optimized out>
                unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1, -3394299257482913114,
                                140737295555616, 140736578898368, 0, 3, 3394189484512500390,
                                3394288936646859430}, mask_was_saved = 0}}, priv = {pad = {
                          0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
                          canceltype = 0}}}
                not_first_call = 0
                robust = <optimized out>
                pagesize_m1 = <optimized out>
                sp = <optimized out>
                freesize = <optimized out>
                __PRETTY_FUNCTION__ = "start_thread"
#8  0x00007ffff455259d in clone ()
        at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#9  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 5 (Thread 0x7fffca7af700 (LWP 22388)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x00007ffff557c618 in SDL_SemWait () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#2  0x0000000000aa5e68 in CTextureConverter::RunThread (data=0x11abdb0)
        at ../../../source/graphics/TextureConverter.cpp:515
                textureConverter = 0x11abdb0
#3  0x00007ffff4817efc in start_thread (arg=0x7fffca7af700)
        at pthread_create.c:304
                __res = <optimized out>
                pd = 0x7fffca7af700
                now = <optimized out>
                unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1, -3394299257482913114,
                                140737295555616, 140736590444992, 0, 3, 3394186051223018150,
                                3394288936646859430}, mask_was_saved = 0}}, priv = {pad = {
                          0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
                          canceltype = 0}}}
                not_first_call = 0
                robust = <optimized out>
                pagesize_m1 = <optimized out>
                sp = <optimized out>
                freesize = <optimized out>
                __PRETTY_FUNCTION__ = "start_thread"
#4  0x00007ffff455259d in clone ()
        at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#5  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 4 (Thread 0x7fffccdda700 (LWP 22387)):
#0  0x00007ffff481f8dd in nanosleep () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1  0x00007ffff557e773 in SDL_Delay () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#2  0x00007ffff557e7a2 in ?? () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#3  0x00007ffff5538705 in ?? () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#4  0x00007ffff557c3e9 in ?? () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#5  0x00007ffff4817efc in start_thread (arg=0x7fffccdda700)
        at pthread_create.c:304
                __res = <optimized out>
                pd = 0x7fffccdda700
                now = <optimized out>
                unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1, -3394299257482913114,
                                140737488342224, 140736630467008, 0, 3, 3394200590224186022,
                                3394288936646859430}, mask_was_saved = 0}}, priv = {pad = {
                          0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
                          canceltype = 0}}}
                not_first_call = 0
                robust = <optimized out>
                pagesize_m1 = <optimized out>
                sp = <optimized out>
                freesize = <optimized out>
                __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff455259d in clone ()
        at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#7  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 3 (Thread 0x7fffcd6dc700 (LWP 22386)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1  0x00007ffff557c618 in SDL_SemWait () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#2  0x00000000008ef44c in CUserReporterWorker::Run (this=0x1250e80)
        at ../../../source/ps/UserReport.cpp:279
                proxy = {static npos = <optimized out>,
                  _M_dataplus = {<std::allocator<wchar_t>> = {<__gnu_cxx::new_allocator<wchar_t>> = {<No data fields>}, <No data fields>}, _M_p = 0x7ffff51bb698 L""}}
#3  0x00000000008ef1c6 in CUserReporterWorker::RunThread (data=0x1250e80)
        at ../../../source/ps/UserReport.cpp:236
No locals.
#4  0x00007ffff4817efc in start_thread (arg=0x7fffcd6dc700)
        at pthread_create.c:304
                __res = <optimized out>
                pd = 0x7fffcd6dc700
                now = <optimized out>
                unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1, -3394299257482913114,
                                140737295555616, 140736639912384, 0, 3, 3394196880446184102,
                                3394288936646859430}, mask_was_saved = 0}}, priv = {pad = {
                          0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
                          canceltype = 0}}}
                not_first_call = 0
                robust = <optimized out>
                pagesize_m1 = <optimized out>
                sp = <optimized out>
                freesize = <optimized out>
                __PRETTY_FUNCTION__ = "start_thread"
#5  0x00007ffff455259d in clone ()
        at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#6  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 2 (Thread 0x7fffcdedd700 (LWP 22385)):
#0  0x00007ffff454b613 in select () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1  0x0000000000c5430c in fam_event_loop ()
        at ../../../source/lib/sysdep/os/linux/dir_watch_fam.cpp:147
                fdrset = {fds_bits = {512, 0 <repeats 15 times>}}
                famfd = 9
#2  0x00007ffff4817efc in start_thread (arg=0x7fffcdedd700)
        at pthread_create.c:304
                __res = <optimized out>
                pd = 0x7fffcdedd700
                now = <optimized out>
                unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1, -3394299257482913114,
                                140737295555616, 140736648305088, 0, 3, 3394197981568424614,
                                3394288936646859430}, mask_was_saved = 0}}, priv = {pad = {
                          0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
                          canceltype = 0}}}
                not_first_call = 0
                robust = <optimized out>
                pagesize_m1 = <optimized out>
                sp = <optimized out>
                freesize = <optimized out>
                __PRETTY_FUNCTION__ = "start_thread"
#3  0x00007ffff455259d in clone ()
        at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
No locals.
#4  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 1 (Thread 0x7ffff7fca780 (LWP 22382)):
#0  0x00007ffff44a5687 in kill () at ../sysdeps/unix/syscall-template.S:82
No locals.
#1  0x0000000000c591d2 in debug_break ()
        at ../../../source/lib/sysdep/os/unix/udbg.cpp:50
No locals.
#2  0x0000000000bfc909 in h_data_tag (h=27866499442802754, hd=@0x7fffffffd890)
        at ../../../source/lib/res/h_mgr.cpp:245
                suppress__ = 0
                __func__ = "h_data_tag"
#3  0x0000000000bfc963 in h_data_tag_type (h=27866499442802754,
        type=0x11334c0, hd=@0x7fffffffd890)
        at ../../../source/lib/res/h_mgr.cpp:256
                status_ = 140737488345232
                __func__ = "h_data_tag_type"
#4  0x0000000000bfd915 in h_user_data (h=27866499442802754, type=0x11334c0)
        at ../../../source/lib/res/h_mgr.cpp:610
                hd = 0x7fffede0bcb0
                __func__ = "h_user_data"
#5  0x0000000000c0898f in ogl_tex_get_texture_id (ht=27866499442802754,
        id=0x7fffffffd910) at ../../../source/lib/res/graphics/ogl_tex.cpp:1088
                __func__ = "ogl_tex_get_texture_id"
                ot = 0x9916ca0
#6  0x00000000009a5e67 in CShaderProgramARB::BindTexture (this=0x9916c20,
        id=0xd19fa3 "baseTex", tex=27866499442802754)
        at ../../../source/graphics/ShaderProgram.cpp:173
                h = 0
                index = 0
#7  0x0000000000a87b4e in CTexturedLineRData::Render (this=0xa81edd0,
        shader=...) at ../../../source/renderer/TexturedLineRData.cpp:44
                streamFlags = 9
                stride = 0
                vertexBase = 0x0
                indexBase = 0x0
#8  0x0000000000a613a8 in OverlayRenderer::RenderTexturedOverlayLines (
        this=0x161ed00, shader=..., alwaysVisible=true)
        at ../../../source/renderer/OverlayRenderer.cpp:470
                line = 0x11474fe0
                rdata = 0xa81edd0
                i = 3
                __func__ = "RenderTexturedOverlayLines"
#9  0x0000000000a611db in OverlayRenderer::RenderTexturedOverlayLines (
        this=0x161ed00) at ../../../source/renderer/OverlayRenderer.cpp:440
                shaderName = 0xd15ba0 "arb/overlayline"
                shaderTexLineNormal = {px = 0x8e67530, pn = {pi_ = 0x9255700}}
                los = @0x32355f0
                shaderManager = @0x161e350
                shaderTexLineAlwaysVisible = {px = 0x9916c20, pn = {pi_ = 0x9232570}}
#10 0x0000000000a60e25 in OverlayRenderer::RenderOverlaysAfterWater (
        this=0x161ed00) at ../../../source/renderer/OverlayRenderer.cpp:385
                __profile = {<No data fields>}
                profile2__ = {m_Name = 0xd15b8f "overlays (after)"}
                profile2gpu__ = {m_Name = 0xd15b8f "overlays (after)"}
#11 0x0000000000a577f5 in CRenderer::RenderSubmissions (this=0x161de40)
        at ../../../source/renderer/Renderer.cpp:1460
                __profile = {<No data fields>}
                profile2__ = {m_Name = 0xd12b4a "render submissions"}
                context = {<CShaderParams<CStrIntern>> = {m_Items = 0x178b640,
                        static s_InternedItems = {
                          table_ = {<boost::unordered_detail::hash_table<boost::unordered_detail::map<CShaderParams<CStrIntern>::SItems, boost::hash<CShaderParams<CStrIntern>::SItems>, std::equal_to<CShaderParams<CStrIntern>::SItems>, std::allocator<std::pair<CShaderParams<CStrIntern>::SItems const, boost::shared_ptr<CShaderParams<CStrIntern>::SItems> > > > >> = {<boost::unordered_detail::hash_buckets<std::allocator<std::pair<CShaderParams<CStrIntern>::SItems const, boost::shared_ptr<CShaderParams<CStrIntern>::SItems> > >, boost::unordered_detail::ungrouped>> = {
                                        buckets_ = 0xc4a7d70, bucket_count_ = 79,
                                        allocators_ = {<boost::details::compressed_pair_imp<std::allocator<boost::unordered_detail::hash_bucket<std::allocator<std::pair<CShaderParams<CStrIntern>::SItems const, boost::shared_ptr<CShaderParams<CStrIntern>::SItems> > > > >, std::allocator<boost::unordered_detail::hash_node<std::allocator<std::pair<CShaderParams<CStrIntern>::SItems const, boost::shared_ptr<CShaderParams<CStrIntern>::SItems> > >, boost::unordered_detail::ungrouped> >, 3>> = {<std::allocator<boost::unordered_detail::hash_bucket<std::allocator<std::pair<CShaderParams<CStrIntern>::SItems const, boost::shared_ptr<CShaderParams<CStrIntern>::SItems> > > > >> = {<__gnu_cxx::new_allocator<boost::unordered_detail::hash_bucket<std::allocator<std::pair<CShaderParams<CStrIntern>::SItems const, boost::shared_ptr<CShaderParams<CStrIntern>::SItems> > > > >> = {<No data fields>}, <No data fields>}, <std::allocator<boost::unordered_detail::hash_node<std::allocator<std::pair<CShaderParams<CStrIntern>::SItems const, boost::shared_ptr<CShaderParams<CStrIntern>::SItems> > >, boost::unordered_detail::ungrouped> >> = {<__gnu_cxx::new_allocator<boost::unordered_detail::hash_node<std::allocator<std::pair<CShaderParams<CStrIntern>::SItems const, boost::shared_ptr<CShaderParams<CStrIntern>::SItems> > >, boost::unordered_detail::ungrouped> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}, <boost::unordered_detail::hash_buffered_functions<boost::hash<CShaderParams<CStrIntern>::SItems>, std::equal_to<CShaderParams<CStrIntern>::SItems> >> = {current_ = false, funcs_ = {{
                                                data_ = {buf = "", align_ = 0 '\000'}}, {data_ = {
                                                  buf = "", align_ = 0 '\000'}}}}, size_ = 61,
                                  mlf_ = 1, cached_begin_bucket_ = 0xc4a7d70,
                                  max_load_ = 79}, <No data fields>}}}, <No data fields>}
                waterScissor = {m_Data = {{X = 0.625760198, Y = 0.773907781, Z = -1}, {
                          X = 1, Y = 1, Z = 1}}, static EMPTY = {m_Data = {{
                                X = 3.40282347e+38, Y = 3.40282347e+38, Z = 3.40282347e+38}, {
                                X = -3.40282347e+38, Y = -3.40282347e+38,
                                Z = -3.40282347e+38}},
                        static EMPTY = <same as static member of an already seen type>}}
#12 0x0000000000a584fc in CRenderer::RenderScene (this=0x161de40, scene=...)
        at ../../../source/renderer/Renderer.cpp:1664
                frustum = {m_aPlanes = {{m_Norm = {X = -1.5724076, Y = -0.57357645,
                                Z = 0.819152057}, m_Dist = -24.4981995}, {m_Norm = {
                                X = 1.5724076, Y = -0.57357645, Z = 0.819152057},
                          m_Dist = -762.436035}, {m_Norm = {X = 0, Y = 1.14381146,
                                Z = 2.02168012}, m_Dist = -1204.53088}, {m_Norm = {X = 0,
                                Y = -2.29096437, Z = -0.383375943}, m_Dist = 417.59668}, {
                          m_Norm = {X = 0, Y = 0.00056040287, Z = -0.00080037117},
                          m_Dist = 4.38638306}, {m_Norm = {X = 0, Y = -1.1477133,
                                Z = 1.63910449}, m_Dist = -791.320557}, {m_Norm = {X = 0,
                                Y = 0, Z = 0}, m_Dist = 0}, {m_Norm = {X = 0, Y = 0, Z = 0},
                          m_Dist = 0}, {m_Norm = {X = 0, Y = 0, Z = 0}, m_Dist = 0}, {
                          m_Norm = {X = 0, Y = 0, Z = 0}, m_Dist = 0}}, m_NumPlanes = 6}
#13 0x00000000009e9e4c in CGameView::Render (this=0x3235430)
        at ../../../source/graphics/GameView.cpp:494
No locals.
#14 0x000000000092cf41 in Render ()
        at ../../../source/ps/GameSetup/GameSetup.cpp:228
                __profile = {<No data fields>}
                profile2__ = {m_Name = 0xce4b4e "render"}
                skystring = {<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> = {static npos = <optimized out>,
                        _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
                          _M_p = 0x123cc08 "0 0 0"}}, <No data fields>}
                skycol = {r = 0, g = 0, b = 0, a = 1}
#15 0x000000000070b172 in Frame () at ../../../source/main.cpp:413
                __profile = {<No data fields>}
                profile2__ = {m_Name = 0xc8fcf8 "sound update"}
                realTimeSinceLastFrame = 1.51004779
                __func__ = "Frame"
                need_render = true
                profile2__ = {m_Name = 0xc8fc66 "frame"}
                time = 90.913563038000007
                need_update = true
                is_building_archive = false
#16 0x000000000070b8f6 in RunGameOrAtlas (argc=1, argv=0x7fffffffe238)
        at ../../../source/main.cpp:529
                args = {
                  m_Args = {<std::_Vector_base<std::pair<CStr8, CStr8>, std::allocator<std::pair<CStr8, CStr8> > >> = {
                          _M_impl = {<std::allocator<std::pair<CStr8, CStr8> >> = {<__gnu_cxx::new_allocator<std::pair<CStr8, CStr8> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
                                _M_end_of_storage = 0x0}}, <No data fields>}, m_Arg0 = {
                        path = {static npos = <optimized out>,
                          _M_dataplus = {<std::allocator<wchar_t>> = {<__gnu_cxx::new_allocator<wchar_t>> = {<No data fields>}, <No data fields>},
                                _M_p = 0x11447b8 L"/home/ben/0ad/binaries/system/pyrogenesis_dbg"}}, separator = 47 L'/'}}
                ran_atlas = false
                res = 1.0000000000000001e-09
#17 0x000000000070bbdc in main (argc=1, argv=0x7fffffffe238)
        at ../../../source/main.cpp:572
No locals.

comment:2 by vts, 12 years ago

I can also reproduce this bug on Ubuntu 11.10 x86_64 when placing 5 rally point flags in sequence, with the following error message:

Program received signal SIGSEGV, Segmentation fault.
    0x00000000009b750e in CTexture::TryLoad (this=0xfffaffffd22e1e20) at ../../../source/graphics/TextureManager.cpp:544
    544             if (m_State == UNLOADED || m_State == PREFETCH_NEEDS_LOADING || m_State == PREFETCH_NEEDS_CONVERTING)

and this backtrace:

    (gdb) bt
    #0  0x00000000009b750e in CTexture::TryLoad (this=0xfffaffffd22e1e20) at ../../../source/graphics/TextureManager.cpp:544
    #1  0x00000000009b74cf in CTexture::GetHandle (this=0xfffaffffd22e1e20) at ../../../source/graphics/TextureManager.cpp:535
    #2  0x0000000000aecfb4 in CTexturedLineRData::Render (this=0xf9d16f0, shader=...) at ../../../source/renderer/TexturedLineRData.cpp:44
    #3  0x0000000000a7ed64 in OverlayRenderer::RenderTexturedOverlayLines (this=0x16130f0, shader=..., alwaysVisible=true) at ../../../source/renderer/OverlayRenderer.cpp:470
    #4  0x0000000000a7eb97 in OverlayRenderer::RenderTexturedOverlayLines (this=0x16130f0) at ../../../source/renderer/OverlayRenderer.cpp:440
    #5  0x0000000000a7e7e1 in OverlayRenderer::RenderOverlaysAfterWater (this=0x16130f0) at ../../../source/renderer/OverlayRenderer.cpp:385
    #6  0x0000000000a4d741 in CRenderer::RenderSubmissions (this=0x1612230) at ../../../source/renderer/Renderer.cpp:1460
    #7  0x0000000000a4e448 in CRenderer::RenderScene (this=0x1612230, scene=...) at ../../../source/renderer/Renderer.cpp:1664
    #8  0x00000000009ac7d8 in CGameView::Render (this=0x3a1d160) at ../../../source/graphics/GameView.cpp:494
    #9  0x000000000093eb79 in Render () at ../../../source/ps/GameSetup/GameSetup.cpp:228
    #10 0x000000000070af72 in Frame () at ../../../source/main.cpp:413
    #11 0x000000000070b6f6 in RunGameOrAtlas (argc=2, argv=0x7fffffffe1c8) at ../../../source/main.cpp:529
    #12 0x000000000070b9dc in main (argc=2, argv=0x7fffffffe1c8) at ../../../source/main.cpp:572

comment:3 by vts, 12 years ago

Description: modified (diff)

comment:5 by historic_bruno, 12 years ago

Cc: leper added

r11909 introduced queued rally points

comment:6 by historic_bruno, 12 years ago

Similar error on OS X / llvm, when placing the second queued rally point.

comment:7 by leper, 12 years ago

Cc: leper removed

I did revert r11933 locally and I can't reproduce the crash with this change. So apperantly r11933 changed something that causes this to break.

(removing myself from cc as with posting here I'll get notified too)

comment:8 by vts, 12 years ago

Owner: set to vts
Resolution: fixed
Status: newclosed

In 11979:

Removed reverse dependency on SOverlayTexturedLine from CTexturedLineRData; fixes dangling pointer dereference. Fixes #1495.

comment:9 by vts, 12 years ago

Milestone: BacklogAlpha 11
Note: See TracTickets for help on using tickets.