bcheck is a wrapper around the RTC feature in dbx.
Try using the latest version.

% pkg install sunstudio12u1
% /opt/sunstudio12.1/bin/bcheck -V
bcheck : Sun DBX Debugger 7.7 SunOS_i386 2009/06/03

--chris



ольга крыжановская wrote:
> bcheck is broken since a year or longer, it only works for simple test
> cases but not for applications like firefox or ksh.
> On Opensolaris B134 I get this dump:
> 
> bcheck -V
> bcheck : Sun Dbx Debugger 7.6 SunOS_i386 2007/05/03
> 
> bcheck -all /usr/bin/amd64/ksh -c 'print hello'
> Reading ksh
> Reading ld.so.1
> Reading rtcapihook.so
> Reading libc.so.1
> Reading libdl.so.1
> Reading rtcaudit.so
> Reading libmapmalloc.so.1
> Reading libgen.so.1
> Reading libm.so.2
> Reading rtcboot.so
> Reading librtc.so
> access checking - ON
> memuse checking - ON
> Running: ksh -c "print hello"
> (process id 3861)
> RTC: Enabling Error Checking...
> RTC: Running program...
> Reading disasm.so
> terminating signal 11 SIGSEGV
> 
> pstack core
> core 'core' of 3861:    /usr/bin/amd64/ksh -c print hello
>  fffffd7fee6128a8 _ti_critical ()
>  fffffd7fff3e3dda audit_symbind () + 42
>  fffffd7fff3e059b elf_bndr () + 1e3
>  fffffd7fff3c4f93 elf_rtbndr () + 83
>  fffffd7fff380030 ???????? ()
> 
> Olga
> 
> On Tue, Apr 27, 2010 at 10:32 PM, Darryl Gove <darryl.g...@oracle.com> wrote:
>> You might try discover
>> http://cooltools.sunsource.net/discover/
>> to test for memory access errors.
>>
>> Or runtime checking in dbx
>> dbx bcheck -all <app> <params>
>>
>> Regards,
>>
>> Darryl.
>>
>> On 04/27/10 12:06, Jens Elkner wrote:
>>> Hi,
>>>
>>> I'm currently getting strange SEGVs from malloc on a UltraSPARC-IIIi
>>> (V440)
>>> (see below), no matter whether src is compiled with -m32 or -m64.
>>> Especially
>>> with -m64 and even -xmemalign=1i alignment errors seem to happen
>>> frequently.
>>> [Hmmm - 'til today I thought, at least 1i gets rid of all alignment errors
>>> (Compiler is SS12u1).]
>>>
>>> Problem source is sendmails libmilter:
>>>
>>> http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sendmail/libmilter/engine.c
>>>
>>> http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sendmail/libmilter/comm.c
>>>
>>> t...@150 (l...@150) terminated by signal SEGV (no mapping at the fault 
>>> address)
>>> 0xff2570a8: t_splay+0x0010:     ld       [%o2 + 8], %o1
>>> Current function is dec_argv
>>>  1764           s = (char **)malloc((nelem + 1) * (sizeof *s));
>>> (dbx) where
>>>    current thread: t...@150
>>>  [1] t_splay(0x85a04, 0x0, 0x1fffff, 0x85808, 0x0, 0xff337480), at
>>> 0xff2570a8   [2] t_delete(0x85a04, 0x1fc, 0x1fffff, 0xff256f30, 0xff3303a8,
>>> 0x0), at 0xff256f30   [3] realfree(0x85800, 0x1ff, 0xd98dc, 0x8b7a0, 0x0,
>>> 0x8a768), at 0xff256b44   [4] cleanfree(0x0, 0xe, 0xd902c, 0x0, 0xff3303a8,
>>> 0xff3392a4), at 0xff2573cc   [5] _malloc_unlocked(0x28, 0x0, 0x0, 0x0,
>>> 0xfffffffc, 0x0), at 0xff256524   [6] malloc(0x24, 0x1, 0xd9fd8, 0x0,
>>> 0xff3303a8, 0xff33a518), at 0xff256414 =>[7] dec_argv(buf = 0x88459 "i", len
>>> = 68U), line 1764 in "engine.c"
>>>  [8] st_macros(g = 0xfd6fbe90), line 1481 in "engine.c"
>>>  [9] mi_engine(ctx = 0x81630), line 405 in "engine.c"
>>>  [10] mi_handle_session(ctx = 0x81630), line 45 in "handler.c"
>>>  [11] mi_thread_handle_wrapper(arg = 0x81630), line 579 in "listener.c"
>>>
>>>
>>> t...@470 (l...@470) terminated by signal SEGV (no mapping at the fault 
>>> address)
>>> 0xff2570a8: t_splay+0x0010:     ld       [%o2 + 8], %o1
>>> Current function is mi_rd_cmd
>>>  143           buf = malloc(expl);
>>> (dbx) where
>>>    current thread: t...@470
>>>  [1] t_splay(0x85f14, 0x7f730, 0x31313638, 0x841f8, 0x0, 0x0), at
>>> 0xff2570a8   [2] t_delete(0x85f14, 0x1fc, 0x31313638, 0xff256f30,
>>> 0xff3303a8, 0x61696c5f), at 0xff256f30   [3] realfree(0x85d10, 0x1ff,
>>> 0xd98dc, 0x82c48, 0x0, 0x85d50), at 0xff256b44   [4] cleanfree(0x0, 0xd,
>>> 0xd902c, 0x0, 0xff3303a8, 0xff3392a4), at 0xff2573cc   [5]
>>> _malloc_unlocked(0x8, 0xb0, 0x80550, 0x80558, 0xffffffff, 0x0), at
>>> 0xff256524   [6] malloc(0x1, 0x1, 0xd9fd8, 0xff2baaec, 0xff3303a8,
>>> 0xff33a518), at 0xff256414 =>[7] mi_rd_cmd(sd = 13, timeout = 0xfe3fbe88,
>>> cmd = 0xfe3fbea7 "D\xff\xff\xff\xfe", rlen = 0xfe3fbec8, name = 0x65730
>>> "ClamAV"), line 143 in "comm.c"
>>>  [8] mi_engine(ctx = 0x84350), line 315 in "engine.c"
>>>  [9] mi_handle_session(ctx = 0x84350), line 45 in "handler.c"
>>>  [10] mi_thread_handle_wrapper(arg = 0x84350), line 579 in "listener.c"
>>>
>>>
>>> Is anybody able to spot, what's going wrong here?
>>> Thanx,
>>> jel.
>>>
>>> "OT": Problem with mail filters, which use libmilter is, that they die
>>>      more or less frequently and thus their results (if any) are ignored
>>> by
>>>      sendmail. Good thing is, that SMF takes care to restart the
>>>      filter, however those filters are more or less unreliable since they
>>>      do a ~ 90:10 job, only ... :(
>> --
>> Darryl Gove
>> Compiler Performance Engineering
>> Blog : http://blogs.sun.com/d/
>> Books: http://www.sun.com/books/catalog/solaris_app_programming.xml
>>       http://my.safaribooksonline.com/0595352510
>> _______________________________________________
>> opensolaris-code mailing list
>> opensolaris-code@opensolaris.org
>> http://mail.opensolaris.org/mailman/listinfo/opensolaris-code
>>
> 
> 
> 

_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to