well not mentioning libumem in the original message was quite an omission

we were careful in the solaris build to add an _ast_ prefix
to any libast function that might interfere with solaris libc

ast provides its own malloc/free, and those calls are mapped
to _ast_malloc/_ast_free in the ksh/ast code for opensolaris builds
so that call to free() in the stack trace was not done directly by
any ksh/ast code

is there a description on how libumem allocates/frees physical memory?

-- Glenn Fowler -- at&t Research, Florham Park NJ --

On Fri, 13 Feb 2009 15:19:30 -0800 Edward Pilatowicz wrote:
> to reproduce the problem you have to have libumem loaded.
> i've changed the synopsys to be:
>       ksh93+libumem+time/ptime is broken in non-C locales

> to run with libumem, set the following in your environment:
> ---8<---
> LD_PRELOAD=libumem.so
> UMEM_DEBUG='audit=50,guards'
> UMEM_LOGGING=transaction,fail
> ---8<---

> On Fri, Feb 13, 2009 at 11:57:14PM +0100, Roland Mainz wrote:
> > Stephen Hahn wrote:
> > > * Roland Mainz <roland.mainz at nrubsig.org> [2009-02-13 22:36]:
> > > > Edward Pilatowicz wrote:
> > > > > make sure you're sitting down because this may come as a bit of a 
> > > > > shock,
> > > > > but ksh93 seems to break when run in non-C locals with time/ptime.
> > > > >
> > > > > 6805584 ksh93 in non-C locale breaks time/ptime
> > > > [snip]
> > > >
> > > > Erm... the bug is not available on
> > > > http://bugs.opensolaris.org/view_bug.do?bug_id=6805584 yet... ;-(
> > > >
> > > > ... what exactly is the problem ? I've tried this:
> > > 
> > >   From 6805584's description:
> > > 
> > > edp at jurassic-x4600$ uname -a
> > > SunOS jurassic-x4600 5.11 snv_108 i86pc i386 i86pc
> > > edp at jurassic-x4600$ LC_ALL=C /bin/time /bin/sleep 1
> > > 
> > > real        1.0
> > > user        0.0
> > > sys         0.0
> > > edp at jurassic-x4600$ LC_ALL=en_US.ISO8859-1 /bin/time /bin/sleep 1
> > > time: command terminated abnormally.
> > > 
> > > real        1.7
> > > user        0.0
> > > sys         0.0
> > > edp at jurassic-x4600$ pstack core
> > > core 'core' of 265938:  /usr/bin/ksh93 /bin/sleep 1
> > >  fffffd7fff3e45aa _lwp_kill () + a
> > >  fffffd7fff3c4d18 scribble () + c8
> > >  fffffd7fff3c5115 free () + 2d
> > >  fffffd7fff3c461d get_lcinterface () + 265
> > >  fffffd7fff3ce5f2 _ld_libc () + 2a
> > >  fffffd7fff2d8c6a informrtld () + 4a
> > >  fffffd7fff2d8283 setlocale () + 8eb
> > >  fffffd7ffef4f501 single () + e1
> > >  fffffd7ffef503b8 _ast_setlocale () + 590
> > >  fffffd7ffef85553 init () + 93
> > >  fffffd7ffef85714 match () + b4
> > >  fffffd7ffef858a7 _ast_translate () + 12f
> > >  fffffd7ffef5c9f0 errorx () + 88
> > >  fffffd7fff13648b _sh_translate () + 43
> > >  fffffd7fff0ddcc3 b_common () + 293
> > >  fffffd7fff0dcf55 b_alias () + 1dd
> > >  fffffd7fff13ea23 sh_exec () + 2deb
> > >  fffffd7fff13ca85 sh_exec () + e4d
> > >  fffffd7fff13d82e sh_exec () + 1bf6
> > >  fffffd7fff13cc70 sh_exec () + 1038
> > >  fffffd7fff116e86 exfile () + 786
> > >  fffffd7fff116676 sh_main () + 7fe
> > >  0000000000400e72 main () + 52
> > >  0000000000400ccc ???????? ()
> > 
> > Looks like a heap corruption (of the non-libast allocator) ... but I
> > can't reproduce the crash on my B106 VMware machine:
> > -- snip --
> > $ uname
> > -a                                                                          
> >                                  
> > SunOS sxb106x86 5.11 snv_106 i86pc i386 i86pc
> > $
> > isalist                                                                     
> >                                        
> > amd64 pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
> > $ LC_ALL=C /bin/time /bin/sleep 1 ; print $? ; file
> > core                                                             
> > 
> > real        1.0
> > user        0.0
> > sys         0.0
> > 0
> > core:           cannot open: No such file or directory
> > $ LC_ALL=en_US.ISO8859-1 /bin/time /bin/sleep 1 ; print $? ; file
> > core                                               
> > 
> > real        1.0
> > user        0.0
> > sys         0.0
> > 0
> > core:           cannot open: No such file or directory
> > -- snip --
> > 
> > What does $ /usr/xpg4/bin/file /usr/bin/sleep /usr/bin/alias # say on
> > the system where this fails ?
> > 
> > ----
> > 
> > Bye,
> > Roland
> > 
> > -- 
> >   __ .  . __
> >  (o.\ \/ /.o) roland.mainz at nrubsig.org
> >   \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
> >   /O /==\ O\  TEL +49 641 3992797
> >  (;O/ \/ \O;)
> _______________________________________________
> ksh93-integration-discuss mailing list
> ksh93-integration-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss


Reply via email to