seanjensengrey / mosh-scheme

Automatically exported from code.google.com/p/mosh-scheme
Other
0 stars 0 forks source link

loop and segfault printing clos classes #199

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.  Load Mosh REPL
2.  mosh> (import (clos core))
3.  mosh> <class>

What is the expected output? What do you see instead?
 #<#<type:record-type-descriptorinstance-record #f #f #t #t ((#t . class) (#f . slots) (#t . iproc)) >#<#<type:record-type-descriptorinstance-record #f #f #t #t ((#t . class) (#f . slots) (#t . iproc)) >... (repeat many times)
zsh: segmentation fault  mosh

What version of the product are you using? On what operating system?
Mosh from git (also reproducible on 0.2.6).
Linux amd64 and i386.
I happened to have 0.2.5 installed on another machine and it's NOT reproducible 
under 0.2.5 so must have been introduced between those.

Please provide any additional information below.
Backtrace from gdb attached, it's very large, I guess it is a stack overflow.
Relevant parts are:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004093b5 in std::basic_string<int, std::char_traits<int>, 
gc_allocator<int> >::_S_construct<int const*> (__beg=Cannot access memory at 
address 0x7fffff7feff8
) at /usr/include/c++/4.5/bits/basic_string.tcc:123
warning: Source file is more recent than executable.
123           basic_string<_CharT, _Traits, _Alloc>::
#0  0x00000000004093b5 in std::basic_string<int, std::char_traits<int>, 
gc_allocator<int> >::_S_construct<int const*> (__beg=
Cannot access memory at address 0x7fffff7feff8
) at /usr/include/c++/4.5/bits/basic_string.tcc:123
#1  0x0000000000409346 in std::basic_string<int, std::char_traits<int>, 
gc_allocator<int> >::_S_construct_aux<int const*> (__beg=0x56f388, 
__end=0x56f390, __a=...)
    at /usr/include/c++/4.5/bits/basic_string.h:1649
#2  0x0000000000409191 in std::basic_string<int, std::char_traits<int>, 
gc_allocator<int> >::_S_construct<int const*> (__beg=0x56f388, __end=0x56f390, 
__a=...)
    at /usr/include/c++/4.5/bits/basic_string.h:1670
#3  0x00000000004090da in std::basic_string<int, std::char_traits<int>, 
gc_allocator<int> >::basic_string (this=0x7fffff7ff240, __s=0x56f388, __a=...)
    at /usr/include/c++/4.5/bits/basic_string.tcc:215
#4  0x0000000000408c8c in scheme::ucs4string::ucs4string (this=0x7fffff7ff240, 
s=0x56f388) at src/ucs4string.h:57
#5  0x00000000004661ff in scheme::TextualOutputPort::print<false> 
(this=0x9d3e60, theVM=0x9d7d20, o=..., seen=0x0) at 
src/TextualOutputPort.cpp:306
... repeat 5000 times ...
#5576 0x0000000000462c6f in scheme::TextualOutputPort::putDatum (this=0x9d3e60, 
theVM=0x9d7d20, o=..., isSharedAware=false) at src/TextualOutputPort.cpp:749
#5577 0x0000000000488200 in scheme::writeEx (theVM=0x9d7d20, argc=1, 
argv=0x9db1b8) at src/PortProcedures.cpp:1045
#5578 0x00000000004290a1 in scheme::CProcedure::call (this=0x9faba0, 
theVM=0x9d7d20, argc=1, argv=0x9db1b8) at src/CProcedure.h:47
#5579 0x0000000000421ca1 in scheme::VM::runLoop (this=0x9d7d20, code=0x1011000, 
returnPoint=0x0, returnTable=false) at src/call.inc.cpp:68
#5580 0x0000000000416aac in scheme::VM::evaluateUnsafe (this=0x9d7d20, 
code=0xe27000, codeSize=86640, isCompiler=false) at src/VM.cpp:409
#5581 0x0000000000416bd2 in scheme::VM::evaluateSafe (this=0x9d7d20, 
code=0xe27000, codeSize=86640, isCompiler=false) at src/VM.cpp:423
#5582 0x000000000041890c in scheme::VM::activateR6RSMode (this=0x9d7d20, 
image=0x58ac00 "\004pR\001", image_size=351814, isDebugExpand=false) at 
src/VM.cpp:868
#5583 0x00000000004e520e in activateR6RSMode (vm=0x9d7d20, isDebugExpand=false) 
at src/main.cpp:120
#5584 0x00000000004e55ab in main (argc=1, argv=0x7fffffffe888) at 
src/main.cpp:332

Original issue reported on code.google.com by amoe...@gmail.com on 31 Mar 2011 at 8:06

Attachments:

GoogleCodeExporter commented 9 years ago
Fixed.

Cheers.

Original comment by hige...@gmail.com on 31 Mar 2011 at 11:42