Skip to content

Instantly share code, notes, and snippets.

fn main() {
let s = "
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris laoreet consequat fringilla. Quisque venenatis lacinia ipsum non rhoncus. Donec adipiscing fringilla erat, a pretium purus rhoncus quis. Nunc rhoncus dui at ipsum bibendum tincidunt. Etiam eu lorem nulla. Nulla id est id augue blandit vestibulum. Nullam eleifend gravida feugiat. Aliquam vitae urna arcu. Ut sed enim dui, a suscipit sapien.
Ut sollicitudin, metus id malesuada dapibus, quam velit ultrices nibh, at feugiat diam tellus eget risus. Vestibulum in ultrices enim. Nulla at est molestie augue hendrerit tempor sed in purus. Mauris non lorem libero, id faucibus odio. Proin feugiat magna id diam laoreet eu dapibus sapien eleifend. Nunc imperdiet auctor hendrerit. Curabitur porta tempus quam, vel scelerisque elit feugiat ac. Vestibulum feugiat bibendum massa in dapibus. Quisque lacinia porttitor turpis et auctor. Ut quis tortor vitae ligula faucibus euismod nec eu risus. Nullam blandit, risus at consectetur dapibus, v
@brson
brson / gist:2003993
Created March 8, 2012 22:57
rust boyer-moore no-terminate
fn main() {
let s = "
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris laoreet consequat fringilla. Quisque venenatis lacinia ipsum non rhoncus. Donec adipiscing fringilla erat, a pretium purus rhoncus quis. Nunc rhoncus dui at ipsum bibendum tincidunt. Etiam eu lorem nulla. Nulla id est id augue blandit vestibulum. Nullam eleifend gravida feugiat. Aliquam vitae urna arcu. Ut sed enim dui, a suscipit sapien.
Ut sollicitudin, metus id malesuada dapibus, quam velit ultrices nibh, at feugiat diam tellus eget risus. Vestibulum in ultrices enim. Nulla at est molestie augue hendrerit tempor sed in purus. Mauris non lorem libero, id faucibus odio. Proin feugiat magna id diam laoreet eu dapibus sapien eleifend. Nunc imperdiet auctor hendrerit. Curabitur porta tempus quam, vel scelerisque elit feugiat ac. Vestibulum feugiat bibendum massa in dapibus. Quisque lacinia porttitor turpis et auctor. Ut quis tortor vitae ligula faucibus euismod nec eu risus. Nullam blandit, risus at consectetur dapibus, v
==16733== 0 bytes in 2 blocks are definitely lost in loss record 12 of 16
==16733== at 0x47CD876: malloc (vg_replace_malloc.c:236)
==16733== by 0x47CD900: realloc (vg_replace_malloc.c:525)
==16733== by 0x4818082: ev_realloc_emul (ev.c:612)
==16733== by 0x4819F04: ev_loop_destroy (ev.c:638)
==16733== by 0x480EE12: uv_loop_delete (core.c:181)
==16733== by 0x804BBE6: rust_uv_loop_delete__c_stack_shim (in /home/banderson/Dev/rust2/build/x86_64-unknown-linux-gnu/test/stdtest.stage2-i686-unknown-linux-gnu)
==16733== by 0x480E83E: ??? (in /home/banderson/Dev/rust2/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/i686-unknown-linux-gnu/lib/librustrt.so)
==16733==
==16733== 0 bytes in 2 blocks are definitely lost in loss record 13 of 16
; ModuleID = 'hello.rc'
target datalayout = "e-p:32:32-f64:32:64-i64:32:64-f80:32:32-n8:16:32"
target triple = "i686-unknown-linux-gnu"
%shapes = type { [1 x i8]*, {}* }
%tydesc = type { %tydesc**, i32, i32, void (i1*, i1*, %tydesc**, i8*)*, void (i1*, i1*, %tydesc**, i8*)*, void (i1*, i1*, %tydesc**, i8*)*, i8*, void (i1*, i1*, %tydesc**, i8*)*, void (i1*, i1*, %tydesc**, i8*)*, void (i1*, i1*, %tydesc**, i8*)*, i8*, i8*, i8*, i32, i32 }
@_rust_crate_map_toplevel = global { i32, [2 x i32] } { i32 ptrtoint ([2 x { i32, i32 }]* @_rust_mod_map to i32), [2 x i32] [i32 ptrtoint (i32* @_rust_crate_map_core_0.2_d27e4777a53c3e50 to i32), i32 0] }
@shapes = internal constant %shapes { [1 x i8]* @tag_shapes, {}* @resource_shapes }
@rust_start = external global i32 (void (i1*, { i32, %tydesc*, i8*, i8*, i8 }*, { i32, i32, [0 x { i32, i32, [0 x i8] }*] }*)*, i32, i32, { i32, [2 x i32] }*)
let monitor: Monitor = Monitor({
frame: frame,
on_break: {|monitor| // <- This is fn~
}
});
/*
* Copyright (c) 2007 Henri Sivonen
* Copyright (c) 2007-2011 Mozilla Foundation
* Portions of comments Copyright 2004-2008 Apple Computer, Inc., Mozilla
* Foundation, and Opera Software ASA.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
listen {|parent|
spawn_listener {|child|
parent.send("hello")
}
println(parent.recv())
}
rust: upcall fail 'killed', /home/banderson/Dev/rust2/src/libcore/task.rs:454
==25078== Thread 17:
==25078== Invalid read of size 8
==25078== at 0x52A867B: ev_run (ev.c:2194)
==25078== by 0x529A831: uv_run (core.c:212)
==25078== by 0x5299988: ??? (in /home/banderson/Dev/rust2/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/librustrt.so)
==25078== Address 0x6d55470 is 2,640 bytes inside a block of size 2,864 free'd
==25078== at 0x4C282ED: free (vg_replace_malloc.c:366)
==25078== by 0x52839B5: rust_task::delete_all_stacks() (rust_task.cpp:614)
==25078== by 0x527F736: rust_sched_loop::reap_dead_tasks() (rust_sched_loop.cpp:115)
@brson
brson / gist:2883660
Created June 6, 2012 18:08
Rust task failure bugs
@brson
brson / gist:2883938
Created June 6, 2012 19:03
Rust stack bugs