Re: illegal instruction on atan2
On Mon, May 22, 2023 at 12:20 PM Alexandre Bencz <alebencz@gmail.com> wrote:
>
> I did some analysis here... I identified exactly where the error is
> occurring:
>
> gdb --args ./bin/latLngToCell --resolution 10 --latitude 40.689167
> --longitude -74.044444
> GNU gdb (Debian 13.1-3) 13.1
> Copyright (C) 2023 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> Type "show copying" and "show warranty" for details.
> This GDB was configured as "powerpc64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <https://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
>
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from ./bin/latLngToCell...
> (gdb) run
> Starting program: /home/bencz/h3/build/bin/latLngToCell --resolution 10
> --latitude 40.689167 --longitude -74.044444
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library
> "/lib/powerpc64-linux-gnu/libthread_db.so.1".
>
> Program received signal SIGILL, Illegal instruction.
> __cos (x=0.7101599340438236) at ../sysdeps/ieee754/dbl-64/s_sin.c:272
> 272 ../sysdeps/ieee754/dbl-64/s_sin.c: No such file or directory.
> (gdb) bt full
> #0 __cos (x=0.7101599340438236) at ../sysdeps/ieee754/dbl-64/s_sin.c:272
> y = <optimized out>
> a = 6.9533558075373792e-310
> da = 6.953355807549632e-310
> u = <optimized out>
> k = <optimized out>
> m = <optimized out>
> n = <optimized out>
> retval = 0
> ctx = <optimized out>
> #1 0x0000000100013554 in _geoToVec3d (geo=0x7fffffffeb80,
> v=0x7fffffffe878) at /home/bencz/h3/src/h3lib/lib/vec3d.c:51
> r = 0
> #2 0x000000010000bdc4 in _geoToClosestFace (g=0x7fffffffeb80,
> face=0x7fffffffeac8, sqd=0x7fffffffe970) at
> /home/bencz/h3/src/h3lib/lib/faceijk.c:938
> v3d = {x = 2.1995190125098354e-106, y =
> 6.9533491603584174e-310, z = 0}
> #3 0x000000010000bb44 in _geoToHex2d (g=0x7fffffffeb80, res=10,
> face=0x7fffffffeac8, v=0x7fffffffea20) at
> /home/bencz/h3/src/h3lib/lib/faceijk.c:392
> sqd = 0
> r = 0
> theta = 0
> #4 0x000000010000bacc in _geoToFaceIjk (g=0x7fffffffeb80, res=10,
> h=0x7fffffffeac8) at /home/bencz/h3/src/h3lib/lib/faceijk.c:374
> v = {x = 0, y = 0}
> #5 0x000000010000825c in latLngToCell (g=0x7fffffffeb80, res=10,
> out=0x7fffffffeb78) at /home/bencz/h3/src/h3lib/lib/h3Index.c:784
> fijk = {face = 32767, coord = {i = -5424, j = 32767, k = -5200}}
> #6 0x0000000100004428 in doCoords (lat=40.689166999999998,
> lng=-74.044443999999999, res=10) at
> /home/bencz/h3/src/apps/filters/latLngToCell.c:51
> g = {lat = 0.7101599340438236, lng = -1.2923193406085602}
> h = 4295059370
> e = 0
> #7 0x0000000100004704 in main (argc=7, argv=0x7ffffffff328) at
> /home/bencz/h3/src/apps/filters/latLngToCell.c:102
> res = 10
> lat = 40.689166999999998
> lng = -74.044443999999999
> helpArg = {names = {0x1000166b8 "-h", 0x1000166bb "--help"},
> required = false, scanFormat = 0x0, valueName = 0x0, value = 0x0, found
> = false, helpText = 0x1000166c2 "Show this help message."}
> resArg = {names = {0x1000166da "-r", 0x1000166dd
> "--resolution"}, required = true, scanFormat = 0x1000166ea "%d",
> valueName = 0x1000166ed "res", value = 0x7fffffffee74, found = true,
> helpText = 0x1000166f1 "Resolution, 0-15 inclusive."}
> latArg = {names = {0x10001670d "--lat", 0x100016713
> "--latitude"}, required = false, scanFormat = 0x10001682b "%lf",
> valueName = 0x10001670f "lat", value = 0x7fffffffee68, found = true,
> helpText = 0x10001671e "Latitude in degrees. If not
> specified, \"latitude longitude\" pairs will be read from standard input."}
> lngArg = {names = {0x100016782 "--lng", 0x100016788
> "--longitude"}, required = false, scanFormat = 0x10001682b "%lf",
> valueName = 0x100016784 "lng", value = 0x7fffffffee60, found = true,
> helpText = 0x100016794 "Longitude in degrees."}
> args = {0x7fffffffee20, 0x7fffffffede0, 0x7fffffffeda0,
> 0x7fffffffed60}
> numArgs = 4
> helpText = 0x1000167aa "Convert degrees latitude/longitude
> coordinates to H3 indexes."
>
>
> When I execute the command layout asm, it shows this line:
>
> > 0x7ffff7ed8fec <__cos+28> mffscrni f0,0
mffscrni is POWER9.
Maybe https://www.mail-archive.com/qemu-devel@nongnu.org/msg959063.html
is related?
Jeff
Reply to: