Ok I found it - .a archive files only have 6 digits for user Ids and lvm-ar.cpp isnt properly checking for overflow causing huge padding characters to be written.
I generated a pull request although I don't know why this hasn't been a problem for someone before now. Thanks. On Monday, January 5, 2015 4:15:42 PM UTC, Lee Morgan wrote: > > Actually I've found it happens with the freetype test case 'python > tests/runner.py test_freetype' as this invokes the linker. > > Again it quickly creates an 8gb file and writes empty strings. If left > running it will eventually start appending - I haven't left it long enough > to finish - although the appending makes me suspect it will just fill the > disk. > > I last tried with sdk-master-64bit but the incoming sdk has the same > behaviour. I've left settings.js alone assuming 'emsdk install xxx' will > overwrite it from the repo so it should be sensible defaults. > > The /tmp where the temporary library file is created is on a partition > with 12G free space. > > I'm stumped on what would cause it though. > > > On Friday, December 19, 2014 8:06:48 PM UTC, Alon Zakai wrote: >> >> That sounds strange. The output library is bigger than the input files, >> and contains lots of empty space? Is it functional otherwise though? >> >> Do you have a testcase that shows the problem? >> >> - Alon >> >> >> On Fri, Dec 19, 2014 at 3:41 AM, Lee Morgan <[email protected]> >> wrote: >>> >>> Hi >>> >>> llvm-ar appears to be writing a huge and empty file when trying to build >>> a library. >>> >>> strace reports thousands of 4k writes of blank strings and I can zip the >>> eventual output from 8Gb to 8Mb. >>> >>> Does anyone know why this could be? >>> >>> Thanks! >>> >>> (on ubuntu 14.4) >>> ./emsdk list >>> >>> The following individual tools exist: >>> clang-incoming-32bit >>> clang-incoming-64bit >>> clang-master-32bit INSTALLED >>> (*) clang-master-64bit INSTALLED >>> emscripten-1.25.0 INSTALLED >>> emscripten-1.27.0 >>> emscripten-incoming >>> (*) emscripten-master INSTALLED >>> >>> >>> The following Emscripten SDK versions are available: >>> sdk-incoming-32bit >>> sdk-incoming-64bit >>> sdk-master-32bit INSTALLED >>> * sdk-master-64bit INSTALLED >>> >>> Items marked with * are activated for the current user. >>> Items marked with (*) are selected for use, but your current shell >>> environment is not configured to use them. Type "source ./emsdk_env.sh" to >>> set up your current shell to use them, or call "emsdk activate --global >>> <name_of_sdk>" to permanently activate them. >>> >>> To access the historical archived versions, type 'emsdk list --old' >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "emscripten-discuss" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
