Menu

#78 addresse_cache

v1.0.0
open
nobody
1
2026-07-02
2021-05-07
Anonymous
No

In my case bacwi can easily populate a address_cache file of 780 addresses.

But i just found a bug , were if "addresse_cache" file is populated with more than 255 addresses, the first 255 ones are usable by other executable files . but the 256th and more addresses are not reachable .

Furthermore Wire-shark proved me that for these "higher" addresses , the other exe issue a "who-is" query even is the addressee was in the "address_cache" , and ignore the who-is answer, as-if the buffer of address was full and then issue this error.

C:\bacnet\bacnet-tools>bacepics 5426
Error: Unable to bind to 5426 after waiting 10 seconds.
Error: APDU Timeout! (11s)

Workaround for me was to remove the adresses I dont need in the addresse_cache to keep it smaller than 256 items , But this might not work for every body.

J-F

Discussion

  • Steve Karg

    Steve Karg - 2023-06-06

    The address cache is limited, at the moment, by compile time MAX_ADDRESS_CACHE constant which defaults to 255. Perhaps for the command line applications it would be better of the cache was a dynamic cache.

     
  • Anonymous

    Anonymous - 2026-07-02

    hi Steve. i 've hit that same issue on V1.3.3 (not sure if this was ever improved/fix) but i can confirm that using a powershell script to create a parallel FULL (and independant) address cache file, and dynamically fill the address_cache to make sure its always under that 255 limits, does work for now. Thanks much

     

Anonymous
Anonymous

Add attachments
Cancel