On Sun, Jul 06, 2003 at 02:29:23AM +0900, Nigel Gilbert wrote: > I am getting > > webcount.rb:818: [BUG] Segmentation fault > ruby 1.6.8 (2002-12-24) [powerpc-darwin6.6] > Abort > > from my program. It happens after running the program for some tens of > minutes, and the location identified varies apparently randomly. (The > program essentially downloads web pages in order to measure their size > in terms of pages, links, images etc. for some work I am doing on > devising new indicators of the 'digital economy'). > > I need advice on the best strategy to use to identify what is going > wrong. The program uses threads (obtained through the Resource Pooling > code to be found at > http://www.rubygarden.org/ruby?ObjectPoolingAndThreading), and > net/http, both of which could, I suppose, complicate matters, and the > program is about 900 lines of code, so a strategy is rather important! I had a similar problem, with the same code (I wrote ObjectPoolingAndThreading :-) I was getting random segfaults with a heavily threaded script that was doing 200 connections to a dictd server. After some time, I found out that the problem seemed to be associated to GCC, as the segfault would only happen when targeting i386 and using gcc 3.2... > Your advice would be much appreciated. You could check if the problem persists w/ a different GCC (although I don't know if you are limited to gcc 3.1 in OSX). Other than that, I guess there's not much to do :-( In my case, it was impossible to isolate the bug, as any attempt to remove code would make it impossible to reproduce it. -- _ _ | |__ __ _| |_ ___ _ __ ___ __ _ _ __ | '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \ | |_) | (_| | |_\__ \ | | | | | (_| | | | | |_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_| Running Debian GNU/Linux Sid (unstable) batsman dot geo at yahoo dot com <Tazman> damn my office is cold. <Tazman> need a hot secretary to warm it up. -- Seen on #Linux