-
Notifications
You must be signed in to change notification settings - Fork 10
Closed
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is needed
Description
The following pipeline fails in native code during the call to execute. But the same pipeline works when called using pdal tool from command line.
Pipeline:
{
"type": "readers.stac",
"filename": "https://usgs-lidar-stac.s3-us-west-2.amazonaws.com/ept/item_collection.json",
"reader_args": [
{
"type": "readers.ept",
"bounds": "([-71.1356958302804, -71.1354910531836], [42.4274301810906, 42.4277093379612], [0, 30])/EPSG:4326",
"threads": "3"
}
],
"item_ids": ["MA_CentralEastern_1_2021", "MA_CentralEastern_2_2021"],
"properties": {
"pc:type": ["lidar","sonar"],
"pc:encoding": "ept"
},
"asset_names": ["ept.json"]
},
{
"type": "filters.range",
"limits": "Classification[0:15]"
},
{
"type": "writers.text",
"format": "csv",
"order": "X,Y,Z",
"keep_unspecified": "false",
"filename": "output.csv"
} }
The result in running it from Java is the following failure in native code:
Problematic frame:
C [libpdalcpp.16.3.0.dylib+0x2dafde] pdal::connector::Connector::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const+0x1e
Here is the stack call:
C [libpdalcpp.16.3.0.dylib+0x2dafde] pdal::connector::Connector::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const+0x1e
C [libpdalcpp.16.3.0.dylib+0x2db165] pdal::connector::Connector::getJson(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const+0x2f
C [libpdalcpp.16.3.0.dylib+0x161e76] pdal::EptReader::overlaps()+0x154
C [libpdalcpp.16.3.0.dylib+0x162777] pdal::EptReader::ready(pdal::BasePointTable&)+0x1d9
C [libpdalcpp.16.3.0.dylib+0x291933] pdal::Stage::execute(pdal::BasePointTable&, std::__1::set<std::__1::shared_ptr<pdal::PointView>, pdal::PointViewLess, std::__1::allocator<std::__1::shared_ptr<pdal::PointView> > >&)+0x1c1
C [libpdalcpp.16.3.0.dylib+0x290dae] pdal::Stage::execute(pdal::BasePointTable&)+0x2ac
C [libpdalcpp.16.3.0.dylib+0x26fde4] pdal::PipelineManager::execute(pdal::ExecMode)+0x9c
C [libpdalcpp.16.3.0.dylib+0x26ff31] pdal::PipelineManager::execute()+0xb
C [libpdaljni.2.6.dylib+0x4e22] libpdaljava::PipelineExecutor::execute()+0x12
C [libpdaljni.2.6.dylib+0xafa0] Java_io_pdal_Pipeline_execute+0x40
j io.pdal.Pipeline.execute()V+0
I am using the following libraries:
pda_2.13-2.6.1
pdal-native-2.6.1
pdal-scala_2.13-2.6.1
The Java code intializes the pipeline and ensure that the pipeline .validate() returns true.
The same pipeline works when called from the command line as follows:
pdal pipeline --input inputFile.json
Where inputFile.json contains the pipeline above
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is needed