-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"NetCDF: HDF error" in mobile network scenarios #43
Comments
Hi @emanuelegiona, WOSS 1.12.3 fixes some issues with coordinates conversions, as reported in this changelog.
Thanks regards |
Thanks @MetalKnight for the quick reply. If anything, the outcome has worsened; indeed, when executing simulations in the completely static scenario (characterized by fixed roaming node position and no "high-mobility" WOSS configuration), the "NetCDF: HDF error" is thrown, whereas it was working with WOSS 1.12.0 before. Please find a simulation script acting as Minimum Reproducible Example at this link, as well as the log files you requested at steps 2 and 3:
|
thanks @emanuelegiona we will check and get back. In the meanwhile could you please: |
Thanks for looking into it, your help is much appreciated. Below you can find the additional information you asked for:
Please find attached GDB backtrace files for scenarios in which the error occurs: P.S. For the sake of complete transparency, the following code changes have been applied to the MRE: a new CLI option
|
related to Unidata/netcdf-cxx4#127 |
I see you encountered this very same error before and reported on it as well; apologies for not adding to that open issue myself. However, is there any temporary known workaround you are using and, in case there is none, would introducing a throttling mechanism be helpful, in your opinion?
In both solutions, the Additionally, solution 1 depends on an arbitrary limit of NetCDF calls, that you estimated in the range of 500k: this might be system-dependent. Solution 2 instead does not require the extra effort needed for the previous one, also benefiting the entire WOSS codebase for a more robust interaction with NetCDF. |
@emanuelegiona the problem is that we don't know:
we don't know the reason why the library is throwing an HDF error. First option here is to try to build the latest of HDF5 and NetCDF4, meaning
and finally check if the issue is still present. By the way, I encourage you to move to WOSS 1.12.5 which handles coordinates conversion properly. |
Hi @emanuelegiona on my ubuntu 22.04 machine with gcc 11.4.0 and the recommended libraries (WOSS, woss-ns3, NetCDF4, HDF5, NetCF4C++ etc...) and using your example (after having it tweaked with Uan standard PHY and with no cmdline args) |
@emanuelegiona I can't seem to reproduce the issue with:
How to install.
relaunch the test. Let me know your results. |
Upgrading such libraries appears to be fixing the crashes. My tests did not end up crashing in both cases of roaming node and no-high-mobility configuration (identical setup as your execution with no further CLI arguments) as well as roaming node and high-mobility configuration. Thanks for looking into it. P.S. On an unrelated note: is there any way to turn off |
Thanks for confirming this, I will close the issue. I'll see what I can do in the next WOSS release. |
Dear colleagues,
I am working on mobile network simulation scenarios leveraging WOSS through this integration module.
Simulation scenario
Using the example as base, I modeled my scenario equipping all nodes with
WossWaypointMobilityModel
, with a set of 4 nodes having fixed location and a single node roaming through the network.Fixed nodes location example (CSV)
Roaming node waypoints file example (CSV):
Geodesic coordinates from such files are fed to the mobility model via the
CreateVectorFromCoordZ()
after having createdwoss::CoordZ
objects from related fields.Depth is passed both to the
CoordZ
constructor and via theCoordZ::setDepth()
function after each object creation.WOSS configuration
According to advices regarding "high mobility" scenarios (1)(2), we can devise the following WOSS configurations:
ResDb + no memory optimization
WossHelper
attributesResDbFilePath
andResDbFileName
are properly defined, and theWossPropModel
instance used forWossChannel
is created with default attribute values.No ResDb + memory optimization
Following previously mentioned advices,
ResDbFilePath
andResDbFileName
attributes ofWossHelper
are left with default values, whereasWossPropModel
'sMemoryOptimization
attribute is set totrue
.Outcome: error not appearing
Upon executing my simulation, I noticed the "NetCDF: HDF error" does not appear only if the network is completely static and configured accordingly: i.e. WOSS configuration 1, with the roaming node having just 2 waypoints, one at time 0 and the other at time N, both with having the same position (e.g. waypoint 0), effectively making it a static node as well.
Outcome: error consistently appearing
The error instead consistently shows up whenever the following simulation setups are executed:
Activating all WOSS-related debug options via the
WossHelper
interface does not shed more light on this error, which is only accompanied by the exception source "ncVar.cpp line:1626".Simulations during which the error occurs actually run for some time first, and then crash upon this error appearing.
In order to rule out possible invalid locations of the roaming node, the "effectively static node" setup has been tested across multiple different locations for both WOSS configuration 1 and 2. WOSS configuration 2 was thus identified as problematic, whereas WOSS configuration 1 did not pose issues in the "effectively static node" case.
System setup
All libraries are installed as per instructions, passing all tests.
The text was updated successfully, but these errors were encountered: