<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comentários sobre: Immix on GHC Summer of Code weekly report #7</title>
	<atom:link href="http://marcotmarcot.wordpress.com/2010/06/29/immix-on-ghc-summer-of-code-weekly-report-7/feed/" rel="self" type="application/rss+xml" />
	<link>http://marcotmarcot.wordpress.com/2010/06/29/immix-on-ghc-summer-of-code-weekly-report-7/</link>
	<description></description>
	<lastBuildDate>Thu, 27 Oct 2011 14:34:27 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Por: Immix on GHC Summer of Code weekly report #8 &#171; Blog do Marcot</title>
		<link>http://marcotmarcot.wordpress.com/2010/06/29/immix-on-ghc-summer-of-code-weekly-report-7/#comment-115</link>
		<dc:creator><![CDATA[Immix on GHC Summer of Code weekly report #8 &#171; Blog do Marcot]]></dc:creator>
		<pubDate>Mon, 05 Jul 2010 14:40:53 +0000</pubDate>
		<guid isPermaLink="false">http://marcotmarcot.wordpress.com/?p=132#comment-115</guid>
		<description><![CDATA[[...] Blog do Marcot       &#171; Immix on GHC Summer of Code weekly report&#160;#7 [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Blog do Marcot       &laquo; Immix on GHC Summer of Code weekly report&nbsp;#7 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: marcotmarcot</title>
		<link>http://marcotmarcot.wordpress.com/2010/06/29/immix-on-ghc-summer-of-code-weekly-report-7/#comment-111</link>
		<dc:creator><![CDATA[marcotmarcot]]></dc:creator>
		<pubDate>Thu, 01 Jul 2010 00:41:45 +0000</pubDate>
		<guid isPermaLink="false">http://marcotmarcot.wordpress.com/?p=132#comment-111</guid>
		<description><![CDATA[Hi Sebastian.  I agree with almost everything you said.  You should consider the code base is complex and big, and I&#039;m not very familliar with the code.  I added these comments not to fix the segfault, but to try to limit the scope of where I should look for problems.  I believe this is part of the detective work you said.  This may not be the best technique, I admit, but I&#039;ve tried others before and this was came into my mind in the course of the investigation, which I described in detail.  It was interesting to know that the problem was not in sweep(), but in tagging objects as BF_MARKED, just to cite one conclusion that I got with this technique.

I&#039;m using a debugger, and I&#039;m trying to answer these questions you asked.  I was looking at what is going as best as I could before and after these activies I described in this blog post.  I just focused on describing how I tried to limit the scope of search.]]></description>
		<content:encoded><![CDATA[<p>Hi Sebastian.  I agree with almost everything you said.  You should consider the code base is complex and big, and I&#8217;m not very familliar with the code.  I added these comments not to fix the segfault, but to try to limit the scope of where I should look for problems.  I believe this is part of the detective work you said.  This may not be the best technique, I admit, but I&#8217;ve tried others before and this was came into my mind in the course of the investigation, which I described in detail.  It was interesting to know that the problem was not in sweep(), but in tagging objects as BF_MARKED, just to cite one conclusion that I got with this technique.</p>
<p>I&#8217;m using a debugger, and I&#8217;m trying to answer these questions you asked.  I was looking at what is going as best as I could before and after these activies I described in this blog post.  I just focused on describing how I tried to limit the scope of search.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Sebastian</title>
		<link>http://marcotmarcot.wordpress.com/2010/06/29/immix-on-ghc-summer-of-code-weekly-report-7/#comment-110</link>
		<dc:creator><![CDATA[Sebastian]]></dc:creator>
		<pubDate>Wed, 30 Jun 2010 16:06:12 +0000</pubDate>
		<guid isPermaLink="false">http://marcotmarcot.wordpress.com/?p=132#comment-110</guid>
		<description><![CDATA[I recommend you stop the guess work, and look at what&#039;s actually going on. Debuggnig is detective work, not a lottery. 

You have a debugger, and a repro case, this really should be a matter of hours, not weeks. Why does it segfault? Where did that pointer come from? When did that get set (data breakpoints help here so you can check the specific pointer that crashes, if you know it, each time it&#039;s set).

Really, blindly commenting things out and hoping to find the problem that way is not the way to debug C. You need to find out what&#039;s *actually* going on by looking at the state of the running program and tracking down where it first diverges from what you expect. The debugger is crucial to this (don&#039;t listen to people who tell you not to use a debugger, they are idiots).]]></description>
		<content:encoded><![CDATA[<p>I recommend you stop the guess work, and look at what&#8217;s actually going on. Debuggnig is detective work, not a lottery. </p>
<p>You have a debugger, and a repro case, this really should be a matter of hours, not weeks. Why does it segfault? Where did that pointer come from? When did that get set (data breakpoints help here so you can check the specific pointer that crashes, if you know it, each time it&#8217;s set).</p>
<p>Really, blindly commenting things out and hoping to find the problem that way is not the way to debug C. You need to find out what&#8217;s *actually* going on by looking at the state of the running program and tracking down where it first diverges from what you expect. The debugger is crucial to this (don&#8217;t listen to people who tell you not to use a debugger, they are idiots).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Mate</title>
		<link>http://marcotmarcot.wordpress.com/2010/06/29/immix-on-ghc-summer-of-code-weekly-report-7/#comment-109</link>
		<dc:creator><![CDATA[Mate]]></dc:creator>
		<pubDate>Wed, 30 Jun 2010 14:15:20 +0000</pubDate>
		<guid isPermaLink="false">http://marcotmarcot.wordpress.com/?p=132#comment-109</guid>
		<description><![CDATA[Try valgrind. It should help a LOT with this.]]></description>
		<content:encoded><![CDATA[<p>Try valgrind. It should help a LOT with this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: marcotmarcot</title>
		<link>http://marcotmarcot.wordpress.com/2010/06/29/immix-on-ghc-summer-of-code-weekly-report-7/#comment-108</link>
		<dc:creator><![CDATA[marcotmarcot]]></dc:creator>
		<pubDate>Wed, 30 Jun 2010 13:04:54 +0000</pubDate>
		<guid isPermaLink="false">http://marcotmarcot.wordpress.com/?p=132#comment-108</guid>
		<description><![CDATA[Valgrind is only displaying the read error that precedes the segfault.  Nothing really useful.]]></description>
		<content:encoded><![CDATA[<p>Valgrind is only displaying the read error that precedes the segfault.  Nothing really useful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Logan</title>
		<link>http://marcotmarcot.wordpress.com/2010/06/29/immix-on-ghc-summer-of-code-weekly-report-7/#comment-105</link>
		<dc:creator><![CDATA[Logan]]></dc:creator>
		<pubDate>Wed, 30 Jun 2010 03:24:03 +0000</pubDate>
		<guid isPermaLink="false">http://marcotmarcot.wordpress.com/?p=132#comment-105</guid>
		<description><![CDATA[I don&#039;t know how well this would work for something like GHC, but have you tried throwing valgrind at the problem? SEGFAULTs are the sort of thing it can be really good at tracking down and you won&#039;t have to mess with the code so much (assuming it works), possibly hiding the problem.]]></description>
		<content:encoded><![CDATA[<p>I don&#8217;t know how well this would work for something like GHC, but have you tried throwing valgrind at the problem? SEGFAULTs are the sort of thing it can be really good at tracking down and you won&#8217;t have to mess with the code so much (assuming it works), possibly hiding the problem.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
