[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Getting a segmentation fault on the latest squeak.cog.spur (#574)
Ken Dickey
notifications at github.com
Sat Jul 24 22:46:51 UTC 2021
On 2021-07-22 23:24, Tobias Pape wrote:
> Ken, can you build a debug-vm? (I think you need to ./mvm in
> build.linux64ARMv8/squeak.cog.spur/build.debug)
OK. Build runs fine.
First trace under gdb, 2nd two freestanding.
In both cases I have loaded a bunch of code and am runnning large number
of tests in the unit test runner.
FYI,
-KenD
PS: Many thanks for include order fix!!
Chromebook:Linux:Arm64:~/OpenSmalltalk/oscogvm/products/debug/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202107242215 >>> git branch -a
* Cog
fix_include_order
remotes/origin/Cog
remotes/origin/HEAD -> origin/Cog
Chromebook:Linux:Arm64:~/OpenSmalltalk/oscogvm/products/debug/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202107242215 >>> gdb squeak
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from squeak...done.
(gdb) run $CUIS/Dev.image
Starting program: /home/kendi3he/OpenSmalltalk/oscogvm/products/debug/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202107242215/squeak $CUIS/Dev.image
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ff7274190 (LWP 19574)]
pthread_setschedparam failed: Operation not permitted
This VM uses a separate heartbeat thread to update its internal clock
and handle events. For best operation, this thread should run at a
higher priority, however the VM was unable to change the priority. The
effect is that heavily loaded systems may experience some latency
issues. If this occurs, please create the appropriate configuration
file in /etc/security/limits.d/ as shown below:
cat <<END | sudo tee /etc/security/limits.d/squeak.conf
* hard rtprio 2
* soft rtprio 2
END
and report to the squeak mailing list whether this improves behaviour.
You will need to log out and log back in for the limits to take effect.
For more information please see
https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux
Thread 1 "squeak" received signal SIGSEGV, Segmentation fault.
0x0000005555909004 in ?? ()
(gdb) bt
#0 0x0000005555909004 in ?? ()
#1 0x0000005555aa9000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) info regis
x0 0x555590ab10 366507764496
x1 0x5555aa9000 366509461504
x2 0x5555aa9000 366509461504
x3 0x5555843ed8 366506950360
x4 0x5555a9fd30 366509423920
x5 0x7ff747bef0 549609520880
x6 0xbada553 195929427
x7 0xbada554 195929428
x8 0x0 0
x9 0x2aa1a6c000 183100686336
x10 0xbabe1f19babe1f18 -4990517141712265448
x11 0xd503201f00000032 -3097596801184694222
x12 0xd503201f17fbe6ce -3097596800782309682
x13 0x0 0
x14 0x0 0
x15 0xffffffffffffff 72057594037927935
x16 0x555580bda0 366506720672
x17 0x7ff7d8c2c0 549619024576
x18 0x7f 127
x19 0x5555843ed8 366506950360
x20 0x555673edd8 366522658264
x21 0x5555a291b8 366508937656
x22 0x7ffffcc010 549755600912
x23 0x9 9
x24 0x0 0
x25 0x0 0
x26 0x0 0
x27 0x0 0
x28 0x5555829770 366506841968
x29 0x7ffff98210 549755388432
x30 0x555564efb0 366504898480
sp 0x7ffff98210 0x7ffff98210
pc 0x5555909004 0x5555909004
cpsr 0x60000000 [ EL=0 C Z ]
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) cont
Continuing.
Segmentation fault Sat Jul 24 15:31:46 2021
/home/kendi3he/OpenSmalltalk/oscogvm/products/debug/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202107242215/squeak
Squeak VM version: 5.0-202107242215 Sat Jul 24 15:19:41 PDT 2021 gcc 8 [Debug Spur 64-bit VM]
Built from: CoInterpreter VMMaker.oscog-mt.2992 uuid: 0ca40134-7df9-b546-a396-fe2d267143e3 Jul 24 2021
With: StackToRegisterMappingCogit VMMaker.oscog-mt.2992 uuid: 0ca40134-7df9-b546-a396-fe2d267143e3 Jul 24 2021
Revision: VM: 202107242215 ***@***.***:OpenSmalltalk/oscogvm
Date: Sat Jul 24 15:15:43 2021 CommitHash: 5239460e7
Plugins: 202107242215 ***@***.***:OpenSmalltalk/oscogvm
Build host: Linux penguin 5.4.109-26094-g381754fbb430 #1 SMP PREEMPT Sat Jun 26 21:33:25 PDT 2021 aarch64 GNU/Linux
plugin path: /home/kendi3he/OpenSmalltalk/oscogvm/products/debug/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202107242215/ [default: /home/kendi3he/OpenSmalltalk/oscogvm/products/debug/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202107242215/]
C stack backtrace & registers:
x0 0x555590ab10 x1 0x5555aa9000 x2 0x5555aa9000 x3 0x5555843ed8
x4 0x5555a9fd30 x5 0x7ff747bef0 x6 0xbada553 x7 0xbada554
x8 (nil) x9 0x2aa1a6c000 x10 0xbabe1f19babe1f18 x11 0xd503201f00000032
x12 0xd503201f17fbe6ce x13 (nil) x14 (nil) x15 0xffffffffffffff
x16 0x555580bda0 x17 0x7ff7d8c2c0 x18 0x7f x19 0x5555843ed8
x20 0x555673edd8 x21 0x5555a291b8 x22 0x7ffffcc010 x23 0x9
x24 (nil) x25 (nil) x26 (nil) x27 (nil)
x29 0x5555829770 fp 0x7ffff98210 lr 0x555564efb0 sp 0x7ffff98210
*[0x5555909004]
/home/kendi3he/OpenSmalltalk/oscogvm/products/debug/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202107242215/squeak(+0x36d48)[0x555558bd48]
/home/kendi3he/OpenSmalltalk/oscogvm/products/debug/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202107242215/squeak(+0x374cc)[0x555558c4cc]
linux-vdso.so.1(__kernel_rt_sigreturn+0x0)[0x7ff7ffc564]
[0x5555909004]
[0x0]
Smalltalk stack dump:
0x7ffffcc180 M ByteArray(SequenceableCollection)>hasEqualElements: 0x55578df9a0: a(n) ByteArray
0x7ffffcc1b8 M ByteArray(SequenceableCollection)>= 0x55578df9a0: a(n) ByteArray
0x7ffffcc1f0 M ByteArray>= 0x55578df9a0: a(n) ByteArray
0x7ffffcc250 M InstructionEncoderTest>encodingOf:equals: 0x5557a36c70: a(n) InstructionEncoderTest
0x7ffffcc2a0 I InstructionEncoderTest>test_MOV_001 0x5557a36c70: a(n) InstructionEncoderTest
0x7ffffcc2d0 M InstructionEncoderTest(TestCase)>performTest 0x5557a36c70: a(n) InstructionEncoderTest
0x7ffffc7d98 M [] in InstructionEncoderTest(TestCase)>runCase 0x5557a36c70: a(n) InstructionEncoderTest
0x7ffffc7dd8 M BlockClosure>ensure: 0x5555c002f0: a(n) BlockClosure
0x7ffffc7e10 M InstructionEncoderTest(TestCase)>runCase 0x5557a36c70: a(n) InstructionEncoderTest
0x7ffffc7e48 M [] in TestResult>runCase: 0x5557a33e50: a(n) TestResult
0x7ffffc7e78 M BlockClosure>on:do: 0x5555c003e8: a(n) BlockClosure
0x7ffffc7ec0 M [] in TestResult>runCase: 0x5557a33e50: a(n) TestResult
0x7ffffc7ef0 M BlockClosure>on:do: 0x5555c004f0: a(n) BlockClosure
0x7ffffc7f38 M TestResult>runCase: 0x5557a33e50: a(n) TestResult
0x7ffffc7f78 M [] in InstructionEncoderTest(TestCase)>run: 0x5557a36c70: a(n) InstructionEncoderTest
0x7ffffc7fb8 M BlockClosure>ensure: 0x5555c005f8: a(n) BlockClosure
0x7ffffc7ff0 M ChangeSet class>runningTest:do: 0x55564655d8: a(n) ChangeSet class
0x7ffffc8030 M InstructionEncoderTest(TestCase)>run: 0x5557a36c70: a(n) InstructionEncoderTest
0x7ffffc8070 M [] in TestSuite>run: 0x5557a33e70: a(n) TestSuite
0x7ffffc80b0 M OrderedCollection>do: 0x5557a33eb8: a(n) OrderedCollection
0x7ffffc80f8 I TestSuite>run: 0x5557a33e70: a(n) TestSuite
0x7ffffc8138 M [] in TestSuite>run 0x5557a33e70: a(n) TestSuite
0x7ffffc8178 M BlockClosure>ensure: 0x5557a33f90: a(n) BlockClosure
0x7ffffc81c8 I TestSuite>run 0x5557a33e70: a(n) TestSuite
0x7ffffc8200 M [] in TestRunner>runSuite: 0x55579fb760: a(n) TestRunner
0x7ffffc8240 M BlockClosure>ensure: 0x5557a34090: a(n) BlockClosure
0x7ffffc8290 I [] in TestRunner>runSuite: 0x55579fb760: a(n) TestRunner
0x7ffffc82d0 I [] in BlockClosure>newProcess 0x5557a34198: a(n) BlockClosure
Most recent primitives
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
compare:with:collated:
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
specialObjectsArray
digitCompare:
digitCompare:
digitCompare:
do:
and:and:
isString
select:thenDo:
basicNew
translate:from:to:table:
basicNew
with:withAll:
at:put:
at:put:
basicNew
shallowCopy
translate:from:to:table:
basicNew
=
isInBounds:
isInBounds:
identityHash
bitXor:
hashBytes:startingWith:
bitXor:
identityHash
identityHash
hash
compare:with:collated:
compare:with:collated:
hashBytes:startingWith:
compare:with:collated:
acceptsOperands:
acceptsOperands:
acceptsOperands:
bitAnd:
bitAnd:
registerGroup
registerGroup
registerGroup
length
isSpecificRegister
compare:with:collated:
compare:with:collated:
hasImmediateFlag
value:
identityHash
hashBytes:startingWith:
compare:with:collated:
compare:with:collated:
basicNew
newFrom:
anySatisfy:
overridesOperandSize
isSegment
and:and:and:
~=
**PrimitiveFailure**
~=
**PrimitiveFailure**
isNumber
isNil
writeRexPrefix:
noneSatisfy:
position:
position:
arity
encodeOperand:of:
perform:with:
postCopy
last
at:
at:
at:
perform:with:
//
//
//
//
basicNew
basicNew
peek
value
isLegacy
rex
size
growTo:
max:
ofSize:
ofSize:
ofSize:
do:separatedBy:
specialObjectsArray
indexOfByte:inString:startingAt:
~=
basicNew
do:separatedBy:
do:separatedBy:
bitAnd:
bitAnd:
bitAnd:
bitAnd:
bitAnd:
bitAnd:
raisedToInteger:
raisedToInteger:
*
-
-
basicNew
basicNew
hi
hi
basicNew
basicNew
upToEnd
nextPutAll:
mid
lo
lo
lo
lo
lo
do:
specialObjectsArray
indexOfByte:inString:startingAt:
basicNew
compare:with:collated:
isSequenceable
isSequenceable
isSequenceable
isSequenceable
**CompactCode**
stack page bytes 8192 available headroom 5596 minimum unused headroom 6040
(Segmentation fault)
Thread 1 "squeak" received signal SIGABRT, Aborted.
__GI_raise ***@***.***=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb)
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/574#issuecomment-886119866
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20210724/7d452fc8/attachment-0001.html>
More information about the Vm-dev
mailing list