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
hunpos binaries do not work for modern linux kernels (3.x) #619
Comments
Original issue reported on code.google.com by
|
@Horsmann did you ever get around to check this? |
Sorry, no I did not. |
Hm, check your fstab: http://www.cyberciti.biz/faq/linux-add-nodev-nosuid-noexec-options-to-temporary-storage-partitions/ I guess if your tmp folder is not mounted as a separate file system in fstab, then noexec may not be the reason for the problem. Make sure to check on the right machine: the one where you were trying to run the standalone ;) |
I am on the right machine ^^ I am not the admin on this machine, but I assume /export/data is in my case the location which also contains the temporary directory (I find nothing else that sound like a temporary directory..) Btw, I just tested the jar on OS-X and this error does not occur. |
Was the previous comment helpful to you to understand the problem. |
The temporary directory should be "/tmp" - it should not be under "/export/data". Check your environment variables to see where your temp dir resides. I still have the feeling this is a "no_exec" problem. |
The temp directory has this "ls" output: The creator should be able to do everything |
I use the same machine that I use also use for other binaries that are loaded with the RuntimeProvider into temp directory where they are executed (CRFSuite for instance). If this is the cause of the problem the other binaries should share the problem? |
I talked to my sysadmin of the compute server, he confirmed that the temp directory is executable. I can't tell why the CRFsuite binary works, but not this one. |
Did you try copying the raw hunpos binary to the machine and simply try to run it on the command line? |
I just tried both neither 64bit nor 32bit binaries are runnable on my compute server. (i.e. -bash: ./hunpos-tag: Datei oder Verzeichnis nicht gefunden) |
Use |
hm, The binaries for linux might be just broken? |
hm, no - then it is a static library that should no depend on any shared libraries. |
Is there anyone with linux as OS that has ever run HunPos - I am all Mac, you are too, right? |
well, the unit tests on Jenkins are on Linux. |
Did you actually "chmod +x" the executable before trying to run it? |
yes. dunno why it is not working in my case? Does Jenkins maybe use a different version of the binaries? |
It uses the binaries from zoidberg from the Maven artifact. You can try to download the binaries from the hunpos homepage just to be sure and see if they run on your server. |
@giuliopaci Forget it - found it: https://github.com/mivoq/hunpos/releases/tag/v0.0.20170218 |
@giuliopaci Using it from dkpro core (https://dkpro.github.io/dkpro-core/). However - I just made it work by @reckart suggestion! Bravo @reckart! :) Installed inside docker (ubuntu) 32 bit libraries by instructions from this link
and it is working. Unfortunatelly now model loading by MST parser is never finishing -hangs on this line:
and after running another request (made AnalysisEngine object static so that model does not reloads and put everything on web server so that requests could be done on it) it is failing with NullPointerException:
I would guess that it is trying to read model which never finished loading in the first request, but can anyone check somehow? Anyway, hunpos tagging is working like a charm now. |
@ecamaj I have no clue about the Croatian language but combining Hunpos with the MSTParser models seem to produce odd output. We have a unit test here. The POS tagset and the tagset encoded in the MstParser model look more-or-less similar. However, the parser produces four ROOT nodes which looks rather wrong. Actually I had to disable the tests because DKPro Core today has sanity checks that make sure that a sentence cannot have more than one dependency ROOT node... If you are familiar with Croatian, maybe you see some obvious problems in the setup? Have you had any success in combining the Croatian hunpos and MstParser models outside of DKPro Core? Btw. it might be a good idea to move this discussion from here to either the mailing list or to a new issue. |
Yes, that is what my company does - NLP for the Croatian language. We didn't yet spend too much time into analysis of results of MSTParser tagging, but I tried now that unit test example sentence in croatian with manually downloaded model (from its original website) and manually installed MSTparser (from it's original website) and tested it, and yes, the results are the same:
Last two lines are result from MST parser, second line is result from hunpos. Having in mind that your Croatian example is bad Croatian in the first place, the correct sentence would be something like this:
Running MSTParser on that corrected sentence gives even more ROOT elements.
So, it seems that the you should cover this use-case in your unit tests and potentially other parts of dkpro core. Anyway, all this is not connected to the fact that installing IA32 libraries enabled hunpos tagging, but not MSTparser which hangs on "loading model" - could you check that? Best, |
@ecamaj I used Google Translate to create the test sentence ;) Regarding MstParser - the unit tests run. However, I run them with -Xmx5g. I would guess that your experience a hang because the JVM runs out of memory. Try giving it more memory. |
I opened a new issue for the ROOTs problem: #1033 |
:) Now you have someone to ask about Croatian. Yup, that helped! Since I'm running my little test program through mvn exec, this helped: Everything works now. We should work together, kicking problems without sweat. :) |
Thanks :) I opened a new issue for the ROOTs problem: #1033 |
I pulled hunpos from Git and gave it a try on our |
Do you know if the new binaries can read the old models? |
No, and I would have to figure out how to static link with ocalm - you know this by any chance? |
I'm afraid I'm not really familiar with ocaml. Maybe @giuliopaci has an idea? |
By "no" you mean you don't know if the existing models work or the existing models don't work? It would also be a good idea to test if the models work with the different binaries for the different platforms. |
I don't know if they work. |
The German model from the .jar does still work so I assume the others work as well. |
I just noticed that the current DKPro binaries are also non-static:
my recompiled version has almost the same dependencies: Are hose dependencies ok? By what I read this is stuff that should be there anyway? If I can use non-static binaries this would be a lot easier to prepare. I am not really sure how to hack into the build-script that I want static linked files. |
These dependencies should be ok. |
@reckart I cannot reproduce the original problem anymore. I tried running HunPos from a .jar on |
Our Jenkins build server is a Linux 3.2.0 and there it seems to be working as well. |
So what should we do here?
|
I would say close it for the moment as not a problem (in many situations). The problem is still there but the circumstances in which in occurs are unknown. The problem occurs seemingly sometimes for some (older?) kernel versions. |
Ok, well, then let's close it for the time being. If somebody stumbles over this again and cannot solve it be installing the 32-bit compatibility libraries, then we can reopen it. |
We now have a second Debian build node where the hunpos does not run :/
|
We upgraded the build node to a new kernel, but hunpos still does not run:
|
Original issue reported on code.google.com by
Tobias.Horsmann
on 2015-05-01 17:32:10The text was updated successfully, but these errors were encountered: