├── .gitignore ├── .gitmodules ├── CODEOWNERS ├── README.md ├── circle.yml ├── clj ├── clj-v8-native ├── build.sh ├── build │ └── native │ │ ├── linux │ │ ├── x86 │ │ │ ├── libv8.so.clj-v8 │ │ │ └── libv8wrapper.so │ │ └── x86_64 │ │ │ ├── libv8.so.clj-v8 │ │ │ └── libv8wrapper.so │ │ └── macosx │ │ └── x86_64 │ │ ├── libv8.dylib.clj-v8 │ │ └── libv8wrapper.dylib ├── create-jar.sh ├── local-mvn-install.sh ├── pom.xml ├── send-to-clojars.sh ├── src │ └── v8wrapper │ │ ├── Makefile.linux │ │ ├── Makefile.linux.32 │ │ ├── Makefile.macosx │ │ ├── suppressions.txt │ │ ├── test.cpp │ │ ├── test_file.hamlc │ │ ├── test_file.js │ │ ├── testgrind.c │ │ ├── v8wrapper.cc │ │ └── v8wrapper.h └── test │ ├── clj │ └── test.clj └── clj-v8 ├── .gitignore ├── project.clj ├── src └── v8 │ └── core.clj └── test └── v8 ├── core_test.clj └── test.txt /.gitignore: -------------------------------------------------------------------------------- 1 | /clj-v8-native/*.jar 2 | /clj-v8-native/src/v8/ 3 | /clj-v8-native/src/v8wrapper/v8wrapper.o 4 | /clj-v8-native/src/v8wrapper/libv8wrapper.dylib 5 | /clj-v8-native/src/v8wrapper/libv8wrapper.so 6 | /clj-v8-native/src/v8wrapper/test 7 | /clj-v8-native/src/v8wrapper/test.o 8 | /clj-v8/target 9 | /clj-v8-native/src/v8wrapper/libv8.dylib.clj-v8 10 | /clj-v8-native/src/v8wrapper/libv8.so.clj-v8 11 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "clj-v8-native/src/v8"] 2 | path = clj-v8-native/src/v8 3 | url = https://github.com/v8/v8 4 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Placeholder CODEOWNERS file as this repo did not have one 2 | # Please make a PR adding the correct owner or request that this repo be archived 3 | * @circleci/security-operations 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | clj-v8 2 | ====== 3 | 4 | Clojure wrapper for the v8 JS engine 5 | 6 | 7 | Organization 8 | ----------------- 9 | 10 | clj-v8 contains the clj-v8 jar. clj-v8-native contains the native deps only. 11 | 12 | 13 | Rebuilding from scratch 14 | --------------------------- 15 | 16 | The short version: 17 | 18 | 0. Make sure you have 19 | - svn 20 | - git 21 | - a C++ toolchain (for Linux, you need a 64 bit machine with 22 | a multilib C++ compiler) 23 | 24 | 1. Unpack the tarball 25 | 26 | 2. Get into the directory which you unpacked and just do a ./build.sh 27 | It'll put all the binary artefacts into ./build 28 | You'll need to do it once on OSX and once on a 64 bit Linux box, but we keep 29 | the built files in the repository for ease of cross-platform development. 30 | 31 | 3. Get the build dirs from the two build machines into one place 32 | then call ./create-jar.sh 33 | 34 | 35 | Read build.sh to see how it all fits together. 36 | 37 | 38 | Changelog 39 | --------- 40 | 41 | #### From 0.1.4 to 0.1.5 42 | 43 | - clj-v8 can now be bundled in uberjars. Binaries are copied out of 44 | the JAR to a temporary directory to be available for JNI. (Magnar Sveen) 45 | 46 | 47 | License 48 | -------- 49 | 50 | Distributed under the Eclipse Public License, the same as Clojure uses. 51 | 52 | This license applies to this distribution and all prior distributions of clj-v8. 53 | -------------------------------------------------------------------------------- /circle.yml: -------------------------------------------------------------------------------- 1 | machine: 2 | java: 3 | version: oraclejdk8 4 | 5 | dependencies: 6 | override: 7 | - cd clj-v8 && lein deps 8 | 9 | test: 10 | override: 11 | - cd clj-v8 && lein test 12 | -------------------------------------------------------------------------------- /clj: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Clojure wrapper script. 3 | 4 | CLOJURE=$CLASSPATH:/usr/local/Cellar/clojure/1.4.0/clojure-1.4.0.jar:${PWD}:lib/jna.jar:lib/platform.jar:clojure-jna/src 5 | 6 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./build/native/macosx/x86_64:./build/native/linux/x86:./build/native/linux/x86_64 7 | export DYLD_LIBRARY_PATH=./build/native/macosx/x86_64:./build/native/linux/x86:./build/native/linux/x86_64 8 | 9 | if [ "$#" -eq 0 ]; then 10 | java -cp "$CLOJURE" clojure.main --repl 11 | else 12 | java -cp "$CLOJURE" clojure.main "$@" 13 | fi 14 | -------------------------------------------------------------------------------- /clj-v8-native/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -euo pipefail 4 | 5 | function create_output_dirs { 6 | mkdir -p build/lib 7 | mkdir -p build/native/{macosx,linux} 8 | mkdir -p build/native/macosx/x86_64 9 | mkdir -p build/native/linux/{x86,x86_64} 10 | } 11 | 12 | function detect { 13 | if [ "`uname`" = "Darwin" ]; then 14 | PLATFORM=macosx 15 | 16 | elif [ "`uname`" = "Linux" ]; then 17 | PLATFORM=linux 18 | 19 | if [ "`uname -m`" != "x86_64" ]; then 20 | echo "This is a 32-bit only Linux. I'd suggest you find a 64-bit build box. Sorry." 21 | exit 22 | fi 23 | 24 | else 25 | echo "I don't know how to build/package everything on `uname` platform. Sorry" 26 | exit 27 | fi 28 | } 29 | 30 | function build_v8 { 31 | cd src/v8 32 | make dependencies 33 | 34 | if [ "$PLATFORM" = "macosx" ]; then 35 | echo Building Mac OS X 64 bit 36 | make debuggersupport=off library=shared soname_version=clj-v8 x64.release 37 | else 38 | echo Building Linux 32 bit 39 | make debuggersupport=off library=shared soname_version=clj-v8 ia32.release 40 | 41 | echo Building Linux 64 bit 42 | make debuggersupport=off library=shared soname_version=clj-v8 x64.release 43 | fi 44 | } 45 | 46 | function build_and_copy_v8w { 47 | cd src/v8wrapper 48 | 49 | if [ "$PLATFORM" = "macosx" ]; then 50 | make -f Makefile.$PLATFORM clean all 51 | 52 | echo "=== Copying v8wrapper and v8 === " 53 | cp libv8wrapper.dylib ../../build/native/macosx/x86_64 54 | cp libv8.dylib.clj-v8 ../../build/native/macosx/x86_64/ 55 | else 56 | make -f Makefile.$PLATFORM clean all 57 | echo "=== Copying v8wrapper and v8 (64bit) === " 58 | cp libv8wrapper.so ../../build/native/linux/x86_64 59 | cp libv8.so.clj-v8 ../../build/native/linux/x86_64/ 60 | 61 | make -f Makefile.$PLATFORM.32 clean all 62 | echo "=== Copying v8wrapper and v8 (32bit) === " 63 | cp libv8wrapper.so ../../build/native/linux/x86 64 | cp libv8.so.clj-v8 ../../build/native/linux/x86/ 65 | fi 66 | } 67 | 68 | echo "==== Detecting environment ====" 69 | detect 70 | 71 | echo "==== Preparing ====" 72 | create_output_dirs 73 | 74 | echo "==== Building v8 ====" 75 | (build_v8) 76 | 77 | echo "==== Building v8wrapper ====" 78 | (build_and_copy_v8w) 79 | -------------------------------------------------------------------------------- /clj-v8-native/build/native/linux/x86/libv8.so.clj-v8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CircleCI-Archived/clj-v8/574518672991a359a189238c2e9df60bff88ee3a/clj-v8-native/build/native/linux/x86/libv8.so.clj-v8 -------------------------------------------------------------------------------- /clj-v8-native/build/native/linux/x86/libv8wrapper.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CircleCI-Archived/clj-v8/574518672991a359a189238c2e9df60bff88ee3a/clj-v8-native/build/native/linux/x86/libv8wrapper.so -------------------------------------------------------------------------------- /clj-v8-native/build/native/linux/x86_64/libv8.so.clj-v8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CircleCI-Archived/clj-v8/574518672991a359a189238c2e9df60bff88ee3a/clj-v8-native/build/native/linux/x86_64/libv8.so.clj-v8 -------------------------------------------------------------------------------- /clj-v8-native/build/native/linux/x86_64/libv8wrapper.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CircleCI-Archived/clj-v8/574518672991a359a189238c2e9df60bff88ee3a/clj-v8-native/build/native/linux/x86_64/libv8wrapper.so -------------------------------------------------------------------------------- /clj-v8-native/build/native/macosx/x86_64/libv8.dylib.clj-v8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CircleCI-Archived/clj-v8/574518672991a359a189238c2e9df60bff88ee3a/clj-v8-native/build/native/macosx/x86_64/libv8.dylib.clj-v8 -------------------------------------------------------------------------------- /clj-v8-native/build/native/macosx/x86_64/libv8wrapper.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CircleCI-Archived/clj-v8/574518672991a359a189238c2e9df60bff88ee3a/clj-v8-native/build/native/macosx/x86_64/libv8wrapper.dylib -------------------------------------------------------------------------------- /clj-v8-native/create-jar.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | VERSION=`grep '' pom.xml | sed -Ee 's#.*(.*).*#\1#'` 4 | 5 | rm -f clj-v8-native-$VERSION.jar 6 | jar -cMf clj-v8-native-$VERSION.jar -C build/ lib -C build native pom.xml 7 | -------------------------------------------------------------------------------- /clj-v8-native/local-mvn-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | VERSION=`grep '' pom.xml | sed -Ee 's#.*(.*).*#\1#'` 4 | MVNPATH=~/.m2/repository/clj-v8-native/clj-v8-native/$VERSION 5 | 6 | mkdir -p $MVNPATH 7 | rm -f $MVNPATH/* 8 | 9 | cp clj-v8-native-$VERSION.jar $MVNPATH 10 | cp pom.xml $MVNPATH/clj-v8-native-$VERSION.pom 11 | 12 | -------------------------------------------------------------------------------- /clj-v8-native/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | clj-v8-native 5 | clj-v8-native 6 | 0.1.4 7 | clj-v8-native 8 | 9 | 10 | Eclipse Public License 1.0 11 | http://opensource.org/licenses/eclipse-1.0.php 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /clj-v8-native/send-to-clojars.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -x 4 | 5 | scp -i ~/.leiningen/id_rsa pom.xml *.jar clojars@clojars.org: 6 | -------------------------------------------------------------------------------- /clj-v8-native/src/v8wrapper/Makefile.linux: -------------------------------------------------------------------------------- 1 | V8_INC=../v8/include 2 | V8_LIB=../v8/out/x64.release/lib.target 3 | V8=libv8.so.clj-v8 4 | 5 | CC=g++ 6 | CFLAGS=-c -fPIC -I$(V8_INC) -Wall 7 | COMMON_LDFLAGS=-Wl,--rpath -Wl,. -L. $(V8) 8 | LIBRARY_LDFLAGS=-shared $(COMMON_LDFLAGS) 9 | SOURCES=v8wrapper.cc 10 | OBJECTS=$(SOURCES:.cc=.o) 11 | TARGET=libv8wrapper.so 12 | MAKEFILES=Makefile.macosx Makefile.linux Makefile.linux.32 13 | 14 | all: $(TARGET) 15 | 16 | clean: 17 | rm -f *.o *.so *.dylib test 18 | 19 | .cc.o: $(MAKEFILES) 20 | $(CC) $(CFLAGS) $< -o $@ 21 | 22 | $(V8): $(MAKEFILES) $(OBJECTS) 23 | cp $(V8_LIB)/$(V8) . 24 | 25 | $(TARGET): $(OBJECTS) $(MAKEFILES) $(V8) 26 | $(CC) -o $(TARGET) $(OBJECTS) $(LIBRARY_LDFLAGS) 27 | 28 | test: $(TARGET) test.cpp $(MAKEFILES) $(V8) 29 | $(CC) $(CFLAGS) -ggdb3 test.cpp -o test.o 30 | $(CC) -o ./test test.o $(TARGET) -ggdb3 $(COMMON_LDFLAGS) -lboost_thread-mt -lboost_system-mt 31 | 32 | 33 | check: test 34 | ./test 35 | -------------------------------------------------------------------------------- /clj-v8-native/src/v8wrapper/Makefile.linux.32: -------------------------------------------------------------------------------- 1 | V8_INC=../v8/include 2 | V8_LIB=../v8/out/ia32.release/lib.target 3 | V8=libv8.so.clj-v8 4 | 5 | CC=g++ 6 | CFLAGS=-c -m32 -fPIC -I$(V8_INC) -Wall 7 | COMMON_LDFLAGS=-Wl,--rpath -Wl,. -L. $(V8) -m32 8 | LIBRARY_LDFLAGS=-shared $(COMMON_LDFLAGS) 9 | SOURCES=v8wrapper.cc 10 | OBJECTS=$(SOURCES:.cc=.o) 11 | TARGET=libv8wrapper.so 12 | MAKEFILES=Makefile.macosx Makefile.linux Makefile.linux.32 13 | 14 | all: $(TARGET) 15 | 16 | clean: 17 | rm -f *.o *.so *.dylib test 18 | 19 | .cc.o: $(MAKEFILES) 20 | $(CC) $(CFLAGS) $< -o $@ 21 | 22 | # use $(OBJECTS) because the filename is the same on 32bit as 64bit 23 | $(V8): $(MAKEFILES) $(OBJECTS) 24 | cp $(V8_LIB)/$(V8) . 25 | 26 | $(TARGET): $(OBJECTS) $(MAKEFILES) $(V8) 27 | $(CC) -o $(TARGET) $(OBJECTS) $(LIBRARY_LDFLAGS) 28 | 29 | test: $(TARGET) test.cpp $(MAKEFILES) $(V8) 30 | $(CC) $(CFLAGS) -ggdb3 test.cpp -o test.o 31 | $(CC) -o ./test test.o $(TARGET) -ggdb3 $(COMMON_LDFLAGS) -lboost_thread-mt -lboost_system-mt 32 | 33 | 34 | check: test 35 | ./test 36 | -------------------------------------------------------------------------------- /clj-v8-native/src/v8wrapper/Makefile.macosx: -------------------------------------------------------------------------------- 1 | V8_INC=../v8/include 2 | V8_LIB=../v8/out/x64.release 3 | V8=libv8.dylib.clj-v8 4 | 5 | CC=g++ 6 | CFLAGS=-c -fPIC -I$(V8_INC) -Wall 7 | COMMON_LDFLAGS=--Wl,-macosx_version_min=10.7 -Wl,-rpath -Wl,. -L. ./$(V8) 8 | LIBRARY_LDFLAGS=-shared -dylib $(COMMON_LDFLAGS) 9 | SOURCES=v8wrapper.cc 10 | OBJECTS=$(SOURCES:.cc=.o) 11 | TARGET=libv8wrapper.dylib 12 | MAKEFILES=Makefile.macosx Makefile.linux Makefile.linux.32 13 | 14 | all: $(TARGET) 15 | 16 | clean: 17 | rm -f *.o *.so *.dylib test 18 | 19 | .cc.o: $(MAKEFILES) 20 | $(CC) $(CFLAGS) $< -o $@ 21 | 22 | $(V8): $(MAKEFILES) $(OBJECTS) 23 | cp $(V8_LIB)/libv8.so.clj-v8 $(V8) 24 | install_name_tool -id $(V8) $(V8) 25 | 26 | $(TARGET): $(OBJECTS) $(MAKEFILES) $(V8) 27 | $(CC) -o $(TARGET) $(OBJECTS) $(LIBRARY_LDFLAGS) 28 | install_name_tool -change $(V8) @loader_path/$(V8) $(TARGET) 29 | 30 | test: $(TARGET) test.cpp $(MAKEFILES) $(V8) 31 | $(CC) $(CFLAGS) -ggdb3 test.cpp -o test.o 32 | $(CC) -o ./test test.o $(TARGET) -ggdb3 $(COMMON_LDFLAGS) -lboost_thread-mt -lboost_system-mt 33 | 34 | 35 | check: test 36 | ./test 37 | -------------------------------------------------------------------------------- /clj-v8-native/src/v8wrapper/suppressions.txt: -------------------------------------------------------------------------------- 1 | { 2 | 3 | Memcheck:Leak 4 | fun:malloc 5 | fun:malloc 6 | fun:_Znwm 7 | fun:_ZN4dyld37registerImageStateSingleChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 8 | fun:dyld_register_image_state_change_handler 9 | fun:libSystem_initializer 10 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 11 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 12 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 13 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 14 | fun:_ZN11ImageLoader15runInitializersERKNS_11LinkContextERNS_21InitializerTimingListE 15 | fun:_ZN4dyld24initializeMainExecutableEv 16 | } 17 | { 18 | 19 | Memcheck:Leak 20 | fun:malloc_zone_malloc 21 | fun:_strdup_internal 22 | fun:__sel_registerName 23 | fun:map_images_nolock 24 | fun:map_images 25 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 26 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 27 | fun:dyld_register_image_state_change_handler 28 | fun:_objc_init 29 | fun:libSystem_initializer 30 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 31 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 32 | } 33 | { 34 | 35 | Memcheck:Leak 36 | fun:malloc 37 | fun:malloc 38 | fun:_Znwm 39 | fun:_ZNSt3__16vectorIPFPKc17dyld_image_statesjPK15dyld_image_infoENS_9allocatorIS8_EEE6insertENS_11__wrap_iterIPKS8_EERSD_ 40 | fun:_ZN4dyld37registerImageStateSingleChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 41 | fun:dyld_register_image_state_change_handler 42 | fun:map_images_nolock 43 | fun:map_images 44 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 45 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 46 | fun:dyld_register_image_state_change_handler 47 | fun:_objc_init 48 | } 49 | { 50 | 51 | Memcheck:Leak 52 | fun:malloc_zone_malloc 53 | fun:_ZL17buildProtocolListP13category_listPK15protocol_list_tPS3_ 54 | fun:_ZL12realizeClassP7class_t 55 | fun:_ZL12realizeClassP7class_t 56 | fun:_ZL12realizeClassP7class_t 57 | fun:_ZL12realizeClassP7class_t 58 | fun:_ZL12realizeClassP7class_t 59 | fun:_read_images 60 | fun:map_images_nolock 61 | fun:map_images 62 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 63 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 64 | } 65 | { 66 | 67 | Memcheck:Leak 68 | fun:malloc_zone_malloc 69 | fun:_ZL17buildProtocolListP13category_listPK15protocol_list_tPS3_ 70 | fun:_ZL12realizeClassP7class_t 71 | fun:_ZL12realizeClassP7class_t 72 | fun:_ZL12realizeClassP7class_t 73 | fun:_ZL12realizeClassP7class_t 74 | fun:_read_images 75 | fun:map_images_nolock 76 | fun:map_images 77 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 78 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 79 | fun:dyld_register_image_state_change_handler 80 | } 81 | { 82 | 83 | Memcheck:Leak 84 | fun:malloc_zone_calloc 85 | fun:_ZL27_fetchInitializingClassLista 86 | fun:_class_initialize 87 | fun:_class_initialize 88 | fun:_class_initialize 89 | fun:_class_initialize 90 | fun:prepareForMethodLookup 91 | fun:lookUpMethod 92 | fun:objc_msgSend 93 | fun:_libxpc_initializer 94 | fun:libSystem_initializer 95 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 96 | } 97 | { 98 | 99 | Memcheck:Leak 100 | fun:malloc_zone_malloc 101 | fun:__objc_sel_set_create 102 | fun:__sel_registerName 103 | fun:sel_init 104 | fun:map_images_nolock 105 | fun:map_images 106 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 107 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 108 | fun:dyld_register_image_state_change_handler 109 | fun:_objc_init 110 | fun:libSystem_initializer 111 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 112 | } 113 | { 114 | 115 | Memcheck:Leak 116 | fun:malloc_zone_malloc 117 | fun:NXCreateMapTableFromZone 118 | fun:_ZL9protocolsv 119 | fun:_read_images 120 | fun:map_images_nolock 121 | fun:map_images 122 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 123 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 124 | fun:dyld_register_image_state_change_handler 125 | fun:_objc_init 126 | fun:libSystem_initializer 127 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 128 | } 129 | { 130 | 131 | Memcheck:Leak 132 | fun:malloc_zone_malloc 133 | fun:NXCreateHashTableFromZone 134 | fun:NXCreateHashTable 135 | fun:NXCreateMapTableFromZone 136 | fun:_read_images 137 | fun:map_images_nolock 138 | fun:map_images 139 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 140 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 141 | fun:dyld_register_image_state_change_handler 142 | fun:_objc_init 143 | fun:libSystem_initializer 144 | } 145 | { 146 | 147 | Memcheck:Leak 148 | fun:malloc_zone_malloc 149 | fun:NXCreateHashTableFromZone 150 | fun:NXCreateHashTable 151 | fun:NXCreateMapTableFromZone 152 | fun:_read_images 153 | fun:map_images_nolock 154 | fun:map_images 155 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 156 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 157 | fun:dyld_register_image_state_change_handler 158 | fun:_objc_init 159 | fun:libSystem_initializer 160 | } 161 | { 162 | 163 | Memcheck:Leak 164 | fun:malloc 165 | fun:NXCreateHashTableFromZone 166 | fun:NXCreateHashTable 167 | fun:NXCreateMapTableFromZone 168 | fun:_read_images 169 | fun:map_images_nolock 170 | fun:map_images 171 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 172 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 173 | fun:dyld_register_image_state_change_handler 174 | fun:_objc_init 175 | fun:libSystem_initializer 176 | } 177 | { 178 | 179 | Memcheck:Leak 180 | fun:malloc 181 | fun:NXCreateMapTableFromZone 182 | fun:_read_images 183 | fun:map_images_nolock 184 | fun:map_images 185 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 186 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 187 | fun:dyld_register_image_state_change_handler 188 | fun:_objc_init 189 | fun:libSystem_initializer 190 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 191 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 192 | } 193 | { 194 | 195 | Memcheck:Leak 196 | fun:malloc_zone_malloc 197 | fun:NXCreateHashTableFromZone 198 | fun:_read_images 199 | fun:map_images_nolock 200 | fun:map_images 201 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 202 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 203 | fun:dyld_register_image_state_change_handler 204 | fun:_objc_init 205 | fun:libSystem_initializer 206 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 207 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 208 | } 209 | { 210 | 211 | Memcheck:Leak 212 | fun:malloc 213 | fun:NXCreateHashTableFromZone 214 | fun:_read_images 215 | fun:map_images_nolock 216 | fun:map_images 217 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 218 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 219 | fun:dyld_register_image_state_change_handler 220 | fun:_objc_init 221 | fun:libSystem_initializer 222 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 223 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 224 | } 225 | { 226 | 227 | Memcheck:Leak 228 | fun:malloc_zone_malloc 229 | fun:NXCreateHashTableFromZone 230 | fun:_read_images 231 | fun:map_images_nolock 232 | fun:map_images 233 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 234 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 235 | fun:dyld_register_image_state_change_handler 236 | fun:_objc_init 237 | fun:libSystem_initializer 238 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 239 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 240 | } 241 | { 242 | 243 | Memcheck:Leak 244 | fun:malloc 245 | fun:NXCreateMapTableFromZone 246 | fun:_ZL15remappedClassesa 247 | fun:_ZL10remapClassP7class_t 248 | fun:_read_images 249 | fun:map_images_nolock 250 | fun:map_images 251 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 252 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 253 | fun:dyld_register_image_state_change_handler 254 | fun:_objc_init 255 | fun:libSystem_initializer 256 | } 257 | { 258 | 259 | Memcheck:Leak 260 | fun:malloc 261 | fun:malloc 262 | fun:_Znwm 263 | fun:_ZNSt3__16vectorIPFPKc17dyld_image_statesjPK15dyld_image_infoENS_9allocatorIS8_EEE6insertENS_11__wrap_iterIPKS8_EERSD_ 264 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 265 | fun:dyld_register_image_state_change_handler 266 | fun:_libxpc_initializer 267 | fun:libSystem_initializer 268 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 269 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 270 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 271 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 272 | } 273 | { 274 | 275 | Memcheck:Leak 276 | fun:malloc_zone_malloc 277 | fun:_ZL17buildProtocolListP13category_listPK15protocol_list_tPS3_ 278 | fun:_ZL12realizeClassP7class_t 279 | fun:_ZL12realizeClassP7class_t 280 | fun:_ZL12realizeClassP7class_t 281 | fun:_read_images 282 | fun:map_images_nolock 283 | fun:map_images 284 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 285 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 286 | fun:dyld_register_image_state_change_handler 287 | fun:_objc_init 288 | } 289 | { 290 | 291 | Memcheck:Leak 292 | fun:malloc_zone_malloc 293 | fun:_ZL17buildProtocolListP13category_listPK15protocol_list_tPS3_ 294 | fun:_ZL12realizeClassP7class_t 295 | fun:_ZL12realizeClassP7class_t 296 | fun:_read_images 297 | fun:map_images_nolock 298 | fun:map_images 299 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 300 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 301 | fun:dyld_register_image_state_change_handler 302 | fun:_objc_init 303 | fun:libSystem_initializer 304 | } 305 | { 306 | 307 | Memcheck:Leak 308 | fun:malloc_zone_calloc 309 | fun:_ZL27_fetchInitializingClassLista 310 | fun:_class_initialize 311 | fun:_class_initialize 312 | fun:_class_initialize 313 | fun:_class_initialize 314 | fun:prepareForMethodLookup 315 | fun:lookUpMethod 316 | fun:objc_msgSend 317 | fun:_libxpc_initializer 318 | fun:libSystem_initializer 319 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 320 | } 321 | { 322 | 323 | Memcheck:Leak 324 | fun:malloc_zone_calloc 325 | fun:_NXHashRehashToCapacity 326 | fun:NXHashInsert 327 | fun:NXCreateHashTableFromZone 328 | fun:NXCreateHashTable 329 | fun:NXCreateMapTableFromZone 330 | fun:_read_images 331 | fun:map_images_nolock 332 | fun:map_images 333 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 334 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 335 | fun:dyld_register_image_state_change_handler 336 | } 337 | { 338 | 339 | Memcheck:Leak 340 | fun:malloc_zone_calloc 341 | fun:_NXHashRehashToCapacity 342 | fun:NXHashInsert 343 | fun:NXCreateMapTableFromZone 344 | fun:_ZL15remappedClassesa 345 | fun:_ZL10remapClassP7class_t 346 | fun:_read_images 347 | fun:map_images_nolock 348 | fun:map_images 349 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 350 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 351 | fun:dyld_register_image_state_change_handler 352 | } 353 | { 354 | 355 | Memcheck:Leak 356 | fun:malloc_zone_calloc 357 | fun:_ZL13_cache_mallocm 358 | fun:_cache_fill 359 | fun:log_and_fill_cache 360 | fun:lookUpMethod 361 | fun:objc_msgSend 362 | fun:_libxpc_initializer 363 | fun:libSystem_initializer 364 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 365 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 366 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 367 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 368 | } 369 | { 370 | 371 | Memcheck:Leak 372 | fun:malloc_zone_calloc 373 | fun:_ZL13_cache_mallocm 374 | fun:_cache_fill 375 | fun:log_and_fill_cache 376 | fun:lookUpMethod 377 | fun:objc_msgSendSuper2 378 | fun:-[OS_xpc_object _xref_dispose] 379 | fun:_libxpc_initializer 380 | fun:libSystem_initializer 381 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 382 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 383 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 384 | } 385 | { 386 | 387 | Memcheck:Leak 388 | fun:malloc_zone_calloc 389 | fun:_ZL12realizeClassP7class_t 390 | fun:_ZL12realizeClassP7class_t 391 | fun:_ZL12realizeClassP7class_t 392 | fun:_read_images 393 | fun:map_images_nolock 394 | fun:map_images 395 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 396 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 397 | fun:dyld_register_image_state_change_handler 398 | fun:_objc_init 399 | fun:libSystem_initializer 400 | } 401 | { 402 | 403 | Memcheck:Leak 404 | fun:malloc_zone_calloc 405 | fun:_ZL12realizeClassP7class_t 406 | fun:_ZL12realizeClassP7class_t 407 | fun:_ZL12realizeClassP7class_t 408 | fun:_ZL12realizeClassP7class_t 409 | fun:_read_images 410 | fun:map_images_nolock 411 | fun:map_images 412 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 413 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 414 | fun:dyld_register_image_state_change_handler 415 | fun:_objc_init 416 | } 417 | { 418 | 419 | Memcheck:Leak 420 | fun:malloc_zone_calloc 421 | fun:_ZL12realizeClassP7class_t 422 | fun:_ZL12realizeClassP7class_t 423 | fun:_ZL12realizeClassP7class_t 424 | fun:_ZL12realizeClassP7class_t 425 | fun:_ZL12realizeClassP7class_t 426 | fun:_read_images 427 | fun:map_images_nolock 428 | fun:map_images 429 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 430 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 431 | fun:dyld_register_image_state_change_handler 432 | } 433 | { 434 | 435 | Memcheck:Leak 436 | fun:malloc_zone_calloc 437 | fun:_ZL12realizeClassP7class_t 438 | fun:_ZL12realizeClassP7class_t 439 | fun:_ZL12realizeClassP7class_t 440 | fun:_ZL12realizeClassP7class_t 441 | fun:_read_images 442 | fun:map_images_nolock 443 | fun:map_images 444 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 445 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 446 | fun:dyld_register_image_state_change_handler 447 | fun:_objc_init 448 | } 449 | { 450 | 451 | Memcheck:Leak 452 | fun:malloc 453 | fun:get_or_create_key_element 454 | fun:_keymgr_get_and_lock_processwide_ptr_2 455 | fun:__keymgr_initializer 456 | fun:libSystem_initializer 457 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 458 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 459 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 460 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 461 | fun:_ZN11ImageLoader15runInitializersERKNS_11LinkContextERNS_21InitializerTimingListE 462 | fun:_ZN4dyld24initializeMainExecutableEv 463 | fun:_ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_Pm 464 | } 465 | { 466 | 467 | Memcheck:Leak 468 | fun:calloc 469 | fun:class_createInstance 470 | fun:_os_object_alloc 471 | fun:_xpc_base_create 472 | fun:_xpc_pipe_create 473 | fun:_xpc_domain_init_local 474 | fun:_libxpc_initializer 475 | fun:libSystem_initializer 476 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 477 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 478 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 479 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 480 | } 481 | { 482 | 483 | Memcheck:Leak 484 | fun:malloc_zone_calloc 485 | fun:_ZL12realizeClassP7class_t 486 | fun:_ZL12realizeClassP7class_t 487 | fun:_read_images 488 | fun:map_images_nolock 489 | fun:map_images 490 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 491 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 492 | fun:dyld_register_image_state_change_handler 493 | fun:_objc_init 494 | fun:libSystem_initializer 495 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 496 | } 497 | { 498 | 499 | Memcheck:Leak 500 | fun:malloc_zone_calloc 501 | fun:_ZL12realizeClassP7class_t 502 | fun:_ZL12realizeClassP7class_t 503 | fun:_ZL12realizeClassP7class_t 504 | fun:_read_images 505 | fun:map_images_nolock 506 | fun:map_images 507 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 508 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 509 | fun:dyld_register_image_state_change_handler 510 | fun:_objc_init 511 | fun:libSystem_initializer 512 | } 513 | { 514 | 515 | Memcheck:Leak 516 | fun:malloc_zone_malloc 517 | fun:_strdup_internal 518 | fun:__sel_registerName 519 | fun:_ZL11initVtablesv 520 | fun:_read_images 521 | fun:map_images_nolock 522 | fun:map_images 523 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 524 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 525 | fun:dyld_register_image_state_change_handler 526 | fun:_objc_init 527 | fun:libSystem_initializer 528 | } 529 | { 530 | 531 | Memcheck:Leak 532 | fun:malloc_zone_malloc 533 | fun:_ZL11initVtablesv 534 | fun:_read_images 535 | fun:map_images_nolock 536 | fun:map_images 537 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 538 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 539 | fun:dyld_register_image_state_change_handler 540 | fun:_objc_init 541 | fun:libSystem_initializer 542 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 543 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 544 | } 545 | { 546 | 547 | Memcheck:Leak 548 | fun:malloc_zone_malloc 549 | fun:_ZL11initVtablesv 550 | fun:_read_images 551 | fun:map_images_nolock 552 | fun:map_images 553 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 554 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 555 | fun:dyld_register_image_state_change_handler 556 | fun:_objc_init 557 | fun:libSystem_initializer 558 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 559 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 560 | } 561 | { 562 | 563 | Memcheck:Leak 564 | fun:calloc 565 | fun:class_createInstance 566 | fun:_os_object_alloc 567 | fun:_xpc_base_create 568 | fun:_xpc_domain_create 569 | fun:_libxpc_initializer 570 | fun:libSystem_initializer 571 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 572 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 573 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 574 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 575 | fun:_ZN11ImageLoader15runInitializersERKNS_11LinkContextERNS_21InitializerTimingListE 576 | } 577 | { 578 | 579 | Memcheck:Leak 580 | fun:malloc 581 | fun:_ZL12updateVtableP7class_ta 582 | fun:_class_setInitialized 583 | fun:_ZL19_finishInitializingP10objc_classS0_ 584 | fun:_class_initialize 585 | fun:_class_initialize 586 | fun:_class_initialize 587 | fun:_class_initialize 588 | fun:prepareForMethodLookup 589 | fun:lookUpMethod 590 | fun:objc_msgSend 591 | fun:_libxpc_initializer 592 | } 593 | { 594 | 595 | Memcheck:Leak 596 | fun:malloc 597 | fun:_ZL12updateVtableP7class_ta 598 | fun:_class_setInitialized 599 | fun:_ZL19_finishInitializingP10objc_classS0_ 600 | fun:_class_initialize 601 | fun:_class_initialize 602 | fun:_class_initialize 603 | fun:_class_initialize 604 | fun:prepareForMethodLookup 605 | fun:lookUpMethod 606 | fun:objc_msgSend 607 | fun:_libxpc_initializer 608 | } 609 | { 610 | 611 | Memcheck:Leak 612 | fun:malloc 613 | fun:_ZL12updateVtableP7class_ta 614 | fun:_class_setInitialized 615 | fun:_ZL19_finishInitializingP10objc_classS0_ 616 | fun:_class_initialize 617 | fun:_class_initialize 618 | fun:_class_initialize 619 | fun:prepareForMethodLookup 620 | fun:lookUpMethod 621 | fun:objc_msgSend 622 | fun:_libxpc_initializer 623 | fun:libSystem_initializer 624 | } 625 | { 626 | 627 | Memcheck:Leak 628 | fun:malloc 629 | fun:_ZL12updateVtableP7class_ta 630 | fun:_class_setInitialized 631 | fun:_ZL19_finishInitializingP10objc_classS0_ 632 | fun:_class_initialize 633 | fun:_class_initialize 634 | fun:prepareForMethodLookup 635 | fun:lookUpMethod 636 | fun:objc_msgSend 637 | fun:_libxpc_initializer 638 | fun:libSystem_initializer 639 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 640 | } 641 | { 642 | 643 | Memcheck:Leak 644 | fun:calloc 645 | fun:class_createInstance 646 | fun:_os_object_alloc 647 | fun:dispatch_queue_create 648 | fun:_libxpc_initializer 649 | fun:libSystem_initializer 650 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 651 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 652 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 653 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 654 | fun:_ZN11ImageLoader15runInitializersERKNS_11LinkContextERNS_21InitializerTimingListE 655 | fun:_ZN4dyld24initializeMainExecutableEv 656 | } 657 | { 658 | 659 | Memcheck:Leak 660 | fun:malloc_zone_malloc 661 | fun:_memdup_internal 662 | fun:_ZL15fixupMethodListP13method_list_tbb 663 | fun:_ZL17attachMethodListsP7class_tPP13method_list_tiaaPa 664 | fun:_ZL12realizeClassP7class_t 665 | fun:_ZL12realizeClassP7class_t 666 | fun:_ZL12realizeClassP7class_t 667 | fun:_read_images 668 | fun:map_images_nolock 669 | fun:map_images 670 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 671 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 672 | } 673 | { 674 | 675 | Memcheck:Leak 676 | fun:calloc 677 | fun:class_createInstance 678 | fun:_os_object_alloc 679 | fun:_xpc_base_create 680 | fun:xpc_dictionary_create 681 | fun:_libxpc_initializer 682 | fun:libSystem_initializer 683 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 684 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 685 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 686 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 687 | fun:_ZN11ImageLoader15runInitializersERKNS_11LinkContextERNS_21InitializerTimingListE 688 | } 689 | { 690 | 691 | Memcheck:Leak 692 | fun:malloc_zone_malloc 693 | fun:_memdup_internal 694 | fun:_ZL15fixupMethodListP13method_list_tbb 695 | fun:_ZL17attachMethodListsP7class_tPP13method_list_tiaaPa 696 | fun:_ZL12realizeClassP7class_t 697 | fun:_read_images 698 | fun:map_images_nolock 699 | fun:map_images 700 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 701 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 702 | fun:dyld_register_image_state_change_handler 703 | fun:_objc_init 704 | } 705 | { 706 | 707 | Memcheck:Leak 708 | fun:malloc_zone_malloc 709 | fun:_memdup_internal 710 | fun:_ZL15fixupMethodListP13method_list_tbb 711 | fun:_ZL17attachMethodListsP7class_tPP13method_list_tiaaPa 712 | fun:_ZL12realizeClassP7class_t 713 | fun:_ZL12realizeClassP7class_t 714 | fun:_read_images 715 | fun:map_images_nolock 716 | fun:map_images 717 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 718 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 719 | fun:dyld_register_image_state_change_handler 720 | } 721 | { 722 | 723 | Memcheck:Leak 724 | fun:malloc 725 | fun:_xpc_malloc 726 | fun:_xpc_dictionary_insert 727 | fun:xpc_dictionary_set_string 728 | fun:_libxpc_initializer 729 | fun:libSystem_initializer 730 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 731 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 732 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 733 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 734 | fun:_ZN11ImageLoader15runInitializersERKNS_11LinkContextERNS_21InitializerTimingListE 735 | fun:_ZN4dyld24initializeMainExecutableEv 736 | } 737 | { 738 | 739 | Memcheck:Leak 740 | fun:malloc 741 | fun:strdup 742 | fun:xpc_string_create 743 | fun:xpc_dictionary_set_string 744 | fun:_libxpc_initializer 745 | fun:libSystem_initializer 746 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 747 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 748 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 749 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 750 | fun:_ZN11ImageLoader15runInitializersERKNS_11LinkContextERNS_21InitializerTimingListE 751 | fun:_ZN4dyld24initializeMainExecutableEv 752 | } 753 | { 754 | 755 | Memcheck:Leak 756 | fun:calloc 757 | fun:class_createInstance 758 | fun:_os_object_alloc 759 | fun:_xpc_base_create 760 | fun:xpc_string_create 761 | fun:xpc_dictionary_set_string 762 | fun:_libxpc_initializer 763 | fun:libSystem_initializer 764 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 765 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 766 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 767 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 768 | } 769 | { 770 | 771 | Memcheck:Leak 772 | fun:malloc_zone_malloc 773 | fun:_ZL17buildProtocolListP13category_listPK15protocol_list_tPS3_ 774 | fun:_ZL12realizeClassP7class_t 775 | fun:_ZL12realizeClassP7class_t 776 | fun:_read_images 777 | fun:map_images_nolock 778 | fun:map_images 779 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 780 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 781 | fun:dyld_register_image_state_change_handler 782 | fun:_objc_init 783 | fun:libSystem_initializer 784 | } 785 | { 786 | 787 | Memcheck:Leak 788 | fun:malloc_zone_malloc 789 | fun:_ZL17buildProtocolListP13category_listPK15protocol_list_tPS3_ 790 | fun:_ZL12realizeClassP7class_t 791 | fun:_read_images 792 | fun:map_images_nolock 793 | fun:map_images 794 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 795 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 796 | fun:dyld_register_image_state_change_handler 797 | fun:_objc_init 798 | fun:libSystem_initializer 799 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 800 | } 801 | { 802 | 803 | Memcheck:Leak 804 | fun:malloc_zone_malloc 805 | fun:_memdup_internal 806 | fun:_ZL15fixupMethodListP13method_list_tbb 807 | fun:_ZL17attachMethodListsP7class_tPP13method_list_tiaaPa 808 | fun:_ZL12realizeClassP7class_t 809 | fun:_ZL12realizeClassP7class_t 810 | fun:_ZL12realizeClassP7class_t 811 | fun:_ZL12realizeClassP7class_t 812 | fun:_read_images 813 | fun:map_images_nolock 814 | fun:map_images 815 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 816 | } 817 | { 818 | 819 | Memcheck:Leak 820 | fun:malloc_zone_calloc 821 | fun:_NXHashRehashToCapacity 822 | fun:NXHashInsert 823 | fun:_ZL12realizeClassP7class_t 824 | fun:_ZL12realizeClassP7class_t 825 | fun:_read_images 826 | fun:map_images_nolock 827 | fun:map_images 828 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 829 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 830 | fun:dyld_register_image_state_change_handler 831 | fun:_objc_init 832 | } 833 | { 834 | 835 | Memcheck:Leak 836 | fun:malloc_zone_calloc 837 | fun:_NXHashRehashToCapacity 838 | fun:NXHashInsert 839 | fun:_ZL12realizeClassP7class_t 840 | fun:_read_images 841 | fun:map_images_nolock 842 | fun:map_images 843 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 844 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 845 | fun:dyld_register_image_state_change_handler 846 | fun:_objc_init 847 | fun:libSystem_initializer 848 | } 849 | { 850 | 851 | Memcheck:Leak 852 | fun:malloc_zone_malloc 853 | fun:_memdup_internal 854 | fun:_ZL15fixupMethodListP13method_list_tbb 855 | fun:_ZL17attachMethodListsP7class_tPP13method_list_tiaaPa 856 | fun:_ZL12realizeClassP7class_t 857 | fun:_ZL12realizeClassP7class_t 858 | fun:_ZL12realizeClassP7class_t 859 | fun:_ZL12realizeClassP7class_t 860 | fun:_ZL12realizeClassP7class_t 861 | fun:_read_images 862 | fun:map_images_nolock 863 | fun:map_images 864 | } 865 | { 866 | 867 | Memcheck:Leak 868 | fun:malloc_zone_malloc 869 | fun:_memdup_internal 870 | fun:_ZL15fixupMethodListP13method_list_tbb 871 | fun:_ZL17attachMethodListsP7class_tPP13method_list_tiaaPa 872 | fun:_ZL12realizeClassP7class_t 873 | fun:_ZL12realizeClassP7class_t 874 | fun:_read_images 875 | fun:map_images_nolock 876 | fun:map_images 877 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 878 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 879 | fun:dyld_register_image_state_change_handler 880 | } 881 | { 882 | 883 | Memcheck:Leak 884 | fun:malloc_zone_calloc 885 | fun:_ZL12realizeClassP7class_t 886 | fun:_read_images 887 | fun:map_images_nolock 888 | fun:map_images 889 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 890 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 891 | fun:dyld_register_image_state_change_handler 892 | fun:_objc_init 893 | fun:libSystem_initializer 894 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 895 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 896 | } 897 | { 898 | 899 | Memcheck:Leak 900 | fun:malloc_zone_calloc 901 | fun:_ZL12realizeClassP7class_t 902 | fun:_ZL12realizeClassP7class_t 903 | fun:_read_images 904 | fun:map_images_nolock 905 | fun:map_images 906 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 907 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 908 | fun:dyld_register_image_state_change_handler 909 | fun:_objc_init 910 | fun:libSystem_initializer 911 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 912 | } 913 | { 914 | 915 | Memcheck:Leak 916 | fun:malloc 917 | fun:__smakebuf 918 | fun:__swsetup 919 | fun:__vfprintf 920 | fun:vfprintf_l 921 | fun:printf 922 | fun:main 923 | } 924 | { 925 | 926 | Memcheck:Leak 927 | fun:malloc_zone_calloc 928 | fun:__objc_sel_set_create 929 | fun:__sel_registerName 930 | fun:sel_init 931 | fun:map_images_nolock 932 | fun:map_images 933 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 934 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 935 | fun:dyld_register_image_state_change_handler 936 | fun:_objc_init 937 | fun:libSystem_initializer 938 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 939 | } 940 | { 941 | 942 | Memcheck:Leak 943 | fun:malloc 944 | fun:_ZN5boost6detail25get_once_per_thread_epochEv 945 | fun:_ZN5boost9call_onceIPFvvEEEvRNS_9once_flagET_ 946 | fun:_ZN5boost6detail20interruption_checkerC2EP23_opaque_pthread_mutex_tP22_opaque_pthread_cond_t 947 | fun:_ZN5boost18condition_variable4waitERNS_11unique_lockINS_5mutexEEE 948 | fun:_ZN5boost6thread4joinEv 949 | fun:main 950 | } 951 | { 952 | 953 | Memcheck:Leak 954 | fun:malloc_zone_malloc 955 | fun:recursive_mutex_init 956 | fun:_objc_init 957 | fun:libSystem_initializer 958 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 959 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 960 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 961 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 962 | fun:_ZN11ImageLoader15runInitializersERKNS_11LinkContextERNS_21InitializerTimingListE 963 | fun:_ZN4dyld24initializeMainExecutableEv 964 | fun:_ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_Pm 965 | fun:_ZN13dyldbootstrap5startEPK12macho_headeriPPKclS2_Pm 966 | } 967 | { 968 | 969 | Memcheck:Leak 970 | fun:malloc_zone_calloc 971 | fun:NXHashInsert 972 | fun:NXCreateHashTableFromZone 973 | fun:_read_images 974 | fun:map_images_nolock 975 | fun:map_images 976 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 977 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 978 | fun:dyld_register_image_state_change_handler 979 | fun:_objc_init 980 | fun:libSystem_initializer 981 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 982 | } 983 | { 984 | 985 | Memcheck:Leak 986 | fun:malloc_zone_calloc 987 | fun:NXHashInsert 988 | fun:_NXHashRehashToCapacity 989 | fun:NXHashInsert 990 | fun:_ZL12realizeClassP7class_t 991 | fun:_ZL12realizeClassP7class_t 992 | fun:_read_images 993 | fun:map_images_nolock 994 | fun:map_images 995 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 996 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 997 | fun:dyld_register_image_state_change_handler 998 | } 999 | { 1000 | 1001 | Memcheck:Leak 1002 | fun:malloc_zone_calloc 1003 | fun:NXHashInsert 1004 | fun:_NXHashRehashToCapacity 1005 | fun:NXHashInsert 1006 | fun:_ZL12realizeClassP7class_t 1007 | fun:_read_images 1008 | fun:map_images_nolock 1009 | fun:map_images 1010 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1011 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1012 | fun:dyld_register_image_state_change_handler 1013 | fun:_objc_init 1014 | } 1015 | { 1016 | 1017 | Memcheck:Leak 1018 | fun:malloc_zone_calloc 1019 | fun:NXHashInsert 1020 | fun:_ZL12realizeClassP7class_t 1021 | fun:_ZL12realizeClassP7class_t 1022 | fun:_read_images 1023 | fun:map_images_nolock 1024 | fun:map_images 1025 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1026 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1027 | fun:dyld_register_image_state_change_handler 1028 | fun:_objc_init 1029 | fun:libSystem_initializer 1030 | } 1031 | { 1032 | 1033 | Memcheck:Leak 1034 | fun:malloc_zone_calloc 1035 | fun:NXHashInsert 1036 | fun:_ZL12realizeClassP7class_t 1037 | fun:_read_images 1038 | fun:map_images_nolock 1039 | fun:map_images 1040 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1041 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1042 | fun:dyld_register_image_state_change_handler 1043 | fun:_objc_init 1044 | fun:libSystem_initializer 1045 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 1046 | } 1047 | { 1048 | 1049 | Memcheck:Leak 1050 | fun:malloc_zone_malloc 1051 | fun:recursive_mutex_init 1052 | fun:_objc_init 1053 | fun:libSystem_initializer 1054 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 1055 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 1056 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 1057 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 1058 | fun:_ZN11ImageLoader15runInitializersERKNS_11LinkContextERNS_21InitializerTimingListE 1059 | fun:_ZN4dyld24initializeMainExecutableEv 1060 | fun:_ZN4dyld5_mainEPK12macho_headermiPPKcS5_S5_Pm 1061 | fun:_ZN13dyldbootstrap5startEPK12macho_headeriPPKclS2_Pm 1062 | } 1063 | { 1064 | 1065 | Memcheck:Leak 1066 | fun:malloc 1067 | fun:realloc 1068 | fun:new_sem_from_pool 1069 | fun:_pthread_exit 1070 | fun:_pthread_start 1071 | fun:thread_start 1072 | } 1073 | { 1074 | 1075 | Memcheck:Leak 1076 | fun:malloc_zone_calloc 1077 | fun:NXHashInsert 1078 | fun:_ZL12realizeClassP7class_t 1079 | fun:_read_images 1080 | fun:map_images_nolock 1081 | fun:map_images 1082 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1083 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1084 | fun:dyld_register_image_state_change_handler 1085 | fun:_objc_init 1086 | fun:libSystem_initializer 1087 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 1088 | } 1089 | { 1090 | 1091 | Memcheck:Leak 1092 | fun:malloc_zone_calloc 1093 | fun:_objc_fetch_pthread_data 1094 | fun:_ZL27_fetchInitializingClassLista 1095 | fun:_class_initialize 1096 | fun:_class_initialize 1097 | fun:_class_initialize 1098 | fun:_class_initialize 1099 | fun:prepareForMethodLookup 1100 | fun:lookUpMethod 1101 | fun:objc_msgSend 1102 | fun:_libxpc_initializer 1103 | fun:libSystem_initializer 1104 | } 1105 | { 1106 | 1107 | Memcheck:Leak 1108 | fun:malloc_zone_calloc 1109 | fun:NXHashInsert 1110 | fun:_ZL12realizeClassP7class_t 1111 | fun:_ZL12realizeClassP7class_t 1112 | fun:_read_images 1113 | fun:map_images_nolock 1114 | fun:map_images 1115 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1116 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1117 | fun:dyld_register_image_state_change_handler 1118 | fun:_objc_init 1119 | fun:libSystem_initializer 1120 | } 1121 | { 1122 | 1123 | Memcheck:Leak 1124 | fun:malloc_zone_calloc 1125 | fun:map_images_nolock 1126 | fun:map_images 1127 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1128 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1129 | fun:dyld_register_image_state_change_handler 1130 | fun:_objc_init 1131 | fun:libSystem_initializer 1132 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 1133 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 1134 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 1135 | fun:_ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEjRNS_21InitializerTimingListE 1136 | } 1137 | { 1138 | 1139 | Memcheck:Leak 1140 | fun:malloc_zone_calloc 1141 | fun:NXHashInsert 1142 | fun:_NXHashRehashToCapacity 1143 | fun:NXHashInsert 1144 | fun:_ZL12realizeClassP7class_t 1145 | fun:_read_images 1146 | fun:map_images_nolock 1147 | fun:map_images 1148 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1149 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1150 | fun:dyld_register_image_state_change_handler 1151 | fun:_objc_init 1152 | } 1153 | { 1154 | 1155 | Memcheck:Leak 1156 | fun:malloc_zone_calloc 1157 | fun:NXHashInsert 1158 | fun:_NXHashRehashToCapacity 1159 | fun:NXHashInsert 1160 | fun:_ZL12realizeClassP7class_t 1161 | fun:_ZL12realizeClassP7class_t 1162 | fun:_read_images 1163 | fun:map_images_nolock 1164 | fun:map_images 1165 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1166 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1167 | fun:dyld_register_image_state_change_handler 1168 | } 1169 | { 1170 | 1171 | Memcheck:Leak 1172 | fun:malloc 1173 | fun:_ZL29getPerThreadBufferFor_dlerrorj 1174 | fun:dlopen 1175 | fun:dlopen 1176 | fun:map_images_nolock 1177 | fun:map_images 1178 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1179 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1180 | fun:dyld_register_image_state_change_handler 1181 | fun:_objc_init 1182 | fun:libSystem_initializer 1183 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 1184 | } 1185 | { 1186 | 1187 | Memcheck:Leak 1188 | fun:malloc_zone_malloc 1189 | fun:NXCreateMapTableFromZone 1190 | fun:_ZL20unattachedCategoriesv 1191 | fun:_ZL12realizeClassP7class_t 1192 | fun:_ZL12realizeClassP7class_t 1193 | fun:_ZL12realizeClassP7class_t 1194 | fun:_ZL12realizeClassP7class_t 1195 | fun:_ZL12realizeClassP7class_t 1196 | fun:_read_images 1197 | fun:map_images_nolock 1198 | fun:map_images 1199 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1200 | } 1201 | { 1202 | 1203 | Memcheck:Leak 1204 | fun:malloc_zone_malloc 1205 | fun:_strdup_internal 1206 | fun:NXMapKeyCopyingInsert 1207 | fun:_read_images 1208 | fun:map_images_nolock 1209 | fun:map_images 1210 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1211 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1212 | fun:dyld_register_image_state_change_handler 1213 | fun:_objc_init 1214 | fun:libSystem_initializer 1215 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 1216 | } 1217 | { 1218 | 1219 | Memcheck:Leak 1220 | fun:malloc_zone_malloc 1221 | fun:NXCreateMapTableFromZone 1222 | fun:_ZL18futureNamedClassesv 1223 | fun:_read_images 1224 | fun:map_images_nolock 1225 | fun:map_images 1226 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1227 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1228 | fun:dyld_register_image_state_change_handler 1229 | fun:_objc_init 1230 | fun:libSystem_initializer 1231 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 1232 | } 1233 | { 1234 | 1235 | Memcheck:Leak 1236 | fun:malloc_zone_malloc 1237 | fun:NXCreateMapTableFromZone 1238 | fun:_ZL15remappedClassesa 1239 | fun:_ZL10remapClassP7class_t 1240 | fun:_read_images 1241 | fun:map_images_nolock 1242 | fun:map_images 1243 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1244 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1245 | fun:dyld_register_image_state_change_handler 1246 | fun:_objc_init 1247 | fun:libSystem_initializer 1248 | } 1249 | { 1250 | 1251 | Memcheck:Leak 1252 | fun:malloc_zone_malloc 1253 | fun:_ZL12_NXMapRehashP11_NXMapTable 1254 | fun:NXMapInsert 1255 | fun:NXMapKeyCopyingInsert 1256 | fun:_read_images 1257 | fun:map_images_nolock 1258 | fun:map_images 1259 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1260 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1261 | fun:dyld_register_image_state_change_handler 1262 | fun:_objc_init 1263 | fun:libSystem_initializer 1264 | } 1265 | { 1266 | 1267 | Memcheck:Leak 1268 | fun:malloc_zone_malloc 1269 | fun:NXCreateMapTableFromZone 1270 | fun:_read_images 1271 | fun:map_images_nolock 1272 | fun:map_images 1273 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1274 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1275 | fun:dyld_register_image_state_change_handler 1276 | fun:_objc_init 1277 | fun:libSystem_initializer 1278 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 1279 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 1280 | } 1281 | { 1282 | 1283 | Memcheck:Leak 1284 | fun:malloc_zone_malloc 1285 | fun:_ZN4objc8DenseMapIP11objc_objectmLb1ENS_12DenseMapInfoIS2_EENS3_ImEEE4initEj 1286 | fun:arr_init 1287 | fun:map_images_nolock 1288 | fun:map_images 1289 | fun:_ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE 1290 | fun:_ZN4dyld36registerImageStateBatchChangeHandlerE17dyld_image_statesPFPKcS0_jPK15dyld_image_infoE 1291 | fun:dyld_register_image_state_change_handler 1292 | fun:_objc_init 1293 | fun:libSystem_initializer 1294 | fun:_ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE 1295 | fun:_ZN16ImageLoaderMachO16doInitializationERKN11ImageLoader11LinkContextE 1296 | } 1297 | -------------------------------------------------------------------------------- /clj-v8-native/src/v8wrapper/test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include "v8wrapper.h" 8 | #include 9 | 10 | 11 | // returns size, chars as an output parameter 12 | long read(const char* name, char** result) { 13 | FILE* file = fopen(name, "rb"); 14 | if (file == NULL) return -1; 15 | 16 | fseek(file, 0, SEEK_END); 17 | int size = ftell(file); 18 | rewind(file); 19 | 20 | char* chars = new char[size + 1]; 21 | chars[size] = '\0'; 22 | for (int i = 0; i < size;) { 23 | int read = static_cast(fread(&chars[i], 1, size - i, file)); 24 | i += read; 25 | } 26 | fclose(file); 27 | *result = chars; 28 | return size; 29 | } 30 | 31 | 32 | void run_v8() { 33 | // read file 34 | char* source8 = NULL; 35 | long size = read("test_file.js", &source8); 36 | if (source8 == NULL or size == -1) 37 | return; 38 | 39 | // convert to 16 bit chars 40 | wchar_t* source16 = (wchar_t*)(calloc(size+1, 4)); 41 | for (int i = 0; i < size; i++) { 42 | source16[i] = (wchar_t)(source8[i]); 43 | } 44 | free(source8); 45 | 46 | // get a tuple to use 47 | v8tuple* tuple = create_tuple(); 48 | 49 | // run test 50 | wchar_t* result = run(tuple, source16); 51 | free(source16); 52 | 53 | cleanup_tuple(tuple); 54 | 55 | wchar_t format_str[3] = {(wchar_t)('%'), (wchar_t)('S'), (wchar_t)('\0')}; 56 | wprintf(format_str, result); 57 | cleanup(result); 58 | 59 | } 60 | 61 | int main() 62 | { 63 | int count = 20; 64 | 65 | boost::thread ts[count]; 66 | 67 | for (int i = 0; i < count; i++) { 68 | printf("starting thread %i\n", i); 69 | ts[i] = boost::thread(run_v8); 70 | } 71 | 72 | for (int i = 0; i < count; i++) { 73 | ts[i].join(); 74 | printf("ending thread %i\n", i); 75 | } 76 | 77 | return 0; 78 | } 79 | -------------------------------------------------------------------------------- /clj-v8-native/src/v8wrapper/test_file.hamlc: -------------------------------------------------------------------------------- 1 | %div 2 | .subsection -------------------------------------------------------------------------------- /clj-v8-native/src/v8wrapper/testgrind.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "v8wrapper.h" 3 | 4 | 5 | int main(void) { 6 | wchar_t foo[] = L"function addOne(x) { return x + 1; }; addOne(3);"; 7 | 8 | //while (1) { 9 | wchar_t *result = run(foo); 10 | printf("%ls\n", result); 11 | cleanup(result); 12 | //} 13 | 14 | return 0; 15 | } 16 | 17 | -------------------------------------------------------------------------------- /clj-v8-native/src/v8wrapper/v8wrapper.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include "v8wrapper.h" 9 | 10 | using namespace v8; 11 | 12 | const char* ToCString(const String::Utf8Value& value) { 13 | return *value ? *value : ""; 14 | } 15 | 16 | void ReportException(v8::TryCatch* try_catch) { 17 | v8::HandleScope handle_scope; 18 | v8::String::Utf8Value exception(try_catch->Exception()); 19 | const char* exception_string = ToCString(exception); 20 | v8::Handle message = try_catch->Message(); 21 | if (message.IsEmpty()) { 22 | // V8 didn't provide any extra information about this error; just 23 | // print the exception. 24 | fprintf(stderr, "%s\n", exception_string); 25 | } else { 26 | // Print (filename):(line number): (message). 27 | v8::String::Utf8Value filename(message->GetScriptResourceName()); 28 | const char* filename_string = ToCString(filename); 29 | int linenum = message->GetLineNumber(); 30 | fprintf(stderr, "%s:%i: %s\n", filename_string, linenum, exception_string); 31 | // Print line of source code. 32 | v8::String::Utf8Value sourceline(message->GetSourceLine()); 33 | const char* sourceline_string = ToCString(sourceline); 34 | fprintf(stderr, "%s\n", sourceline_string); 35 | // Print wavy underline (GetUnderline is deprecated). 36 | int start = message->GetStartColumn(); 37 | for (int i = 0; i < start; i++) { 38 | fprintf(stderr, " "); 39 | } 40 | int end = message->GetEndColumn(); 41 | for (int i = start; i < end; i++) { 42 | fprintf(stderr, "^"); 43 | } 44 | fprintf(stderr, "\n"); 45 | v8::String::Utf8Value stack_trace(try_catch->StackTrace()); 46 | if (stack_trace.length() > 0) { 47 | const char* stack_trace_string = ToCString(stack_trace); 48 | fprintf(stderr, "%s\n", stack_trace_string); 49 | } 50 | } 51 | } 52 | 53 | Handle ReadFile(const char* name) { 54 | FILE* file = fopen(name, "rb"); 55 | if (file == NULL) return Handle(); 56 | 57 | fseek(file, 0, SEEK_END); 58 | int size = ftell(file); 59 | rewind(file); 60 | 61 | char* chars = new char[size + 1]; 62 | chars[size] = '\0'; 63 | for (int i = 0; i < size;) { 64 | int read = static_cast(fread(&chars[i], 1, size - i, file)); 65 | i += read; 66 | } 67 | fclose(file); 68 | Handle result = String::New(chars, size); 69 | delete[] chars; 70 | return result; 71 | } 72 | 73 | // The callback that is invoked by v8 whenever the JavaScript 'read' 74 | // function is called. This function loads the content of the file named in 75 | // the argument into a JavaScript string. 76 | v8::Handle Read(const v8::Arguments& args) { 77 | if (args.Length() != 1) { 78 | return v8::ThrowException(v8::String::New("Bad parameters")); 79 | } 80 | v8::String::Utf8Value file(args[0]); 81 | if (*file == NULL) { 82 | return v8::ThrowException(v8::String::New("Error loading file")); 83 | } 84 | v8::Handle source = ReadFile(*file); 85 | if (source.IsEmpty()) { 86 | return v8::ThrowException(v8::String::New("Error loading file")); 87 | } 88 | return source; 89 | } 90 | 91 | 92 | 93 | wchar_t *val2wchar(const Handle v) { 94 | String::Value ucsstr(v); 95 | 96 | int length = ucsstr.length(); 97 | wchar_t *result = (wchar_t*) calloc(sizeof(wchar_t), length+1); 98 | 99 | for(int i = 0; i < length; i++) { 100 | result[i] = (*ucsstr)[i]; 101 | } 102 | 103 | return result; 104 | } 105 | 106 | Handle wchar2v8string(wchar_t* w) { 107 | int length = wcslen(w); 108 | uint16_t *u16 = (uint16_t*) calloc(length+1, sizeof(uint16_t)); 109 | 110 | for(int i = 0; i < length; i++) { 111 | u16[i] = w[i]; 112 | } 113 | 114 | Handle result = String::New(u16); 115 | free(u16); 116 | 117 | return result; 118 | } 119 | 120 | 121 | 122 | Handle run_scoped(Handle src) { 123 | v8::HandleScope handle_scope; 124 | 125 | TryCatch trycatch; 126 | Handle result; 127 | 128 | Handle