Skip to content

Instantly share code, notes, and snippets.

View tjfontaine's full-sized avatar

Timothy J Fontaine tjfontaine

View GitHub Profile
From c421a5e66b6810315fe2bc713f532886002bd7cc Mon Sep 17 00:00:00 2001
From: Timothy J Fontaine <tjfontaine@gmail.com>
Date: Fri, 18 Oct 2013 08:43:52 -0700
Subject: [PATCH] crypto: clear errors from verify failure
OpenSSL will push errors onto the stack when a verify fails, which can
disrupt TLS and other routines if we don't clear the error stack
Fixes #6304
---
(gdb) bt
#0 v8::internal::Space::identity () at /Users/tjfontaine/Development/node-v0.8/deps/v8/src/spaces.h:773
#1 0x00000001002f7988 in v8::internal::MemoryAllocator::Free (this=0x100a0b3f0, chunk=0x1ee451500000) at ../deps/v8/src/spaces.cc:599
#2 0x000000010015db47 in v8::internal::DeoptimizerData::~DeoptimizerData () at /Users/tjfontaine/Development/node-v0.8/deps/v8/src/deoptimizer.h:55
#3 0x000000010015db47 in v8::internal::DeoptimizerData::~DeoptimizerData (this=0x100a0e680) at ../deps/v8/src/deoptimizer.cc:53
#4 0x00000001002166dd in v8::internal::Isolate::Deinit (this=0x101007800) at ../deps/v8/src/isolate.cc:1568
#5 0x00000001002164e1 in v8::internal::Isolate::TearDown (this=0x101007800) at ../deps/v8/src/isolate.cc:1544
#6 0x000000010030d2b9 in v8::internal::V8::TearDown () at ../deps/v8/src/v8.cc:113
#7 0x00000001001206f3 in v8::V8::Dispose () at ../deps/v8/src/api.cc:4231
#8 0x00000001000086d7 in node::Start (argc=<value temporarily unavailable, due to optimizations>, argv=0x7fff5fbffa68
var execFile = require('child_process').execFile;
var EE = require('events').EventEmitter;
var util = require('util');
var vm = require('vm');
module.exports = Charm;
function Charm(options) {
if (!(this instanceof Charm)) return new Charm(options);
> ::jsstack
8042648 libc.so.1`_lwp_kill+0x15
8042668 libc.so.1`raise+0x22
80426b8 libc.so.1`abort+0xf2
80428c8 libc.so.1`_assert_c99+0x85
80428e8 node::ZCtx::~ZCtx+0x15c
8042958 v8::internal::GlobalHandles::PostGarbageCollectionProcessing+0x371
80429c8 v8::internal::Heap::PerformGarbageCollection+0x36c
8042ae8 v8::internal::Heap::CollectGarbage+0x11b
8042b18 v8::internal::Heap::CollectAllGarbage+0x77
var common = require('../common')
var spawn = require('child_process').execFile;
var http = require('http');
var TOTAL_BYTES = 100 * 1024 * 1024;
if (process.argv[2] === 'child') {
var seen = 0;
// Copyright Joyent, Inc. and other Node contributors.
//
// 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, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
8045948 libc.so.1`_lwp_kill+0x15
8045968 libc.so.1`raise+0x22
80459b8 libc.so.1`abort+0xf2
8045a08 node::UDPWrap::GetFD+0xd9
8045a98 v8::internal::JSObject::GetPropertyWithCallback+0x1a9
8045af8 v8::internal::Object::GetPropertyWithReceiver+0x81
8045b78 v8::internal::Runtime::GetObjectProperty+0x104
8045be8 v8::internal::Runtime_KeyedGetProperty+0x34
8045c10 0xb180a236 internal (Code: b180a1c1)
8045c48 0xadcd707e CallSiteGetMethodName (9ab19c79)
8047044 0xbe566ceb <anonymous> (as log.emitLog) (baf40bc5)
8047084 0xbe5636b2 <anonymous> (as <anon>) (fe42a385)
80470ac 0xbe50fe19 <InternalFrame>
80470e8 0xbe50a0aa <EntryFrame>
8047158 _ZN2v88internalL6InvokeEbNS0_6HandleINS0_10JSFunctionEEENS1_INS0_6ObjectEEEiPS5_Pb+0xef
8047198 v8::internal::Execution::Call+0xd0
8047238 v8::internal::Runtime_Apply+0x194
8047254 0xbe50a236 internal (Code: be50a1c1)
8047294 0xbe564985 <anonymous> (as b) (fe421ea5)
80472ac 0xbe50f7a1 <ArgumentsAdaptorFrame>
{
chunk: {
length: 10240,
parent: 10240,
},
encoding: {
length: 10240,
parent: 10240,
},
callback: {
2013.09.24, Version 0.10.19 (Stable)
* uv: Upgrade to v0.10.17
* npm: upgrade to 1.3.11
* readline: handle input starting with control chars (Eric Schrock)
* configure: add mips-float-abi (soft, hard) option (Andrei Sedoi)