Insufficient memory for signal/pin

More
25 Jul 2018 00:25 #114782 by andypugh
I think you need to recompile everything that uses that macro:

github.com/LinuxCNC/linuxcnc/search?q=HA...&unscoped_q=HAL_SIZE

So it might just be simpler to recompile everything.

Please Log in or Create an account to join the conversation.

More
25 Jul 2018 00:28 #114783 by andypugh
But: if your HAL is that big, what is it doing?

Maybe you could increase efficiency and decrease pin usage by combining some of your HAL in to custom HAL components (which are pretty easy to compile, and you don't need the LinuxCNC source to do so)

Please Log in or Create an account to join the conversation.

More
25 Jul 2018 05:13 #114793 by tommylight

andypugh wrote: But: if your HAL is that big, what is it doing?


Was wondering the same thing, how big does it have to be ?
Or where is that hal ? Can you upload it here ?

Please Log in or Create an account to join the conversation.

More
16 Aug 2018 20:49 - 16 Aug 2018 20:51 #116181 by Nico2017
Hi,
this is what I get when I run halcmd status when I manage to run my files on the edge of memory.
halcmd status
HAL locking status:
current lock value 0 (00)
HAL_LOCK_NONE - nothing is locked
HAL memory status
used/total shared memory: 305348/307200
active/recycled components: 34/0
active/recycled pins: 2210/0
active/recycled parameters: 565/0
active/recycled aliases: 0/0
active/recycled signals: 296/0
active/recycled functions: 193/0
active/recycled threads: 1/0

Adding one pin to the program generate the hal memory limit error:
HAL: ERROR: insufficient memory for signal 'testsignal'
Shutting down and cleaning up LinuxCNC...

So I guess the issue is the used/total shared memory: 305348/307200. Is there any way to extend this limit without recompiling the whole linuxcnc? I am struggling to compile a linuxcnc version where I would have modified the .hal memory limit accordingly.

Thank you,
Nicolas
Last edit: 16 Aug 2018 20:51 by Nico2017.

Please Log in or Create an account to join the conversation.

More
16 Aug 2018 21:02 #116183 by andypugh
I think this is a different problem, but it would so no harm to follow the instructions in 5.1 here:
linuxcnc.org/docs/devel/html/code/buildi..._locked_memory_limit

Please Log in or Create an account to join the conversation.

More
16 Aug 2018 21:43 #116184 by dgarrett
# using git Run-in-place  build for current 2.7 (at commit:37940e6)

$ halrun
halcmd: status
HAL locking status:
  current lock value 0 (00)
  HAL_LOCK_NONE - nothing is locked
HAL memory status
  used/total shared memory:   312/307200
...

$ grep -H HAL_SIZE hal_priv.h
hal_priv.h:#define HAL_SIZE  (75*4096)

$ echo $((75*4096))
307200

# edit hal_priv.h to increase HAL_SIZE

$ git diff hal_priv.h
-#define HAL_SIZE  (75*4096)
+#define HAL_SIZE  (100*4096)

# run make to incorporate change to hal_priv.h
...

$ halrun
halcmd: status
HAL locking status:
  current lock value 0 (00)
  HAL_LOCK_NONE - nothing is locked
HAL memory status
  used/total shared memory:   312/409600
...
The following user(s) said Thank You: Nico2017

Please Log in or Create an account to join the conversation.

More
22 May 2019 03:53 - 22 May 2019 04:29 #134547 by Nico2017
Hi,
just for the records, after modifying the define HAL_SIZE in linxucnc-dev/src/hal/hal_priv.h I did
for RIP modification only
cd src/
make clean
./autogen.sh
./configure
make -j4 ( j4=quad processor speed )
sudo make setuid.

For building debian package to make the update available everywhere
> cd linuxcnc-dev/debian
> ./configure uspace
> cd ..
> dpkg-buildpackage -b -uc
Then dpkg -i linuxcnc-uspace.. ..deb
Then dpkg -i linuxcnc-uspace-dev... .deb
This even keep your local config files installed before the re-installation on top of the new deb files.
This also does not affect any Ethercat component already installed and working with linuxcnc

Thanks a lot to @dgarrett for the instructions.

Nicolas
Last edit: 22 May 2019 04:29 by Nico2017. Reason: More precise answer

Please Log in or Create an account to join the conversation.

Time to create page: 0.078 seconds
Powered by Kunena Forum