[jira] [Updated] (PROTON-892) pn_data_t capacity does not grow above 32768 items

2015-08-20 Thread Alan Conway (JIRA)

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

Alan Conway updated PROTON-892:
---
Fix Version/s: (was: 0.10.1)
   0.11

 pn_data_t capacity does not grow above 32768 items
 --

 Key: PROTON-892
 URL: https://issues.apache.org/jira/browse/PROTON-892
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Affects Versions: 0.9, 0.9.1, 0.10
Reporter: Michael
Assignee: Alan Conway
 Fix For: 0.11

 Attachments: 0003-data-capacity.patch


 pn_data_grow() function looses half of the available data capacity.
 The following happens: when data overflows, pn_data_grow is invoked. It 
 increases data capacity 2 times and reallocates nodes array. Data capacity is 
 represented as uint16_t type and so when capacity reaches 32768 items, the 
 result of multiplication by 2 becomes 0. This makes realloc return null and 
 crashes the program.



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


[jira] [Updated] (PROTON-892) pn_data_t capacity does not grow above 32768 items

2015-05-28 Thread Michael (JIRA)

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

Michael updated PROTON-892:
---
Attachment: 0003-data-capacity.patch

Preliminary patch to alleviate the issue. When data capacity rreaches 32768 
nodes, data grows is performed in 1024 items steps

 pn_data_t capacity does not grow above 32768 items
 --

 Key: PROTON-892
 URL: https://issues.apache.org/jira/browse/PROTON-892
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-c
Affects Versions: 0.9, 0.9.1
Reporter: Michael
Priority: Minor
 Attachments: 0003-data-capacity.patch


 pn_data_grow() function looses half of the available data capacity.
 The following happens: when data overflows, pn_data_grow is invoked. It 
 increases data capacity 2 times and reallocates nodes array. Data capacity is 
 represented as uint16_t type and so when capacity reaches 32768 items, the 
 result of multiplication by 2 becomes 0. This makes realloc return null and 
 crashes the program.



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