[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