[#32009] merging nokogiri to ext/ — Aaron Patterson <aaron@...>
I would like to merge nokogiri to ext for the 1.9.3 release. I spoke to
Hello,
Hi,
On Sep 4, 2010, at 3:19 PM, Benoit Daloze wrote:
On Sat, Sep 4, 2010 at 4:30 PM, James Edward Gray II
On Sun, Sep 5, 2010 at 9:19 PM, <brabuhr@gmail.com> wrote:
On Sep 5, 2010, at 12:28 PM, Giuseppe Bilotta wrote:
On Mon, Sep 06, 2010 at 05:02:09AM +0900, Joshua Ballanco wrote:
> Supposedly there are REXML tests that are maintained outside of Ruby,
Hello,
Hi,
2010/9/3 NARUSE, Yui <naruse@airemix.jp>:
On Fri, Sep 03, 2010 at 04:27:07PM +0900, NARUSE, Yui wrote:
Hi,
On Sun, Sep 05, 2010 at 12:17:03AM +0900, Yusuke ENDOH wrote:
Hi,
On Fri, Sep 03, 2010 at 02:34:09PM +0900, NARUSE, Yui wrote:
Hi,
Currently, we're discussing three different topics:
On Thu, Sep 09, 2010 at 01:40:34AM +0900, Yusuke ENDOH wrote:
Hello,
Hi,
On Thu, Sep 09, 2010 at 12:33:07PM +0900, Yusuke ENDOH wrote:
Hi,
On Thu, Sep 09, 2010 at 10:13:31PM +0900, Yusuke ENDOH wrote:
As an alternate approach:
2010/9/10 James Cox <james@imaj.es>:
[#32056] [Ruby 1.8-Bug#3788][Open] URI cannot parse IPv6 addresses propertly — Adam Majer <redmine@...>
Bug #3788: URI cannot parse IPv6 addresses propertly
Issue #3788 has been updated by Adam Majer.
2010/9/8 Adam Majer <redmine@ruby-lang.org>:
[#32110] Ruby 2.0 Wiki/Wish-list? — Joshua Ballanco <jballanc@...>
Hi all,
2010/9/8 Joshua Ballanco <jballanc@gmail.com>:
On Sep 7, 2010, at 5:21 PM, NARUSE, Yui wrote:
Hi,
On Sep 8, 2010, at 12:37 AM, Yukihiro Matsumoto wrote:
Hi,
On Sep 8, 2010, at 2:00 AM, Yukihiro Matsumoto wrote:
Hi,
> -- "def" returns a lambda instead of nil
> So, for example, a few things I've wanted for a long time:
Hi,
On Thu, Sep 9, 2010 at 4:20 AM, "Martin J. Dürst"
I really miss those features:
[#32135] [Ruby-Bug#3802][Open] freeaddrinfo not found in WS2_32.dll — Thomas Volkmar Worm <redmine@...>
Bug #3802: freeaddrinfo not found in WS2_32.dll
Issue #3802 has been updated by Usaku NAKAMURA.
Hi,
Hello,
On Tue, Oct 12, 2010 at 11:44 PM, U.Nakamura <usa@garbagecollect.jp> wrote:
2010/10/13 Luis Lavena <luislavena@gmail.com>:
[#32154] Making custom_lambda() work — Magnus Holm <judofyr@...>
A tiny suggestion for how we could make it possible to call lambdas
On Wed, Sep 8, 2010 at 18:21, Magnus Holm <judofyr@gmail.com> wrote:
On Wed, Sep 8, 2010 at 18:57, Nikolai Weibull <now@bitwi.se> wrote:
[#32156] Can we convert the standard library to gems? — James Edward Gray II <james@...>
Taken from the bundle Nokogiri thread:
On 2010-09-09 01:45:43 +0900, James Edward Gray II wrote:
On Sep 8, 2010, at 12:03 PM, Marcus Rueckert wrote:
On 2010-09-09 02:54:26 +0900, James Edward Gray II wrote:
On Sep 8, 2010, at 3:26 PM, Marcus Rueckert wrote:
On 2010-09-09 06:11:15 +0900, James Edward Gray II wrote:
On Thu, Sep 09, 2010 at 05:26:54AM +0900, Marcus Rueckert wrote:
On 10/09/10 at 02:41 +0900, Aaron Patterson wrote:
On Fri, Sep 10, 2010 at 1:54 AM, Lucas Nussbaum
ok, this is not exactly on topic, but I'm using Debian and Ubuntu a
Hi Elise,
Hi,
On Thu, Sep 09, 2010 at 02:06:50AM +0900, Yusuke ENDOH wrote:
Hi,
I'm off today so sorry if I missed some mails.
Urabe,
(2010/09/10 23:48), James Cox wrote:
I'm at an airport back to my home so in short,
On Sun, Sep 12, 2010 at 6:51 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
(2010/09/13 3:54), James Cox wrote:
On Tue, Sep 14, 2010 at 12:37 PM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
How difficult to make myself understood in English.
On Wed, Sep 15, 2010 at 1:43 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
Hi,
On Wed, Sep 15, 2010 at 12:07 PM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
On 2010-09-16 01:42:39 +0900, James Cox wrote:
On Wed, Sep 15, 2010 at 1:35 PM, Marcus Rueckert <darix@opensu.se> wrote:
On 2010-09-16 03:36:56 +0900, James Cox wrote:
On Wednesday, September 15, 2010, Marcus Rueckert <darix@opensu.se> wrote:
On 16/09/10 at 11:02 +0900, James Cox wrote:
On Thu, Sep 16, 2010 at 1:59 AM, Lucas Nussbaum
On Thu, Sep 16, 2010 at 10:41 AM, James Tucker <jftucker@gmail.com> wrote:
On 2010-09-16 03:36:56 +0900, James Cox wrote:
On Thu, Sep 16, 2010 at 11:44 AM, Marcus Rueckert <darix@opensu.se> wrote:
On Wed, Sep 8, 2010 at 10:45 AM, James Edward Gray II
On Thu, Sep 9, 2010 at 1:41 PM, Roger Pack <rogerdpack2@gmail.com> wrote:
[#32165] [Ruby 1.9-Bug#3805][Open] Ruby generated gem specifications for bundled projects are incorrect — Luis Lavena <redmine@...>
Bug #3805: Ruby generated gem specifications for bundled projects are incorrect
[#32200] Ruby 2.0 Wish-list? — Rocky Bernstein <rockyb@...>
Any plans for error messages in languages other than English?
[#32248] Replacing stdlib Date with C version — Jeremy Evans <code@...>
I've recently been working on a replacement for the stdlib Date class,
Hi,
On 09/10 07:23, Nobuyoshi Nakada wrote:
Hi,
[#32351] Cross-compilation bugs and seek for help — Luis Lavena <luislavena@...>
Hello,
It might be off topic though I have to mention this anyway. This is not for
[#32353] [Ruby 1.9-Bug#3825][Open] ENV.delete raise Exception on Windows — Heesob Park <redmine@...>
Bug #3825: ENV.delete raise Exception on Windows
[#32453] Why doesn’t Enumerable define a #last method? — Nikolai Weibull <now@...>
Hi!
On 17 September 2010 12:19, Nikolai Weibull <now@bitwi.se> wrote:
(2010/09/17 19:19), Nikolai Weibull wrote:
On Fri, Sep 17, 2010 at 13:00, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
[#32454] [Ruby 1.9-Feature#3845][Open] "in" infix operator — Yusuke Endoh <redmine@...>
Feature #3845: "in" infix operator
On 17 September 2010 12:30, Yusuke Endoh <redmine@ruby-lang.org> wrote:
Hi,
On Wed, Sep 22, 2010 at 1:48 AM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
Hello Yusuke,
[#32465] [Ruby-Feature#3848][Open] Using http basic authentication for FTP with Open URI — Jérémy Lecour <redmine@...>
Feature #3848: Using http basic authentication for FTP with Open URI
On Sep 17, 2010, at 2:02 PM, J駻駑y Lecour wrote:
On Sat, Sep 18, 2010 at 13:19, James Edward Gray II
On Sep 26, 2010, at 8:44 PM, mathew wrote:
On Sun, Sep 26, 2010 at 20:57, James Edward Gray II
[#32469] ruby.lib vs VC++ — Phlip <phlip2005@...>
Here's a nice sample program to illustrate my problem:
[#32478] [Ruby-Feature#3851][Open] Ruby 1.9.2p0 crash on filename with '[' — Jon Lambert <redmine@...>
Feature #3851: Ruby 1.9.2p0 crash on filename with '['
[#32506] [Ruby 1.9-Bug#3863][Open] [BUG] unknown type 0x22 (0xc given) — Jay Borenstein <redmine@...>
Bug #3863: [BUG] unknown type 0x22 (0xc given)
[#32529] [Ruby 1.9-Bug#3869][Open] Logger#log does not handle or escape new-line characters. — Hal Brodigan <redmine@...>
Bug #3869: Logger#log does not handle or escape new-line characters.
[#32565] RUBY_PLATFORM on MinGW64 (was: List of possible casting issues under LLP64) — wanabe <s.wanabe@...>
Hello,
On Sat, Sep 25, 2010 at 7:52 PM, wanabe <s.wanabe@gmail.com> wrote:
[#32585] Proposal for Optional Static Typing for Ruby — Martin Pilkington <pilky@...>
Hi,
Hi
Hi,
Hi Matz
Martin,
Hi,
On Sep 28, 2010, at 12:35 PM, Loren Segal wrote:
On Sep 28, 2010, at 2:47 PM, Loren Segal wrote:
Hi Loren, Joshua
Hi All,
It strikes me that much of the premise behind this thread is misguided as it overlooks the importance of meta-programming in developing any Ruby program of substantive size. Where a Java or C++ programmer might write a factory method to create instances of a class and spend much of their effort enumerating types explicitly, it's not unusual in Ruby to write meta-programs which create a variety of class and method definitions on request to create or repurpose object instances for the task at hand.
Eleanor,
On 29 Sep 2010, at 16:03, Loren Segal wrote:
Hi Ellie,
Hi,
On Sep 29, 2010, at 12:33 AM, Bill Kelly wrote:
[#32614] Long lines in mails sent from Mail.app (Was: Re: Parameter and Return Interface Specification) — Nikolai Weibull <now@...>
On Tue, Sep 28, 2010 at 14:20, Asher <asher@ridiculouspower.com> wrote:
[#32634] [Ruby 1.9-Bug#3889][Open] Incorrectly detected i686-w64-mingw32 as x64-mingw — Luis Lavena <redmine@...>
Bug #3889: Incorrectly detected i686-w64-mingw32 as x64-mingw
Issue #3889 has been updated by Usaku NAKAMURA.
Issue #3889 has been updated by Shyouhei Urabe.
On Tue, Oct 05, 2010 at 02:03:23PM +0900, Shyouhei Urabe wrote:
Issue #3889 has been updated by Luis Lavena.
[ruby-core:32551] [Ruby 1.9-Feature#3875][Open] [Patch] backtrace for i386-mswin32_100
Feature #3875: [Patch] backtrace for i386-mswin32_100 http://redmine.ruby-lang.org/issues/show/3875 Author: Peter Weldon Status: Open, Priority: Normal Naive implementation of backtrace for mswin. >ruby -e "Process.kill :SEGV, $$" -e:1: [BUG] Segmentation fault ruby 1.9.3dev (2010-09-19) [i386-mswin32_100] -- control frame ---------- c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC :kill c:0003 p:0019 s:0006 b:0006 l:000d9c d:001bbc EVAL -e:1 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH c:0001 p:0000 s:0002 b:0002 l:000d9c d:000d9c TOP --------------------------- -- Ruby level backtrace information ---------------------------------------- -e:1:in `<main>' -e:1:in `kill' -- C level backtrace information ------------------------------------------- (KiFastSystemCallRet) [0x77af64f4] (WaitForSingleObjectEx) [0x762ff003] (WaitForSingleObject) [0x762fefb2] (rb_w32_backtrace)(c:\jello\ruby\github\ruby\win32\win32.c:5796) [0x6f55f066] (rb_vm_bugreport)(c:\jello\ruby\vm_dump.c:622) [0x6f591d2a] (report_bug)(c:\jello\ruby\error.c:236) [0x6f52a0cb] (rb_bug)(c:\jello\ruby\error.c:250) [0x6f52a101] (sigsegv)(c:\jello\ruby\signal.c:613) [0x6f54f6d6] (raise) [0x6f4cb416] (kill)(c:\jello\ruby\win32\win32.c:3773) [0x6f55cce2] (rb_f_kill)(c:\jello\ruby\signal.c:406) [0x6f54f60f] (call_cfunc)(c:\jello\ruby\vm_insnhelper.c:315) [0x6f52c097] (vm_call_cfunc)(c:\jello\ruby\vm_insnhelper.c:404) [0x6f52c352] (vm_call_method)(c:\jello\ruby\vm_insnhelper.c:524) [0x6f53034a] (vm_exec_core)(c:\jello\ruby\insns.def:1006) [0x6f5311d4] (vm_exec)(c:\jello\ruby\vm.c:1146) [0x6f532a21] (rb_iseq_eval_main)(c:\jello\ruby\vm.c:1387) [0x6f532b66] (ruby_exec_internal)(c:\jello\ruby\eval.c:217) [0x6f50124e] (ruby_exec_node)(c:\jello\ruby\eval.c:261) [0x6f5012b6] (ruby_run_node)(c:\jello\ruby\eval.c:254) [0x6f502c83] (main)(c:\jello\ruby\main.c:35) [0x001f1030] (__tmainCRTStartup)(f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c:555) [0x001f11c1] (BaseThreadInitThunk) [0x76301194] (RtlInitializeExceptionChain) [0x77b0b495] (RtlInitializeExceptionChain) [0x77b0b468] [NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html ---------------------------------------- http://redmine.ruby-lang.org
Attachments (1)
---
include/ruby/win32.h | 3 +
vm_dump.c | 2 +
win32/win32.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 113 insertions(+), 0 deletions(-)
diff --git a/include/ruby/win32.h b/include/ruby/win32.h
index 7b6bded..db646b2 100644
--- a/include/ruby/win32.h
+++ b/include/ruby/win32.h
@@ -672,6 +672,9 @@ in asynchronous_func_t.
typedef uintptr_t (*asynchronous_func_t)(uintptr_t self, int argc, uintptr_t* argv);
uintptr_t rb_w32_asynchronize(asynchronous_func_t func, uintptr_t self, int argc, uintptr_t* argv, uintptr_t intrval);
+/* backtrace */
+void rb_w32_backtrace();
+
#if defined __GNUC__ && __GNUC__ >= 4
#pragma GCC visibility pop
#endif
diff --git a/vm_dump.c b/vm_dump.c
index f245ccc..c0199b1 100644
--- a/vm_dump.c
+++ b/vm_dump.c
@@ -616,5 +616,7 @@ rb_vm_bugreport(void)
}
fprintf(stderr, "\n");
}
+#elif _WIN32
+ rb_w32_backtrace();
#endif
}
diff --git a/win32/win32.c b/win32/win32.c
index 46cdafa..b9d9713 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -36,6 +36,9 @@
#ifdef __MINGW32__
#include <mswsock.h>
#endif
+#if _MSC_VER && _M_IX86
+#include <DbgHelp.h>
+#endif
#include "ruby/win32.h"
#include "win32/dir.h"
#define isdirsep(x) ((x) == '/' || (x) == '\\')
@@ -5694,3 +5697,108 @@ signbit(double x)
return *ip < 0;
}
#endif
+
+#if _MSC_VER && _M_IX86
+static struct DumpArgs {
+ DWORD thread_id;
+ HANDLE event;
+};
+
+static void
+dump_thread(void *arg)
+{
+ struct DumpArgs* dump_args = (struct DumpArgs*)arg;
+ HANDLE process = GetCurrentProcess();
+ HANDLE thread = OpenThread(THREAD_ALL_ACCESS, 0, dump_args->thread_id);
+ STACKFRAME64 stackFrame;
+ CONTEXT context;
+ BOOL bool_rc;
+ DWORD64 dwDisplacement;
+ DWORD64 dwAddress;
+ char buffer[sizeof(SYMBOL_INFO) + MAX_SYM_NAME * sizeof(TCHAR)];
+ PSYMBOL_INFO pSymbol = (PSYMBOL_INFO)buffer;
+ IMAGEHLP_LINE64 line;
+ DWORD dwLineDisplacement;
+
+ SymSetOptions(SYMOPT_UNDNAME | SYMOPT_DEFERRED_LOADS | SYMOPT_DEBUG | SYMOPT_LOAD_LINES);
+
+ if (!SymInitialize(process, NULL, TRUE)) abort();
+
+ memset(&context, 0, sizeof(CONTEXT));
+ context.ContextFlags = CONTEXT_FULL;
+ bool_rc = GetThreadContext(thread, &context);
+ if(!bool_rc) abort();
+
+ memset(&stackFrame,0,sizeof(STACKFRAME64));
+ stackFrame.AddrPC.Mode = AddrModeFlat;
+ stackFrame.AddrPC.Offset = context.Eip;
+
+ stackFrame.AddrFrame.Mode = AddrModeFlat;
+ stackFrame.AddrFrame.Offset = context.Ebp;
+
+ stackFrame.AddrStack.Mode = AddrModeFlat;
+ stackFrame.AddrStack.Offset = context.Esp;
+
+ fprintf(stderr, "-- C level backtrace information "
+ "-------------------------------------------\n");
+
+ while(1)
+ {
+ bool_rc = StackWalk64(
+ IMAGE_FILE_MACHINE_I386,
+ process,
+ thread,
+ &stackFrame,
+ (PVOID)&context,
+ NULL,
+ SymFunctionTableAccess64,
+ SymGetModuleBase64,
+ NULL);
+ if(!bool_rc) break;
+
+ dwDisplacement = 0;
+ dwAddress = stackFrame.AddrPC.Offset;
+
+ memset(buffer, 0, sizeof(buffer));
+ pSymbol->SizeOfStruct = sizeof(SYMBOL_INFO);
+ pSymbol->MaxNameLen = MAX_SYM_NAME;
+
+ if (SymFromAddr(process, dwAddress, &dwDisplacement, pSymbol))
+ {
+ fprintf(stderr, "(%s)", pSymbol->Name);
+ }
+
+ memset(&line, 0, sizeof(IMAGEHLP_LINE64));
+ line.SizeOfStruct = sizeof(IMAGEHLP_LINE64);
+
+ if (SymGetLineFromAddr64(process, dwAddress, &dwLineDisplacement, &line))
+ {
+ fprintf(stderr, "(%s:%lu)", line.FileName, line.LineNumber);
+ }
+
+ fprintf(stderr, " [0x%08I64x]\n", dwAddress);
+ }
+ fprintf(stderr, "\n");
+
+ if (!CloseHandle(thread)) abort();
+ if (!SymCleanup(process)) abort();
+ if (!SetEvent(dump_args->event)) abort();
+}
+
+void
+rb_w32_backtrace() {
+ struct DumpArgs dump_args;
+ dump_args.thread_id = GetCurrentThreadId();
+ dump_args.event = CreateEvent(NULL, TRUE, FALSE, NULL);
+ if(!dump_args.event) abort();
+ _beginthread(dump_thread,0,&dump_args);
+
+ if (WaitForSingleObject(dump_args.event, INFINITE) != WAIT_OBJECT_0) abort();
+}
+#elif
+void
+rb_w32_backtrace() {
+}
+#endif
+
+
--