[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-02-22 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
It appears that there is another compilation problem in Erlang. In the file 
`test/DoubleConstantsTest.thrift`, the double literal `100.1` is compiled 
to `1e+06`. However, Erlang does not accept exponent literals where the number 
before the exponent does not have floating point. This causes an error in some 
tests.


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-02-28 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
The AppVeyor builds stay in the queue for a long time. Is there any 
possibility to run the builds more quickly?


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-02-28 Thread jeking3
Github user jeking3 commented on the issue:

https://github.com/apache/thrift/pull/1496
  
You can fork the project and set up your own Travis CI and Appveyor builds, 
and submit pull requests into your fork to kick off builds, and you will not 
contend with the rest of the apache arsenal of projects.


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-02 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
Two errors at the initial steps of my builds:
* The one in Travis (happening in multiple builds):
```
Resolving master.dl.sourceforge.net (master.dl.sourceforge.net)... 
216.105.38.12
Connecting to master.dl.sourceforge.net 
(master.dl.sourceforge.net)|216.105.38.12|:80... failed: Connection refused.
The command '/bin/sh -c apt-key adv --keyserver keyserver.ubuntu.com 
--recv-keys EBCF975E5BA24D5E && wget 
http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O 
/etc/apt/sources.list.d/d-apt.list && wget -qO - 
https://dlang.org/d-keyring.gpg | apt-key add -' returned a non-zero code: 4
The command "if [[ `uname` == "Linux" ]]; then build/docker/refresh.sh; fi" 
failed and exited with 4 during .
```

* The one in AppVeyor (at the initial steps):
```
Downloading winflexbison3 
  from 
'https://sourceforge.net/projects/winflexbison/files/old_versions/win_flex_bison-2.5.10.zip'
WARNING: 
C:\projects\thrift\buildcache\winflexbison3\2.5.10.20170725\win_flex_bison-2.5.10.zip
 is of content type text/html
Progress: 100% - Completed download of 
C:\projects\thrift\buildcache\winflexbison3\2.5.10.20170725\win_flex_bison-2.5.10.zip
 (652 B).
Download of win_flex_bison-2.5.10.zip (652 B) completed.
Error - hashes do not match. Actual value was 
'7A07D3F7CCA5C0B38CA811984EF8DA536DA32932D68C1A6CCE33EC2462B930BF'.
ERROR: Checksum for 
'C:\projects\thrift\buildcache\winflexbison3\2.5.10.20170725\win_flex_bison-2.5.10.zip'
 did not meet 
'565967D6F6D021B617144698DEDD055DF9B91825CB61A7E1F29BFD22219F550C' for checksum 
type 'sha256'. Consider passing the actual checksums through with --checksum 
--checksum64 once you validate the checksums are appropriate. A less secure 
option is to pass --ignore-checksums if necessary.
The install of winflexbison3 was NOT successful.
Error while running 
'C:\ProgramData\chocolatey\lib\winflexbison3\tools\chocolateyInstall.ps1'.
 See log for details.
Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Failures
 - winflexbison3 (exited -1) - Error while running 
'C:\ProgramData\chocolatey\lib\winflexbison3\tools\chocolateyInstall.ps1'.
 See log for details.
Command exited with code -1
```

I think these errors are build configration-related. These also showed up 
in the builders running on my forked repo.


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-06 Thread jeking3
Github user jeking3 commented on the issue:

https://github.com/apache/thrift/pull/1496
  
Sourceforge was down for a while.  I am working on getting the builds back 
to green (passing).  I recommend that you keep your pull request squashed to 
one commit.  In fact since you are doing iterative development you are clogging 
up the pull request build pipeline.  I recommend you close this pull request 
and work on your own fork until you are satisfied you have resolved the issues. 
 I am hoping to have the builds back to "green" by the end of today.


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-06 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
Okay, I will open it back once I am done.


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-08 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
I finalized the changes, however there are a couple of errors in my builds 
which I think are irrelevant to my changes.

Here are the links to my build results (please let me know if you cannot 
access them):
Travis-CI: https://travis-ci.org/ozymaxx/thrift
AppVeyor: https://ci.appveyor.com/project/ozymaxx/thrift/build/1.0.0-dev.42

Here are the error descriptions:
On Travis CI `#19.7`:
```
  +-- js-reporters@1.2.1
  +-- resolve@1.5.0
  | `-- path-parse@1.0.5
  +-- shelljs@0.2.6
  `-- walk-sync@0.3.2
+-- ensure-posix-path@1.0.2
`-- matcher-collection@1.0.5
  `-- minimatch@3.0.4
`-- brace-expansion@1.1.11 deduped
npm ERR! missing: hawk@3.1.3, required by node-pre-gyp@0.6.39
npm ERR! missing: mkdirp@0.5.1, required by node-pre-gyp@0.6.39
npm ERR! missing: rimraf@2.6.1, required by node-pre-gyp@0.6.39
npm ERR! missing: tar@2.2.1, required by node-pre-gyp@0.6.39
npm ERR! missing: boom@2.10.1, required by hawk@3.1.3
npm ERR! missing: cryptiles@2.0.5, required by hawk@3.1.3
npm ERR! missing: hoek@2.16.3, required by hawk@3.1.3
npm ERR! missing: sntp@1.0.9, required by hawk@3.1.3
npm ERR! missing: hoek@2.16.3, required by boom@2.10.1
npm ERR! missing: boom@2.10.1, required by cryptiles@2.0.5
npm ERR! missing: hoek@2.16.3, required by sntp@1.0.9
npm ERR! missing: minimist@0.0.8, required by mkdirp@0.5.1
npm ERR! missing: console-control-strings@1.1.0, required by npmlog@4.1.0
npm ERR! missing: readable-stream@2.2.9, required by are-we-there-yet@1.1.4
npm ERR! missing: console-control-strings@1.1.0, required by gauge@2.7.4
npm ERR! missing: string-width@1.0.2, required by gauge@2.7.4
npm ERR! missing: strip-ansi@3.0.1, required by gauge@2.7.4
npm ERR! missing: code-point-at@1.1.0, required by string-width@1.0.2
npm ERR! missing: is-fullwidth-code-point@1.0.0, required by 
string-width@1.0.2
npm ERR! missing: strip-ansi@3.0.1, required by string-width@1.0.2
npm ERR! missing: number-is-nan@1.0.1, required by 
is-fullwidth-code-point@1.0.0
npm ERR! missing: ansi-regex@2.1.1, required by strip-ansi@3.0.1
npm ERR! missing: string-width@1.0.2, required by wide-align@1.1.2
npm ERR! missing: combined-stream@1.0.5, required by request@2.81.0
npm ERR! missing: hawk@3.1.3, required by request@2.81.0
npm ERR! missing: mime-types@2.1.15, required by request@2.81.0
npm ERR! missing: safe-buffer@5.0.1, required by request@2.81.0
npm ERR! missing: delayed-stream@1.0.0, required by combined-stream@1.0.5
npm ERR! missing: combined-stream@1.0.5, required by form-data@2.1.4
npm ERR! missing: mime-types@2.1.15, required by form-data@2.1.4
npm ERR! missing: extsprintf@1.0.2, required by jsprim@1.4.0
npm ERR! missing: extsprintf@1.0.2, required by verror@1.3.6
npm ERR! missing: mime-db@1.27.0, required by mime-types@2.1.15
npm ERR! missing: safe-buffer@5.0.1, required by tunnel-agent@0.6.0
npm ERR! missing: glob@7.1.2, required by rimraf@2.6.1
npm ERR! missing: fs.realpath@1.0.0, required by glob@7.1.2
npm ERR! missing: inflight@1.0.6, required by glob@7.1.2
npm ERR! missing: inherits@2.0.3, required by glob@7.1.2
npm ERR! missing: minimatch@3.0.4, required by glob@7.1.2
npm ERR! missing: once@1.4.0, required by glob@7.1.2
npm ERR! missing: path-is-absolute@1.0.1, required by glob@7.1.2
npm ERR! missing: once@1.4.0, required by inflight@1.0.6
npm ERR! missing: wrappy@1.0.2, required by inflight@1.0.6
npm ERR! missing: brace-expansion@1.1.7, required by minimatch@3.0.4
npm ERR! missing: balanced-match@0.4.2, required by brace-expansion@1.1.7
npm ERR! missing: concat-map@0.0.1, required by brace-expansion@1.1.7
npm ERR! missing: block-stream@0.0.9, required by tar@2.2.1
npm ERR! missing: fstream@1.0.11, required by tar@2.2.1
npm ERR! missing: inherits@2.0.3, required by tar@2.2.1
npm ERR! missing: inherits@2.0.3, required by block-stream@0.0.9
npm ERR! missing: graceful-fs@4.1.11, required by fstream@1.0.11
npm ERR! missing: inherits@2.0.3, required by fstream@1.0.11
npm ERR! missing: mkdirp@0.5.1, required by fstream@1.0.11
npm ERR! missing: rimraf@2.6.1, required by fstream@1.0.11
npm ERR! missing: fstream@1.0.11, required by tar-pack@3.4.0
npm ERR! missing: once@1.4.0, required by tar-pack@3.4.0
npm ERR! missing: readable-stream@2.2.9, required by tar-pack@3.4.0
npm ERR! missing: rimraf@2.6.1, required by tar-pack@3.4.0
npm ERR! missing: tar@2.2.1, required by tar-pack@3.4.0
npm ERR! missing: fstream@1.0.11, required by fstream-ignore@1.0.5
npm ERR! missing: inherits@2.0.3, required by fstream-ignore@1.0.5
npm ERR! missing: minimatch@3.0.4, required by fstream-ignore@1.0.5
npm ERR! missing: wrappy@1.0.2, re

[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-09 Thread jeking3
Github user jeking3 commented on the issue:

https://github.com/apache/thrift/pull/1496
  
The current master is fairly clean except for a recurring dlang issue.  
Squash and rebase on master.  Squash to one commit please.


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-12 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
I merged the changes in the master branch into mine, and ran the builds. 
There are still some errors: 

On AppVeyor: 
```
3125"C:\projects\build\MSVC2017\x64\INSTALL.vcxproj" (default target) (1) ->
3126"C:\projects\build\MSVC2017\x64\ALL_BUILD.vcxproj" (default target) (3) 
->
3127"C:\projects\build\MSVC2017\x64\test\cpp\TestServer.vcxproj" (default 
target) (32) ->
3128(ClCompile target) -> 
3129  C:\projects\thrift\test\cpp\src\TestServer.cpp(799): error C3861: 
'sleep': identifier not found 
[C:\projects\build\MSVC2017\x64\test\cpp\TestServer.vcxproj]
3130
313124 Warning(s)
31321 Error(s)
```

On Travis: 
```
depbase=`echo gen-c_glib/t_test_second_service.lo | sed 
's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I../.. -I../../lib/cpp/src/thrift -I../../lib/c_glib/src/thrift  
-I../../lib/c_glib/src -Igen-c_glib  -g -Wall -Wextra -I/usr/include/glib-2.0 
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -MT 
gen-c_glib/t_test_second_service.lo -MD -MP -MF $depbase.Tpo -c -o 
gen-c_glib/t_test_second_service.lo gen-c_glib/t_test_second_service.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. 
-I../../lib/cpp/src/thrift -I../../lib/c_glib/src/thrift -I../../lib/c_glib/src 
-Igen-c_glib -g -Wall -Wextra -I/usr/include/glib-2.0 
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -MT 
gen-c_glib/t_test_second_service.lo -MD -MP -MF 
gen-c_glib/.deps/t_test_second_service.Tpo -c 
gen-c_glib/t_test_second_service.c  -fPIC -DPIC -o 
gen-c_glib/.libs/t_test_second_service.o
gen-c_glib/t_test_second_service.c: In function 
't_test_second_service_processor_process_secondtest_string':
gen-c_glib/t_test_second_service.c:397:3: error: unknown type name 
'TTestSecondServiceSecondtestStringArgs'; did you mean 
'TTestSecondServiceProcessorClass'?
   TTestSecondServiceSecondtestStringArgs * args =
   ^~
   TTestSecondServiceProcessorClass
gen-c_glib/t_test_second_service.c:398:19: error: 
'T_TEST_TYPE_SECOND_SERVICE_SECONDTEST_STRING_ARGS' undeclared (first use in 
this function); did you mean 'T_TEST_TYPE_SECOND_SERVICE_PROCESSOR'?
 g_object_new (T_TEST_TYPE_SECOND_SERVICE_SECONDTEST_STRING_ARGS, NULL);
   ^
   T_TEST_TYPE_SECOND_SERVICE_PROCESSOR
gen-c_glib/t_test_second_service.c:398:19: note: each undeclared identifier 
is reported only once for each function it appears in
gen-c_glib/t_test_second_service.c:408:5: error: unknown type name 
'TTestSecondServiceSecondtestStringResult'; did you mean 
'TTestSecondServiceProcessorClass'?
 TTestSecondServiceSecondtestStringResult * result_struct;
 ^~~~
 TTestSecondServiceProcessorClass
gen-c_glib/t_test_second_service.c:417:35: error: 
'T_TEST_TYPE_SECOND_SERVICE_SECONDTEST_STRING_RESULT' undeclared (first use in 
this function); did you mean 
'T_TEST_TYPE_SECOND_SERVICE_SECONDTEST_STRING_ARGS'?
 result_struct = g_object_new 
(T_TEST_TYPE_SECOND_SERVICE_SECONDTEST_STRING_RESULT, NULL);
   
^~~
   
T_TEST_TYPE_SECOND_SERVICE_SECONDTEST_STRING_ARGS
depbase=`echo gen-c_glib/t_test_thrift_test.lo | sed 
's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I../.. -I../../lib/cpp/src/thrift -I../../lib/c_glib/src/thrift  
-I../../lib/c_glib/src -Igen-c_glib  -g -Wall -Wextra -I/usr/include/glib-2.0 
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -MT 
gen-c_glib/t_test_thrift_test.lo -MD -MP -MF $depbase.Tpo -c -o 
gen-c_glib/t_test_thrift_test.lo gen-c_glib/t_test_thrift_test.c &&\
mv -f $depbase.Tpo $depbase.Plo
depbase=`echo gen-c_glib/t_test_thrift_test_types.lo | sed 
's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I../.. -I../../lib/cpp/src/thrift -I../../lib/c_glib/src/thrift  
-I../../lib/c_glib/src -Igen-c_glib  -g -Wall -Wextra -I/usr/include/glib-2.0 
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -MT 
gen-c_glib/t_test_thrift_test_types.lo -MD -MP -MF $depbase.Tpo -c -o 
gen-c_glib/t_test_thrift_test_types.lo gen-c_glib/t_test_thrift_test_types.c &&\
mv -f $depbase.Tpo $depbase.Plo
Makefile:654: recipe for 

[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-12 Thread jeking3
Github user jeking3 commented on the issue:

https://github.com/apache/thrift/pull/1496
  
Appveyor: It looks like I broke the build yesterday with a check-in that I 
did not run through CI.  I am fixing it.

Travis: c_glib, that's new; npm; that might be an intermittent failure

Could you squash your PR to one commit to prepare it for merge?


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-13 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
The AppVeyor builder with the `MSVC2013` configuration generates large 
double constants differently as the old `MSVC2010` configuration used to do. So 
I will add a condition to not do the `TestRenderedDoubleConstants` test on that 
builder. I also suspect that this problem might be due to the architecture 
(x86). The result of the `CYGWIN x86` builder will give us some clue on this.  


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-13 Thread jeking3
Github user jeking3 commented on the issue:

https://github.com/apache/thrift/pull/1496
  
I put the MSVC2013 job back in to make sure we had some backwards 
compatibility... glad I did.   I wonder if we have 32-bit issues with double in 
general in thrift?


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-13 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
I have just disabled my new tests on `MSVC2013` builders and kicked a 
build. Let's see what happens.
If the tests also fail on the `CYGWIN` machine, I will also write out new 
tests for the x86 machines. However, the issue is not about the architecture, 
only some modifiers seem to be overlooked in the generators. 


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-14 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
The build on the `CYGWIN x86` (see 
https://ci.appveyor.com/project/ozymaxx/thrift/build/job/09xqx9b54efog55o for 
more details) machine has broken. Here is the error that I got:
```
3504CMake Error at lib/java/cmake_install.cmake:39 (file):
3505  file INSTALL cannot find
3506  "/cygdrive/c/projects/build/CYGWIN/x86/lib/java/build/docs/javadoc".
3507Call Stack (most recent call first):
3508  cmake_install.cmake:36 (include)
```

Some of the Travis builds have timed out (more details at 
https://travis-ci.org/ozymaxx/thrift). A build has also failed with the 
following error:
```
Failed examples:

rspec ./spec/server_spec.rb:103 # Server 
Thrift::ThreadPoolServer should serve inside a thread
rake aborted!
/usr/bin/ruby2.3 -S rspec ./spec/base_protocol_spec.rb 
./spec/base_transport_spec.rb ./spec/binary_protocol_accelerated_spec.rb 
./spec/binary_protocol_spec.rb ./spec/bytes_spec.rb ./spec/client_spec.rb 
./spec/compact_protocol_spec.rb ./spec/exception_spec.rb ./spec/flat_spec.rb 
./spec/http_client_spec.rb ./spec/json_protocol_spec.rb 
./spec/namespaced_spec.rb ./spec/nonblocking_server_spec.rb 
./spec/processor_spec.rb ./spec/serializer_spec.rb ./spec/server_socket_spec.rb 
./spec/server_spec.rb ./spec/socket_spec.rb ./spec/ssl_socket_spec.rb 
./spec/struct_nested_containers_spec.rb ./spec/struct_spec.rb 
./spec/thin_http_server_spec.rb ./spec/types_spec.rb ./spec/union_spec.rb 
./spec/unix_socket_spec.rb --color --format d failed

/var/lib/gems/2.3.0/gems/rspec-core-2.13.1/lib/rspec/core/rake_task.rb:156:in 
`run_task'

/var/lib/gems/2.3.0/gems/rspec-core-2.13.1/lib/rspec/core/rake_task.rb:124:in 
`block (2 levels) in initialize'

/var/lib/gems/2.3.0/gems/rspec-core-2.13.1/lib/rspec/core/rake_task.rb:122:in 
`block in initialize'
Tasks: TOP => default => gem => spec => realspec
(See full trace by running task with --trace)
Makefile:655: recipe for target 'check-local' failed
make[3]: *** [check-local] Error 1
make[3]: Leaving directory '/thrift/src/lib/rb'
Makefile:515: recipe for target 'check-am' failed
make[2]: *** [check-am] Error 2
make[2]: Leaving directory '/thrift/src/lib/rb'
Makefile:580: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/thrift/src/lib'
Makefile:662: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
```

@jeking3 


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-14 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
@jeking3 Forget about what I said on Travis. There is only 1 failure in 
Apache arsenal of Travis (at `cross-test`) as follows:
```

===
Using JSON protocol
Using framed transport
testVoid() = void
testString("Test") = "Test"
testBool(true) = True
testBool(false) = False
testByte(1) = 1
testI32(-1) = -1
testI64(-34359738368) = -34359738368
testDouble(5.325098235) = 5.325098235
testDouble(-0.000341012439638598279) = -0.000341012439638598

testBinary(000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF)
 = 
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E
 9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF

testBinary(000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F
.
.
.
*** FAILED ***
*** FAILED ***
*** FAILED ***
*** FAILED ***
*** FAILED ***
Test CrazyNesting
testStruct({"Zero", 1, -3, -5}) = {"Zero", 1, -3, -5}
testNest({1, {"Zero", 1, -3, -5}, 5}) = {1, {"Zero", 1, -3, -5}, 5}
testMap({0 => -10, 1 => -9, 2 => -8, 3 => -7, 4 => -6}) = {0 => -10, 1 => 
-9, 2 => -8, 3 => -7, 4 => -6}
testList({-2, -1, 0, 1, 2}) = {-2, -1, 0, 1, 2}
testSet({-2, -1, 0, 1, 2}) = {0, 1, 2, -2, -1}
testEnum(ONE) = ONE
testEnum(TWO) = TWO
testEnum(THREE) = THREE
testEnum(FIVE) = FIVE
testEnum(EIGHT) = EIGHT
testTypedef(309858235082523) = 309858235082523
testMapMap(1) = {4 => {1 => 1, 2 => 2, 3 => 3, 4 => 4, }, -4 => {-4 => -4, 
-3 => -3, -2 => -2, -1 => -1, }, }
testInsanity() = {1 => {TWO => {{FIVE => 5000, }, {{"Truck", 8, 8, 8}, }}, 
THREE => {{FIVE => 5000, }, {{"Truck", 8, 8, 8}, }}, }, 2 => {SIX => {{}, {}}, 
}, }
Test 
Multi(1,2,9223372036854775807,System.Collections.Generic.Dictionary`2[System.Int16,System.String],FIVE,500)
 = 
Xtruct(byte_thing:1,String_thing:Hello2,i32_thing:2,i64_thing:9223372036854775807)
testException("Xception")
testException("TException")
testException("ok")
testMultiException("Xception", ...)
testMultiException("Xception2", ...)
testMultiException("success", "OK")
Test Oneway(1)
Test Calltime() = 59 ms a testVoid() call
Total time: 00:00:04.3274560


===
Return code: 1
Test execution took 4.5 seconds.
Wed Mar 14 13:10:58 2018
```

But the error is the same in the Windows builders (although it seems green 
here). 


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-14 Thread jeking3
Github user jeking3 commented on the issue:

https://github.com/apache/thrift/pull/1496
  
Thanks for dealing with the relatively unstable CI.  Our project has 
support for 25 languages, so needless to say without a fixed build environment 
(which is impossible, since packages change over time), the build becomes 
unstable pretty quickly without constant TLC.

Please squash this to a single commit to prepare it for merge.

In addition, I will need to make sure this test passes:
```

===
*** Following 1 failures were unexpected ***:
If it is introduced by you, please fix it before submitting the code.

===
server-client:  protocol: transport:   result:
hs-csharp   json  framed-ip
failure(1)

===
Unexpected failures are logged to test/log/unexpected_failures.log
You can browse results at:
file:///thrift/src/test/index.html
# If you use Chrome, run:
#   cd /thrift/src
#   python -m http.server 8001
# then browse:
#   http://localhost:8001/test/
Full log for each test is here:
test/log/server_client_protocol_transport_client.log
test/log/server_client_protocol_transport_server.log
1 failed of 3948 tests in total.
Test execution took 1966.1 seconds.
Wed Mar 14 13:26:25 2018
```


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-14 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
Btw, what's the full name of the test which you want to succeed? I squashed 
to another commit and will take a look if this test has passed or not (I hope 
there is not something wrong related to my change set :))


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-15 Thread jeking3
Github user jeking3 commented on the issue:

https://github.com/apache/thrift/pull/1496
  
Need to squash to one commit, ideally, to make a merge easier, and fix the 
issue causing older MSVC compilers (which people still use...) to generate 
different floating constants than other compilers.  There could be a compiler 
flag, or a way to fix it in the compiler.  It's great that we added tests to 
verify the output of the compiler; we shouldn't disable the new tests just 
because the C++ compiler is different.


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-15 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
Okay, I will add a condition on the tests. The values to do the assertions 
with will depend on the compiler. 


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-15 Thread jeking3
Github user jeking3 commented on the issue:

https://github.com/apache/thrift/pull/1496
  
You may be missing my point here.  Regardless of the compiler used to build 
the thrift compiler, whether it is gcc-4.6, clang-6.0, MSVC 2010, MSVC 2013, 
MSVC 2017, the floating constants emitted from the thrift compiler should be 
the same.  If they are not, I recommend fixing the thrift compiler and NOT 
disabling the new tests which caught an important issue.


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-16 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
@jeking3 , I will now re-enable the tests. But please note that the problem 
is at the C++ compiler level. The pre-2015 versions of the Visual Studio C++ 
compilers uses a different parsing and formatting algorithms on floating point 
numbers. Check this link out: 
https://blogs.msdn.microsoft.com/vcblog/2014/06/18/c-runtime-crt-features-fixes-and-breaking-changes-in-visual-studio-14-ctp1/
 (go to the title "Floating Point Formatting and Parsing Correctness")

Another article describing the issue: 
http://www.exploringbinary.com/visual-c-plus-plus-strtod-still-broken/
The comment made on the article, by a Visual Studio dev. team member: 
http://www.exploringbinary.com/visual-c-plus-plus-strtod-still-broken/#comment-9403

In the light of these, the best solution seems checking the compiler 
version, and doing the tests accordingly. 


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-16 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
@jeking3 or another alternative path to go: emitting double can depend on 
the msvc compiler version. If the compiler version is 2013 or less, we can 
ignore using fixed. 


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-16 Thread jeking3
Github user jeking3 commented on the issue:

https://github.com/apache/thrift/pull/1496
  
If there's a way to fix it in the compiler so that it works properly, 
that's much better.  Having compiler-version-specific branches in the thrift 
compiler to handle floating point oddities like this is fine.  Carrying the C++ 
compiler identifier down through the build system and pass into the tests as an 
argument/option/variable should really be avoided.


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-17 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
I have reverted the changes on passing the compiler flag to the testers, 
and modified the double emitter. 


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-17 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
@jeking3 the build results have come out. 


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-18 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
All green! :)


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-19 Thread jeking3
Github user jeking3 commented on the issue:

https://github.com/apache/thrift/pull/1496
  
Yes, however, it needs to be squashed to a single commit.  I would prefer 
if you did that, but I can do it if you really need me to.  It's just a lot 
more work for the committers to do that, and we have a lot of work we're doing 
already.  Looks like a good change though - thanks for that!  Clearly you care 
about your doubles a lot.


https://softwareengineering.stackexchange.com/questions/263164/why-squash-git-commits-for-pull-requests


---


[GitHub] thrift issue #1496: THRIFT-4476: Typecasting problem on list items (+ low pr...

2018-03-19 Thread ozymaxx
Github user ozymaxx commented on the issue:

https://github.com/apache/thrift/pull/1496
  
Thanks! I have just caught the meaning of squash since it's been the first 
time i try to contribute an open source project. I will squash all into a 
single one and let you know from here.


---