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
Executable jar under OSX: 'The driver executable does not exist' #8
Comments
FirefoxDriverManager.getInstance().setup() from io.github.bonigarcia-webdrivermanager sets the driver path dynamically rather than hard coding it. I fixed the bug in my local and will be happy to submit the fix in a pull request if you grant me permission. Thanks for sharing the tool by the way! |
Hi, thanks for the issues. I recently updated the CLI application, as Firefox driver was not natively embedded in Selenium anymore. That was a quick fix, and i need to consider a more complex driver management now. I will update the tools before Round 1A, allowing user to choose browser and driver (as for issue #3) they wants for authentification, and other features like creating sample dataset from problem description. Thanks for sharing io.github.bonigarcia-webdrivermanager, didn't know about this :). |
Implements sample dataset extraction from init action.
The issue is now solved by https://github.com/Faylixe/googlecodejam-cli/releases/tag/v1.4.0 release. |
Just tested it, it looks perfect thanks! |
Please note though, that the source file upload is still somehow broken (file is correctly uploaded but the built zip file is corrupted into their server). So use this tools for input download only to be sure. For uploading source code and output file uses the dashboard UI. |
Hmm, ok thanks for the update. I'll have a deeper look later on today and see if I can hopefully fix the upload problem. I'll let you know. |
The real problem with fixing the upload issue is that you can only test it during an online round. I had a test contest opened for testing once for validating my tool, when i didn't spot the issue. See #5 for more details . |
I see, I really want to get this thing working though, so I think I'll sacrifice round 1A just to debug the upload issue. I'll have rounds 1B and 1C to catch up with later. |
That is a good call if you are in a timeframe that allows to do it efficently.
I'm in France and round 1A is at 3:00am which is quite heavy for debugging
:). Though round 1A is the hardest one since usually top 1000 competitor
solve all problem in a very short time frame (which will never be my case
:p). Plus if your are skilled enough to pass round 1A you won't have any
difficulty to pass B or C (that is a very personal point of view).
Here is what i came up so far to help you:
- Output file upload is working, and when doing so if your output file is
correct, the submission is validated without issues from code jam servers.
- Source code upload is working, that it, the file is correctly sent to
codejam server. When you are checking your submission in the contest
dashboard, you can download the source file, which will be downloaded as a
ZIP archive.
- Problem is : This ZIP archive, is corrupted, if you try to unzip it, you
will have an error.
- Some tests performed by CLI users has shown though that the zip file DOES
contains the source file (using crc32 checksum).
- Source file DOES exist into codejam server, and i think they can access
it if needed (which imply that using the tools without fixing this problem
won't impact your submission and cause you trouble)
I just think that problem is coming in the way source file is sent to the
server with HTTP, the filename is not sent properly which cause the
corrupted ZIP archive. I tried to understand what was goin' on but
impossible to know without testing contest.
Here are class / method involved :
- CodeJamSession#submit() is responsible for creating the upload HTTP
request.
- CodeJamSession#createContent() is responsible for creating HTTP
headers with file data.
- HttpRequestExecutor#buildFilePart() is the concrete method that
builds header for a file upload.
If you have any question don't hesitate.
2017-04-11 13:47 GMT+02:00 Ahmed <notifications@github.com>:
… I see, I really want to get this thing working though, so I think I'll
sacrifice round 1A just to debug the upload issue. I'll have rounds 1B and
1C to catch up with later.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#8 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAPR0i55jNnW7YU7Uy1AZxodSbLvGpI2ks5ru2hVgaJpZM4M338J>
.
--
____________________________________
*Félix Voituret*
*Research and development engineer*
*iSmart, SmartLab, Kware*
*www.ismart.fr <http://www.ismart.fr>*
Phone : +33 6 48 95 75 46, Fax : +33 4 42 24 45 78
|
If you want you can try to ask Google Code Jam admins to open a testing contest for it. but i think they have lot of work and are not really available for such task. |
oh wow, thanks for taking the time to share all the details, I'll keep you posted on what I end up with. I'm in Tunisia myself, it'll be 2 am when the contest starts which shouldn't be a problem in a Friday night. This is my first code jam, so I don't know how I'm going to compare with competition, I have humble expectations but we'll see. The top 1000 performers in round 1A won't be allowed to participate in subsequent rounds so i believe it's safe enough to assume B and C will be easier. I did post a question about google's python based commandline tool in their code jam group, the admins did not allow the post for no explicit reason. There are a few reasons I'm guessing might have driven their decision to abandon the tool, it could be that very few users have used it in the past and maybe they find it unfair to give those a privilege over the rest (vast majority) who might not even be aware of the tool. Just my personal random guesses though, I've no evidence obviously. I also tweeted them with no response, so asking them for a testing server won't make a difference I believe. |
No problem. I don't have time to handle this unfortunately so i am glad someone want to contribute and try to fix it :) Concerning the python CLI tools, it is deprecated since few years already since ClientLogin authentification protocol has been closed by Google. Now all Google Services uses OAuth, but CodeJam is the only one who don't, so the situation is quite weird. That is why i use Selenium to perform the login step. The only way to perform HTTP request to the Codejam platform is to be already logged, using the SACSID token into your cookies. I decided to start codejam client, CLI, and Jammy once the old tools were defenitivly dead. I think they didn't allow you to post since they don't want other users to be aware of a tool that doesn't work anymore, and could lead to issues during contest. I also think they have lot of work to do during contest period, switching with their current work as engineer and time dedicated to Codejam so they are not as much responsive as this tool will never be a priority. |
From now if we can switch conversation on #5 as it is an appropriate issue for this problem that would be great :) |
I'm under MacOS, here's what I get when I run java -jar googlecodejam-cli.jar --init
Initialization] Web browser will open, please authenticate to your Google account with it.
Exception in thread "main" java.lang.IllegalStateException: The driver executable does not exist: /usr/local/bin/geckodriver
at com.google.common.base.Preconditions.checkState(Preconditions.java:518)
at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:123)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:118)
at org.openqa.selenium.firefox.GeckoDriverService.access$100(GeckoDriverService.java:38)
at org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:112)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:302)
at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:233)
at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:125)
at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:121)
at fr.faylixe.googlecodejam.cli.SeleniumCookieSupplier.get(SeleniumCookieSupplier.java:66)
at fr.faylixe.googlecodejam.cli.ApplicationCommand.browserInit(ApplicationCommand.java:155)
at fr.faylixe.googlecodejam.cli.ApplicationCommand.init(ApplicationCommand.java:214)
at fr.faylixe.googlecodejam.cli.Application.main(Application.java:53)
The text was updated successfully, but these errors were encountered: