ADIOS2 icon indicating copy to clipboard operation
ADIOS2 copied to clipboard

Latest bpls shows wrong size of an array

Open zhihuizou opened this issue 11 months ago • 10 comments

Describe the bug The bpls in the latest master branch shows that the faces array has 18446744073709551614 entries as shown in the following screenshot, which is wrong. Image

The latest released version of bpls (Version 2.10.2) gives the right information as follows,

Image

To Reproduce

  1. uzip the attached meshdb.zip file
  2. bpls -lDa meshdb > output.txt
  3. open output.txt file and you will see the screenshot I posted above. meshdb.zip

zhihuizou avatar Mar 26 '25 20:03 zhihuizou

Hi, I won't be able to look at this problem this week but can you please share the xxx.bp/m* files so that we can debug it?

pnorbert avatar Mar 26 '25 20:03 pnorbert

Hi, I won't be able to look at this problem this week but can you please share the xxx.bp/m* files so that we can debug it?

Hi, Thanks for your quick response. I just attached the database for you to debug. Thanks.

zhihuizou avatar Mar 26 '25 21:03 zhihuizou

Interesting, these are coming in as one dimensional with a dimension value of -2. We should probably be throwing an error on the writer side on being given a negative size value but instead we are calculating the ridiculously large size. Can you check the values that you're providing for the global array size? Dims = 1 ,BlockCount = 1 ,DBCount = 1 ,Shape = 0x141817938 -2 ,Count = 0x141817940 24973 ,Offset = NULL,DataBlockLocation = 0x141817948 389856 ,MinMax = 0x141817950 Actually, the Offset is NULL, so maybe you're not intending to have a global array. For just a local array, Shape shouldn't be supplied.

eisenhauer avatar Mar 26 '25 23:03 eisenhauer

it's probably a joined array then

On Thu, Mar 27, 2025, 12:43 AM Greg Eisenhauer @.***> wrote:

Interesting, these are coming in as one dimensional with a dimension value of -2. We should probably be throwing an error on the writer side on being given a negative size value but instead we are calculating the ridiculously large size. Can you check the values that you're providing for the global array size? Dims = 1 ,BlockCount = 1 ,DBCount = 1 ,Shape = 0x141817938 -2 ,Count = 0x141817940 24973 ,Offset = NULL,DataBlockLocation = 0x141817948 389856 ,MinMax = 0x141817950

— Reply to this email directly, view it on GitHub https://github.com/ornladios/ADIOS2/issues/4493#issuecomment-2756009689, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYYYLJRTOMOKYU75UXOKZ32WM3TLAVCNFSM6AAAAABZ3JJPQSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONJWGAYDSNRYHE . You are receiving this because you commented.Message ID: @.***> [image: eisenhauer]eisenhauer left a comment (ornladios/ADIOS2#4493) https://github.com/ornladios/ADIOS2/issues/4493#issuecomment-2756009689

Interesting, these are coming in as one dimensional with a dimension value of -2. We should probably be throwing an error on the writer side on being given a negative size value but instead we are calculating the ridiculously large size. Can you check the values that you're providing for the global array size? Dims = 1 ,BlockCount = 1 ,DBCount = 1 ,Shape = 0x141817938 -2 ,Count = 0x141817940 24973 ,Offset = NULL,DataBlockLocation = 0x141817948 389856 ,MinMax = 0x141817950

— Reply to this email directly, view it on GitHub https://github.com/ornladios/ADIOS2/issues/4493#issuecomment-2756009689, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYYYLJRTOMOKYU75UXOKZ32WM3TLAVCNFSM6AAAAABZ3JJPQSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONJWGAYDSNRYHE . You are receiving this because you commented.Message ID: @.***>

pnorbert avatar Mar 26 '25 23:03 pnorbert

Ah, that makes sense. Then maybe just an output problem in bpls...

eisenhauer avatar Mar 27 '25 00:03 eisenhauer

So, yes, looks like just a bpls display problem. Trying to sort how best to fix, but will get an update into Github master soon.

eisenhauer avatar Mar 27 '25 15:03 eisenhauer

This was a BP5 issue, not present in BP4, so earlier versions of ADIOS didn't demonstrate. It is now fixed in ADIOS master and will be included in the next major release.

eisenhauer avatar Mar 28 '25 12:03 eisenhauer

@eisenhauer @pnorbert Thanks very much for your quick fix. Do you have an estimate when the next major release will be delivered? Thanks.

zhihuizou avatar Mar 28 '25 14:03 zhihuizou

@eisenhauer @pnorbert The one line change does not fix the problem. In fact, the output is now totally wrong. As shown blow, the block ranges and the number of elements are wrong. They become even random as each run will give different numbers. I am concerned this one line change will even impact the use of the database which is not just a output issue anymore. Please refer to the second screenshot I posted above for what is right. Thanks.

Image

zhihuizou avatar Mar 28 '25 16:03 zhihuizou

OK, there's another PR waiting for @pnorbert to review. It backs out this change and makes one more localized to bpls.

eisenhauer avatar Apr 01 '25 16:04 eisenhauer