From: "Victor \"Zverok\" Shepelev" Date: 2006-11-06T19:15:33+09:00 Subject: Re: Problem with Thread's memory (possible bug) From: Yukihiro Matsumoto [mailto:matz@ruby-lang.org] Sent: Monday, November 06, 2006 10:46 AM >In message "Re: Problem with Thread's memory (possible bug)" > on Mon, 6 Nov 2006 04:02:55 +0900, "Victor \"Zverok\" Shepelev" > writes: > >|First of all: Windows XP with ruby1.9, RUBY_PLATFORM = i386-mswin32_71 >| >|I have a window, and dispatch all keyboard events to Ruby's block. >|All works good, except Ruby's Threads. When I do anything like just >|Thread.new{} in my keyboard handling block, I have corrupted memory and >|entire program crashed soon. >| >|How can I debug (or just walk around) this problem? > >First, mere 1.9 does not mean anything. Specify the date. >Full ruby -v line is better. Sorry :( There was words "today's version" in my platform description, but I've deleted them before send message. It was Ruby1.9-today, downloaded yesterday. ruby 1.9.0 (2006-11-04) [i386-mswin32_71] >Besides that, is it possible to supply error reproducing code? Possible, but not very useful, as there is custom UI library used. Here is it: ----- require 'lib/config' require 'htmr' require 'htmr/load' require 'htmr/extend' require 'htmr/events' MAIN_HTMR = File.join(HTMR_PATH, 'nanobrowser.htmr') win = Htmr::Window.create_from_file(MAIN_HTMR, 'NanoBrowser') Htmr::App::main_window = win include Htmr::Keys win.get('#url').on_key_down(ENTER) do Thread.new{} #HERE's thread usage! end win.show Htmr::App::run ----- inside 'lib/config' there is: ----- $:.unshift File.expand_path(File.dirname(__FILE__)) $:.unshift File.expand_path(File.join(File.dirname(__FILE__), "vendors")) require 'vendors' DLL_PATH = File.expand_path(File.join(File.dirname(__FILE__), '..', 'bin')) ENV['PATH'] += ";" + DLL_PATH HTMR_PATH = File.join(File.expand_path(File.dirname(__FILE__)), '..', 'htmr') ----- All htmr/* files is UI library. If I'll comment "HERE's thread" line, all works fine. I use my library till last 2 month inside rather complicated software, and there was almost no problems. Thanks. V.