Bug 1000768

Summary: bitlbee does not start after upgrading F17 -> F18
Product: [Fedora] Fedora Reporter: Sergio Durigan Junior <sergiodj>
Component: bitlbeeAssignee: Robert Scheck <redhat-bugzilla>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 18CC: mcepl, mcepl, redhat-bugzilla, sergiodj
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: 2013-08-28 18:59:08 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:

Description Sergio Durigan Junior 2013-08-25 01:46:12 UTC
Description of problem:

bitlbee would not start after I upgraded my system from Fedora 17 to Fedora 18.  Issuing a "systemctl status bitlbee" would give me the following messages:

[root@afrodite ~]# systemctl status bitlbee.service 
bitlbee.service - BitlBee IRC/IM gateway
   Loaded: loaded (/usr/lib/systemd/system/bitlbee.service; enabled)
   Active: failed (Result: start-limit) since Sat 2013-08-24 22:34:54 BRT; 10s ago
  Process: 4004 ExecStart=/usr/sbin/bitlbee -D -n (code=exited, status=255)

Aug 24 22:34:54 afrodite systemd[1]: bitlbee.service: main process exited, code=exited, status=255/n/a
Aug 24 22:34:54 afrodite systemd[1]: Unit bitlbee.service entered failed state.
Aug 24 22:34:54 afrodite systemd[1]: bitlbee.service holdoff time over, scheduling restart.
Aug 24 22:34:54 afrodite systemd[1]: Stopping BitlBee IRC/IM gateway...
Aug 24 22:34:54 afrodite systemd[1]: Starting BitlBee IRC/IM gateway...
Aug 24 22:34:54 afrodite systemd[1]: bitlbee.service start request repeated too quickly, refusing to start.
Aug 24 22:34:54 afrodite systemd[1]: Failed to start BitlBee IRC/IM gateway.
Aug 24 22:34:54 afrodite systemd[1]: Unit bitlbee.service entered failed state.

After looking at /var/log/messages, I saw that it was actually a permission issue, because bitlbee was not being allowed to bind on the necessary port.  I fixed this issue with:

# semanage port -a -t ircd_port_t -p tcp 6660

However, I still see some warnings:

[root@afrodite ~]# systemctl status bitlbee.service 
bitlbee.service - BitlBee IRC/IM gateway
   Loaded: loaded (/usr/lib/systemd/system/bitlbee.service; enabled)
   Active: active (running) since Sat 2013-08-24 22:39:58 BRT; 1s ago
 Main PID: 4428 (bitlbee)
   CGroup: name=systemd:/system/bitlbee.service
           └─4428 /usr/sbin/bitlbee -D -n

Aug 24 22:39:58 afrodite systemd[1]: Starting BitlBee IRC/IM gateway...
Aug 24 22:39:58 afrodite systemd[1]: Started BitlBee IRC/IM gateway.
Aug 24 22:39:58 afrodite bitlbee[4428]: Warning: Warning: Couldn't write PID to `/var/run/bitlbee.pid'
Aug 24 22:39:58 afrodite bitlbee[4428]: Warning: Couldn't write PID to `/var/run/bitlbee.pid'


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

bitlbee-3.2-3.fc18.x86_64

How reproducible:

Happened after I upgraded from F17 to F18.  Don't know if it would happen after every upgrade, though.

Comment 1 Matěj Cepl 2013-08-26 09:06:01 UTC
(In reply to Sergio Durigan Junior from comment #0)
> After looking at /var/log/messages, I saw that it was actually a permission
> issue, because bitlbee was not being allowed to bind on the necessary port. 
> I fixed this issue with:
> 
> # semanage port -a -t ircd_port_t -p tcp 6660

This must be your local configuration. Per /usr/lib/systemd/system/bitlbee.socket:

[Unit]
Conflicts=bitlbee.service

[Socket]
ListenStream=6667
BindToDevice=lo
Accept=yes

[Install]
WantedBy=sockets.target

bitlbee is connected (as it should be) on the standard IRC port 6667. The same goes for the daemon mode. In /etc/bitlbee/bitlbee.conf I see

matej@wycliff: bitlbee$ grep -i 'DaemonPort =' /etc/bitlbee/bitlbee.conf
# DaemonPort = 6667
matej@wycliff: bitlbee$ 

and built-in default is

matej@wycliff: bitlbee-3.2 (master %)$ bitlbee -h |grep Port
  -p  Port number to listen on. (Default: 6667)

also 6667.

Port 6667 is of course correctly labeled by the default SELinux policy as ircd_port_t:

matej@wycliff: bitlbee-3.2 (master %)$ sudo semanage port -l|grep ircd
ircd_port_t                    tcp      6667, 6697

Generally I would say there is no bug here. If you start to use another port, you have to relabel it. That's IMHO as SELinux works (and as it should work).

> Aug 24 22:39:58 afrodite bitlbee[4428]: Warning: Warning: Couldn't write PID
> to `/var/run/bitlbee.pid'
> Aug 24 22:39:58 afrodite bitlbee[4428]: Warning: Couldn't write PID to
> `/var/run/bitlbee.pid'

I am not sure what's going on. Please, recheck that it is not a result of some other local configuration.

Comment 2 Sergio Durigan Junior 2013-08-28 18:59:08 UTC
Thanks for the quick reply.  Indeed, you are right, I forgot that I had changed the port in the first case, and the second case does not manifest anymore (not sure what changed).  Things look OK now.  Sorry about the noise!