Bug 1050096

Summary: squidGuard : Segmentation fault (core dumped)
Product: [Fedora] Fedora Reporter: Jeoffrey L. Palacio <leviathan.ts>
Component: squidGuardAssignee: Gwyn Ciesla <gwync>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 21CC: artem.astafyev, arus, bill, gwync, itamar, rajamca66
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-02 03:06:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
dmesg for squidGuard none

Description Jeoffrey L. Palacio 2014-01-08 16:58:43 UTC
Created attachment 847261 [details]
dmesg for squidGuard

Description of problem:
I have installed SquidGuard: 1.4 Berkeley DB 5.3.28: (September  9, 2013) via yum. 
Installation is successful without errors. Then I extracted the blacklist to /var/squidGuard/blacklists. I made a chown squid /var/squidGuard/blacklists to make sure that squid can read/write to that blacklist db. I did the same with the /var/log/squidGuard/squidGuard.log.

However, whenever I try to begin squidGuard -b -C all to create a db file from domains and urls files the message "Segmentation fault (core dumped)" always appear and no db files ever created.

I check /var/log/squidGuard/squidGuard.log with the following error:

Jan  9 00:32:42 squid kernel: [374637.391865] squidGuard[4906]: segfault at ffffffff8ae3d1a0 ip 00007f0c89ea0722 sp 00007fff8e132748 error 5 in libc-2.18.so[7f0c89e12000+1b4000]

Dmesg output have the same error:

[198089.092813] squidGuard[9870]: segfault at ffffffffc7a5b1a0 ip 00007f47c6abe722 sp 00007fffd3e24b38 error 5 in libc-2.18.so[7f47c6a30000+1b4000]
[198089.139139] squidGuard[9872]: segfault at 43f1f1a0 ip 00007f6742f82722 sp 00007ffffbf3d3c8 error 4 in libc-2.18.so[7f6742ef4000+1b4000]
[198089.152785] squidGuard[9873]: segfault at 391df1a0 ip 00007fa838242722 sp 00007fff9453ddb8 error 4 in libc-2.18.so[7fa8381b4000+1b4000]
[198089.166818] squidGuard[9874]: segfault at 502171a0 ip 00007f134f27a722 sp 00007fff48b69208 error 4 in libc-2.18.so[7f134f1ec000+1b4000]
[198089.203660] squidGuard[9877]: segfault at ffffffff8836a1a0 ip 00007ff0873cd722 sp 00007fff8cd326b8 error 5 in libc-2.18.so[7ff08733f000+1b4000]
[198089.218673] squidGuard[9879]: segfault at ffffffff8f58a1a0 ip 00007f258e5ed722 sp 00007fff8d51a2c8 error 5 in libc-2.18.so[7f258e55f000+1b4000]
[198089.221417] squidGuard[9880]: segfault at ffffffffa51681a0 ip 00007fe5a41cb722 sp 00007fff005484f8 error 5 in libc-2.18.so[7fe5a413d000+1b4000]
[198089.255642] squidGuard[9884]: segfault at 1a6411a0 ip 00007fc1196a4722 sp 00007fffe6b85df8 error 4 in libc-2.18.so[7fc119616000+1b4000]
[198089.264663] squidGuard[9887]: segfault at ffffffff903c71a0 ip 00007f478f42a722 sp 00007fff8a3c6808 error 5 in libc-2.18.so[7f478f39c000+1b4000]
[198089.292951] squidGuard[9886]: segfault at ffffffffc9c241a0 ip 00007f42c8c87722 sp 00007fffa5d528b8 error 5 in libc-2.18.so[7f42c8bf9000+1b4000]

it seems that squidGuard-1.4-19.fc20.x86_64 is not working properly with glibc-2.18-11.fc20.x86_64

Version-Release number of selected component (if applicable):

squidGuard-1.4-19.fc20.x86_64 - SquidGuard: 1.4 Berkeley DB 5.3.28: (September  9, 2013

How reproducible:


Steps to Reproduce:
1. yum -y install squidGuard. (install is successful)
2. tar -xvzf blacklist.tar.gz to the /var/squid/blacklist
3. chown -R squid /var/squid/blacklist
4. chown -R squid /var/log/squidGuard/
5. squidGuard -b -C all

Actual results:
Segmentation fault (core dumped)
 squidGuard[4511]: segfault at 332781a0 ip 00007f37322db722 sp 00007fff2a2283c8 error 4 in libc-2.18.so[7f373      0+1b4000]

Expected results:
should be able to create domains.db and urls.db successfully

Additional info:

Comment 1 Gwyn Ciesla 2014-02-28 17:16:32 UTC
This worked for me as root, but segfaulted is a regular user.

Comment 2 Jeoffrey L. Palacio 2014-03-02 05:34:34 UTC
Hi Jon,

I have done all the steps above as root user when I encountered the problem.

Comment 3 Artem Astafyev 2014-04-29 11:44:46 UTC
I have segfault even if I simply run squidGuard without any arguments. Below is stack trace:
#0  0x00007ffff73305b0 in __memcpy_ssse3 () from /lib64/libc.so.6
#1  0x0000555555558ea1 in memcpy (__len=40, __src=<optimized out>, __dest=0x7ffffffd6b00) at /usr/include/bits/string3.h:51
#2  sgDbUpdate (Db=0x555555781b10, key=key@entry=0x55555577d372 "bob", value=0x557701a0 <Address 0x557701a0 out of bounds>, len=len@entry=40) at sgDb.c:513
#3  0x000055555555b7b1 in sgSourceUser (user=0x55555577d372 "bob") at sg.y:593
#4  0x000055555555f296 in yyparse () at sg.y:225
#5  0x000055555555f673 in sgReadConfig (file=<optimized out>) at sg.y:385
#6  0x0000555555557158 in main (argc=2, argv=0x7fffffffe618, envp=0x7fffffffe630) at main.c:141

ltrace shows that it happen when parsing src section of config file. In my case it is:
src admins {
    user bob administrator
}
I think it's related to #1034903.

Comment 4 Artur 2015-03-31 07:44:22 UTC
It happens when there is "user" element in src section. In default configuration file there is "src admin" section containing "user root foo bar" element.
It is related to bug #1034903, bug #1205636, bug #1109158. Backtraces from those reports also point to this (sgSourceUser).

Comment 5 Raja 2015-04-26 14:06:27 UTC
Hi,
I am facing the same problem. 

Actual results:
Segmentation fault (core dumped).


squidGuard.log
2015-04-26 19:31:36 [9132] init domainlist /usr/local/squidGuard/db/porn/domains
2015-04-26 19:31:37 [9132] create new dbfile /usr/local/squidGuard/db/porn/domains.db

Comment 6 Artur 2015-05-28 10:50:48 UTC
I did some debugging. Backtrace shows, that it must be related to the following (messages during compilation):

sg.y: In function ‘sgSourceUser’:
sg.y:593:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   sgDbUpdate(sp->userDb, user, (char *) setuserinfo(),
                                ^
sg.y: In function ‘sgSourceUserList’:
sg.y:649:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       sgDbUpdate(sp->userDb, line, (char *) setuserinfo(),
                                    ^
sg.y:657:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
        sgDbUpdate(sp->userDb, p, (char *) setuserinfo(),
                                  ^
sg.y: In function ‘sgSourceExecUserList’:
sg.y:807:34: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       sgDbUpdate(sp->userDb, sc, (char *) setuserinfo(),
                                  ^

AFAICS it affects only 64 bit systems. The workaround is to install 32-bit squidGuard package on 64-bit system.

Comment 7 Fedora End Of Life 2015-05-29 10:23:38 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 8 Artur 2015-05-29 10:34:18 UTC
This bug report is valid also for Fedora 22. Please don't close it without fixing.

Comment 9 Gwyn Ciesla 2015-08-31 19:51:16 UTC
See if the build here helps.

https://fedorapeople.org/~limb/squidGuard/

Comment 10 Fedora End Of Life 2015-11-04 15:24:25 UTC
This message is a reminder that Fedora 21 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 21. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '21'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 21 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 11 Fedora End Of Life 2015-12-02 03:06:13 UTC
Fedora 21 changed to end-of-life (EOL) status on 2015-12-01. Fedora 21 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.