-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Description
When I start up the sim/axis_mm.ini example on my Debian Bookworm or Debian Sid machines with the LinuxCNC 2.9 or LinuxCNC master branch, I get a strange out of memory crash in Python OpenGL code.
$:~/develop/git/linuxcnc/scripts$ ./linuxcnc
LINUXCNC - 2.9.0~pre1
Machine configuration directory is '/home/mb/develop/git/linuxcnc/configs/sim/axis'
Machine configuration file is 'axis_mm.ini'
Starting LinuxCNC...
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX realtime
Found file(lib): /home/mb/develop/git/linuxcnc/lib/hallib/core_sim.hal
Found file(lib): /home/mb/develop/git/linuxcnc/lib/hallib/sim_spindle_encoder.hal
Found file(lib): /home/mb/develop/git/linuxcnc/lib/hallib/axis_manualtoolchange.hal
Found file(lib): /home/mb/develop/git/linuxcnc/lib/hallib/simulated_home.hal
note: MAXV max: 53.340 units/sec 3200.400 units/min
note: LJOG max: 53.340 units/sec 3200.400 units/min
note: LJOG default: 30.480 units/sec 1828.800 units/min
note: jog_order='XYZ'
note: jog_invert=set()
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/OpenGL/latebind.py", line 43, in __call__
return self._finalCall( *args, **named )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not callable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/mb/develop/git/linuxcnc/bin/axis", line 3964, in <module>
get_coordinate_font(vars.dro_large_font.get())
File "/home/mb/develop/git/linuxcnc/bin/axis", line 3842, in get_coordinate_font
glnav.use_pango_font(coordinate_font, 0, 128)
File "/home/mb/develop/git/linuxcnc/lib/python/glnav.py", line 65, in use_pango_font
glBitmap(1, 0, 0, 0, 0, h-d, bytearray([0]*4))
File "/usr/lib/python3/dist-packages/OpenGL/latebind.py", line 47, in __call__
return self._finalCall( *args, **named )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/OpenGL/wrapper.py", line 700, in wrapperCall
raise err
File "/usr/lib/python3/dist-packages/OpenGL/wrapper.py", line 693, in wrapperCall
result = wrappedOperation( *cArguments )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/OpenGL/platform/baseplatform.py", line 415, in __call__
return self( *args, **named )
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/OpenGL/error.py", line 230, in glCheckError
raise self._errorClass(
OpenGL.error.GLError: GLError(
err = 1285,
description = b'out of memory',
baseOperation = glBitmap,
pyArgs = (
1,
0,
0,
0,
0,
16.0,
<OpenGL.arrays._buffers.Py_buffer object at 0x7fc4a2a1b5c0>,
),
cArgs = (
1,
0,
0,
0,
0,
16.0,
<OpenGL.arrays._buffers.Py_buffer object at 0x7fc4a2a1b5c0>,
),
cArguments = (
1,
0,
0,
0,
0,
16.0,
<OpenGL.arrays._buffers.Py_buffer object at 0x7fc4a2a1b5c0>,
)
)
Shutting down and cleaning up LinuxCNC...
Here are the steps I follow to reproduce the issue:
- Happens during start of axis sim/axis_mm.ini example.
Information about my hardware and software:
This happens on my older PC with 8G system RAM with a very old PCI-E graphics card from 2009. Not sure how much graphics RAM it has. But it probably only has a couple hundred MB.
But it also happens on my new Ryzen based system with 24G system RAM. I think I set the graphics RAM to 1G.
I doubt that this really is an out of memory problem unless LinuxCNC needs that much graphics memory now.
I even tried to raise memlock limit to 4G on the older PC. Didn't help.
On the old PC I use Debian Bookworm and on the Ryzen I use Debian Sid.
Metadata
Metadata
Assignees
Labels
No labels