Archived

This forum has been archived. Please start a new discussion on GitHub.

Cannot allocate memory

I just upgraded to Ice 3.4.1 and using Mumpi v2.2.1 for Mumble 1.2.3 on Linux Centos 5 x86_64

Getting the following error message
Fatal error: Uncaught exception ::Ice::UnknownException { unknown = Thread.cpp:521: IceUtil::ThreadSyscallException: syscall exception: Cannot allocate memory } thrown in /home/xxxx/public_html/mumble/classes/ServerInterface.php on line 64

I tried changing the memory_limit in my php.ini from 48M to 64M and now to 256M with no effect.

The related lines are
$initData = new Ice_InitializationData;
                                $initData->properties = Ice_createProperties();
                                $initData->properties->setProperty('Ice.ImplicitContext', 'Shared');
                                $ICE = Ice_initialize($initData);

Ideas/Suggestions? I'll ask Kissaki to post any other related information.


Thank you,


Xavier

Comments

  • benoit
    benoit Rennes, France
    Hi,

    The error indicates that the initialization of the Ice communicator couldn't create a thread because of resource limits being reached. Does the error occur soon after startup? The best to investigate this would be to try to create a small Ice PHP test case that reproduces the problem.

    Cheers
    Benoit.
  • Created a test file with the following:
    <?php
      require_once 'Ice.php';
                                    $ICE = Ice_initialize();
    ?>
    

    and getting the following:
    Fatal error: Uncaught exception ::Ice::UnknownException { unknown = Thread.cpp:521: IceUtil::ThreadSyscallException: syscall exception: Cannot allocate memory } thrown in /home/xxxx/public_html/mumble/admin/test.php on line 3

    Ideas? Thank you
  • Alright, so the problem seems to be specific to ice.php or ice in general. Since most of the ice tools were installed from the yum.repos, excluding ice.cpp and ice.php, which I compiled. I decided to completely remove them and rebuild them.

    Perhaps I rushed last time, this time I was more cafeful to test everything and this is what I got after building ice.cpp while running 'make test'.
    testing udp... ok
    testing udp multicast... UdpTransceiver.cpp:170: Ice::SocketException:
    socket exception: Operation not permitted
    unexpected exit status: expected: 0, got 1
    Traceback (most recent call last):
    File "/root/install/mumble/Ice-3.4.1/cpp/test/Ice/udp/run.py", line 48, in ?
    clientProc.waitTestSuccess()
    File "/root/install/mumble/Ice-3.4.1/scripts/Expect.py", line 540, in waitTestSuccess
    test(self.exitstatus, exitstatus)
    File "/root/install/mumble/Ice-3.4.1/scripts/Expect.py", line 525, in test
    assert False
    AssertionError
    ('test in /root/install/mumble/Ice-3.4.1/cpp/test/Ice/udp failed with exit status', 256)
  • benoit
    benoit Rennes, France
    The sending of a UDP packet on a multicast address failed because of permission issues. Which CentOS version do you use? Is the firewall enabled on your machine? In any case, I wouldn't worry about this failure if you don't use UDP multicast.

    Cheers,
    Benoit.
  • No, I don't use the UDP multicast. It is a Centos 5.5 x86_64 with firewalling and both inbound/outbound ports blocked.
  • Well the issue is resolved. Tweaked some php settings, completely removed ice and reinstalled/recompiled and now it seems to be working.


    Xavier