Re: macOS status

Camm Maguire <[email protected]>
Newsgroups gmane.lisp.gcl.devel
Message-ID <[email protected]>
Greetings, and thanks so much!  Extremely helpful.  I'm amazed you ever
got past this.

gcl_init_alloc has to finish without calling malloc.  macosx sscanf
called via get_gc_environ does.  Just comment out the call to
get_gc_environ in update_real_maxpage and please let me know if this
goes away.  Ideally you could run under gdb, breaking at gcl_init_alloc
and alloc.c:malloc, (gdb) r ./ <foo, and (gdb) fin when the former is
reached.  Make sure it finishes without calling malloc again.

Take care,

"Kirill A. Korinsky" <[email protected]> writes:

> I really doubt that it makes something useful.
>
> I've attached to process by debug and it says:
>
>  (lldb) bt
>  ^C* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
>    * frame #0: 0x0000000000000000
>      frame #1: 0x00007ff803977ff1 libsystem_c.dylib`__smakebuf + 384
>      frame #2: 0x00007ff803985b52 libsystem_c.dylib`__swsetup + 148
>      frame #3: 0x00007ff803963b92 libsystem_c.dylib`__v2printf + 86
>      frame #4: 0x00007ff803975912 libsystem_c.dylib`vfprintf_l + 54
>      frame #5: 0x00007ff803991fd3 libsystem_c.dylib`printf + 174
>      frame #6: 0x000000010000dd1d raw_pre_gcl`error + 253
>      frame #7: 0x00000001000b443c raw_pre_gcl`my_malloc + 44
>      frame #8: 0x00007ff803909149 libsystem_malloc.dylib`_malloc_zone_malloc_instrumented_or_legacy + 88
>      frame #9: 0x00007ff803977ff1 libsystem_c.dylib`__smakebuf + 384
>      frame #10: 0x00007ff803985b52 libsystem_c.dylib`__swsetup + 148
>      frame #11: 0x00007ff803963b92 libsystem_c.dylib`__v2printf + 86
>      frame #12: 0x00007ff803975912 libsystem_c.dylib`vfprintf_l + 54
>      frame #13: 0x00007ff803991fd3 libsystem_c.dylib`printf + 174
>      frame #14: 0x000000010000dd1d raw_pre_gcl`error + 253
>      frame #15: 0x00000001000b443c raw_pre_gcl`my_malloc + 44
>      frame #16: 0x00007ff803909149 libsystem_malloc.dylib`_malloc_zone_malloc_instrumented_or_legacy + 88
>      frame #17: 0x00007ff803977ff1 libsystem_c.dylib`__smakebuf + 384
>      frame #18: 0x00007ff803985b52 libsystem_c.dylib`__swsetup + 148
>      frame #19: 0x00007ff803963b92 libsystem_c.dylib`__v2printf + 86
>      frame #20: 0x00007ff803975912 libsystem_c.dylib`vfprintf_l + 54
>      frame #21: 0x00007ff803991fd3 libsystem_c.dylib`printf + 174
>      frame #22: 0x000000010000dd1d raw_pre_gcl`error + 253
>      frame #23: 0x00000001000b443c raw_pre_gcl`my_malloc + 44
>      frame #24: 0x00007ff803909149 libsystem_malloc.dylib`_malloc_zone_malloc_instrumented_or_legacy + 88
>
> anyway, with some with some debuger using I was able to get the first stacktrace:
>
>  (lldb) bt
>  * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
>    * frame #0: 0x000000010000d790 raw_pre_gcl`error
>      frame #1: 0x00000001000bf89c raw_pre_gcl`my_malloc + 44
>      frame #2: 0x00007ff817d43abb libsystem_malloc.dylib`_malloc_zone_malloc + 125
>      frame #3: 0x00007ff817decc74 libsystem_c.dylib`__parsefloat_buf + 195
>      frame #4: 0x00007ff817de3cc7 libsystem_c.dylib`__svfscanf_l + 2842
>      frame #5: 0x00007ff817de3185 libsystem_c.dylib`vsscanf_l + 221
>      frame #6: 0x00007ff817de9d83 libsystem_c.dylib`sscanf + 160
>      frame #7: 0x000000010000ba04 raw_pre_gcl`update_real_maxpage + 436
>      frame #8: 0x00000001000b6fad raw_pre_gcl`gcl_init_alloc + 589
>      frame #9: 0x00000001000bf8ad raw_pre_gcl`my_malloc + 61
>      frame #10: 0x00007ff817d43abb libsystem_malloc.dylib`_malloc_zone_malloc + 125
>      frame #11: 0x00007ff817decc74 libsystem_c.dylib`__parsefloat_buf + 195
>      frame #12: 0x00007ff817de3cc7 libsystem_c.dylib`__svfscanf_l + 2842
>      frame #13: 0x00007ff817de3185 libsystem_c.dylib`vsscanf_l + 221
>      frame #14: 0x00007ff817de9d83 libsystem_c.dylib`sscanf + 160
>      frame #15: 0x000000010000ba04 raw_pre_gcl`update_real_maxpage + 436
>      frame #16: 0x00000001000b6fad raw_pre_gcl`gcl_init_alloc + 589
>      frame #17: 0x000000010000cb90 raw_pre_gcl`main + 128
>      frame #18: 0x000000010276152e dyld`start + 462
>
> and if I build gcl with -g it allows to see the crash point:
>
>  * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
>      frame #0: 0x000000010000dbbc raw_pre_gcl`error(s="Bad malloc") at main.c:687:24
>     684 void
>     685 error(char *s)
>     686 {
>  -> 687         if (catch_fatal>0 && interrupt_enable )
>     688             {catch_fatal = -1;
>     689 #ifdef SGC
>     690     if (sgc_enabled)
>  Target 0: (raw_pre_gcl) stopped.
>
> but any attempt to use bt leads to 100% CPU usage by LLDB.
>
> All of this indicates that something quite bad with memory when this ENV is enabled.

-- 
Camm Maguire			     		    [email protected]
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.