IntelLabs / ParallelAccelerator.jl

The ParallelAccelerator package, part of the High Performance Scripting project at Intel Labs
BSD 2-Clause "Simplified" License
294 stars 32 forks source link

warnings + segfault on gaussian-blur.jl #118

Closed bondhugula closed 7 years ago

bondhugula commented 7 years ago

This is my first attempt at trying ParallelAccelerator.
Julia version 0.4.6 (all packages are up to date)

On running the gaussian-blur.jl included in examples/, I get $ julia gaussian-blur.jl --img-file=/home/uday/ParallelAccelerator.jl/examples/example.jpg --iterations=2 [...] in typeToStr at /home/uday/.julia/v0.4/ParallelAccelerator/src/cgen.jl WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/uday/Downloads/gaussian-blur.jl:96 in typeToStr at /home/uday/.julia/v0.4/ParallelAccelerator/src/cgen.jl WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/uday/Downloads/gaussian-blur.jl:96 in typeToStr at /home/uday/.julia/v0.4/ParallelAccelerator/src/cgen.jl WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/uday/Downloads/gaussian-blur.jl:96 in typeToStr at /home/uday/.julia/v0.4/ParallelAccelerator/src/cgen.jl SELFPRIMED 86.772138141

signal (11): Segmentation fault

signal (11): Segmentation fault

signal (11): Segmentation fault

signal (11): Segmentation fault

Segmentation fault (core dumped)

With iterations=1, I get

WARNING: Base.String is deprecated, use AbstractString instead. likely near /home/uday/Downloads/gaussian-blur.jl:96 in typeToStr at /home/uday/.julia/v0.4/ParallelAccelerator/src/cgen.jl SELFPRIMED 94.012788778 SELFTIMED 3.763023331 WARNING: ErrorException("non-zero width and height required ' @ error/constitute.c/ConstituteImage/150") in error at /home/uday/.julia/v0.4/ImageMagick/src/libmagickwand.jl:152 in constituteimage at /home/uday/.julia/v0.4/ImageMagick/src/libmagickwand.jl:204 in image2wand at /home/uday/.julia/v0.4/ImageMagick/src/ImageMagick.jl:200 in save_ at /home/uday/.julia/v0.4/ImageMagick/src/ImageMagick.jl:157 in save at /home/uday/.julia/v0.4/ImageMagick/src/ImageMagick.jl:67 in save at /home/uday/.julia/v0.4/FileIO/src/loadsave.jl:97 in save at /home/uday/.julia/v0.4/FileIO/src/loadsave.jl:54 in gaussian_blur at /home/uday/Downloads/gaussian-blur.jl:89 in main at /home/uday/Downloads/gaussian-blur.jl:92 ERROR: LoadError: non-zero width and height required' @ error/constitute.c/ConstituteImage/150 in error at /home/uday/.julia/v0.4/ImageMagick/src/libmagickwand.jl:152 in constituteimage at /home/uday/.julia/v0.4/ImageMagick/src/libmagickwand.jl:204 in image2wand at /home/uday/.julia/v0.4/ImageMagick/src/ImageMagick.jl:200 in save_ at /home/uday/.julia/v0.4/ImageMagick/src/ImageMagick.jl:157 in save at /home/uday/.julia/v0.4/ImageMagick/src/ImageMagick.jl:67 in save at /home/uday/.julia/v0.4/FileIO/src/loadsave.jl:97 in save at /home/uday/.julia/v0.4/FileIO/src/loadsave.jl:54 in gaussian_blur at /home/uday/Downloads/gaussian-blur.jl:89 in main at /home/uday/Downloads/gaussian-blur.jl:92 while loading /home/uday/Downloads/gaussian-blur.jl, in expression starting on line 96

abhijangda commented 7 years ago

By executing the Gaussian Blur example like below: $ gdb julia "gdb messages ......." (gdb) set args gaussian-blur.jl --img-file=example.jpg --iterations=2 (gdb) r Starting program: /usr/bin/julia gaussian-blur.jl --img-file=example.jpg --iterations=2 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7ffde778f700 (LWP 16959)] [New Thread 0x7ffde6f8e700 (LWP 16960)] [New Thread 0x7ffde478d700 (LWP 16961)] [New Thread 0x7ffde1f8c700 (LWP 16962)] [New Thread 0x7ffddf78b700 (LWP 16963)] [New Thread 0x7ffddcf8a700 (LWP 16964)] [New Thread 0x7ffdda789700 (LWP 16965)] input file = example.jpg iterations = 2 output file = example-blur.jpg [New Thread 0x7ffda2eb1700 (LWP 16970)] WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1623 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1623 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1623 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1623 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1623 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1623 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1629 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1629 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1629 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1629 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1629 WARNING: Base.String is deprecated, use AbstractString instead. likely near /media/sda5/home/abhi/Downloads/gaussian-blur.jl:96 in typeToStr at /home/abhi/.julia/v0.4/ParallelAccelerator/src/cgen.jl:1629 Detaching after fork from child process 17050. Detaching after fork from child process 17057. SELFPRIMED 99.495610888 [New Thread 0x7ffdcb161700 (LWP 17060)] [New Thread 0x7ffdca960700 (LWP 17061)] [New Thread 0x7ffdca15f700 (LWP 17062)] [New Thread 0x7ffdc995e700 (LWP 17063)] [New Thread 0x7ffdc915d700 (LWP 17064)] [New Thread 0x7ffdc895c700 (LWP 17065)]

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffdc895c700 (LWP 17065)] ppblurp7125_unaliased () at /tmp/tmpOLbv99/cgen_output0.cpp:653 653 GenSym32 = (double)GenSym31;

It seems like the Segmentation Fault is in the C++ code produced by ParallelAccelerator.

DrTodd13 commented 7 years ago

Thanks for the report. It seems that this was a probably at some point for some tagged version of ParallelAccelerator but it isn't a problem with the current master branch. I went ahead and tagged CompilerTools and ParallelAccelerator so you should be able to do a Pkg.update and it should work. Please try it again and if it works then please close this ticket.

DrTodd13 commented 7 years ago

Ooops...guess my tag wasn't the right kind of tag. We are working on tagging correctly so you can get the bug fix without switching to master. Will let you know when it is done.

bondhugula commented 7 years ago

After a package update, the segfault and the exception are gone; the warnings are there.

julia> Pkg.update() INFO: Updating METADATA... INFO: Updating cache of ParallelAccelerator... INFO: Updating cache of Compat... INFO: Updating cache of CompilerTools... INFO: Computing changes... INFO: Upgrading Compat: v0.8.8 => v0.9.0 INFO: Upgrading CompilerTools: v0.1.6 => v0.1.7 INFO: Upgrading ParallelAccelerator: v0.1.8 => v0.1.9 INFO: Building ParallelAccelerator INFO: Recompiling stale cache file /home/uday/.julia/lib/v0.4/Compat.ji for module Compat. ParallelAccelerator: build.jl begin. ParallelAccelerator: Building j2c-array shared library System installed MKL found Using icpc to build ParallelAccelerator array runtime. ParallelAccelerator: build.jl done.

ehsantn commented 7 years ago

Warnings are because base string class is changed from AbstractString to String in Julia 0.5, which is the version ParallelAccelerator targets. You could use julia --depwarn=no to suppress them if you want.

DrTodd13 commented 7 years ago

Seems like this is resolved so I am closing. Eventually, we will probably make it so that there are no warnings with 0.5 and you get a bunch if you use 0.4.