-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Native crash when working with expressions #12021
Comments
Thank you for the report, was able to track down a bug with the lte expression. layer.setFilter(any(not(has("price")), lte(get("price"), literal(maxPrice)))); Lmk if above doesn't work, haven't validated. |
Still getting a crash with the workaround, but thanks for fixing it in 6.2. Is there any ETA for it? |
6.2.0-beta.1 is slated for Thursday, with final probably happening week after. |
That'd be great as it's currently a blocker for us 👍 |
Just wanted to let you know I gave the 6.2.0-beta.2 a try and the crash is still here (segfault due to null pointer dereference) |
not able to reproduce a crash with the code in #12021 (comment). Would you be able to provide Expression#toArray definition of your filter? |
Here's the complete
It's built dynamically as a combination of the layer's default filters ( If I remove just the
Let me know if you need any other kind of information. |
The output of ndk-stack, if it's of any help:
|
Platform: Android
Mapbox SDK version: 6.1.3
I'm trying to convert a filter I used to build this way in Mapbox 5.x.x:
Where
price
is a float property in vector tiles that may or may not be present, andmaxPrice
is anInt
.I first tried ths:
But I'm getting a segfault when I apply it:
I tried to ensure the
get()
gave a number so I wrapped it in atoNumber()
, but it's still crashing. So I tried changing stuff to see which part could be the culprit and I'm having odd results. For example this does not crashbut this does:
I tried a whole bunch of combinations to find if it was related to using numbers vs strings, or depended on the results, etc. but can't find a pattern. Using
get()
seems to crash every time though. I'm having a hard time figuring out what could be wrong.I don't know if this is relevant, but the filter is combined with the layer's base filter and is supposed to result in this:
This is the
toString()
result of the first expression I tried to build, where 10 ismaxPrice
.The text was updated successfully, but these errors were encountered: