-
Notifications
You must be signed in to change notification settings - Fork 22
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
affsign -k: segmentation fault in s390x, ppc64 and sparc64 (Debian) #41
Comments
Hi @eribertomota . My suspicion is an endian-ness bug somewhere, but that is just a guess. Can you get me a call stack where it seg faults? For the rawevidence.raw, I am open to suggestions on how to change that script. I think we could just have it grab files from somewhere else like |
Thanks for your very quick reply. Can you guide me how to get a call stack?
I think the rawevidence.raw must be ASCII only (because the old upstream focused in dictionaries). I suggest to use local .cpp files as source or a file from /etc. What you think about it? |
If you run aftest inside gdb (e.g.,
I can't see anything that indicates they have to be text files, but I like your idea better, so I'll try that. |
aftest or affsign? |
oh yeah, sorry; |
This worked for me (I had to use .libs/affsign because affsign ends up being a libtool wrapper script or somethign):
|
In s390x: /home/eriberto/afflib/afflib-3.7.18/tools/.libs/affsign: error while loading shared libraries: libafflib.so.0: cannot open shared object file: No such file or directory |
Maybe I need install afflib in environment... |
fyi, I just put in the fix to make it not rely on /usr/share/dict: 15ebb83 |
Ok, I did a test in my local machine. I need install afflib and use a prebuilt tmp/name.pem. The problem is I don't have permission to install afflib in remote machine... Is there a way to use a local libafflib.so.0? |
Good! |
I just installed afflib in remote. A moment please... |
Well... I don't understand...
No fail, no stack. |
However, I ran the build command again and I got the same error. |
Hmm, that is very odd for it to work outside of gdb but not inside, crazy! How about this. Can you make it dump a core file? I think you can enable that by running |
I created a valgrind for you... I will try gdb. |
|
---> 308 afflib_pages.cpp: No such file or directory ??? |
wow, so many errors! |
I think the seg fault happened on line 308 of afflib_pages.cpp, but the Here's lines 306-309:
|
I'm scouring the code here but not seeing the problem yet. Seems likely to be something such as the data buffer not getting allocated to the full size it should be (pagesize). |
can you tell me what sizeof(long) is on those systems? |
How to get it? |
s390x hurd |
ok, yeah I think I found the problem; one minute... |
good |
please try changing line 244 in lib/afflib_pages.cpp, from this:
to this:
and let me know if it runs better |
Worked fine! |
awesome! committing the fix and adding in a sanity test to go with it now... |
If you want I can prepare a patch and send to Debian experimental to test in all archs before you release a new version. |
@eribertomota yes, that would be great, thanks! here is the commit with the fix, which is also in master now: e386977 |
I will send master to Debian. For Debian it is 3.7.18+git20200701.e386977 |
remind me when this is all done to create a new version (tag), since it has been a while |
Sure! |
Hi @sshock,
In my last Debian revision for afflib, I re-enabled the upstream tests (disabled since 2010). The package was built in several architectures but failed to build from source in three archs: s390x, ppc64 and sparc64. I attached the build logs but you can see a relevant part below:
I have SSH access to all machines and I can help to do tests. In a s390x, running the command by hand, I can see:
Please, let me know if you need more details or tests.
Taking advantage of this message, I would like to ask for use other source to generate the rawevidence.raw file. Currently, it uses the content of /usr/share/dict/. It is bad for me because I need force the build system to install dictionaries. See below:
Thanks a lot in advance.
Regards,
Eriberto
afflib-logs.tar.gz
The text was updated successfully, but these errors were encountered: