-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Description
ninja 1.12.1-1 just started segfaulting with my build, but not every time. The source files are ~12GB and have some things I'd rather not post to GitHub anyway1, but I could upload build.ninja and all the subninja, dyndep, and dep files if that would be useful.
$ DEBUGINFOD_URLS=https://debuginfod.debian.net gdb -- ninja
GNU gdb (Debian 16.3-1) 16.3
Copyright (C) 2024 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-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ninja...
This GDB supports auto-downloading debuginfo from the following URLs:
<https://debuginfod.debian.net>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /home/dseomn/.cache/debuginfod_client/98b4d7c6d48fc2ddac2e9b8a920b39fd04245608/debuginfo...
(gdb) r
Starting program: /usr/bin/ninja
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[0/1] INIT[Detaching after vfork from child process 429980]
[1/1] INIT
[0/10] SCAN htaccess.jinja[Detaching after vfork from child process 429983]
[0/10] SCAN posts/2014-06-29-boxborough-and-stow/index.html.jinja[Detaching after vfork from child process 429984]
[0/10] SCAN posts/feeds.atom.jinja[Detaching after vfork from child process 429986]
[0/10] SCAN posts/lists.html.jinja[Detaching after vfork from child process 429988]
[4/56] STAMP done scanning[Detaching after vfork from child process 430273]
[5/56] STAMP done scanning
Program received signal SIGSEGV, Segmentation fault.
0x00005555555643cc in std::_Rb_tree<Edge*, std::pair<Edge* const, Plan::Want>, std::_Select1st<std::pair<Edge* const, Plan::Want> >, std::less<Edge*>, std::allocator<std::pair<Edge* const, Plan::Want> > >::_M_mbegin (this=<optimized out>) at /usr/include/c++/13/bits/stl_map.h:1219
warning: Source file is more recent than executable.
1219 find(const key_type& __x)
(gdb) bt
#0 0x00005555555643cc in std::_Rb_tree<Edge*, std::pair<Edge* const, Plan::Want>, std::_Select1st<std::pair<Edge* const, Plan::Want> >, std::less<Edge*>, std::allocator<std::pair<Edge* const, Plan::Want> > >::_M_mbegin (this=<optimized out>) at /usr/include/c++/13/bits/stl_map.h:1219
#1 std::_Rb_tree<Edge*, std::pair<Edge* const, Plan::Want>, std::_Select1st<std::pair<Edge* const, Plan::Want> >, std::less<Edge*>, std::allocator<std::pair<Edge* const, Plan::Want> > >::_M_begin (this=<optimized out>) at /usr/include/c++/13/bits/stl_tree.h:741
#2 std::_Rb_tree<Edge*, std::pair<Edge* const, Plan::Want>, std::_Select1st<std::pair<Edge* const, Plan::Want> >, std::less<Edge*>, std::allocator<std::pair<Edge* const, Plan::Want> > >::find (__k=<optimized out>, this=<optimized out>) at /usr/include/c++/13/bits/stl_tree.h:2532
#3 std::map<Edge*, Plan::Want, std::less<Edge*>, std::allocator<std::pair<Edge* const, Plan::Want> > >::find (__x=<error reading variable: Cannot access memory at address 0x55555806a000>, this=0x7fffffffd600) at /usr/include/c++/13/bits/stl_map.h:1220
#4 Plan::NodeFinished (err=<optimized out>, node=0x555556a3ebc0, this=0x7fffffffd600) at ./src/build.cc:233
#5 Plan::NodeFinished (err=<optimized out>, node=0x555556a3ebc0, this=0x7fffffffd600) at ./src/build.cc:221
#6 Plan::EdgeFinished (this=0x7fffffffd600, edge=0x555556a3eb10, result=result@entry=Plan::kEdgeSucceeded, err=0x7fffffffd5d0) at ./src/build.cc:215
#7 0x0000555555564858 in Plan::EdgeMaybeReady (this=<optimized out>, want_e=..., err=<optimized out>) at ./src/build.cc:252
#8 0x000055555556441a in Plan::NodeFinished (err=<optimized out>, node=0x555556a3e9b0, this=0x7fffffffd600) at ./src/build.cc:238
#9 Plan::NodeFinished (err=<optimized out>, node=0x555556a3e9b0, this=0x7fffffffd600) at ./src/build.cc:221
#10 Plan::EdgeFinished (this=0x7fffffffd600, edge=0x555556a3e900, result=result@entry=Plan::kEdgeSucceeded, err=0x7fffffffd5d0) at ./src/build.cc:215
#11 0x0000555555564858 in Plan::EdgeMaybeReady (this=<optimized out>, want_e=..., err=<optimized out>) at ./src/build.cc:252
#12 0x000055555556441a in Plan::NodeFinished (err=<optimized out>, node=0x555556a3e760, this=0x7fffffffd600) at ./src/build.cc:238
#13 Plan::NodeFinished (err=<optimized out>, node=0x555556a3e760, this=0x7fffffffd600) at ./src/build.cc:221
#14 Plan::EdgeFinished (this=0x7fffffffd600, edge=0x555556a3e6b0, result=result@entry=Plan::kEdgeSucceeded, err=0x7fffffffd5d0) at ./src/build.cc:215
#15 0x0000555555564858 in Plan::EdgeMaybeReady (this=<optimized out>, want_e=..., err=<optimized out>) at ./src/build.cc:252
#16 0x000055555556441a in Plan::NodeFinished (err=<optimized out>, node=0x555556a3e310, this=0x7fffffffd600) at ./src/build.cc:238
#17 Plan::NodeFinished (err=<optimized out>, node=0x555556a3e310, this=0x7fffffffd600) at ./src/build.cc:221
#18 Plan::EdgeFinished (this=0x7fffffffd600, edge=0x555556a3d780, result=result@entry=Plan::kEdgeSucceeded, err=0x7fffffffd5d0) at ./src/build.cc:215
#19 0x0000555555564858 in Plan::EdgeMaybeReady (this=<optimized out>, want_e=..., err=<optimized out>) at ./src/build.cc:252
#20 0x000055555556441a in Plan::NodeFinished (err=<optimized out>, node=0x555556a3e4f0, this=0x7fffffffd600) at ./src/build.cc:238
#21 Plan::NodeFinished (err=<optimized out>, node=0x555556a3e4f0, this=0x7fffffffd600) at ./src/build.cc:221
#22 Plan::EdgeFinished (this=0x7fffffffd600, edge=0x555556c49a40, result=result@entry=Plan::kEdgeSucceeded, err=0x7fffffffd5d0) at ./src/build.cc:215
#23 0x0000555555564858 in Plan::EdgeMaybeReady (this=<optimized out>, want_e=..., err=<optimized out>) at ./src/build.cc:252
#24 0x000055555556441a in Plan::NodeFinished (err=<optimized out>, node=0x555555f0eef0, this=0x7fffffffd600) at ./src/build.cc:238
#25 Plan::NodeFinished (err=<optimized out>, node=0x555555f0eef0, this=0x7fffffffd600) at ./src/build.cc:221
#26 Plan::EdgeFinished (this=0x7fffffffd600, edge=0x555556c76f00, result=<optimized out>, err=0x7fffffffd5d0) at ./src/build.cc:215
#27 0x00005555555704fb in Builder::FinishCommand (this=this@entry=0x7fffffffd5f0, result=result@entry=0x7fffffffd380, err=err@entry=0x7fffffffd5d0) at ./src/build.cc:1001
#28 0x00005555555723e8 in Builder::Build (this=0x7fffffffd5f0, err=0x7fffffffd5d0) at ./src/build.cc:845
#29 0x0000555555569e32 in (anonymous namespace)::NinjaMain::RunBuild (status=0x5555555af490, argv=0x7fffffffdab0, argc=0, this=0x7fffffffd730) at ./src/ninja.cc:1382
#30 (anonymous namespace)::real_main (argc=<optimized out>, argv=<optimized out>) at ./src/ninja.cc:1608
#31 0x000055555555caef in main (argc=<optimized out>, argv=<optimized out>) at ./src/ninja.cc:1637
$ DEBUGINFOD_URLS=https://debuginfod.debian.net valgrind -- ninja
==431040== Memcheck, a memory error detector
==431040== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==431040== Using Valgrind-3.24.0 and LibVEX; rerun with -h for copyright info
==431040== Command: ninja
==431040==
[1/5] STAMP done scanning==431040== Invalid read of size 8
==431040== at 0x1183CC: UnknownInlinedFun (stl_tree.h:737)
==431040== by 0x1183CC: UnknownInlinedFun (stl_tree.h:741)
==431040== by 0x1183CC: UnknownInlinedFun (stl_tree.h:2532)
==431040== by 0x1183CC: UnknownInlinedFun (stl_map.h:1220)
==431040== by 0x1183CC: UnknownInlinedFun (build.cc:233)
==431040== by 0x1183CC: UnknownInlinedFun (build.cc:221)
==431040== by 0x1183CC: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x1244FA: Builder::FinishCommand(CommandRunner::Result*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:1001)
==431040== by 0x1263E7: Builder::Build(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:845)
==431040== by 0x11DE31: UnknownInlinedFun (ninja.cc:1382)
==431040== by 0x11DE31: (anonymous namespace)::real_main(int, char**) (ninja.cc:1608)
==431040== by 0x110AEE: main (ninja.cc:1637)
==431040== Address 0x6a27e48 is 24 bytes inside a block of size 512 free'd
==431040== at 0x484886D: operator delete(void*, unsigned long) (vg_replace_malloc.c:1181)
==431040== by 0x1206C1: UnknownInlinedFun (new_allocator.h:172)
==431040== by 0x1206C1: UnknownInlinedFun (alloc_traits.h:517)
==431040== by 0x1206C1: UnknownInlinedFun (stl_vector.h:390)
==431040== by 0x1206C1: void std::vector<Edge*, std::allocator<Edge*> >::_M_realloc_insert<Edge* const&>(__gnu_cxx::__normal_iterator<Edge**, std::vector<Edge*, std::allocator<Edge*> > >, Edge* const&) (vector.tcc:519)
==431040== by 0x13C130: UnknownInlinedFun (stl_vector.h:1292)
==431040== by 0x13C130: UnknownInlinedFun (graph.h:114)
==431040== by 0x13C130: UnknownInlinedFun (dyndep.cc:118)
==431040== by 0x13C130: DyndepLoader::LoadDyndeps(Node*, DyndepFile*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const [clone .constprop.0] (dyndep.cc:62)
==431040== by 0x117C84: UnknownInlinedFun (graph.cc:369)
==431040== by 0x117C84: UnknownInlinedFun (build.cc:1104)
==431040== by 0x117C84: UnknownInlinedFun (build.cc:227)
==431040== by 0x117C84: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x1244FA: Builder::FinishCommand(CommandRunner::Result*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:1001)
==431040== by 0x1263E7: Builder::Build(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:845)
==431040== Block was alloc'd at
==431040== at 0x4844F93: operator new(unsigned long) (vg_replace_malloc.c:487)
==431040== by 0x120685: UnknownInlinedFun (new_allocator.h:151)
==431040== by 0x120685: UnknownInlinedFun (alloc_traits.h:482)
==431040== by 0x120685: UnknownInlinedFun (stl_vector.h:381)
==431040== by 0x120685: UnknownInlinedFun (stl_vector.h:378)
==431040== by 0x120685: void std::vector<Edge*, std::allocator<Edge*> >::_M_realloc_insert<Edge* const&>(__gnu_cxx::__normal_iterator<Edge**, std::vector<Edge*, std::allocator<Edge*> > >, Edge* const&) (vector.tcc:459)
==431040== by 0x13C130: UnknownInlinedFun (stl_vector.h:1292)
==431040== by 0x13C130: UnknownInlinedFun (graph.h:114)
==431040== by 0x13C130: UnknownInlinedFun (dyndep.cc:118)
==431040== by 0x13C130: DyndepLoader::LoadDyndeps(Node*, DyndepFile*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const [clone .constprop.0] (dyndep.cc:62)
==431040== by 0x1218EF: DyndepLoader::LoadDyndeps(Node*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const (dyndep.cc:31)
==431040== by 0x1317FF: UnknownInlinedFun (graph.cc:364)
==431040== by 0x1317FF: DependencyScan::RecomputeNodeDirty(Node*, std::vector<Node*, std::allocator<Node*> >*, std::vector<Node*, std::allocator<Node*> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (graph.cc:134)
==431040== by 0x13DACE: DependencyScan::RecomputeDirty(Node*, std::vector<Node*, std::allocator<Node*> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) [clone .constprop.0] (graph.cc:66)
==431040== by 0x121118: Builder::AddTarget(Node*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:739)
==431040== by 0x11DDCC: UnknownInlinedFun (ninja.cc:1361)
==431040== by 0x11DDCC: (anonymous namespace)::real_main(int, char**) (ninja.cc:1608)
==431040== by 0x110AEE: main (ninja.cc:1637)
==431040==
==431040== Conditional jump or move depends on uninitialised value(s)
==431040== at 0x1183F4: UnknownInlinedFun (stl_tree.h:1952)
==431040== by 0x1183F4: UnknownInlinedFun (stl_tree.h:2532)
==431040== by 0x1183F4: UnknownInlinedFun (stl_map.h:1220)
==431040== by 0x1183F4: UnknownInlinedFun (build.cc:233)
==431040== by 0x1183F4: UnknownInlinedFun (build.cc:221)
==431040== by 0x1183F4: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x1244FA: Builder::FinishCommand(CommandRunner::Result*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:1001)
==431040== by 0x1263E7: Builder::Build(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:845)
==431040== by 0x11DE31: UnknownInlinedFun (ninja.cc:1382)
==431040== by 0x11DE31: (anonymous namespace)::real_main(int, char**) (ninja.cc:1608)
==431040== by 0x110AEE: main (ninja.cc:1637)
==431040==
==431040== Conditional jump or move depends on uninitialised value(s)
==431040== at 0x11840A: UnknownInlinedFun (stl_tree.h:2534)
==431040== by 0x11840A: UnknownInlinedFun (stl_map.h:1220)
==431040== by 0x11840A: UnknownInlinedFun (build.cc:233)
==431040== by 0x11840A: UnknownInlinedFun (build.cc:221)
==431040== by 0x11840A: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x118419: UnknownInlinedFun (build.cc:238)
==431040== by 0x118419: UnknownInlinedFun (build.cc:221)
==431040== by 0x118419: Plan::EdgeFinished(Edge*, Plan::EdgeResult, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:215)
==431040== by 0x1244FA: Builder::FinishCommand(CommandRunner::Result*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:1001)
==431040== by 0x1263E7: Builder::Build(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) (build.cc:845)
==431040== by 0x11DE31: UnknownInlinedFun (ninja.cc:1382)
==431040== by 0x11DE31: (anonymous namespace)::real_main(int, char**) (ninja.cc:1608)
==431040== by 0x110AEE: main (ninja.cc:1637)
==431040==
[5/5] RENDER posts/lists.html.jinja
==431040==
==431040== HEAP SUMMARY:
==431040== in use at exit: 20,962,989 bytes in 284,752 blocks
==431040== total heap usage: 1,162,866 allocs, 878,114 frees, 102,562,461 bytes allocated
==431040==
==431040== LEAK SUMMARY:
==431040== definitely lost: 0 bytes in 0 blocks
==431040== indirectly lost: 0 bytes in 0 blocks
==431040== possibly lost: 0 bytes in 0 blocks
==431040== still reachable: 20,962,989 bytes in 284,752 blocks
==431040== suppressed: 0 bytes in 0 blocks
==431040== Rerun with --leak-check=full to see details of leaked memory
==431040==
==431040== Use --track-origins=yes to see where uninitialised values come from
==431040== For lists of detected and suppressed errors, rerun with: -s
==431040== ERROR SUMMARY: 2646272 errors from 3 contexts (suppressed: 0 from 0)
Footnotes
-
Nothing too sensitive though, just stuff like public blog post comments by users other than myself. If it's useful, I could share the files with a few people. Also, almost all of the size is from images, so I could probably replace all of those with placeholders to get the size down. ↩
Metadata
Metadata
Assignees
Labels
No labels