[jira] [Updated] (MESOS-3518) Assertions that compare doubles with == can fail due to rounding issues and can crash the master.

2015-11-24 Thread Marco Massenzio (JIRA)

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

Marco Massenzio updated MESOS-3518:
---
Description: 
mesos-0.23.0/src/common/resources.cpp has
  CHECK(result.cpus() == cpus() &&
result.mem() == mem() &&
result.disk() == disk() &&
result.ports() == ports());
at around line 869. Sometimes, rounding errors can trigger this check to fail 
because of the cpus() part. One should take the absolute value of the 
difference and compare with a small value to avoid this problem. The same 
problem could be true in various places, so far I have not yet checked.
Seems to be present in all versions I checked. I could trigger this by asking 
for some resource value of {{cpus( *):0.2}}

  was:
mesos-0.23.0/src/common/resources.cpp has
  CHECK(result.cpus() == cpus() &&
result.mem() == mem() &&
result.disk() == disk() &&
result.ports() == ports());
at around line 869. Sometimes, rounding errors can trigger this check to fail 
because of the cpus() part. One should take the absolute value of the 
difference and compare with a small value to avoid this problem. The same 
problem could be true in various places, so far I have not yet checked.
Seems to be present in all versions I checked. I could trigger this by asking 
for some resource value of {{cpus(*):0.2}}


> Assertions that compare doubles with == can fail due to rounding issues and 
> can crash the master.
> -
>
> Key: MESOS-3518
> URL: https://issues.apache.org/jira/browse/MESOS-3518
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.23.0, 0.23.1, 0.24.0, 0.24.1
>Reporter: Max Neunhöffer
>Priority: Minor
>
> mesos-0.23.0/src/common/resources.cpp has
>   CHECK(result.cpus() == cpus() &&
> result.mem() == mem() &&
> result.disk() == disk() &&
> result.ports() == ports());
> at around line 869. Sometimes, rounding errors can trigger this check to fail 
> because of the cpus() part. One should take the absolute value of the 
> difference and compare with a small value to avoid this problem. The same 
> problem could be true in various places, so far I have not yet checked.
> Seems to be present in all versions I checked. I could trigger this by asking 
> for some resource value of {{cpus( *):0.2}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (MESOS-3518) Assertions that compare doubles with == can fail due to rounding issues and can crash the master.

2015-11-24 Thread Marco Massenzio (JIRA)

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

Marco Massenzio updated MESOS-3518:
---
Description: 
mesos-0.23.0/src/common/resources.cpp has
  CHECK(result.cpus() == cpus() &&
result.mem() == mem() &&
result.disk() == disk() &&
result.ports() == ports());
at around line 869. Sometimes, rounding errors can trigger this check to fail 
because of the cpus() part. One should take the absolute value of the 
difference and compare with a small value to avoid this problem. The same 
problem could be true in various places, so far I have not yet checked.
Seems to be present in all versions I checked. I could trigger this by asking 
for some resource value of {{cpus(*):0.2}}

  was:
mesos-0.23.0/src/common/resources.cpp has
  CHECK(result.cpus() == cpus() &&
result.mem() == mem() &&
result.disk() == disk() &&
result.ports() == ports());
at around line 869. Sometimes, rounding errors can trigger this check to fail 
because of the cpus() part. One should take the absolute value of the 
difference and compare with a small value to avoid this problem. The same 
problem could be true in various places, so far I have not yet checked.
Seems to be present in all versions I checked. I could trigger this by asking 
for some resource value of cpus(*):0.2


> Assertions that compare doubles with == can fail due to rounding issues and 
> can crash the master.
> -
>
> Key: MESOS-3518
> URL: https://issues.apache.org/jira/browse/MESOS-3518
> Project: Mesos
>  Issue Type: Bug
>  Components: master
>Affects Versions: 0.23.0, 0.23.1, 0.24.0, 0.24.1
>Reporter: Max Neunhöffer
>Priority: Minor
>
> mesos-0.23.0/src/common/resources.cpp has
>   CHECK(result.cpus() == cpus() &&
> result.mem() == mem() &&
> result.disk() == disk() &&
> result.ports() == ports());
> at around line 869. Sometimes, rounding errors can trigger this check to fail 
> because of the cpus() part. One should take the absolute value of the 
> difference and compare with a small value to avoid this problem. The same 
> problem could be true in various places, so far I have not yet checked.
> Seems to be present in all versions I checked. I could trigger this by asking 
> for some resource value of {{cpus(*):0.2}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)