From: Stefan S. <ma...@ss...> - 2015-09-25 21:09:59
|
On Thu, 2015-09-24 at 00:59 +0200, Stefan Salewski wrote: > [BUG] rb_gc_mark(): 0x000000032b6490 is T_NONE > > That is what I get again and again. Impossible to locate the error, > when I comment out some code, that error will arise at other places. > > GC.disable at the beginning of the code makes it working fine. I tried to do the git install of 3.06 with compiler option -O0 to ensure that compiler optimizations are not a reason for the bug. For that I had to build my Ruby with -O0 first, because rake seems to take cflags from Ruby install. With that I got a state where each startup of my app crashed with above gc error. That made debugging really easy, so I found out that this code piece in file pet_conf_ed.rb column.set_cell_data_func(renderer) do |tvc, cell, model, iter| cell.pixbuf.fill!((iter[Col_R] * 255).round * 16777216 + (iter[Col_G] * 255).round * 65536 + (iter[Col_B] * 255).round * 256 + (iter[Col_A] * 255).round) end is very important for the bugs. With cell.pixbuf.fill commented out, I got one bug in 10 minutes of testing, but with that line active I get a crash for each startup. No idea why currently. The pixbuf.fill should cause no harm, maybe set_cell_data_func is wrong? I also tried to recompile Ruby gc.c with debugging options enabled before, but the output did not gave me helpful info. |