Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crashing incomplete classpath for Json benchmark #9

Open
ltratt opened this issue Sep 6, 2020 · 2 comments
Open

Crashing incomplete classpath for Json benchmark #9

ltratt opened this issue Sep 6, 2020 · 2 comments
Labels

Comments

@ltratt
Copy link

ltratt commented Sep 6, 2020

When I checkout the latest version of SOMpp, it passes the test suite, but crashes on the Json benchmark. The gdb backtrace looks as follows:

(gdb) run -cp core-lib/Smalltalk/ core-lib/Examples/Benchmarks/Json/Json.som
Starting program: /home/ltratt/SOMpp/SOM++ -cp core-lib/Smalltalk/ core-lib/Examples/Benchmarks/Json/Json.som                                                                        
This is SOM++
        garbage collector: copying
        not tagging integers
        not caching integers
--------------------------------------

Program received signal SIGSEGV, Segmentation fault.
0x000055555555d77d in VMObject::GetAdditionalSpaceConsumption() const ()
(gdb) bt
#0  0x000055555555d77d in VMObject::GetAdditionalSpaceConsumption() const ()
#1  0x000055555555d7c6 in VMArray::GetNumberOfIndexableFields() const ()
#2  0x000055555555d050 in ClassGenerationContext::SetInstanceFieldsOfSuper(VMArray*) ()
#3  0x00005555555681da in Parser::superclass(ClassGenerationContext*) ()
#4  0x0000555555567c09 in Parser::Classdef(ClassGenerationContext*) ()
#5  0x000055555556c33f in SourcecodeCompiler::compile(VMClass*) ()
#6  0x000055555556bdc6 in SourcecodeCompiler::CompileClass(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, VMClass*) ()
#7  0x0000555555576250 in Universe::LoadClassBasic(VMSymbol*, VMClass*) ()
#8  0x00005555555760f3 in Universe::LoadClass(VMSymbol*) ()
#9  0x000055555558be6e in _System::Load_(Interpreter*, VMFrame*) ()
#10 0x000055555558c8e9 in Routine<_System>::Invoke(Interpreter*, VMFrame*) ()
#11 0x0000555555580d85 in VMPrimitive::Invoke(Interpreter*, VMFrame*) ()
#12 0x000055555556da08 in Interpreter::send(VMSymbol*, VMClass*) ()
#13 0x000055555556e4cf in Interpreter::doSend(long) ()
#14 0x000055555556d1b9 in Interpreter::Start() ()
#15 0x00005555555742d1 in Universe::interpretMethod(VMObject*, VMInvokable*, VMArray*) ()
#16 0x00005555555744d5 in Universe::initialize(long, char**) ()
#17 0x00005555555730fb in Universe::Start(long, char**) ()
--Type <RET> for more, q to quit, c to continue without paging--
#18 0x0000555555585138 in main ()

This is on Debian 4.19.118-2+deb10u1 x86_64 in case that's useful. It might be that I'm doing something stupid in the invocation of the benchmark, but I think this used to work?

@ltratt
Copy link
Author

ltratt commented Sep 6, 2020

Ah, I did so something stupid (though perhaps not stupid enough to deserve a segfault ;) ) -- I forgot to include the benchmark directory cache in the classpath. Sorry for the noise!

@ltratt ltratt closed this as completed Sep 6, 2020
@smarr smarr reopened this Sep 6, 2020
@smarr smarr added the bug label Sep 6, 2020
@smarr smarr changed the title Crashing on Json benchmark? Crashing incomplete classpath for Json benchmark Sep 6, 2020
@smarr
Copy link
Owner

smarr commented Sep 6, 2020

Hm, indeed, there should be a bit more care taken. Though, the backtrace also looks strange. I reopened the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants