Skip to content

Instantly share code, notes, and snippets.

@evanlucas
evanlucas / keybase.md
Created December 17, 2015 12:39
keybase.md

Keybase proof

I hereby claim:

  • I am evanlucas on github.
  • I am evanlucas (https://keybase.io/evanlucas) on keybase.
  • I have a public key ASBwK2f35R0_IxmZSuSdQQMsOBXoyrgd5nRcxT3BC7CBDAo

To claim this, I am signing this object:

@evanlucas
evanlucas / printflags.c
Created December 8, 2015 19:59
printflags.c
#define FLAGS(V) \
V(kFSEventStreamEventFlagItemCreated) \
V(kFSEventStreamEventFlagItemRemoved) \
V(kFSEventStreamEventFlagItemInodeMetaMod) \
V(kFSEventStreamEventFlagItemRenamed) \
V(kFSEventStreamEventFlagItemModified) \
V(kFSEventStreamEventFlagItemFinderInfoMod) \
V(kFSEventStreamEventFlagItemChangeOwner) \
V(kFSEventStreamEventFlagItemXattrMod) \
V(kFSEventStreamEventFlagItemIsFile) \
@evanlucas
evanlucas / watch_dir.c
Created December 6, 2015 04:04
watch_dir.c
#include "uv.h"
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
static uv_fs_event_t fs_event;
static uv_timer_t timer;
#define ASSERT(expr) \
do { \
if (!(expr)) { \
@evanlucas
evanlucas / lldb_output5
Created December 2, 2015 19:28
lldb_output5
(lldb) btjs
* thread #1: tid = 0x14f4c, 0x00007fff8e2a4473, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, addre@????
frame #0: 0x00007fff8e2a4473 JavaScriptCore`JSC::buildGetByIDList(JSC::ExecState*, JSC::JSValue, JSC::Identifier const&, JSC::PropertySlot const&, JSC::StructureStubInfo&) + 243
frame #1: 0x00007fff8ddd2807 JavaScriptCore`operationGetByIdBuildList + 1751
frame #2: 0x00002434534b45dc nextTick#CU3wJc [Baseline](Cell[JSLexicalEnvironment ID: 23055]: 0x106931d20, Cell[Function ID: 15247]: 0x10cd3fc40)
frame #3: 0x00002434534c824b #BEOicj [DFG](Cell[JSLexicalEnvironment ID: 23055]: 0x106d3b0d0, Cell[Function ID: 15247]: 0x10cd3fd00)
frame #4: 0x00002434534945ee nextTick#CfYSed [DFG](Cell[Object ID: 16408]: 0x108dfbf00, Cell[Function ID: 15247]: 0x10cd3fd00)
frame #5: 0x0000243453537ce0 onPacket#AZXqd7 [Baseline](Cell[Object ID: 32831]: 0x10fdc8160, Cell[Object ID: 29786]: 0x108c0b8c0)
frame #6: 0x0000243453535e10 onData#BfIkjE [Baseline](Cell[Objec
@evanlucas
evanlucas / lldb_webkit.py
Created December 2, 2015 19:26
lldb_webkit.py
# Copyright (C) 2012 Apple. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
@evanlucas
evanlucas / lldb_output4
Created December 2, 2015 19:24
lldb_output4
(lldb) bt
* thread #1: tid = 0x24ee, 0x00007fff8e2a4473, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, addre
frame #0: 0x00007fff8e2a4473 JavaScriptCore`JSC::buildGetByIDList(JSC::ExecState*, JSC::JSValue, JSC::Identifier const&, JSC::PropertySlot const&, JSC::StructureStubInfo&) + 243
frame #1: 0x00007fff8ddd2807 JavaScriptCore`operationGetByIdBuildList + 1751
frame #2: 0x00004bcaed091edc
frame #3: 0x00004bcaece32739
frame #4: 0x00004bcaed01ccea
frame #5: 0x00007fff8e2205eb
frame #6: 0x00007fff8e2205eb
frame #7: 0x00007fff8e2205eb
@evanlucas
evanlucas / lldb_output3
Created December 2, 2015 19:21
lldb_output3
Process 847 stopped
* thread #1: tid = 0x24ee, 0x00007fff8e2a4473 JavaScriptCore`JSC::buildGetByIDList(JSC::ExecState*, JSC::JSValue, JSC::Identifier const&, JSC::PropertySlot const&, JSC::StructureStubInfo&) + 243, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x1acbe09c0)
frame #0: 0x00007fff8e2a4473 JavaScriptCore`JSC::buildGetByIDList(JSC::ExecState*, JSC::JSValue, JSC::Identifier const&, JSC::PropertySlot const&, JSC::StructureStubInfo&) + 243
JavaScriptCore`JSC::buildGetByIDList:
-> 0x7fff8e2a4473 <+243>: movq (%rsi,%rcx,8), %rcx
0x7fff8e2a4477 <+247>: movb 0x10(%rcx), %al
0x7fff8e2a447a <+250>: testb $0x2, %al
0x7fff8e2a447c <+252>: jne 0x7fff8e2a4a06 ; <+1670>
@evanlucas
evanlucas / lldb_output2
Created December 2, 2015 19:20
lldb_output2
(lldb) c
Process 847 resuming
@evanlucas
evanlucas / lldb_output1
Created December 2, 2015 19:19
lldb_output1
(lldb) process attach --pid 847
Process 847 stopped
* thread #1: tid = 0x24ee, 0x00007fff8f89ec96 libsystem_kernel.dylib`mach_msg_trap + 10, queue = 'com.apple.main-thread, stop reason = signal SIGSTOP
frame #0: 0x00007fff8f89ec96 libsystem_kernel.dylib`mach_msg_trap + 10
libsystem_kernel.dylib`mach_msg_trap:
-> 0x7fff8f89ec96 <+10>: retq
0x7fff8f89ec97 <+11>: nop
libsystem_kernel.dylib`mach_msg_overwrite_trap:
0x7fff8f89ec98 <+0>: movq %rcx, %r10
@evanlucas
evanlucas / lldb_attach.sh
Created December 2, 2015 19:15
lldb_attach.sh
$ lldb -p <pid>