appium server failure to launch - server

As i start appium and i try to run a server this error occurs.Can anybody enlighten the situtaion?the error message is:
"> error: uncaughtException: Cannot find module './modules/core.log' date=Mon Jul 06 2015 16:15:44 GMT+0300 (GTB Daylight Time), pid=5760, uid=null, gid=null, cwd=C:\Program Files (x86)\Appium\node_modules\appium, execPath=C:\Program Files (x86)\Appium\node.exe, version=v0.10.26, argv=[C:\Program Files (x86)\Appium\node.exe, C:\Program Files (x86)\Appium\node_modules\appium\lib\server\main.js, --address, 127.0.0.1, --port, 4723, --platform-name, Android, --platform-version, 18, --automation-name, Appium, --log-no-color], rss=52850688, heapTotal=41425356, heapUsed=22636520, loadavg=[0, 0, 0], uptime=22180.685661, trace=[column=15, file=module.js, function=Function.Module._resolveFilename, line=338, method=Module._resolveFilename, native=false, column=25, file=module.js, function=Function.Module._load, line=280, method=Module._load, native=false, column=17, file=module.js, function=Module.require, line=364, method=require, native=false, column=17, file=module.js, function=require, line=380, method=null, native=false, column=1, file=x86)\Appium\node_modules\appium\node_modules\appium-xcode\node_modules\babel-runtime\node_modules\core-js\library\index.js, function=Object. (C:\Program Files, line=14, method= (C:\Program Files, native=false, column=26, file=module.js, function=Module._compile, line=456, method=_compile, native=false, column=10, file=module.js, function=Object.Module._extensions..js, line=474, method=Module._extensions..js, native=false, column=32, file=module.js, function=Module.load, line=356, method=load, native=false, column=12, file=module.js, function=Function.Module._load, line=312, method=Module._load, native=false, column=17, file=module.js, function=Module.require, line=364, method=require, native=false, column=17, file=module.js, function=require, line=380, method=null, native=false, column=14, file=x86)\Appium\node_modules\appium\node_modules\appium-xcode\node_modules\babel-runtime\core-js.js, function=Object. (C:\Program Files, line=2, method= (C:\Program Files, native=false, column=26, file=module.js, function=Module._compile, line=456, method=_compile, native=false, column=10, file=module.js, function=Object.Module._extensions..js, line=474, method=Module._extensions..js, native=false, column=32, file=module.js, function=Module.load, line=356, method=load, native=false, column=12, file=module.js, function=Function.Module._load, line=312, method=Module._load, native=false, column=17, file=module.js, function=Module.require, line=364, method=require, native=false, column=17, file=module.js, function=require, line=380, method=null, native=false, column=13, file=x86)\Appium\node_modules\appium\node_modules\appium-xcode\build\lib\xcode.js, function=Object. (C:\Program Files, line=5, method= (C:\Program Files, native=false, column=26, file=module.js, function=Module._compile, line=456, method=_compile, native=false, column=10, file=module.js, function=Object.Module._extensions..js, line=474, method=Module._extensions..js, native=false, column=32, file=module.js, function=Module.load, line=356, method=load, native=false, column=12, file=module.js, function=Function.Module._load, line=312, method=Module._load, native=false, column=17, file=module.js, function=Module.require, line=364, method=require, native=false, column=17, file=module.js, function=require, line=380, method=null, native=false, column=13, file=x86)\Appium\node_modules\appium\node_modules\appium-instruments\lib\future.js, function=Object. (C:\Program Files, line=4, method= (C:\Program Files, native=false], stack=[Error: Cannot find module './modules/core.log', at Function.Module._resolveFilename (module.js:338:15), at Function.Module._load (module.js:280:25), at Module.require (module.js:364:17), at require (module.js:380:17), at Object. (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-xcode\node_modules\babel-runtime\node_modules\core-js\library\index.js:14:1), at Module._compile (module.js:456:26), at Object.Module._extensions..js (module.js:474:10), at Module.load (module.js:356:32), at Function.Module._load (module.js:312:12), at Module.require (module.js:364:17), at require (module.js:380:17), at Object. (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-xcode\node_modules\babel-runtime\core-js.js:2:14), at Module._compile (module.js:456:26), at Object.Module._extensions..js (module.js:474:10), at Module.load (module.js:356:32), at Function.Module._load (module.js:312:12), at Module.require (module.js:364:17), at require (module.js:380:17), at Object. (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-xcode\build\lib\xcode.js:5:13), at Module._compile (module.js:456:26), at Object.Module._extensions..js (module.js:474:10), at Module.load (module.js:356:32), at Function.Module._load (module.js:312:12), at Module.require (module.js:364:17), at require (module.js:380:17), at Object. (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-instruments\lib\future.js:4:13)]"

Try this:
> brew install node # get node.js

Related

MATLAB gives "undefined reference" errors trying to use gfortran on Windows

I'm trying to use MinGW gfortran with MATLAB R2019a on Windows 10 by writing a mexopts XML file based on existing XML files. I have cygwin installed with MinGW gcc, and I've been able to run mex -setup referencing the XML file successfully. When I try to compile the timestwo.F file to test the setup (using mex -R2018a timestwo.F90), I get a bunch of errors:
Building with 'cygwin MinGW64 Compiler (Fortran)'.
C:\cygwin64\bin\x86_64-w64-mingw32-gfortran -c -DMX_COMPAT_64 -DMATLAB_MEXCMD_RELEASE=R2018a -DUSE_MEX_CMD -I"C:\Program Files\MATLAB\R2019a\extern\include" -I"C:\Program Files\MATLAB\R2019a\simulink\include" -I"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64" -fexceptions -fbackslash -fPIC -fno-omit-frame-pointer -O3 -mtune=native "C:\cygwin64\home\user\MATLAB\timestwo.F90" -o C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o
f951: Warning: Nonexistent include directory ‘C:\Program Files\MATLAB\R2019a\simulink\include’ [-Wmissing-include-dirs]
C:\cygwin64\bin\x86_64-w64-mingw32-gfortran -c -DMX_COMPAT_64 -DMATLAB_MEXCMD_RELEASE=R2018a -DUSE_MEX_CMD -I"C:\Program Files\MATLAB\R2019a\extern\include" -I"C:\Program Files\MATLAB\R2019a\simulink\include" -I"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64" -fexceptions -fbackslash -fPIC -fno-omit-frame-pointer -O3 -mtune=native "C:\Program Files\MATLAB\R2019a\extern\version\fortran_mexapi_version.F" -o C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\fortran_mexapi_version.o
f951: Warning: Nonexistent include directory ‘C:\Program Files\MATLAB\R2019a\simulink\include’ [-Wmissing-include-dirs]
C:\cygwin64\bin\x86_64-w64-mingw32-gfortran -pthread -shared -O3 -mtune=native -Wl,--version-script,"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64\fortran_exportsmexfileversion.map" C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\fortran_mexapi_version.o -Wl,-L"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -L"C:\cygwin64\lib\gcc\x86_64-w64-mingw32\7.4.0" -lgfortran -o timestwo.mexw64
Error using mex
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0x47): undefined reference to
`mxisnumeric800_'
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0x6a): undefined reference to
`mexerrmsgidandtxt800_'
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0x72): undefined reference to
`mxgetdoubles800_'
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0x7d): undefined reference to `mxgetm800_'
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0x8c): undefined reference to `mxgetn800_'
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0xa6): undefined reference to
`mxcopyptrtoreal8800_'
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0xba): undefined reference to
`mxcreatedoublematrix800_'
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0xc4): undefined reference to
`mxgetdoubles800_'
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0xe5): undefined reference to
`mxcopyreal8toptr800_'
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0x10d): undefined reference to
`mexerrmsgidandtxt800_'
C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o:timestwo.F90:(.text+0x13b): undefined reference to
`mexerrmsgidandtxt800_'
collect2: error: ld returned 1 exit status
Here's my source:
! Gateway routine
#include "fintrf.h"
subroutine mexFunction(nlhs, plhs, nrhs, prhs)
implicit none
mwPointer plhs(*), prhs(*)
integer nlhs, nrhs
! Declarations
mwPointer mxGetDoubles
mwPointer mxCreateDoubleMatrix
integer mxIsNumeric
mwPointer mxGetM, mxGetN
mwPointer x_ptr, y_ptr
mwPointer mrows, ncols
mwSize size
! Declare variables for computational routine
real*8 x_input, y_output
! Make sure input is valid
if(nrhs /= 1) then
call mexErrMsgIdAndTxt ('MATLAB:timestwo:nInput', &
'One input required.')
elseif(nlhs > 1) then
call mexErrMsgIdAndTxt ('MATLAB:timestwo:nOutput', &
'Too many output arguments.')
endif
if(mxIsNumeric(prhs(1)) == 0) then
call mexErrMsgIdAndTxt ('MATLAB:timestwo:NonNumeric', &
'Input must be a number.')
endif
! Read input array
x_ptr = mxGetDoubles(prhs(1))
! Get size of array
mrows = mxGetM(prhs(1))
ncols = mxGetN(prhs(1))
size = mrows*ncols
! Create a Fortran array from the input
call mxCopyPtrToReal8(x_ptr,x_input,size)
! Prepare a matrix for output
plhs(1) = mxCreateDoubleMatrix(mrows,ncols,0)
y_ptr = mxGetDoubles(plhs(1))
call timestwo(y_output, x_input)
! copy results to output argument
call mxCopyReal8ToPtr(y_output,y_ptr,size)
return
end
subroutine timestwo(y_output, x_input)
real*8 x_input, y_output
y_output = 2.0*x_input
return
end
The output is the same if I try with the included matlabroot\extern\examples\refbook\timestwo.F fixed-form version.
My options file details (first part of output from mex -v -R2018a timestwo.F90)
Compiler location: C:\cygwin64
Options file: C:\Users\user\AppData\Roaming\MathWorks\MATLAB\R2019a\mex_FORTRAN_win64.xml
CMDLINE2 : C:\cygwin64\bin\x86_64-w64-mingw32-gfortran -pthread -shared -O3 -mtune=native -Wl,--version-script,"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64\fortran_exportsmexfileversion.map" C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\fortran_mexapi_version.o -Wl,-L"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -L"C:\cygwin64\lib\gcc\x86_64-w64-mingw32\7.4.0" -lgfortran -o timestwo.mexw64
FC : C:\cygwin64\bin\x86_64-w64-mingw32-gfortran
DEFINES : -DMX_COMPAT_64 -DMATLAB_MEXCMD_RELEASE=R2018a -DUSE_MEX_CMD
FFLAGS : -fexceptions -fbackslash -fPIC -fno-omit-frame-pointer
INCLUDE : -I"C:\Program Files\MATLAB\R2019a\extern\include" -I"C:\Program Files\MATLAB\R2019a\simulink\include" -I"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64"
FOPTIMFLAGS : -O3 -mtune=native
FDEBUGFLAGS : -g -Wall
LDF : C:\cygwin64\bin\x86_64-w64-mingw32-gfortran
LDFLAGS : -pthread
LDTYPE : -shared
LINKEXPORT : -Wl,--version-script,"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64\fexport.map"
LINKEXPORTVER : -Wl,--version-script,"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64\fortran_exportsmexfileversion.map"
LINKLIBS : -Wl,-L"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -L"C:\cygwin64\lib\gcc\x86_64-w64-mingw32\7.4.0" -lgfortran
LDOPTIMFLAGS : -O3 -mtune=native
LDDEBUGFLAGS : -g -Wall
OBJEXT : .o
LDEXT : .mexw64
SETENV : set COMPILER=C:\cygwin64\bin\x86_64-w64-mingw32-gfortran
set COMPFLAGS=-fexceptions -fbackslash -fPIC -fno-omit-frame-pointer -DMX_COMPAT_64 -DMATLAB_MEXCMD_RELEASE=R2018a -DUSE_MEX_CMD
set OPTIMFLAGS=-O3 -mtune=native
set DEBUGFLAGS=-g -Wall
set LINKER=C:\cygwin64\bin\x86_64-w64-mingw32-gfortran
set LINKFLAGS=-pthread
set LINKDEBUGFLAGS=-pthread -shared -Wl,-L"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -L"C:\cygwin64\lib\gcc\x86_64-w64-mingw32\7.4.0" -lgfortran -Wl,--version-script,"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64\fexport.map"
set LDDEBUGFLAGS=-g -Wall
set NAME_OUTPUT=-o "%OUTDIR%%MEX_NAME%%MEX_EXT%%"
CYGWINROOT : C:\cygwin64
MATLABROOT : C:\Program Files\MATLAB\R2019a
ARCH : win64
SRC : "C:\cygwin64\home\user\MATLAB\timestwo.F90";"C:\Program Files\MATLAB\R2019a\extern\version\fortran_mexapi_version.F"
OBJ : C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o;C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\fortran_mexapi_version.o
OBJS : C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\fortran_mexapi_version.o
SRCROOT : C:\cygwin64\home\user\MATLAB\timestwo
DEF : C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.def
EXP : "timestwo.exp"
LIB : "timestwo.lib"
EXE : timestwo.mexw64
ILK : "timestwo.ilk"
MANIFEST : "timestwo.mexw64.manifest"
TEMPNAME : timestwo
EXEDIR :
EXENAME : timestwo
OPTIM : -O3 -mtune=native
LINKOPTIM : -O3 -mtune=native
CMDLINE1_0 : C:\cygwin64\bin\x86_64-w64-mingw32-gfortran -c -DMX_COMPAT_64 -DMATLAB_MEXCMD_RELEASE=R2018a -DUSE_MEX_CMD -I"C:\Program Files\MATLAB\R2019a\extern\include" -I"C:\Program Files\MATLAB\R2019a\simulink\include" -I"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64" -fexceptions -fbackslash -fPIC -fno-omit-frame-pointer -O3 -mtune=native "C:\cygwin64\home\user\MATLAB\timestwo.F90" -o C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\timestwo.o
CMDLINE1_1 : C:\cygwin64\bin\x86_64-w64-mingw32-gfortran -c -DMX_COMPAT_64 -DMATLAB_MEXCMD_RELEASE=R2018a -DUSE_MEX_CMD -I"C:\Program Files\MATLAB\R2019a\extern\include" -I"C:\Program Files\MATLAB\R2019a\simulink\include" -I"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64" -fexceptions -fbackslash -fPIC -fno-omit-frame-pointer -O3 -mtune=native "C:\Program Files\MATLAB\R2019a\extern\version\fortran_mexapi_version.F" -o C:\Users\user\AppData\Local\Temp\mex_62691295256641_4248\fortran_mexapi_version.o
It seems like the mex-specific types like mwPointer defined in fintrf.h aren't being defined, even though I've included its location. Why are these types not recognized?

Matlab mex linking on linux

I have a set of mex files that use Armadillo and BLAS/LAPACK that I can compile on Windows with the following:
srcFolder = pwd;
outputFolder = 'some/other/folder/';
blaslib = fullfile(matlabroot, 'extern', 'lib', computer('arch'), 'microsoft', 'libmwblas.lib');
lapacklib = fullfile(matlabroot, 'extern', 'lib', computer('arch'), 'microsoft', 'libmwlapack.lib');
flags = {'-O', '-outdir', outputFolder};
mex(flags{:}, fullfile(srcFolder, 'filter_uni.cpp'), blaslib, lapacklib);
When I attempt this on linux, the linker appears to not find the .so files I provide:
blaslib = fullfile(matlabroot, 'bin', computer('arch'), 'libmwblas.so')
lapacklib = fullfile(matlabroot, 'bin', computer('arch'), 'libmwlapack.so')
mex(flags{:}, fullfile(srcFolder, 'filter_uni.cpp'), blaslib, lapacklib, '-v');
Partial output:
...
/usr/bin/g++ -pthread -Wl,--no-undefined -shared -O -Wl,--version-script,"/usr/local/Matlab/R2018a/extern/lib
/glnxa64/c_exportsmexfileversion.map" /tmp/mex_8538435756757296_40383/filter_uni.o /tmp/mex_8538435756757296_4
0383/cpp_mexapi_version.o /usr/local/Matlab/R2018a/bin/glnxa64/libmwblas.so /usr/local/Matlab/R2018a/bin/gln
xa64/libmwlapack.so -Wl,--as-needed -Wl,-rpath-link,/usr/local/Matlab/R2018a/bin/glnxa64 -L"/usr/local/Matlab
/R2018a/bin/glnxa64" -Wl,-rpath-link,/usr/local/Matlab/R2018a/extern/bin/glnxa64 -L"/usr/local/Matlab/R2018a/e
xtern/bin/glnxa64" -lMatlabDataArray -lmx -lmex -lmat -lm -lstdc++ -o /home/dkelley/MFSS/+mfss_mex/filter_uni.
mexa64
Error using mex
/tmp/mex_8538435756757296_40383/filter_uni.o: In function `filter_uni_mex(arma::Mat<double>,
arma::Cube<double>, arma::Mat<double>, arma::Cube<double>, arma::Cube<double>, arma::Mat<double>,
arma::Cube<double>, arma::Cube<double>, arma::Mat<double>, arma::Mat<double>, arma::Mat<double>,
arma::Mat<double>, _Tau)':
filter_uni.cpp:(.text+0x23db): undefined reference to `ddot'
filter_uni.cpp:(.text+0x3310): undefined reference to `dgemv'
filter_uni.cpp:(.text+0x5fca): undefined reference to `ddot'
filter_uni.cpp:(.text+0x66a1): undefined reference to `dgemv'
filter_uni.cpp:(.text+0x6780): undefined reference to `dgemv'
filter_uni.cpp:(.text+0x6b01): undefined reference to `dgemv'
filter_uni.cpp:(.text+0x6be0): undefined reference to `dgemv'
...
Is there a different way of specifying these .so files that should be used on linux?

Cannot get Play Framework starting project to work

I checked out a starter project for Play Framework from https://playframework.com/download#starters on Windows and I have installed sbt and Play via IntelliJ. When I run sbt console and then compile or run, I get this output. What should I do to make it work?
D:\Projekty\play-scala-starter-example>.\sbt-dist\bin\sbt.bat Java
HotSpot(TM) 64-Bit Server VM warning: ignoring option
MaxPermSize=256m; sup port was removed in 8.0 [info] Loading project
definition from D:\Projekty\play-scala-starter-example\pr oject [info]
Set current project to play-scala-starter-example (in build
file:/D:/Proj ekty/play-scala-starter-example/)
[play-scala-starter-example] $ run
--- (Running the application, auto-reloading is enabled) ---
java.lang.VerifyError: Uninitialized object exists on backward branch
209 Exception Details: Location:
scala/collection/immutable/HashMap$HashTrieMap.split()Lscala/collection/immu
table/Seq; #249: goto Reason:
Error exists in the bytecode Bytecode:
0x0000000: 2ab6 005b 04a0 001e b200 b3b2 00b8 04bd
0x0000010: 0002 5903 2a53 c000 bab6 00be b600 c2c0
0x0000020: 00c4 b02a b600 31b8 003b 3c1b 04a4 015e
0x0000030: 1b05 6c3d 2a1b 056c 2ab6 0031 b700 c63e
0x0000040: 2ab6 0031 021d 787e 3604 2ab6 0031 0210
0x0000050: 201d 647c 7e36 05bb 0014 59b2 00b8 2ab6
0x0000060: 0033 c000 bab6 00ca b700 cd1c b600 d13a
0x0000070: 0619 06c6 001a 1906 b600 d5c0 0081 3a07
0x0000080: 1906 b600 d8c0 0081 3a08 a700 0dbb 00da
0x0000090: 5919 06b7 00dd bf19 073a 0919 083a 0abb
0x00000a0: 0002 5915 0419 09bb 0014 59b2 00b8 1909
0x00000b0: c000 bab6 00ca b700 cd03 b800 e33a 0e3a
0x00000c0: 0d03 190d b900 e701 0019 0e3a 1136 1036
0x00000d0: 0f15 0f15 109f 0027 150f 0460 1510 190d
0x00000e0: 150f b900 ea02 00c0 0005 3a17 1911 1917
0x00000f0: b800 ee3a 1136 1036 0fa7 ffd8 1911 b800
0x0000100: f2b7 0060 3a0b bb00 0259 1505 190a bb00
0x0000110: 1459 b200 b819 0ac0 00ba b600 cab7 00cd
0x0000120: 03b8 00e3 3a13 3a12 0319 12b9 00e7 0100
0x0000130: 1913 3a16 3615 3614 1514 1515 9f00 2715
0x0000140: 1404 6015 1519 1215 14b9 00ea 0200 c000
0x0000150: 053a 1819 1619 18b8 00f5 3a16 3615 3614
0x0000160: a7ff d819 16b8 00f2 b700 603a 0cb2 00fa
0x0000170: b200 b805 bd00 0259 0319 0b53 5904 190c
0x0000180: 53c0 00ba b600 beb6 00fd b02a b600 3303
0x0000190: 32b6 00ff b0 Stackmap Table:
same_frame(#35)
full_frame(#141,{Object[#2],Integer,Integer,Integer,Integer,Integer,Object[#
109]},{})
append_frame(#151,Object[#129],Object[#129])
full_frame(#209,{Object[#2],Integer,Integer,Integer,Integer,Integer,Object[#
109],Object[#129],Object[#129],Object[#129],Object[#129],Top,Top,Object[#20],Obj
ect[#55],Integer,Integer,Object[#107]},{Uninitialized[#159],Uninitialized[#159],
Integer,Object[#129]})
full_frame(#252,{Object[#2],Integer,Integer,Integer,Integer,Integer,Object[#
109],Object[#129],Object[#129],Object[#129],Object[#129],Top,Top,Object[#20],Obj
ect[#55],Integer,Integer,Object[#107]},{Uninitialized[#159],Uninitialized[#159],
Integer,Object[#129]})
full_frame(#312,{Object[#2],Integer,Integer,Integer,Integer,Integer,Object[#
109],Object[#129],Object[#129],Object[#129],Object[#129],Object[#2],Top,Object[#
20],Object[#55],Integer,Integer,Object[#107],Object[#20],Object[#55],Integer,Int
eger,Object[#107]},{Uninitialized[#262],Uninitialized[#262],Integer,Object[#129]
})
full_frame(#355,{Object[#2],Integer,Integer,Integer,Integer,Integer,Object[#
109],Object[#129],Object[#129],Object[#129],Object[#129],Object[#2],Top,Object[#
20],Object[#55],Integer,Integer,Object[#107],Object[#20],Object[#55],Integer,Int
eger,Object[#107]},{Uninitialized[#262],Uninitialized[#262],Integer,Object[#129]
})
full_frame(#395,{Object[#2],Integer},{})
at scala.collection.immutable.HashMap$.scala$collection$immutable$HashMa
p$$makeHashTrieMap(HashMap.scala:182)
at scala.collection.immutable.HashMap$HashMap1.updated0(HashMap.scala:21
7)
at scala.collection.immutable.HashMap.updated(HashMap.scala:59)
at scala.collection.immutable.Map$Map4.updated(Map.scala:201)
at scala.collection.immutable.Map$Map4.$plus(Map.scala:202)
at scala.collection.immutable.Map$Map4.$plus(Map.scala:180)
at scala.collection.mutable.MapBuilder.$plus$eq(MapBuilder.scala:29)
at scala.collection.mutable.MapBuilder.$plus$eq(MapBuilder.scala:25)
at scala.collection.TraversableOnce.$anonfun$toMap$1(TraversableOnce.sca
la:317)
at scala.collection.TraversableOnce$$Lambda$14/1024989843.apply(Unknown
Source)
at scala.collection.immutable.List.foreach(List.scala:389)
at scala.collection.TraversableOnce.toMap(TraversableOnce.scala:316)
at scala.collection.TraversableOnce.toMap$(TraversableOnce.scala:314)
at scala.collection.AbstractTraversable.toMap(Traversable.scala:104)
at scala.concurrent.duration.Duration$.(Duration.scala:88)
at scala.concurrent.duration.Duration$.(Duration.scala)
at akka.util.Helpers$ConfigOps$.getDuration$extension(Helpers.scala:137)
at akka.util.Helpers$ConfigOps$.getMillisDuration$extension(Helpers.scal
a:132)
at akka.actor.ActorSystem$Settings.(ActorSystem.scala:327)
at akka.actor.ActorSystemImpl.(ActorSystem.scala:650)
at akka.actor.ActorSystem$.apply(ActorSystem.scala:244)
at akka.actor.ActorSystem$.apply(ActorSystem.scala:287)
at akka.actor.ActorSystem$.apply(ActorSystem.scala:262)
at play.core.server.DevServerStart$.$anonfun$mainDev$1(DevServerStart.sc
ala:213)
at play.core.server.DevServerStart$$$Lambda$7/634563942.apply(Unknown So
urce)
at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
at play.core.server.DevServerStart$.mainDev(DevServerStart.scala:59)
at play.core.server.DevServerStart$.mainDevHttpMode(DevServerStart.scala
:49)
at play.core.server.DevServerStart.mainDevHttpMode(DevServerStart.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at play.runsupport.Reloader$.startDevMode(Reloader.scala:230)
at play.sbt.run.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$2$$anonfun
$apply$3.devModeServer$lzycompute$1(PlayRun.scala:77)
at play.sbt.run.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$2$$anonfun
$apply$3.play$sbt$run$PlayRun$$anonfun$$anonfun$$anonfun$$devModeServer$1(PlayRu
n.scala:77)
at play.sbt.run.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$2$$anonfun
$apply$3.apply(PlayRun.scala:100)
at play.sbt.run.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$2$$anonfun
$apply$3.apply(PlayRun.scala:63)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) [trace]
Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) java.lang.reflect.InvocationTargetException
[error] Total time: 1 s, completed 2017-09-02 12:47:18
[play-scala-starter-example] $
The answer is: older JDK version (1.8.0_101) not matching newer Scala version (2.12.2). Error disappeared after update to jdk1.8.0_144
Same as here:
Scala build crashed

How to compile perl with DEBUG_LEAKING_SCALARS?

I am trying to install perl with -DDEBUG_LEAKING_SCALARS
perlbrew install perl-5.24.1 -DDEBUGGING -DDEBUG_LEAKING_SCALARS --as perl-debug-5.24.1
but without success:
$ perl -V | perl -MData::Dumper -e 'local $/; $_ = <>; $h{$1} = $2 while /(-(?:DDEBUGGING|DDEBUG_LEAKING_SCALARS))(?:=(.*?))?(?=\s|$)/g; print Dumper \%h'
$VAR1 = {
'-DDEBUGGING' => undef,
'-DDEBUG_LEAKING_SCALARS' => undef
};
kes#work ~/work/projects/github-forks/perl5 $ perl -V
Summary of my perl5 (revision 5 version 24 subversion 1) configuration:
Platform:
osname=linux, osvers=4.4.0-57-generic, archname=x86_64-linux
uname='linux work 4.4.0-57-generic #78-ubuntu smp fri dec 9 23:50:32 utc 2016 x86_64 x86_64 x86_64 gnulinux '
config_args='-de -Dprefix=/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1 -DDEBUGGING -DDEBUG_LEAKING_SCALARS -Aeval:scriptdir=/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/bin'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2 -g',
cppflags='-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion='', gccversion='5.4.0 20160609', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64
libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=libc-2.23.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.23'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT
USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
USE_PERLIO USE_PERL_ATOF
Locally applied patches:
Devel::PatchPerl 1.38
Built under linux
Compiled at Mar 9 2017 15:21:39
%ENV:
PERL5LIB="/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug/lib/perl5"
PERLBREW="command perlbrew"
PERLBREW_BASHRC_VERSION="0.76"
PERLBREW_HOME="/home/kes/.perlbrew"
PERLBREW_LIB="debug"
PERLBREW_MANPATH="/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug/man:/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/man"
PERLBREW_PATH="/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug/bin:/home/kes/perl5/perlbrew/bin:/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/bin"
PERLBREW_PERL="perl-debug-5.24.1"
PERLBREW_ROOT="/home/kes/perl5/perlbrew"
PERLBREW_VERSION="0.76"
PERL_LOCAL_LIB_ROOT="/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug"
PERL_MB_OPT="--install_base /home/kes/.perlbrew/libs/perl-debug-5.24.1#debug"
PERL_MM_OPT="INSTALL_BASE=/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug"
#INC:
/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug/lib/perl5/x86_64-linux
/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug/lib/perl5
/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/site_perl/5.24.1/x86_64-linux
/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/site_perl/5.24.1
/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/5.24.1/x86_64-linux
/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/5.24.1
.
Also this show that perl is not compiled with required option:
$ perl -MConfig::Perl::V -MDDP -E 'p %{ Config::Perl::V::myconfig() }'
{
build {
options {
DEBUGGING 1,
DEBUG_LEAKING_SCALARS 0,
DEBUG_LEAKING_SCALARS_FORK_DUMP 0,
DECCRTL_SOCKETS 0,
FAKE_THREADS 0,
FCRYPT 0,
HAS_TIMES 1,
HAVE_INTERP_INTERN 0,
MULTIPLICITY 0,
MYMALLOC 0,
NO_HASH_SEED 0,
NO_MATHOMS 0,
NO_TAINT_SUPPORT 0,
PERL_BOOL_AS_CHAR 0,
PERL_COPY_ON_WRITE 1,
PERL_DEBUG_READONLY_COW 0,
PERL_DEBUG_READONLY_OPS 0,
PERL_DISABLE_PMC 0,
PERL_DONT_CREATE_GVSV 1,
PERL_EXTERNAL_GLOB 0,
PERL_GLOBAL_STRUCT 0,
PERL_GLOBAL_STRUCT_PRIVATE 0,
PERL_HASH_FUNC_DJB2 0,
PERL_HASH_FUNC_MURMUR3 0,
PERL_HASH_FUNC_ONE_AT_A_TIME 0,
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD 1,
PERL_HASH_FUNC_ONE_AT_A_TIME_OLD 0,
PERL_HASH_FUNC_SDBM 0,
PERL_HASH_FUNC_SIPHASH 0,
PERL_HASH_FUNC_SUPERFAST 0,
PERL_IMPLICIT_CONTEXT 0,
PERL_IMPLICIT_SYS 0,
PERLIO_LAYERS 1,
PERL_IS_MINIPERL 0,
PERL_MAD 0,
PERL_MALLOC_WRAP 1,
PERL_MEM_LOG 0,
PERL_MEM_LOG_ENV 0,
PERL_MEM_LOG_ENV_FD 0,
PERL_MEM_LOG_NOIMPL 0,
PERL_MEM_LOG_STDERR 0,
PERL_MEM_LOG_TIMESTAMP 0,
PERL_MICRO 0,
PERL_NEED_APPCTX 0,
PERL_NEED_TIMESBASE 0,
PERL_NEW_COPY_ON_WRITE 0,
PERL_OLD_COPY_ON_WRITE 0,
PERL_PERTURB_KEYS_DETERMINISTIC 0,
PERL_PERTURB_KEYS_DISABLED 0,
PERL_PERTURB_KEYS_RANDOM 0,
PERL_POISON 0,
PERL_PRESERVE_IVUV 1,
PERL_RELOCATABLE_INCPUSH 0,
PERL_SAWAMPERSAND 0,
PERL_TRACK_MEMPOOL 0,
PERL_USE_DEVEL 0,
PERL_USE_SAFE_PUTENV 0,
PERL_USES_PL_PIDSTATUS 0,
PL_OP_SLAB_ALLOC 0,
THREADS_HAVE_PIDS 0,
UNLINK_ALL_VERSIONS 0,
USE_ATTRIBUTES_FOR_PERLIO 0,
USE_FAST_STDIO 0,
USE_HASH_SEED_EXPLICIT 0,
USE_IEEE 0,
USE_ITHREADS 0,
USE_LARGE_FILES 1,
USE_LOCALE 1,
USE_LOCALE_COLLATE 1,
USE_LOCALE_CTYPE 1,
USE_LOCALE_NUMERIC 1,
USE_LOCALE_TIME 1,
USE_LONG_DOUBLE 0,
USE_NO_REGISTRY 0,
USE_PERL_ATOF 1,
USE_PERLIO 1,
USE_QUADMATH 0,
USE_REENTRANT_API 0,
USE_SFIO 0,
USE_SITECUSTOMIZE 0,
USE_SOCKS 0,
USE_64_BIT_ALL 1,
USE_64_BIT_INT 1,
VMS_DO_SOCKETS 0,
VMS_SHORTEN_LONG_SYMBOLS 0,
VMS_SYMBOL_CASE_AS_IS 0
},
osname "linux",
patches [
[0] "Devel::PatchPerl 1.38"
],
stamp "Mar 9 2017 15:21:39"
},
config {
alignbytes 8,
api_subversion 0,
api_version 24,
api_versionstring "5.24.0",
archlibexp "/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/5.24.1/x86_64-linux",
archname "x86_64-linux",
bincompat5005 undef,
byteorder 12345678,
cc "cc",
cccdlflags "-fPIC",
ccdlflags "-Wl,-E",
ccflags "-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
ccversion "",
config_args "-de -Dprefix=/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1 -DDEBUGGING -DDEBUG_LEAKING_SCALARS -Aeval:scriptdir=/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/bin",
cppflags "-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include",
d_dlsymun undef,
dlext "so",
d_longdbl "define",
d_longlong "define",
dlsrc "dl_dlopen.xs",
dont_use_nlink undef,
doublesize 8,
d_readlink "define",
d_sfio undef,
d_sigaction "define",
d_symlink "define",
exe_ext "",
gccosandvers "",
gccversion "5.4.0 20160609",
git_branch "",
git_commit_id "",
git_commit_id_title "",
git_describe "",
git_snapshot_date undef,
git_uncommitted_changes "",
gnulibc_version 2.23,
hint "recommended",
inc_version_list " ",
intsize 4,
ivsize 8,
ivtype "long",
ld "cc",
lddlflags "-shared -O2 -g -L/usr/local/lib -fstack-protector-strong",
ldflags " -fstack-protector-strong -L/usr/local/lib",
ldlibpthname "LD_LIBRARY_PATH",
libc "libc-2.23.so",
libperl "libperl.a",
libpth "/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64",
libs "-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc",
longdblsize 16,
longlongsize 8,
longsize 8,
lseeksize 8,
lseektype "off_t",
myuname "linux work 4.4.0-57-generic #78-ubuntu smp fri dec 9 23:50:32 utc 2016 x86_64 x86_64 x86_64 gnulinux ",
nvsize 8,
nvtype "double",
optimize "-O2 -g",
osname "linux",
osvers "4.4.0-57-generic",
package "perl5",
patchlevel 24,
path_sep ":",
perllibs "-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc",
perl_patchlevel "",
privlibexp "/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/5.24.1",
prototype "define",
ptrsize 8,
revision 5,
scriptdir "/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/bin",
sitearchexp "/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/site_perl/5.24.1/x86_64-linux",
sitelibexp "/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/site_perl/5.24.1",
so "so",
subversion 1,
useithreads undef,
uselargefiles "define",
uselongdouble undef,
usemultiplicity undef,
usemymalloc "n",
useperlio "define",
useposix "true",
useshrplib "false",
usesocks undef,
usevendorprefix undef,
use64bitall "define",
use64bitint "define",
version "5.24.1",
version_patchlevel_string "version 24 subversion 1"
},
derived {
Off_t "off_t",
patch "",
uname "linux work 4.4.0-57-generic #78-ubuntu smp fri dec 9 23:50:32 utc 2016 x86_64 x86_64 x86_64 gnulinux "
},
environment {
PERLBREW "command perlbrew",
PERLBREW_BASHRC_VERSION 0.76,
PERLBREW_HOME "/home/kes/.perlbrew",
PERLBREW_LIB "debug",
PERLBREW_MANPATH "/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug/man:/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/man",
PERLBREW_PATH "/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug/bin:/home/kes/perl5/perlbrew/bin:/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/bin",
PERLBREW_PERL "perl-debug-5.24.1",
PERLBREW_ROOT "/home/kes/perl5/perlbrew",
PERLBREW_VERSION 0.76,
PERL_LOCAL_LIB_ROOT "/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug",
PERL_MB_OPT "--install_base /home/kes/.perlbrew/libs/perl-debug-5.24.1#debug",
PERL_MM_OPT "INSTALL_BASE=/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug",
PERL5LIB "/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug/lib/perl5"
},
inc [
[0] "/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug/lib/perl5/x86_64-linux",
[1] "/home/kes/.perlbrew/libs/perl-debug-5.24.1#debug/lib/perl5",
[2] "/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/site_perl/5.24.1/x86_64-linux",
[3] "/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/site_perl/5.24.1",
[4] "/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/5.24.1/x86_64-linux",
[5] "/home/kes/perl5/perlbrew/perls/perl-debug-5.24.1/lib/5.24.1",
[6] "."
]
}
How to compile perl with DEBUG_LEAKING_SCALARS?
The doc has error. To compile perl with this option on you should use next command:
perlbrew install perl-5.24.1 -DDEBUGGING -Accflags=-DDEBUG_LEAKING_SCALARS -j9 --as perl-debug-5.24.1
I have found this info from this commit
UPD
DOC was fixed at commit #b49862865 by David Mitchell. Thanks

Why does Perl think 1<<-1 is 9223372036854775808?

If I understand perldoc perlop correctly, this operation should something undefined:
The result of overflowing the range of the integers is undefined because it is undefined also in C. In other words, using 32-bit integers, 1 << 32 is undefined. Shifting by a negative number of bits is also undefined.
I'm noticing two things on my setup that I cannot explain:
1 << -1 returns 9223372036854775808 without bigint or integer pragmas (returns NaN when they are active).
> perl -le "print 1<<-1"
9223372036854775808
1 << -1 returns true when tested with defined, regardless of whether or not the bigint or integer pragmas are in effect
> perl -le "print 'yes' if defined(1<<-1)"
yes
> perl -le "use integer; print 'yes' if defined(1<<-1)"
yes
> perl -le "use bigint; print 'yes' if defined(1<<-1)"
yes
Details of my setup:
> perl -V
Set up gcc environment - gcc.exe (rubenvb-4.5.4) 4.5.4
Summary of my perl5 (revision 5 version 16 subversion 3) configuration:
Platform:
osname=MSWin32, osvers=5.2, archname=MSWin32-x64-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='C:\Perl64\site\bin\gcc.exe', ccflags ='-DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields',
optimize='-O2',
cppflags='-DWIN32'
ccversion='', gccversion='gcc.exe (rubenvb-4.5.4) 4.5.4', gccosandvers=''
intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='C:\Perl64\site\bin\g++.exe', ldflags ='-L"C:\Perl64\lib\CORE"'
libpth=\lib
libs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lmsvcrt
perllibs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lmsvcrt
libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl516.lib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-mdll -L"C:\Perl64\lib\CORE"'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY
PERLIO_LAYERS PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
USE_SITECUSTOMIZE
Locally applied patches:
ActivePerl Build 1603 [296746]
Built under MSWin32
Compiled at Mar 13 2013 13:31:10
#INC:
C:/Perl64/site/lib
C:/Perl64/lib
.
When they say undefined, they are referring to undefined behaviour, not the value undef.
If the result of an operation is undefined behaviour, it means that anything could happen -- you could get a surprising result, a different result on different platforms, a different result each time you do the same thing, or 3-foot tall snails could come out of your computer and start speaking Swahili (though that last one is rather uncommon in practice).
In other words, because it's explicitly documented as undefined behaviour, anything perl does is technically correct -- which means you can't rely on it to do anything useful.
The number 9223372036854775808 is equal to 2^63. Given a 64-bit unsigned integer initialized to 1, rotating it by one bit to the right gives this result. This is probably what's happening: << -1 is being interpreted as a rotate right by one.
But since shifting by negative values is undefined, this is not something that can be depended on. The coincidence is worth noting, however.