[ 
https://issues.apache.org/jira/browse/IGNITE-21637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ilya Shishkov updated IGNITE-21637:
-----------------------------------
    Description: 
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} [1]. 
In this place we can get incorrect value when {{trackingIdx}} is more than 
{{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95


  was:
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places {{Random2LruPageEvictionTracker#touchPage}} [1] 
where we can get incorrect value when {{trackingIdx}} is more than 
{{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



> Integer overflow in page eviction trackers
> ------------------------------------------
>
>                 Key: IGNITE-21637
>                 URL: https://issues.apache.org/jira/browse/IGNITE-21637
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Ilya Shishkov
>            Priority: Critical
>              Labels: ise
>
> Ignite Node can fail with segmentation violation because of integer overflow 
> when eviction policy is used and large amount pages is allocated.
> One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} 
> [1]. In this place we can get incorrect value when {{trackingIdx}} is more 
> than {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to