JuliaGraphics / Gtk.jl

Julia interface to Gtk windowing toolkit.
Other
286 stars 80 forks source link

Illegal instruction Gdk.Pixbuf in libpng16.dll #494

Open kingW3 opened 4 years ago

kingW3 commented 4 years ago

Error comes from calling Gtk.Pixbuf which calls a function from libpng16.dll, my guess is it has something to do with my CPU not supporting SSSE3. I've tried to compile libpng16 myself but I couldn't get it to work looking at the libpng16.dll with dependency walker it includes MSVCRT.dll which was used by MSVC compiler pre 2003. Below is a log of error.

Invalid instruction at 0000000002FD2DE1: 0x66, 0x0f, 0x38, 0x1d, 0xc0, 0x48, 0x83, 0xc4, 0x18, 0x5b, 0x5d, 0xc3, 0x55, 0x57, 0x56

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks. Exception: EXCEPTION_ILLEGAL_INSTRUCTION at 0x2fd2de1 -- abs_i16 at C:\Users\Vsad.julia\artifacts\41065eb36ee97efe783b2b1ca6493e939a41c14a\bin\libpng16.dll (unknown line) in expression starting at C:\Users\Vsad.julia\packages\Ahorn\VxvJr\src\Ahorn.jl:33 abs_i16 at C:\Users\Vsad.julia\artifacts\41065eb36ee97efe783b2b1ca6493e939a41c14a\bin\libpng16.dll (unknown line) png_read_filter_row_paeth4_sse2 at C:\Users\Vsad.julia\artifacts\41065eb36ee97efe783b2b1ca6493e939a41c14a\bin\libpng16.dll (unknown line) png_read_filter_row at C:\Users\Vsad.julia\artifacts\41065eb36ee97efe783b2b1ca6493e939a41c14a\bin\libpng16.dll (unknown line) png_read_row at C:\Users\Vsad.julia\artifacts\41065eb36ee97efe783b2b1ca6493e939a41c14a\bin\libpng16.dll (unknown line) png_read_image at C:\Users\Vsad.julia\artifacts\41065eb36ee97efe783b2b1ca6493e939a41c14a\bin\libpng16.dll (unknown line) gdk_pixbuf__png_image_load at /workspace/srcdir/gdk-pixbuf-3c7740498fd31b6746dd7e04601886766a6644b7/build../gdk-pixbuf\io-png.c:344 gdk_pixbuf_new_from_file at /workspace/srcdir/gdk-pixbuf-3c7740498fd31b6746dd7e04601886766a6644b7/build../gdk-pixbuf\gdk-pixbuf-io.c:1135

253 at C:\Users\Vsad.julia\packages\Gtk\X3A4U\src\displays.jl:180

GError at C:\Users\Vsad.julia\packages\Gtk\X3A4U\src\GLib\gerror.jl:13 [inlined]

GdkPixbufLeaf#251 at C:\Users\Vsad.julia\packages\Gtk\X3A4U\src\displays.jl:178

Type at .\none:0 [inlined]

GdkPixbuf#198 at C:\Users\Vsad.julia\packages\Gtk\X3A4U\src\GLib\gtype.jl:226 [inlined]

Type at .\none:0 _jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2141 [inlined] jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2305 jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1631 [inlined] do_call at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:328 eval_value at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:417 eval_stmt_value at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:368 [inlined] eval_body at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:764 jl_interpret_toplevel_thunk_callback at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:888 unknown function (ip: FFFFFFFFFFFFFFFE) unknown function (ip: 00000000104B4A0F) unknown function (ip: 0000000000000005) jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:814 jl_eval_module_expr at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:181 jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:640 jl_parse_eval_all at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\ast.c:873 jl_load at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:878 [inlined] jlload at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:885 include at .\boot.jl:328 [inlined] include_relative at .\loading.jl:1105 _require at .\loading.jl:1053 require at .\loading.jl:922 require at .\loading.jl:917 _jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2135 [inlined] jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2305 jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1631 [inlined] call_require at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:399 [inlined] eval_import_path at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:436 jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:656 jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:764 jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:764 jl_toplevel_eval at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:823 [inlined] jl_toplevel_eval_in at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:843 eval at .\boot.jl:330 _jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2135 [inlined] jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2305 exec_options at .\client.jl:263 _start at .\client.jl:460 jfptr__start_2086 at D:\Julia-1.3.1\lib\julia\sys.dll (unknown line) _jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2135 [inlined] jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src/cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2305 unknown function (ip: 00000000004017DD) unknown function (ip: 0000000000401BC5) unknown function (ip: 00000000004013DE) unknown function (ip: 000000000040151A) BaseThreadInitThunk at C:\Windows\system32\kernel32.dll (unknown line) RtlUserThreadStart at C:\Windows\SYSTEM32\ntdll.dll (unknown line) Allocations: 9119219 (Pool: 9117272; Big: 1947); GC: 10 ┌ Warning: You are using Gtk on Windows which is currently not recommended. Your REPL/IDE and anything depending on task switches will become sluggish and much slower (up to ~85x slower). └ @ Gtk C:\Users\Vsad.julia\packages\Gtk\X3A4U\src\Gtk.jl:74

yuyichao commented 4 years ago

The failed instruction is pabsw %xmm0, %xmm0 and it is indeed ssse3