-
Notifications
You must be signed in to change notification settings - Fork 585
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HockeyApp failing, and yet not #1196
Comments
Maybe this is related to fsprojects/ProjectScaffold#245 (comment) |
@bretkoppel I wonder why the external curl tool is used instead of .NET WebRequest? |
Hmmmm, interesting. I actually started out using WebRequest and remember running into some bizarre issue and falling back to curl, which is what the TestFlightHelper was using(iirc). Could make for a good refactor, though. FWIW, this is still working in our heavily used build system. Not sure what's going with the double-byte chars in the error message. |
@bretkoppel when you say it's working in your system, do you mean it uploads successfully without any exception being raised? |
Correct. Our build server(mac mini / capitan) has no problems uploading to hockey. Nor have individual developers had problems. |
Still get this error! Any fixes ? |
I can repro this at a different part of our build process(totally unrelated to Hockey) now that I've moved to Xamarin's beta channel. I'm looking into that, but don't believe that this is related to Hockey specifically. |
With FAKE => 4.25.0 the encoding issue should be fixed |
@juergenhoetzel I was hoping that your fix in 4.25 would help, but I'm still seeing the unicode output. Digging into it. |
@juergenhoetzel Ah, I see. My code specifically is calling the Shell.exec entry point, which isn't redirecting to ExecProcessWithLambdas. So the unicode issue for the HockeyAppHelper should indeed be resolved in new versions. |
I looked at the Chinese characters, and it looks like they're UTF-8 that's being interpreted as UTF-16: ≻楴汴≥∺楌瑴敬敗摥 is the following sequence of characters:
Assuming the system is little-endian, that would be the following sequence of UTF-8 characters:
Or, in other words: So the thing to look for is why this UTF-8 string is being read as UTF-16. |
@juergenhoetzel Have you had any luck with this? Reading changes, this should be resolved by upgrading to FAKE >=4.25.0 and ensuring that you're not specifically calling any of the Shell.Exec methods, which resolve to the non-UTF-8 forcing asyncShellExec. Anecdotally, this has resolved any double-byte output in our build scripts. I'll make time to do a deeper dive, though, if you're still having issues after following those steps. |
Works for me> @juergenhoetzel Have you had any luck with this? Reading changes, this should be resolved by upgrading to FAKE >=4.25.0 and ensuring that you're not specifically calling any of the Shell.Exec methods, which resolve to the non-UTF-8 forcing asyncShellExec. Anecdotally, this has resolved any double-byte output in our build scripts. I'll make time to do a deeper dive, though, if you're still having issues after following those steps. Works for me with FAKE >= 4.25.0 (Setting
|
FAKE 4.28.0 still getting raised disposing exception when publishing on hockey app. Time Elapsed 00:00:45.8459450 Unhandled Exception: |
FWIW, I've found that shelling to curl is somehow (and not predictably) causing the switch to asian characters. I found this when debugging a problem uploading symbols to Raygun. My target was only shelling to curl. Sometimes the output is perfect, but other times (when the progress counter starts) it switches to asian characters. Here is sample output that is good:
Example of bad output:
|
I see same problem without any curl references. But I have android packaging also, I believe it is somehow related. |
I just had this happen when running the
If I interpret that string of mostly-Chinese characters as "UTF-8 wrongly parsed as UTF-16", it decodes into the following text:
The file '
|
Note that I was not able to reproduce this problem a second time, as the second time I ran
(Rest of error message snipped for brevity). I believe this one to be a different problem -- I've been able to reproduce it consistently by running |
That's with FAKE 4.29.2 on Ubuntu 14.04 (Trusty). |
@rmunn can you please provide source/link to the GenerateHelp task? |
@alexsorokoletov It's the default build.fsx file from ProjectScaffold. You can either clone https://github.com/fsprojects/ProjectScaffold and run https://github.com/fsprojects/ProjectScaffold/blob/master/build.template#L229 |
Steps to reproduce on Linux (on Windows, it seems to work):
Result: the same pseudo-Chinese compilation error I reported above:
Running
On Windows, I don't encounter this error, presumably because on Windows, UTF-8 isn't being used and so there's no encoding mismatch to trigger the problem. I can reproduce this consistently on Linux, though. To reproduce a second time after triggering the error once:
If you skip the Hopefully the above reproduction steps will help someone narrow down the source of this bug. |
Note that I have NOT been able to reproduce this on Linux Mint 18 (based on Ubuntu 16.04). But I can reproduce it consistently on my Ubuntu Trusty (14.04) machine. |
Note that, as you can see in fsprojects/FSharp.Formatting#412, I've also been able to reproduce this wrong-encoding bug by compiling a clean copy of the FSharp.Formatting repo (check out the repo, run |
One note: by running on Mono 4.2 instead of 4.4 (following these instructions), I was able to stop this bug from triggering in the ProjectScaffold code base. So this might be caused by a Mono bug, and downgrading Mono to 4.2 might be enough to temporarily work around this bug. |
I also started seeing this with mono 4.4 Alex
|
@rmunn this is indeed a regression in Mono 4.4 (https://bugzilla.xamarin.com/show_bug.cgi?id=41979). It was fixed with mono/mono@2748244 and I've scheduled a backport of the fix to a future 4.4 service release. I tried a local build with the fix applied and your repro doesn't show the problem anymore :) |
See fsprojects/FAKE#1196, fsprojects/FAKE#1212, fsprojects/FAKE#1213 & fsprojects/FAKE#1194 Not sure of the ramifications of this change, but this fixes the encoding issues in FAKE for me. l.Head.Encoding was `System.IO.StringWriter(new System.Text.StringBuilder()).Encoding` which evaluates to utf-16 /cc:@forki
I guess this is fixed. |
I'm using
HockeyApp
and it's successfully uploading the IPA/APK. However, it's failing the build:I have no idea where the asian characters are coming from. Presumably there's some useful information in there about why this has been considered a failure.
I'm running on Mac/mono, in case it matters.
The text was updated successfully, but these errors were encountered: