[Glass] cannot allocate memory

Otto Behrens via Glass glass at lists.gemtalksystems.com
Tue Jul 7 09:02:34 PDT 2015


More details. Sorry to dump it like this; please ignore if not interested.

top reports for a topaz session serving seaside for example below.
This one crashes every time we call performOnServer: now.

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 72134 wonka     20   0 4926m 3.9g 1.9g S    1 12.4  10:19.72 topaz

And here are the parameters this process is started with:

DUMP_OPTIONS = TRUE;
GEM_GCI_LOG_ENABLED = FALSE;
GEM_ABORT_MAX_CRS = 0;
GEM_FREE_FRAME_CACHE_SIZE = -1;
GEM_FREE_FRAME_LIMIT = -1;
GEM_FREE_PAGEIDS_CACHE = 200;
GEM_HALT_ON_ERROR = -1;
GEM_KEEP_MIN_SOFTREFS = 0;
GEM_MAX_SMALLTALK_STACK_DEPTH = 1000;
GEM_NATIVE_CODE_ENABLED = 2;
GEM_PRIVATE_PAGE_CACHE_KB = 960KB;
GEM_PGSVR_COMPRESS_PAGE_TRANSFERS = FALSE;
GEM_PGSVR_FREE_FRAME_CACHE_SIZE = -1;
GEM_PGSVR_FREE_FRAME_LIMIT = -1;
GEM_PGSVR_UPDATE_CACHE_ON_READ = FALSE;
GEM_READ_AUTH_ERR_STUBS = FALSE;
GEM_REPOSITORY_IN_MEMORY = FALSE;
GEM_RPC_KEEPALIVE_INTERVAL = 0;
GEM_RPCGCI_TIMEOUT = 0;
GEM_RPC_USE_SSL = TRUE;
GEM_SOFTREF_CLEANUP_PERCENT_MEM = 50;
GEM_TEMPOBJ_AGGRESSIVE_STUBBING = TRUE;
GEM_TEMPOBJ_CACHE_SIZE = 400000KB;
GEM_TEMPOBJ_MESPACE_SIZE = 0KB;
GEM_TEMPOBJ_OOPMAP_SIZE = 0;
GEM_TEMPOBJ_SCOPES_SIZE = 2000;
GEM_TEMPOBJ_POMGEN_SIZE = 0KB;
GEM_TEMPOBJ_POMGEN_PRUNE_ON_VOTE = 50;
GEM_TEMPOBJ_POMGEN_SCAVENGE_INTERVAL = 1800;
GEM_TEMPOBJ_START_ADDR not used on this platform
LOG_WARNINGS = TRUE;
SHR_NUM_FREE_FRAME_SERVERS = -1;
SHR_PAGE_CACHE_LARGE_MEMORY_PAGE_POLICY = 0;
SHR_PAGE_CACHE_LOCKED = FALSE;
SHR_PAGE_CACHE_NUM_PROCS = 4089;
SHR_PAGE_CACHE_NUM_SHARED_COUNTERS = 1900;
SHR_PAGE_CACHE_PERMISSIONS = 660;
SHR_PAGE_CACHE_SIZE_KB = 2000000KB;
SHR_TARGET_FREE_FRAME_COUNT = -1;
SHR_WELL_KNOWN_PORT_NUMBER = 0;
(vmGc spaceSizes: eden init 2048K max 74944K , survivor init 448K max 12544K,
 vmGc    old max 299968K, code max 80000K, perm max 40000K, pom 10 *
33344K = 333440K,
 vmGc    remSet 8068K, meSpace max 382460K oopMapSize 2097152  max
footprint 1251M)
 _____________________________________________________________________________
|             GemStone/S64 Object-Oriented Data Management System             |
|                   Copyright (C) GemTalk Systems 1986-2015                   |
|                            All rights reserved.                             |
|                           Covered by U.S Patents:                           |
|            6,256,637 Transactional virtual machine architecture             |
|              6,360,219 Object queues with concurrent updating               |
|                  6,567,905 Generational Garbage Collector.                  |
| 6,681,226 Selective Pessimistic Locking for a Concurrently Updateable Database
+-----------------------------------------------------------------------------+
|    PROGRAM: topaz, Linear GemStone Interface (Linked Session)               |
|    VERSION: 3.2.6, Fri Mar 20 15:37:57 2015                                 |
|      BUILD: gss64_3_2_x_branch-35651                                        |
|  BUILT FOR: x86-64 (Linux)                                                  |
|       MODE: 64 bit                                                          |
| RUNNING ON: 8-CPU luke.finworks.biz x86_64 (Linux 3.2.0-75-generic #110-Ubuntu
| SMP Tue Dec 16 19:11:55 UTC 2014) 31892MB                                   |
| PROCESS ID: 72134     DATE: 07/07/2015 00:03:05 SAST                        |
|   USER IDS: REAL=wonka (1000) EFFECTIVE=wonka (1000)                        |
+-----------------------------------------------------------------------------+

On Tue, Jul 7, 2015 at 5:35 PM, Otto Behrens <otto at finworks.biz> wrote:
> Hi,
>
> We call "System class >> performOnServer:" often from our seaside
> server sessions. We get an error "HostPerform failed; errno 12, Cannot
> allocate memory".
>
> This happens at the end of the day, while sessions have been running
> all day, and have been quite busy.
>
> It appears as if there is a memory leak in this function; I don't
> really understand what memory it is trying to allocate here.
>
> We're assuming the System class >> performOnServer: is the way in
> GemStone to execute shell commands. Should we be using another way?
>
> Any ideas?
>
> Thanks
> Otto
>
> I attach a stack ouput with more details as an example.
>
> In this example, we call pdftk to fill in the fields of a pdf document.


More information about the Glass mailing list