harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rustem Rafikov (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-5049) [drlvm][gc_gen][large_pages] arithmetic overflow when calculating available hugepages mem size
Date Tue, 30 Oct 2007 18:21:50 GMT
[drlvm][gc_gen][large_pages] arithmetic overflow when calculating available hugepages mem size
----------------------------------------------------------------------------------------------

                 Key: HARMONY-5049
                 URL: https://issues.apache.org/jira/browse/HARMONY-5049
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: drlvm 32-bit, linux 
            Reporter: Rustem Rafikov
         Attachments: lpdetect.patch

parse_proc_meminfo:
gc_gen uses size_t type for proc_huge_pages_free and proc_huge_page_size to store values when
 parsing /proc/meminfo which is 32-bits on linux32.
But an user can reserve such number of large pages that proc_huge_page_size * proc_huge_pages_free
doesn't fit to 32-bit. As result: ""GC large_page: Not enough free large pages, some of reserved
space is already busy."

To reproduce:
# echo 2500 > /proc/sys/vm/nr_hugepages
# mount none /mnt/huge -t hugetlbfs
# chmod 777 /mnt/huge
$ ./java -Xms1500M -Xms1500M  -XX:gc.use_large_page=/mnt/huge Hello
[...]
GC large_page: Not enough free large pages, some of reserved space is already busy.
terminate called after throwing an instance of 'std::length_error'
  what():  basic_string::reserve
[...]




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message