You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by Rob Rose <rp...@gmail.com> on 2019/11/21 20:56:56 UTC

JAVA API - Out of heap space

Hello all,

        I am trying to compile the DataProcessor using the Apache DFDL VMF schema from the DI2E site.  I am trying to run DFDL on a small embedded device with an ARM processor containing 2G of memory.  I tried setting the max and min heap space values for the JVM to several different values 128, 256, 512 and each time the device panicked and ran out of memory.  The very first time I tried to execute DFDL I did not set the min and max JVM heap values and received the Out of heap space exception.

      GIven the magnitude of the schema, is it even possible to run DFDL on such a limited device ?

      Can I precompile the parser and load it onto the embedded device prior to executing DFDL? 

     Any suggestions are greatly appreciated!

   Here is some log info:


 /usr/lib/jvm/image-aarch64/bin/java -jar MessageTestApp.jar vmb vmf.dfdl.xsd
T
imestamp prior to entering COMPILE SCHEMA: 1574365652553ms


Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at org.apache.daffodil.dsom.TermFactory$.apply(ModelGroup.scala:11[ 1554.981162] audit: type=1400 audit(1574365826.688:1601): avc:  denied  { getsched } for  pid=1910 comm="java" scontext=system_u:system_r:busybox_t tcontext=system_u:system_r:busybox_t tclass=process permissive=1
6)
	at org.apache.daffodil.dsom[ 1555.003192] audit: type=1400 audit(1574365826.708:1602): avc:  denied  { remove_name } for  pid=1910 comm="java" name="1910" dev="rootfs" ino=21993 scontext=system_u:system_r:busybox_t tcontext=system_u:object_r:tmp_t tclass=dir permissive=1
.GroupDefLike.$a[ 1555.025259] audit: type=1400 audit(1574365826.708:1603): avc:  denied  { unlink } for  pid=1910 comm="java" name="1910" dev="rootfs" ino=21993 scontext=system_u:system_r:busybox_t tcontext=system_u:object_r:tmp_t tclass=file permissive=1
nonfun$groupMembers$2(GroupDef.scala:77)
	at org.apache.daffodil.dsom.GroupDefLike$$Lambda$471/0x0000007f5eb0f040.apply(Unknown Source)
	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
	at scala.collection.TraversableLike$$Lambda$38/0x0000007f5f7fa040.apply(Unknown Source)
	at scala.collection.immutable.List.foreach(List.scala:389)
	at scala.collection.TraversableLike.map(TraversableLike.scala:234)
	at scala.collection.TraversableLike.map$(TraversableLike.scala:227)
	at scala.collection.immutable.List.map(List.scala:295)
	at org.apache.daffodil.dsom.GroupDefLike.$anonfun$groupMembers$1(GroupDef.scala:75)
	at org.apache.daffodil.dsom.GroupDefLike$$Lambda$467/0x0000007f5eb06040.apply(Unknown Source)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:594)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:594)
	at org.apache.daffodil.dsom.GroupDefLike.groupMembers(GroupDef.scala:72)
	at org.apache.daffodil.dsom.GroupDefLike.groupMembers$(GroupDef.scala:72)
	at org.apache.daffodil.dsom.Sequence.groupMembers$lzycompute(SequenceGroup.scala:320)
	at org.apache.daffodil.dsom.Sequence.groupMembers(SequenceGroup.scala:320)
	at org.apache.daffodil.dsom.ModelGroup.$anonfun$elementChildren$1(ModelGroup.scala:186)
	at org.apache.daffodil.dsom.ModelGroup$$Lambda$466/0x0000007f5eb05040.apply(Unknown Source)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:594)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:594)
	at org.apache.daffodil.dsom.ModelGroup.elementChildren$lzycompute(ModelGroup.scala:185)
	at org.apache.daffodil.dsom.ModelGroup.elementChildren(ModelGroup.scala:185)
	at org.apache.daffodil.dsom.ElementBase.$anonfun$elementChildren$1(ElementBase.scala:612)
	at org.apache.daffodil.dsom.ElementBase$$Lambda$457/0x0000007f5ea4e840.apply(Unknown Source)
	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549)
# 


 /usr/lib/jvm/image-aarch64/bin/java -Xmx256m -jar MessageTestApp.jar vmb vmf.dfdl.xsd
Timestamp prior to entering COMPILE SCHEMA: 1574366380842ms
 PERF_SYS    System load and free memory  [System=0.7% User=15.1% IRQ/IO=0.0% Idle=84.2%; Uptime  20:00:13 up 35 min,  load average: 1.05, 0.62, 0.40; Mem tot=778960,used=546256,free=232704]
TACDS 0101 CFG_CHKR INFO    PERF_SYS    Flash filesystem usage  [18%]
[ 2166.210992] dmesg invoked oom-killer: gfp_mask=0x16080c0(GFP_KERNEL|__GFP_ZERO|__GFP_NOTRACK), nodemask=(null),  order=0, oom_score_adj=0
[ 2166.223381] CPU: 1 PID: 2221 Comm: dmesg Tainted: G           O    4.14.0-okl4-hyp #11
[ 2166.231269] Hardware name: ZynqMP Ultrazed Split1 Hybrid Linux Cell (OKL4 Guest) (DT)
[ 2166.239060] Call trace:
[ 2166.241509] [<ffffff8008088888>] dump_backtrace+0x0/0x370
[ 2166.246881] [<ffffff8008088c0c>] show_stack+0x14/0x20
[ 2166.251912] [<ffffff800859fea8>] dump_stack+0x98/0xb8
[ 2166.256941] [<ffffff8008134a2c>] dump_header.isra.6+0x7c/0x1a8
[ 2166.262746] [<ffffff80081340bc>] oom_kill_process+0x2cc/0x518
[ 2166.268464] [<ffffff8008134634>] out_of_memory+0xbc/0x3d0
[ 2166.273840] [<ffffff80081394dc>] __alloc_pages_nodemask+0x9fc/0xa78
[ 2166.280078] [<ffffff800815bd88>] __pte_alloc+0x30/0x148
[ 2166.285279] [<ffffff8008167f14>] move_page_tables+0x5ac/0x678
[ 2166.290999] [<ffffff80081973c0>] shift_arg_pages+0x88/0x198
[ 2166.296544] [<ffffff8008197694>] setup_arg_pages+0x1c4/0x1e0
[ 2166.302181] [<ffffff80081e4b6c>] load_elf_binary+0x3cc/0x1070
[ 2166.307896] [<ffffff8008198b6c>] search_binary_handler+0xc4/0x270
[ 2166.313962] [<ffffff800819951c>] do_execveat_common.isra.13+0x4b4/0x5e0
[ 2166.320546] [<ffffff8008199818>] SyS_execve+0x38/0x48
[ 2166.325573] Exception stack(0xffffff800b6a3ec0 to 0xffffff800b6a4000)
[ 2166.331985] 3ec0: 000000000040a068 0000007fea2d7f30 0000007fea2da568 0000000000000000
[ 2166.339777] 3ee0: 0000000000000001 000000000040aab5 0000007fea2d9f1c 0000000000000000
[ 2166.347571] 3f00: 00000000000000dd 0000007fea2d9f30 0101010101010101 0000000000000018
[ 2166.355364] 3f20: 0000000000002090 0000000000000000 6d68732f7665642f 000000000000007f
[ 2166.363158] 3f40: 0000000000002090 000000000041c2e0 0000000000040e00 0000007fea2d7f40
[ 2166.370951] 3f60: 0000000000000003 0000007fea2d7f30 0000000000000400 0000007fea2d7f30
[ 2166.378744] 3f80: 000000000040a068 0000000000000000 0000000000000000 0000000000000012
[ 2166.386538] 3fa0: 0000000010c6fc48 0000007fea2d9f60 0000007f96ed1de0 0000007fea2d7ed0
[ 2166.394331] 3fc0: 0000007f96ed1a08 00000000a0000000 000000000040a068 00000000000000dd
[ 2166.402123] 3fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 2166.409920] [<ffffff8008082fb0>] el0_svc_naked+0x24/0x28
[ 2166.415296] Mem-Info:
[ 2166.417587] active_anon:134711 inactive_anon:14 isolated_anon:0
[ 2166.417587]  active_file:0 inactive_file:0 isolated_file:0
[ 2166.417587]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 2166.417587]  slab_reclaimable:672 slab_unreclaimable:2655
[ 2166.417587]  mapped:5875 shmem:43049 pagetables:684 bounce:0
[ 2166.417587]  free:54146 free_pcp:178 free_cma:48514
[ 2166.450137] Node 0 active_anon:538844kB inactive_anon:56kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:23500kB dirty:0kB writeback:0kB shmem:172196kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB writeback_tmp:0kB unstable:0kB all_unreclaimable? yes
[ 2166.476905] DMA free:216584kB min:22528kB low:28160kB high:33792kB active_anon:538908kB inactive_anon:56kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:819200kB managed:778960kB mlocked:0kB kernel_stack:2736kB pagetables:2736kB bounce:0kB free_pcp:712kB local_pcp:360kB free_cma:194056kB
[ 2166.504783] lowmem_reserve[]: 0 0 0
[ 2166.508283] DMA: 50*4kB (EHC) 40*8kB (UEH) 14*16kB (UEH) 11*32kB (UEHC) 5*64kB (UE) 5*128kB (EHC) 4*256kB (EHC) 3*512kB (UE) 5*1024kB (UEC) 3*2048kB (UE) 49*4096kB (EC) = 216584kB
[ 2166.524258] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[ 2166.532675] 43049 total pagecache pages
[ 2166.536510] 0 pages in swap cache
[ 2166.539824] Swap cache stats: add 0, delete 0, find 0/0
[ 2166.545050] Free swap  = 0kB
[ 2166.547911] Total swap = 0kB
[ 2166.550800] 204800 pages RAM
[ 2166.553679] 0 pages HighMem/MovableOnly
[ 2166.557509] 10060 pages reserved
[ 2166.560717] 65536 pages cma reserved
[ 2166.564289] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name
[ 2166.572814] [ 1231]     0  1231      821      407       5       3        0             0 sh
[ 2166.581158] [ 1232]   102  1232    33662     1970      16       3        0             0 SDCMDCSvc
[ 2166.590102] [ 1233]   101  1233     3271      666       6       3        0             0 SDCConfigChecke
[ 2166.599568] [ 1234]   113  1234     1193      338       7       3        0             0 SDCSanitizer
[ 2166.608781] [ 1237]   100  1237    21236     1792      11       4        0             0 SDCLogSvc
[ 2166.617731] [ 1240]  1052  1240    25500     1766      12       3        0             0 SDCFilter2Svc_1
[ 2166.627198] [ 1241]  1042  1241    25582     1803      14       3        0             0 SDCFilterSvc_10
[ 2166.636665] [ 1242]  1041  1242    25581     1830      13       3        0             0 SDCFilter3Svc_1
[ 2166.646129] [ 1243]  1044  1243    25582     1821      12       3        0             0 SDCFilter3Svc_1
[ 2166.655591] [ 1244]  1046  1244    25502     1847      13       3        0             0 SDCFilter2Svc_1
[ 2166.665059] [ 1245]  1035  1245    25451     1794      12       3        0             0 SDCFilterSvc_10
[ 2166.674534] [ 1246]  1039  1246    25581     1811      13       3        0             0 SDCFilterSvc_10
[ 2166.683996] [ 1247]  1055  1247    25499     1802      13       3        0             0 SDCFilter2Svc_1
[ 2166.693458] [ 1248]  1063  1248    25514     1829      13       3        0             0 SDCFilterSvc_10
[ 2166.702918] [ 1249]  1038  1249    25565     1808      12       3        0             0 SDCFilter3Svc_1
[ 2166.712370] [ 1250]  1065  1250    25514     1785      13       4        0             0 SDCFilter3Svc_1
[ 2166.721820] [ 1251]  1036  1251    25565     1808      13       3        0             0 SDCFilterSvc_10
[ 2166.731286] [ 1252]  1059  1252    27089     3056      16       4        0             0 SDCFilter3Svc_1
[ 2166.740749] [ 1253]  1057  1253    27089     3052      16       3        0             0 SDCFilterSvc_10
[ 2166.750212] [ 1254]  1034  1254    23884      371       9       3        0             0 SDCInterDomainR
[ 2166.759687] [ 1255]   103  1255    68688     3918      23       3        0             0 SDCEndpointSvc
[ 2166.769077] [ 1256]  1048  1256    25453     1803      12       3        0             0 SDCFilterSvc_10
[ 2166.778537] [ 1257]  1061  1257    25622     1832      13       3        0             0 SDCFilter2Svc_1
[ 2166.788007] [ 1258]  1043  1258    25582     1794      12       3        0             0 SDCFilter2Svc_1
[ 2166.797476] [ 1259]  1053  1259    25500     1849      12       3        0             0 SDCFilter3Svc_1
[ 2166.806942] [ 1260]  1051  1260    25500     1799      13       3        0             0 SDCFilterSvc_10
TACDS 0105 SDCMD[ 2166.816396] [ 1261]  1045  1261    25502     1840      13       3        0             0 SDCFilterSvc_10
C   ERROR   SYST[ 2166.827229] [ 1262]  1047  1262    25502     1883      13       3        0             0 SDCFilter3Svc_1
EM      Applicat[ 2166.838043] [ 1263]  1040  1263    25581     1795      13       3        0             0 SDCFilter2Svc_1
ion signature ve[ 2166.848880] [ 1264]  1050  1264    25453     1786      13       3        0             0 SDCFilter3Svc_1
rify failed. [ 2166.859702] [ 1265]  1056  1265    25499     1794      12       3        0             0 SDCFilter3Svc_1
[ 2166.870250] [ 1266]  1054  1266    25499     1821      13       3        0             0 SDCFilterSvc_10
[ 2166.879709] [ 1267]  1064  1267    25514     1794      12       4        0             0 SDCFilter2Svc_1

[ 2166.889156] [ 1268]  1037  1268    25565     1843      13       3        0             0 SDCFilter2Svc_1
[ 2166.898764] [ 1269]  1058  1269    27089     3427      16       3        0             0 SDCFilter2Svc_1
[ 2166.908230] [ 1270]  1033  1270    23883      698      10       3        0             0 SDCInterDomainT
[ 2166.917702] [ 1271]  1049  1271    25453     1789      12       3        0             0 SDCFilter2Svc_1
[ 2166.927169] [ 1272]  1060  1272    25622     1823      13       3        0             0 SDCFilterSvc_10
[ 2166.936660] [ 1273]  1062  1273    25622     1863      13       3        0             0 SDCFilter3Svc_1
[ 2166.946135] [ 1278]   105  1278     1185      310       6       3        0             0 SDCFileIntegrit
[ 2166.955601] [ 2189]     0  2189   289638    79897     184       4        0             0 java
[ 2166.964123] [ 2221]   101  2221        1        1       1       1        0             0 dmesg
[ 2166.972727] Out of memory: Kill process 2189 (java) score 398 or sacrifice child
[ 2166.980178] Killed process 2189 (java) total-vm:1158552kB, anon-rss:313340kB, file-rss:8kB, shmem-rss:6240kB





RE: JAVA API - Out of heap space

Posted by "Rose, Rob P" <Ro...@gd-ms.com>.
Steve,

	Thanks so much!  This is a HUGE help!  I will save off the parser and load it into the boot image and store it on the device's file system.  Then load the saved parser via the JAVA API.

Thanks!
Rob



-----Original Message-----
From: Steve Lawrence <sl...@apache.org> 
Sent: Thursday, November 21, 2019 5:11 PM
To: dev@daffodil.apache.org
Subject: Re: JAVA API - Out of heap space

Daffodil is pretty memory hungry at the moment, especially when it comes to compiling very large schemas like VMF. I can almost guarantee you won't be able to compile that schema on 2GB of memory. For reference, I usually give my JVM 8GB when compling the VMF schema, and I think Daffodil uses a good chunk of that. This is something we plan to address in furture releases, with 2.5.0 have some initial steps towards improving this.

In the meantime, I've got a few suggestions that might help.

First, if you're using the master branch of Daffodil, don't do that.
It's currently broken and requires exponential amounts of memory, and VMF being the size it is basically means it will never finish compiling.
So for now stick to the 2.4.0 release if you aren't already. This will be addressed by the time 2.5.0 comes out.

Second, I would definitely reccommend compiling schemas off box with a bunch of memory, saving the parser, and then reloading just the compiled parser on box. You can save a parser with the Java API, but it might be easier to just use the daffodil CLI, something like this:

  daffodil save-parser --schema path/to/schema.dfdl.xsdf parser.bin

That will compile your schema and save it to parser.bin, which can be reloaded on box and should require signicantly less memory. I suspect 2GB should be plenty for VMF, but I haven't compiled the vmf schema in a while to be sure.

With the CLI, you can use the -P option to use a saved parser, e.g.

  daffodil parse -P parser.bin file_to_parse

Or with the API you can use the comilers reload() method, e.g.:

  Compiler c = Daffodil.compiler();
  DataProcessor dp = c.reload(savedParserFile);

Last suggestion, the VMF schema on DI2E is pretty large because it supports all the different message types (something like 100+). If you only need to support a small subset of those, I woud recommend removing any message elements you do not need. That will make schema compilation quicker, require less memory, and make the saved parser much smaller as well.

With just handful of messages supported and compiling off box, you should be able to easily get VMF to run with less than 2GB of memory.

- Steve


On 11/21/19 3:56 PM, Rob Rose wrote:
> Hello all,
> 
>         I am trying to compile the DataProcessor using the Apache DFDL VMF schema from the DI2E site.  I am trying to run DFDL on a small embedded device with an ARM processor containing 2G of memory.  I tried setting the max and min heap space values for the JVM to several different values 128, 256, 512 and each time the device panicked and ran out of memory.  The very first time I tried to execute DFDL I did not set the min and max JVM heap values and received the Out of heap space exception.
> 
>       GIven the magnitude of the schema, is it even possible to run DFDL on such a limited device ?
> 
>       Can I precompile the parser and load it onto the embedded device prior to executing DFDL? 
> 
>      Any suggestions are greatly appreciated!
> 
>    Here is some log info:
> 
> 
>  /usr/lib/jvm/image-aarch64/bin/java -jar MessageTestApp.jar vmb 
> vmf.dfdl.xsd T imestamp prior to entering COMPILE SCHEMA: 
> 1574365652553ms
> 
> 
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> 	at org.apache.daffodil.dsom.TermFactory$.apply(ModelGroup.scala:11[ 
> 1554.981162] audit: type=1400 audit(1574365826.688:1601): avc:  denied  
> { getsched } for  pid=1910 comm="java" 
> scontext=system_u:system_r:busybox_t 
> tcontext=system_u:system_r:busybox_t tclass=process permissive=1
> 6)
> 	at org.apache.daffodil.dsom[ 1555.003192] audit: type=1400 
> audit(1574365826.708:1602): avc:  denied  { remove_name } for  
> pid=1910 comm="java" name="1910" dev="rootfs" ino=21993 
> scontext=system_u:system_r:busybox_t tcontext=system_u:object_r:tmp_t 
> tclass=dir permissive=1 .GroupDefLike.$a[ 1555.025259] audit: 
> type=1400 audit(1574365826.708:1603): avc:  denied  { unlink } for  
> pid=1910 comm="java" name="1910" dev="rootfs" ino=21993 
> scontext=system_u:system_r:busybox_t tcontext=system_u:object_r:tmp_t 
> tclass=file permissive=1
> nonfun$groupMembers$2(GroupDef.scala:77)
> 	at org.apache.daffodil.dsom.GroupDefLike$$Lambda$471/0x0000007f5eb0f040.apply(Unknown Source)
> 	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
> 	at scala.collection.TraversableLike$$Lambda$38/0x0000007f5f7fa040.apply(Unknown Source)
> 	at scala.collection.immutable.List.foreach(List.scala:389)
> 	at scala.collection.TraversableLike.map(TraversableLike.scala:234)
> 	at scala.collection.TraversableLike.map$(TraversableLike.scala:227)
> 	at scala.collection.immutable.List.map(List.scala:295)
> 	at org.apache.daffodil.dsom.GroupDefLike.$anonfun$groupMembers$1(GroupDef.scala:75)
> 	at org.apache.daffodil.dsom.GroupDefLike$$Lambda$467/0x0000007f5eb06040.apply(Unknown Source)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:594)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:594)
> 	at org.apache.daffodil.dsom.GroupDefLike.groupMembers(GroupDef.scala:72)
> 	at org.apache.daffodil.dsom.GroupDefLike.groupMembers$(GroupDef.scala:72)
> 	at org.apache.daffodil.dsom.Sequence.groupMembers$lzycompute(SequenceGroup.scala:320)
> 	at org.apache.daffodil.dsom.Sequence.groupMembers(SequenceGroup.scala:320)
> 	at org.apache.daffodil.dsom.ModelGroup.$anonfun$elementChildren$1(ModelGroup.scala:186)
> 	at org.apache.daffodil.dsom.ModelGroup$$Lambda$466/0x0000007f5eb05040.apply(Unknown Source)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:594)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:594)
> 	at org.apache.daffodil.dsom.ModelGroup.elementChildren$lzycompute(ModelGroup.scala:185)
> 	at org.apache.daffodil.dsom.ModelGroup.elementChildren(ModelGroup.scala:185)
> 	at org.apache.daffodil.dsom.ElementBase.$anonfun$elementChildren$1(ElementBase.scala:612)
> 	at org.apache.daffodil.dsom.ElementBase$$Lambda$457/0x0000007f5ea4e840.apply(Unknown Source)
> 	at 
> org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.sca
> la:549)
> #
> 
> 
>  /usr/lib/jvm/image-aarch64/bin/java -Xmx256m -jar MessageTestApp.jar 
> vmb vmf.dfdl.xsd Timestamp prior to entering COMPILE SCHEMA: 1574366380842ms
>  PERF_SYS    System load and free memory  [System=0.7% User=15.1% IRQ/IO=0.0% Idle=84.2%; Uptime  20:00:13 up 35 min,  load average: 1.05, 0.62, 0.40; Mem tot=778960,used=546256,free=232704]
> TACDS 0101 CFG_CHKR INFO    PERF_SYS    Flash filesystem usage  [18%]
> [ 2166.210992] dmesg invoked oom-killer: gfp_mask=0x16080c0(GFP_KERNEL|__GFP_ZERO|__GFP_NOTRACK), nodemask=(null),  order=0, oom_score_adj=0
> [ 2166.223381] CPU: 1 PID: 2221 Comm: dmesg Tainted: G           O    4.14.0-okl4-hyp #11
> [ 2166.231269] Hardware name: ZynqMP Ultrazed Split1 Hybrid Linux Cell 
> (OKL4 Guest) (DT) [ 2166.239060] Call trace:
> [ 2166.241509] [<ffffff8008088888>] dump_backtrace+0x0/0x370 [ 
> 2166.246881] [<ffffff8008088c0c>] show_stack+0x14/0x20 [ 2166.251912] 
> [<ffffff800859fea8>] dump_stack+0x98/0xb8 [ 2166.256941] 
> [<ffffff8008134a2c>] dump_header.isra.6+0x7c/0x1a8 [ 2166.262746] 
> [<ffffff80081340bc>] oom_kill_process+0x2cc/0x518 [ 2166.268464] 
> [<ffffff8008134634>] out_of_memory+0xbc/0x3d0 [ 2166.273840] 
> [<ffffff80081394dc>] __alloc_pages_nodemask+0x9fc/0xa78
> [ 2166.280078] [<ffffff800815bd88>] __pte_alloc+0x30/0x148 [ 
> 2166.285279] [<ffffff8008167f14>] move_page_tables+0x5ac/0x678 [ 
> 2166.290999] [<ffffff80081973c0>] shift_arg_pages+0x88/0x198 [ 
> 2166.296544] [<ffffff8008197694>] setup_arg_pages+0x1c4/0x1e0 [ 
> 2166.302181] [<ffffff80081e4b6c>] load_elf_binary+0x3cc/0x1070 [ 
> 2166.307896] [<ffffff8008198b6c>] search_binary_handler+0xc4/0x270 [ 
> 2166.313962] [<ffffff800819951c>] 
> do_execveat_common.isra.13+0x4b4/0x5e0
> [ 2166.320546] [<ffffff8008199818>] SyS_execve+0x38/0x48 [ 
> 2166.325573] Exception stack(0xffffff800b6a3ec0 to 0xffffff800b6a4000) 
> [ 2166.331985] 3ec0: 000000000040a068 0000007fea2d7f30 
> 0000007fea2da568 0000000000000000 [ 2166.339777] 3ee0: 
> 0000000000000001 000000000040aab5 0000007fea2d9f1c 0000000000000000 [ 
> 2166.347571] 3f00: 00000000000000dd 0000007fea2d9f30 0101010101010101 
> 0000000000000018 [ 2166.355364] 3f20: 0000000000002090 
> 0000000000000000 6d68732f7665642f 000000000000007f [ 2166.363158] 
> 3f40: 0000000000002090 000000000041c2e0 0000000000040e00 
> 0000007fea2d7f40 [ 2166.370951] 3f60: 0000000000000003 
> 0000007fea2d7f30 0000000000000400 0000007fea2d7f30 [ 2166.378744] 
> 3f80: 000000000040a068 0000000000000000 0000000000000000 
> 0000000000000012 [ 2166.386538] 3fa0: 0000000010c6fc48 
> 0000007fea2d9f60 0000007f96ed1de0 0000007fea2d7ed0 [ 2166.394331] 3fc0: 0000007f96ed1a08 00000000a0000000 000000000040a068 00000000000000dd [ 2166.402123] 3fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 2166.409920] [<ffffff8008082fb0>] el0_svc_naked+0x24/0x28 [ 2166.415296] Mem-Info:
> [ 2166.417587] active_anon:134711 inactive_anon:14 isolated_anon:0 [ 
> 2166.417587]  active_file:0 inactive_file:0 isolated_file:0 [ 
> 2166.417587]  unevictable:0 dirty:0 writeback:0 unstable:0 [ 
> 2166.417587]  slab_reclaimable:672 slab_unreclaimable:2655 [ 
> 2166.417587]  mapped:5875 shmem:43049 pagetables:684 bounce:0 [ 
> 2166.417587]  free:54146 free_pcp:178 free_cma:48514 [ 2166.450137] 
> Node 0 active_anon:538844kB inactive_anon:56kB active_file:0kB 
> inactive_file:0kB unevictable:0kB isolated(anon):0kB 
> isolated(file):0kB mapped:23500kB dirty:0kB writeback:0kB 
> shmem:172196kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB 
> writeback_tmp:0kB unstable:0kB all_unreclaimable? yes [ 2166.476905] 
> DMA free:216584kB min:22528kB low:28160kB high:33792kB 
> active_anon:538908kB inactive_anon:56kB active_file:0kB 
> inactive_file:0kB unevictable:0kB writepending:0kB present:819200kB 
> managed:778960kB mlocked:0kB kernel_stack:2736kB pagetables:2736kB 
> bounce:0kB free_pcp:712kB local_pcp:360kB free_cma:194056kB [ 
> 2166.504783] lowmem_reserve[]: 0 0 0 [ 2166.508283] DMA: 50*4kB (EHC) 
> 40*8kB (UEH) 14*16kB (UEH) 11*32kB (UEHC) 5*64kB (UE) 5*128kB (EHC) 
> 4*256kB (EHC) 3*512kB (UE) 5*1024kB (UEC) 3*2048kB (UE) 49*4096kB (EC) 
> = 216584kB [ 2166.524258] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB [ 2166.532675] 43049 total pagecache pages [ 2166.536510] 0 pages in swap cache [ 2166.539824] Swap cache stats: add 0, delete 0, find 0/0 [ 2166.545050] Free swap  = 0kB [ 2166.547911] Total swap = 0kB [ 2166.550800] 204800 pages RAM [ 2166.553679] 0 pages HighMem/MovableOnly [ 2166.557509] 10060 pages reserved [ 2166.560717] 65536 pages cma reserved
> [ 2166.564289] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name
> [ 2166.572814] [ 1231]     0  1231      821      407       5       3        0             0 sh
> [ 2166.581158] [ 1232]   102  1232    33662     1970      16       3        0             0 SDCMDCSvc
> [ 2166.590102] [ 1233]   101  1233     3271      666       6       3        0             0 SDCConfigChecke
> [ 2166.599568] [ 1234]   113  1234     1193      338       7       3        0             0 SDCSanitizer
> [ 2166.608781] [ 1237]   100  1237    21236     1792      11       4        0             0 SDCLogSvc
> [ 2166.617731] [ 1240]  1052  1240    25500     1766      12       3        0             0 SDCFilter2Svc_1
> [ 2166.627198] [ 1241]  1042  1241    25582     1803      14       3        0             0 SDCFilterSvc_10
> [ 2166.636665] [ 1242]  1041  1242    25581     1830      13       3        0             0 SDCFilter3Svc_1
> [ 2166.646129] [ 1243]  1044  1243    25582     1821      12       3        0             0 SDCFilter3Svc_1
> [ 2166.655591] [ 1244]  1046  1244    25502     1847      13       3        0             0 SDCFilter2Svc_1
> [ 2166.665059] [ 1245]  1035  1245    25451     1794      12       3        0             0 SDCFilterSvc_10
> [ 2166.674534] [ 1246]  1039  1246    25581     1811      13       3        0             0 SDCFilterSvc_10
> [ 2166.683996] [ 1247]  1055  1247    25499     1802      13       3        0             0 SDCFilter2Svc_1
> [ 2166.693458] [ 1248]  1063  1248    25514     1829      13       3        0             0 SDCFilterSvc_10
> [ 2166.702918] [ 1249]  1038  1249    25565     1808      12       3        0             0 SDCFilter3Svc_1
> [ 2166.712370] [ 1250]  1065  1250    25514     1785      13       4        0             0 SDCFilter3Svc_1
> [ 2166.721820] [ 1251]  1036  1251    25565     1808      13       3        0             0 SDCFilterSvc_10
> [ 2166.731286] [ 1252]  1059  1252    27089     3056      16       4        0             0 SDCFilter3Svc_1
> [ 2166.740749] [ 1253]  1057  1253    27089     3052      16       3        0             0 SDCFilterSvc_10
> [ 2166.750212] [ 1254]  1034  1254    23884      371       9       3        0             0 SDCInterDomainR
> [ 2166.759687] [ 1255]   103  1255    68688     3918      23       3        0             0 SDCEndpointSvc
> [ 2166.769077] [ 1256]  1048  1256    25453     1803      12       3        0             0 SDCFilterSvc_10
> [ 2166.778537] [ 1257]  1061  1257    25622     1832      13       3        0             0 SDCFilter2Svc_1
> [ 2166.788007] [ 1258]  1043  1258    25582     1794      12       3        0             0 SDCFilter2Svc_1
> [ 2166.797476] [ 1259]  1053  1259    25500     1849      12       3        0             0 SDCFilter3Svc_1
> [ 2166.806942] [ 1260]  1051  1260    25500     1799      13       3        0             0 SDCFilterSvc_10
> TACDS 0105 SDCMD[ 2166.816396] [ 1261]  1045  1261    25502     1840      13       3        0             0 SDCFilterSvc_10
> C   ERROR   SYST[ 2166.827229] [ 1262]  1047  1262    25502     1883      13       3        0             0 SDCFilter3Svc_1
> EM      Applicat[ 2166.838043] [ 1263]  1040  1263    25581     1795      13       3        0             0 SDCFilter2Svc_1
> ion signature ve[ 2166.848880] [ 1264]  1050  1264    25453     1786      13       3        0             0 SDCFilter3Svc_1
> rify failed. [ 2166.859702] [ 1265]  1056  1265    25499     1794      12       3        0             0 SDCFilter3Svc_1
> [ 2166.870250] [ 1266]  1054  1266    25499     1821      13       3        0             0 SDCFilterSvc_10
> [ 2166.879709] [ 1267]  1064  1267    25514     1794      12       4        0             0 SDCFilter2Svc_1
> 
> [ 2166.889156] [ 1268]  1037  1268    25565     1843      13       3        0             0 SDCFilter2Svc_1
> [ 2166.898764] [ 1269]  1058  1269    27089     3427      16       3        0             0 SDCFilter2Svc_1
> [ 2166.908230] [ 1270]  1033  1270    23883      698      10       3        0             0 SDCInterDomainT
> [ 2166.917702] [ 1271]  1049  1271    25453     1789      12       3        0             0 SDCFilter2Svc_1
> [ 2166.927169] [ 1272]  1060  1272    25622     1823      13       3        0             0 SDCFilterSvc_10
> [ 2166.936660] [ 1273]  1062  1273    25622     1863      13       3        0             0 SDCFilter3Svc_1
> [ 2166.946135] [ 1278]   105  1278     1185      310       6       3        0             0 SDCFileIntegrit
> [ 2166.955601] [ 2189]     0  2189   289638    79897     184       4        0             0 java
> [ 2166.964123] [ 2221]   101  2221        1        1       1       1        0             0 dmesg
> [ 2166.972727] Out of memory: Kill process 2189 (java) score 398 or 
> sacrifice child [ 2166.980178] Killed process 2189 (java) 
> total-vm:1158552kB, anon-rss:313340kB, file-rss:8kB, shmem-rss:6240kB
> 
> 
> 
> 


Re: JAVA API - Out of heap space

Posted by Steve Lawrence <sl...@apache.org>.
Daffodil is pretty memory hungry at the moment, especially when it comes
to compiling very large schemas like VMF. I can almost guarantee you
won't be able to compile that schema on 2GB of memory. For reference, I
usually give my JVM 8GB when compling the VMF schema, and I think
Daffodil uses a good chunk of that. This is something we plan to address
in furture releases, with 2.5.0 have some initial steps towards
improving this.

In the meantime, I've got a few suggestions that might help.

First, if you're using the master branch of Daffodil, don't do that.
It's currently broken and requires exponential amounts of memory, and
VMF being the size it is basically means it will never finish compiling.
So for now stick to the 2.4.0 release if you aren't already. This will
be addressed by the time 2.5.0 comes out.

Second, I would definitely reccommend compiling schemas off box with a
bunch of memory, saving the parser, and then reloading just the compiled
parser on box. You can save a parser with the Java API, but it might be
easier to just use the daffodil CLI, something like this:

  daffodil save-parser --schema path/to/schema.dfdl.xsdf parser.bin

That will compile your schema and save it to parser.bin, which can be
reloaded on box and should require signicantly less memory. I suspect
2GB should be plenty for VMF, but I haven't compiled the vmf schema in a
while to be sure.

With the CLI, you can use the -P option to use a saved parser, e.g.

  daffodil parse -P parser.bin file_to_parse

Or with the API you can use the comilers reload() method, e.g.:

  Compiler c = Daffodil.compiler();
  DataProcessor dp = c.reload(savedParserFile);

Last suggestion, the VMF schema on DI2E is pretty large because it
supports all the different message types (something like 100+). If you
only need to support a small subset of those, I woud recommend removing
any message elements you do not need. That will make schema compilation
quicker, require less memory, and make the saved parser much smaller as
well.

With just handful of messages supported and compiling off box, you
should be able to easily get VMF to run with less than 2GB of memory.

- Steve


On 11/21/19 3:56 PM, Rob Rose wrote:
> Hello all,
> 
>         I am trying to compile the DataProcessor using the Apache DFDL VMF schema from the DI2E site.  I am trying to run DFDL on a small embedded device with an ARM processor containing 2G of memory.  I tried setting the max and min heap space values for the JVM to several different values 128, 256, 512 and each time the device panicked and ran out of memory.  The very first time I tried to execute DFDL I did not set the min and max JVM heap values and received the Out of heap space exception.
> 
>       GIven the magnitude of the schema, is it even possible to run DFDL on such a limited device ?
> 
>       Can I precompile the parser and load it onto the embedded device prior to executing DFDL? 
> 
>      Any suggestions are greatly appreciated!
> 
>    Here is some log info:
> 
> 
>  /usr/lib/jvm/image-aarch64/bin/java -jar MessageTestApp.jar vmb vmf.dfdl.xsd
> T
> imestamp prior to entering COMPILE SCHEMA: 1574365652553ms
> 
> 
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> 	at org.apache.daffodil.dsom.TermFactory$.apply(ModelGroup.scala:11[ 1554.981162] audit: type=1400 audit(1574365826.688:1601): avc:  denied  { getsched } for  pid=1910 comm="java" scontext=system_u:system_r:busybox_t tcontext=system_u:system_r:busybox_t tclass=process permissive=1
> 6)
> 	at org.apache.daffodil.dsom[ 1555.003192] audit: type=1400 audit(1574365826.708:1602): avc:  denied  { remove_name } for  pid=1910 comm="java" name="1910" dev="rootfs" ino=21993 scontext=system_u:system_r:busybox_t tcontext=system_u:object_r:tmp_t tclass=dir permissive=1
> .GroupDefLike.$a[ 1555.025259] audit: type=1400 audit(1574365826.708:1603): avc:  denied  { unlink } for  pid=1910 comm="java" name="1910" dev="rootfs" ino=21993 scontext=system_u:system_r:busybox_t tcontext=system_u:object_r:tmp_t tclass=file permissive=1
> nonfun$groupMembers$2(GroupDef.scala:77)
> 	at org.apache.daffodil.dsom.GroupDefLike$$Lambda$471/0x0000007f5eb0f040.apply(Unknown Source)
> 	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
> 	at scala.collection.TraversableLike$$Lambda$38/0x0000007f5f7fa040.apply(Unknown Source)
> 	at scala.collection.immutable.List.foreach(List.scala:389)
> 	at scala.collection.TraversableLike.map(TraversableLike.scala:234)
> 	at scala.collection.TraversableLike.map$(TraversableLike.scala:227)
> 	at scala.collection.immutable.List.map(List.scala:295)
> 	at org.apache.daffodil.dsom.GroupDefLike.$anonfun$groupMembers$1(GroupDef.scala:75)
> 	at org.apache.daffodil.dsom.GroupDefLike$$Lambda$467/0x0000007f5eb06040.apply(Unknown Source)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:594)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:594)
> 	at org.apache.daffodil.dsom.GroupDefLike.groupMembers(GroupDef.scala:72)
> 	at org.apache.daffodil.dsom.GroupDefLike.groupMembers$(GroupDef.scala:72)
> 	at org.apache.daffodil.dsom.Sequence.groupMembers$lzycompute(SequenceGroup.scala:320)
> 	at org.apache.daffodil.dsom.Sequence.groupMembers(SequenceGroup.scala:320)
> 	at org.apache.daffodil.dsom.ModelGroup.$anonfun$elementChildren$1(ModelGroup.scala:186)
> 	at org.apache.daffodil.dsom.ModelGroup$$Lambda$466/0x0000007f5eb05040.apply(Unknown Source)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny$lzycompute(OOLAG.scala:547)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.valueAsAny(OOLAG.scala:544)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value$lzycompute(OOLAG.scala:594)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValue.value(OOLAG.scala:594)
> 	at org.apache.daffodil.dsom.ModelGroup.elementChildren$lzycompute(ModelGroup.scala:185)
> 	at org.apache.daffodil.dsom.ModelGroup.elementChildren(ModelGroup.scala:185)
> 	at org.apache.daffodil.dsom.ElementBase.$anonfun$elementChildren$1(ElementBase.scala:612)
> 	at org.apache.daffodil.dsom.ElementBase$$Lambda$457/0x0000007f5ea4e840.apply(Unknown Source)
> 	at org.apache.daffodil.oolag.OOLAG$OOLAGValueBase.liftedTree1$1(OOLAG.scala:549)
> # 
> 
> 
>  /usr/lib/jvm/image-aarch64/bin/java -Xmx256m -jar MessageTestApp.jar vmb vmf.dfdl.xsd
> Timestamp prior to entering COMPILE SCHEMA: 1574366380842ms
>  PERF_SYS    System load and free memory  [System=0.7% User=15.1% IRQ/IO=0.0% Idle=84.2%; Uptime  20:00:13 up 35 min,  load average: 1.05, 0.62, 0.40; Mem tot=778960,used=546256,free=232704]
> TACDS 0101 CFG_CHKR INFO    PERF_SYS    Flash filesystem usage  [18%]
> [ 2166.210992] dmesg invoked oom-killer: gfp_mask=0x16080c0(GFP_KERNEL|__GFP_ZERO|__GFP_NOTRACK), nodemask=(null),  order=0, oom_score_adj=0
> [ 2166.223381] CPU: 1 PID: 2221 Comm: dmesg Tainted: G           O    4.14.0-okl4-hyp #11
> [ 2166.231269] Hardware name: ZynqMP Ultrazed Split1 Hybrid Linux Cell (OKL4 Guest) (DT)
> [ 2166.239060] Call trace:
> [ 2166.241509] [<ffffff8008088888>] dump_backtrace+0x0/0x370
> [ 2166.246881] [<ffffff8008088c0c>] show_stack+0x14/0x20
> [ 2166.251912] [<ffffff800859fea8>] dump_stack+0x98/0xb8
> [ 2166.256941] [<ffffff8008134a2c>] dump_header.isra.6+0x7c/0x1a8
> [ 2166.262746] [<ffffff80081340bc>] oom_kill_process+0x2cc/0x518
> [ 2166.268464] [<ffffff8008134634>] out_of_memory+0xbc/0x3d0
> [ 2166.273840] [<ffffff80081394dc>] __alloc_pages_nodemask+0x9fc/0xa78
> [ 2166.280078] [<ffffff800815bd88>] __pte_alloc+0x30/0x148
> [ 2166.285279] [<ffffff8008167f14>] move_page_tables+0x5ac/0x678
> [ 2166.290999] [<ffffff80081973c0>] shift_arg_pages+0x88/0x198
> [ 2166.296544] [<ffffff8008197694>] setup_arg_pages+0x1c4/0x1e0
> [ 2166.302181] [<ffffff80081e4b6c>] load_elf_binary+0x3cc/0x1070
> [ 2166.307896] [<ffffff8008198b6c>] search_binary_handler+0xc4/0x270
> [ 2166.313962] [<ffffff800819951c>] do_execveat_common.isra.13+0x4b4/0x5e0
> [ 2166.320546] [<ffffff8008199818>] SyS_execve+0x38/0x48
> [ 2166.325573] Exception stack(0xffffff800b6a3ec0 to 0xffffff800b6a4000)
> [ 2166.331985] 3ec0: 000000000040a068 0000007fea2d7f30 0000007fea2da568 0000000000000000
> [ 2166.339777] 3ee0: 0000000000000001 000000000040aab5 0000007fea2d9f1c 0000000000000000
> [ 2166.347571] 3f00: 00000000000000dd 0000007fea2d9f30 0101010101010101 0000000000000018
> [ 2166.355364] 3f20: 0000000000002090 0000000000000000 6d68732f7665642f 000000000000007f
> [ 2166.363158] 3f40: 0000000000002090 000000000041c2e0 0000000000040e00 0000007fea2d7f40
> [ 2166.370951] 3f60: 0000000000000003 0000007fea2d7f30 0000000000000400 0000007fea2d7f30
> [ 2166.378744] 3f80: 000000000040a068 0000000000000000 0000000000000000 0000000000000012
> [ 2166.386538] 3fa0: 0000000010c6fc48 0000007fea2d9f60 0000007f96ed1de0 0000007fea2d7ed0
> [ 2166.394331] 3fc0: 0000007f96ed1a08 00000000a0000000 000000000040a068 00000000000000dd
> [ 2166.402123] 3fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> [ 2166.409920] [<ffffff8008082fb0>] el0_svc_naked+0x24/0x28
> [ 2166.415296] Mem-Info:
> [ 2166.417587] active_anon:134711 inactive_anon:14 isolated_anon:0
> [ 2166.417587]  active_file:0 inactive_file:0 isolated_file:0
> [ 2166.417587]  unevictable:0 dirty:0 writeback:0 unstable:0
> [ 2166.417587]  slab_reclaimable:672 slab_unreclaimable:2655
> [ 2166.417587]  mapped:5875 shmem:43049 pagetables:684 bounce:0
> [ 2166.417587]  free:54146 free_pcp:178 free_cma:48514
> [ 2166.450137] Node 0 active_anon:538844kB inactive_anon:56kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:23500kB dirty:0kB writeback:0kB shmem:172196kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB writeback_tmp:0kB unstable:0kB all_unreclaimable? yes
> [ 2166.476905] DMA free:216584kB min:22528kB low:28160kB high:33792kB active_anon:538908kB inactive_anon:56kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:819200kB managed:778960kB mlocked:0kB kernel_stack:2736kB pagetables:2736kB bounce:0kB free_pcp:712kB local_pcp:360kB free_cma:194056kB
> [ 2166.504783] lowmem_reserve[]: 0 0 0
> [ 2166.508283] DMA: 50*4kB (EHC) 40*8kB (UEH) 14*16kB (UEH) 11*32kB (UEHC) 5*64kB (UE) 5*128kB (EHC) 4*256kB (EHC) 3*512kB (UE) 5*1024kB (UEC) 3*2048kB (UE) 49*4096kB (EC) = 216584kB
> [ 2166.524258] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
> [ 2166.532675] 43049 total pagecache pages
> [ 2166.536510] 0 pages in swap cache
> [ 2166.539824] Swap cache stats: add 0, delete 0, find 0/0
> [ 2166.545050] Free swap  = 0kB
> [ 2166.547911] Total swap = 0kB
> [ 2166.550800] 204800 pages RAM
> [ 2166.553679] 0 pages HighMem/MovableOnly
> [ 2166.557509] 10060 pages reserved
> [ 2166.560717] 65536 pages cma reserved
> [ 2166.564289] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name
> [ 2166.572814] [ 1231]     0  1231      821      407       5       3        0             0 sh
> [ 2166.581158] [ 1232]   102  1232    33662     1970      16       3        0             0 SDCMDCSvc
> [ 2166.590102] [ 1233]   101  1233     3271      666       6       3        0             0 SDCConfigChecke
> [ 2166.599568] [ 1234]   113  1234     1193      338       7       3        0             0 SDCSanitizer
> [ 2166.608781] [ 1237]   100  1237    21236     1792      11       4        0             0 SDCLogSvc
> [ 2166.617731] [ 1240]  1052  1240    25500     1766      12       3        0             0 SDCFilter2Svc_1
> [ 2166.627198] [ 1241]  1042  1241    25582     1803      14       3        0             0 SDCFilterSvc_10
> [ 2166.636665] [ 1242]  1041  1242    25581     1830      13       3        0             0 SDCFilter3Svc_1
> [ 2166.646129] [ 1243]  1044  1243    25582     1821      12       3        0             0 SDCFilter3Svc_1
> [ 2166.655591] [ 1244]  1046  1244    25502     1847      13       3        0             0 SDCFilter2Svc_1
> [ 2166.665059] [ 1245]  1035  1245    25451     1794      12       3        0             0 SDCFilterSvc_10
> [ 2166.674534] [ 1246]  1039  1246    25581     1811      13       3        0             0 SDCFilterSvc_10
> [ 2166.683996] [ 1247]  1055  1247    25499     1802      13       3        0             0 SDCFilter2Svc_1
> [ 2166.693458] [ 1248]  1063  1248    25514     1829      13       3        0             0 SDCFilterSvc_10
> [ 2166.702918] [ 1249]  1038  1249    25565     1808      12       3        0             0 SDCFilter3Svc_1
> [ 2166.712370] [ 1250]  1065  1250    25514     1785      13       4        0             0 SDCFilter3Svc_1
> [ 2166.721820] [ 1251]  1036  1251    25565     1808      13       3        0             0 SDCFilterSvc_10
> [ 2166.731286] [ 1252]  1059  1252    27089     3056      16       4        0             0 SDCFilter3Svc_1
> [ 2166.740749] [ 1253]  1057  1253    27089     3052      16       3        0             0 SDCFilterSvc_10
> [ 2166.750212] [ 1254]  1034  1254    23884      371       9       3        0             0 SDCInterDomainR
> [ 2166.759687] [ 1255]   103  1255    68688     3918      23       3        0             0 SDCEndpointSvc
> [ 2166.769077] [ 1256]  1048  1256    25453     1803      12       3        0             0 SDCFilterSvc_10
> [ 2166.778537] [ 1257]  1061  1257    25622     1832      13       3        0             0 SDCFilter2Svc_1
> [ 2166.788007] [ 1258]  1043  1258    25582     1794      12       3        0             0 SDCFilter2Svc_1
> [ 2166.797476] [ 1259]  1053  1259    25500     1849      12       3        0             0 SDCFilter3Svc_1
> [ 2166.806942] [ 1260]  1051  1260    25500     1799      13       3        0             0 SDCFilterSvc_10
> TACDS 0105 SDCMD[ 2166.816396] [ 1261]  1045  1261    25502     1840      13       3        0             0 SDCFilterSvc_10
> C   ERROR   SYST[ 2166.827229] [ 1262]  1047  1262    25502     1883      13       3        0             0 SDCFilter3Svc_1
> EM      Applicat[ 2166.838043] [ 1263]  1040  1263    25581     1795      13       3        0             0 SDCFilter2Svc_1
> ion signature ve[ 2166.848880] [ 1264]  1050  1264    25453     1786      13       3        0             0 SDCFilter3Svc_1
> rify failed. [ 2166.859702] [ 1265]  1056  1265    25499     1794      12       3        0             0 SDCFilter3Svc_1
> [ 2166.870250] [ 1266]  1054  1266    25499     1821      13       3        0             0 SDCFilterSvc_10
> [ 2166.879709] [ 1267]  1064  1267    25514     1794      12       4        0             0 SDCFilter2Svc_1
> 
> [ 2166.889156] [ 1268]  1037  1268    25565     1843      13       3        0             0 SDCFilter2Svc_1
> [ 2166.898764] [ 1269]  1058  1269    27089     3427      16       3        0             0 SDCFilter2Svc_1
> [ 2166.908230] [ 1270]  1033  1270    23883      698      10       3        0             0 SDCInterDomainT
> [ 2166.917702] [ 1271]  1049  1271    25453     1789      12       3        0             0 SDCFilter2Svc_1
> [ 2166.927169] [ 1272]  1060  1272    25622     1823      13       3        0             0 SDCFilterSvc_10
> [ 2166.936660] [ 1273]  1062  1273    25622     1863      13       3        0             0 SDCFilter3Svc_1
> [ 2166.946135] [ 1278]   105  1278     1185      310       6       3        0             0 SDCFileIntegrit
> [ 2166.955601] [ 2189]     0  2189   289638    79897     184       4        0             0 java
> [ 2166.964123] [ 2221]   101  2221        1        1       1       1        0             0 dmesg
> [ 2166.972727] Out of memory: Kill process 2189 (java) score 398 or sacrifice child
> [ 2166.980178] Killed process 2189 (java) total-vm:1158552kB, anon-rss:313340kB, file-rss:8kB, shmem-rss:6240kB
> 
> 
> 
>