Hi Phil,

Could this be a gcc bug?

Slava

On Thu, Sep 3, 2009 at 6:12 AM, Phil Dawes<[email protected]> wrote:
> Hi Slava, (Hi factor list)
>
> As I mentioned on #concatenative I'm getting bootstrap crashes on win32
> for my reentrantvm build when g++ is run with optimize settings (-O).
>
> - Crashes don't occur with -O0
> - tested with mingw gcc 4.1.2 and 4.4.0
> - Crashes don't occur replacing the -O3 with the corresponding -f
> optimization switches [1]
> - Crashes don't occur on x86.32 linux or under wine
>
> I git-bisected to the first crashing example in my branch, which is
> prior to any .factor or assembly changes.
> The patch in question just moves the data_gc globals into the vm struct.
>
> I found that moving: 'gc_stats stats[max_gen_count]' out of the struct
> and back to a global variable again means that factor bootstraps ok.
> However leaving a dummy var in the struct gc_stats
> stats_dummy[max_gen_count]
> ...means it still crashes, so I don't think it's initialisation of that
> member that's causing the problem.
>
> The gdb backtrace and factor stack dumps are below.
>
> I'll do some more digging tonight, but please let me know if any of this
> rings a bell.
>
> Thanks,
>
> Phil
>
> [1]
> http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Optimize-Options.html#Optimize-Options
>
>
> Breakpoint 1, factor::factorvm::factorbug (this=0x4d2478) at
> vm/debug.cpp:433
> 433             if(fep_disabled)
> Current language:  auto; currently c++
> (gdb) bt
> #0  factor::factorvm::factorbug (this=0x4d2478) at vm/debug.cpp:433
> #1  0x6718de7a in primitive_die () at vm/debug.cpp:584
> #2  0x0396370a in ?? ()
> #3  0x039afba9 in ?? ()
> #4  0x039636f0 in ?? ()
> #5  0x00000010 in ?? ()
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>
>
> .s
> ==== DATA STACK:
> T{ hashtables.private:tombstone f }
> T{ hashtables.private:tombstone f }
> T{ generic.single:no-method T{ hashtables.private:tombstone f }
> assocs:>alist }
> READY
> .c
> ==== CALL STACK:
> [ memory:gc memory:begin-scan [ hashtables:hashtable? ] sequences:pusher
> [ memor
> y:(each-object) ] kernel:dip memory:end-scan [ hashtables:rehash ]
> sequences:each init:boot... ]
> 8
> word/quot addr: 24400dc
> word/quot xt: 39def30
> return address: 39def84
> [ math.private:iterate-step math.private:iterate-next math:(each-integer) ]
> 0
> word/quot addr: 24dfb5c
> word/quot xt: 39dfd90
> return address: 39dfda3
> [ kernel:-roll [ kernel:call ] kernel:3dip ]
> 2
> word/quot addr: 244105c
> word/quot xt: 39b0770
> return address: 39b079e
> [ kernel:dup assocs:>alist [ kernel:dup assocs:clear-assoc ] kernel:dip
> hashtables.private:(rehash) ]
> 1
> word/quot addr: 245445c
> word/quot xt: 39636f0
> return address: 396370a
> READY
> .r
> ==== RETAIN STACK:
> 2389
> 5254
> T{ kernel:compose T{ kernel:curry T{ kernel:compose T{ kernel:curry { T{
> hashtables.private:tombstone f } T{ hashtables.private:tombstone f } T{
> hashtables.private:tombstone f } T{ hashtables.private:tombstone f } T{
> hashtables.private:tombstone f } T{ hashtables.private:tombstone f }
> "inline" syntax:t T{ hashtables.private:tombstone f } T{
> hashtables.private:tombstone f }... } [ sequences.private
> :nth-unsafe ] } [ kernel:drop hashtables.private:((empty)) ] } [
> sequences.private:nth-unsafe ] } [ hashtables:rehash ] }
> READY
>
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Factor-talk mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to