# [pm-utils] problema con la red

## k4in

acabo de instalar el paquete pm-utils para poder ahorrar energia, suspender o hibernar, cuando no este usando mi pc (antes siempre la apagaba, pero ultimamente no), y a la primera todo parecia funcionar bien, pero tengo un problema bastante molesto, cuando suspendo la maquina y se activa de nuevo, la red deja de funcionar, aunque en los logs todo parece ir bien, el demonio se detiene correctamente y las carpetas montadas en nfs tambien, cuando inicia otra vez parece ir bien pero ya no vuelve a montar las carpetas en nfs (obviamente porque no funciona la red), aca esta el log

```
Initial commandline parameters: --quirk-vbe-post

Blacklisting 01grub.

Blacklisting 55NetworkManager.

Blacklisting 90clock.

Blacklisting 01grub.

Blacklisting 55NetworkManager.

Blacklisting 90clock.

Sat Mar 28 19:13:39 UTC 2009: Running hooks for suspend.

/usr/lib64/pm-utils/sleep.d/00auto-quirk suspend suspend: success.

/usr/lib64/pm-utils/sleep.d/00logging suspend suspend: Linux Quake 2.6.27-gentoo-r8 #1 SMP PREEMPT Sun Jan 25 11:20:01 UTC 2009 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 6000+ AuthenticAMD GNU/Linux

Module                  Size  Used by

vboxdrv              1631104  0 

nvidia               8109464  36 

lirc_atiusb            12592  1 

xpad                   10692  0 

ff_memless              5000  1 xpad

lirc_dev               11208  1 lirc_atiusb

             total       used       free     shared    buffers     cached

Mem:       4060896    1043384    3017512          0      70036     364172

-/+ buffers/cache:     609176    3451720

Swap:      4265248          0    4265248

success.

/usr/lib64/pm-utils/sleep.d/00powersave suspend suspend: success.

/usr/lib64/pm-utils/sleep.d/01grub suspend suspend: disabled.

/etc/pm/sleep.d/10custom suspend suspend:  * Stopping eth0

 *   Bringing down eth0

 *     Shutting down eth0 ...                                             [ ok ]

success.

/usr/lib64/pm-utils/sleep.d/49bluetooth suspend suspend: not applicable.

/usr/lib64/pm-utils/sleep.d/55NetworkManager suspend suspend: disabled.

/usr/lib64/pm-utils/sleep.d/75modules suspend suspend: FATAL: Module nvidia is in use.

/usr/lib64/pm-utils/functions: line 75: log: command not found

success.

/usr/lib64/pm-utils/sleep.d/90chvt suspend suspend: success.

/usr/lib64/pm-utils/sleep.d/90clock suspend suspend: disabled.

/usr/lib64/pm-utils/sleep.d/94cpufreq suspend suspend: success.

/usr/lib64/pm-utils/sleep.d/95led suspend suspend: not applicable.

/usr/lib64/pm-utils/sleep.d/98smart-kernel-video suspend suspend: success.

/usr/lib64/pm-utils/sleep.d/99video suspend suspend: kernel.acpi_video_flags = 0

success.

Sat Mar 28 19:13:47 UTC 2009: performing suspend

Sat Mar 28 19:14:34 UTC 2009: Awake.

Sat Mar 28 19:14:34 UTC 2009: Running hooks for resume

/usr/lib64/pm-utils/sleep.d/99video resume suspend: success.

/usr/lib64/pm-utils/sleep.d/98smart-kernel-video resume suspend: success.

/usr/lib64/pm-utils/sleep.d/95led resume suspend: not applicable.

/usr/lib64/pm-utils/sleep.d/94cpufreq resume suspend: success.

/usr/lib64/pm-utils/sleep.d/90clock resume suspend: disabled.

/usr/lib64/pm-utils/sleep.d/90chvt resume suspend: success.

/usr/lib64/pm-utils/sleep.d/75modules resume suspend: success.

/usr/lib64/pm-utils/sleep.d/55NetworkManager resume suspend: disabled.

/usr/lib64/pm-utils/sleep.d/49bluetooth resume suspend: not applicable.

/etc/pm/sleep.d/10custom resume suspend:  * Starting eth0

 *   Bringing up eth0

 *     192.168.2.101

                                                                          [ ok ]

 *   Adding routes

 *     default via 192.168.2.1 ...                                        [ ok ]

 * Starting NFS sm-notify ...                                             [ ok ]

 * Mounting NFS filesystems ...mount.nfs: mount system call failed

```

es una red alambrica, no uso dhcpd tengo una ip estatica

estoy usando sys-power/pm-utils-1.2.3-r1 con sys-apps/hal-0.5.11-r8 y kde 4.2.1 y la verdad no tengo ni idea  de porque sea (aunque tambien es la primera vez que instalo esto), porque aunque detenga manualmente la red y nfs, si lo inicio otra vez a mano ya no vuelve a funcionar hasta que reinicie completamente la maquina

----------

## Inodoro_Pereyra

De tu problema ni idea pero van algunas ideas para diagnosticar:

Revisaste ya dmesg o /var/log/messages buscando algun mensaje de error después de suspender?

Probaste forzar a mano levantar la red con algo como esto?

```
ifconfig eth0 up

ifconfig eth0 192.168.2.101

route add default gw 192.168.2.1
```

Salud!

----------

## k4in

cuando trate de forzar la red con ifconfig, al ejecutar dmesg me encontre esto

```
------------[ cut here ]------------

WARNING: at net/sched/sch_generic.c:219 dev_watchdog+0x128/0x1bd()

NETDEV WATCHDOG: eth0 (forcedeth): transmit timed out

Modules linked in: vboxdrv nvidia(P) lirc_atiusb xpad lirc_dev ff_memless

Pid: 0, comm: swapper Tainted: P          2.6.27-gentoo-r8 #1

Call Trace:

 <IRQ>  [<ffffffff80231436>] warn_slowpath+0xb4/0xdf

 [<ffffffffa0374c00>] _nv004735rm+0x7b/0x7e [nvidia]

 [<ffffffffa0374c64>] _nv004734rm+0x61/0x8d [nvidia]

 [<ffffffff80226ad8>] target_load+0x2a/0x4f

 [<ffffffff803e42b9>] __next_cpu+0x19/0x26

 [<ffffffff8022877d>] find_busiest_group+0x256/0x71c

 [<ffffffff80226730>] tg_nop+0x0/0x6

 [<ffffffff805b3c8f>] dev_watchdog+0x128/0x1bd

 [<ffffffff805b3b67>] dev_watchdog+0x0/0x1bd

 [<ffffffff802395fc>] run_timer_softirq+0x177/0x1eb

 [<ffffffff8022e9d8>] scheduler_tick+0xc5/0xf3

 [<ffffffff8023583a>] __do_softirq+0x50/0xcb

 [<ffffffff8020dece>] profile_pc+0x21/0x57

 [<ffffffff8020c5bc>] call_softirq+0x1c/0x28

 [<ffffffff8020dcb1>] do_softirq+0x2c/0x68

 [<ffffffff8023578d>] irq_exit+0x36/0x42

 [<ffffffff8021b384>] smp_apic_timer_interrupt+0x9d/0xc9

 [<ffffffff8020c006>] apic_timer_interrupt+0x66/0x70

 <EOI>  [<ffffffff80211825>] default_idle+0x27/0x3b

 [<ffffffff80211a1e>] c1e_idle+0xe4/0xe8

 [<ffffffff8020a0b9>] cpu_idle+0x8b/0xc1

---[ end trace 945227f3a3fcb2cd ]---

eth0: Got tx_timeout. irq: 00000032

eth0: Ring at 13ce9c000

eth0: Dumping tx registers

  0: 00000032 000000ff 00000003 03a903ca 00000000 00000000 00000000 00000000

 20: 00000000 00000000 00000000 00000000 00000001 00000000 00000000 00000000

 40: 0420e20e 0000a855 00002e20 00000000 00000000 00000000 00000000 00000000

 60: 00000000 00000000 00000000 0000ffff 0000ffff 0000ffff 0000ffff 00000000

 80: 003b0f3c 40000001 00000000 007f0020 0000061c 00000001 00000000 80007fc3

 a0: 0016070f 00000016 9c7d1d00 0000d068 00000001 00000000 6300cccd 00002e97

 c0: 10000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001

 e0: 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001

100: 3ce9c800 3ce9c000 007f00ff 00008000 00010064 00000000 00000055 3ce9c900

120: 3ce9c1c0 bf916c40 a000ffeb 3bde4010 8000061c 3ce9c90c 3ce9c0f0 01e08000

140: 00304120 80c02600 00000001 00000001 00000000 00000000 00000001 00000000

160: 00000001 00000001 00000001 00000001 01ff0080 0000c000 00000000 00000000

180: 00000006 00000008 01947969 00008103 00000026 00000007 00000080 00008183

1a0: 00000006 00000008 01947969 00008103 00000026 00000007 00000080 00008183

1c0: 00000006 00000008 01947969 00008103 00000026 00000007 00000080 00008183

1e0: 00000006 00000008 01947969 00008103 00000026 00000007 00000080 00008183

200: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

220: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

240: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

260: 00000000 00000000 fe027001 00000100 00000011 000000a3 fe027011 000001a3

280: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

2a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

2c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

2e0: 00000000 00000000 00000000 00000000 00000000 00000001 00000001 00000001

300: 80212000 00000000 00000000 00000000 00000000 00002000 00000000 00000000

320: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

340: 00000000 00000000 00000000 00000000 00000000 00000020 000a470c 00000000

360: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

380: 00000000 00000000 00000000 00000000 00000000 00000000 00000002 00000000

3a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

3c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

3e0: 06255300 00701365 00000000 00000000 00000010 00000000 00000000 00000000

400: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

420: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

440: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

460: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

480: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

4a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

4c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

4e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

500: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

520: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

540: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

560: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

580: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

5a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

5c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

5e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

600: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

eth0: Dumping tx ring

000: 00000000 bed01802 2000005e // 00000000 bed01002 2000005e // 00000001 3bdfd802 20000052 // 00000000 bec27802 20000040

004: 00000001 3702a402 2000004a // 00000000 bf989a02 20000040 // 00000000 bf98b402 20000040 // 00000001 3c8e1c02 20000040

008: 00000000 bec2bc02 20000040 // 00000000 becde002 2000004a // 00000001 3818ce02 20000040 // 00000000 bf810c02 20000040

00c: 00000001 2a800e02 20000040 // 00000001 27437002 2000004a // 00000000 bf916a02 20000040 // 00000000 bf916c02 20000040

010: 00000001 381b4602 20000029 // 00000000 bed92a02 20000029 // 00000001 2a800802 20000029 // 00000001 37083002 20000029

014: 00000000 bf8a5c02 20000029 // 00000001 37083202 20000029 // 00000000 bf916402 20000029 // 00000000 bed5d802 20000029

018: 00000000 bf91b002 20000029 // 00000000 bf97d202 20000029 // 00000001 1f0a6402 20000029 // 00000001 26d1d402 20000029

01c: 00000000 bf815802 20000029 // 00000001 26d1d202 20000029 // 00000001 37035802 20000029 // 00000001 3c892602 20000029

020: 00000000 bf9a7002 20000029 // 00000000 bed92e02 20000029 // 00000000 bf8a5602 20000029 // 00000001 1e19ec02 20000029

024: 00000000 beca8a02 20000029 // 00000000 bed0e802 20000029 // 00000000 becc7802 20000029 // 00000001 381e4a02 20000029

028: 00000000 bf8a5e02 20000029 // 00000001 3c892402 20000029 // 00000000 bf8a5202 20000029 // 00000000 beda1a02 20000029

02c: 00000000 bed0e002 20000029 // 00000000 bf97d602 20000029 // 00000000 bec27402 20000029 // 00000000 bf989802 20000029

030: 00000001 1e19ee02 20000029 // 00000001 3d4f1202 20000029 // 00000001 3bdfd202 20000029 // 00000000 bec27602 20000029

034: 00000001 3818c402 20000029 // 00000000 bec27a02 20000029 // 00000000 bec2be02 20000029 // 00000000 beca8402 20000029

038: 00000001 3818ca02 20000029 // 00000000 bed5da02 20000029 // 00000000 bf8a5402 20000029 // 00000001 1b83b002 20000029

03c: 00000001 1e19e402 20000029 // 00000000 bf8a5a02 20000029 // 00000001 1b83ba02 20000029 // 00000000 bed5dc02 20000029

040: 00000001 27437e02 20000029 // 00000001 3bdfd002 20000029 // 00000001 3c82f202 20000029 // 00000001 3c82f002 20000029

044: 00000001 3c82f602 20000029 // 00000000 bec27c02 20000029 // 00000001 3c82fc02 20000029 // 00000001 3bdfdc02 20000029

048: 00000001 21b0b802 20000029 // 00000001 21b0be02 20000029 // 00000001 1b83b602 20000029 // 00000001 21b0b002 20000029

04c: 00000001 381a3c02 20000029 // 00000001 21b0b602 20000029 // 00000000 bed5d602 20000029 // 00000000 bf815c02 20000029

050: 00000001 3c891802 20000029 // 00000000 bf97d002 20000029 // 00000001 3c8e1602 20000029 // 00000000 bf97dc02 20000029

054: 00000001 381a3202 20000029 // 00000001 381e4002 20000029 // 00000000 bece9802 20000029 // 00000000 bd057a02 20000029

058: 00000000 bf99fa02 20000029 // 00000001 3ca52a02 20000029 // 00000000 bec2c802 20000029 // 00000001 3c895c02 20000029

05c: 00000000 bec2c402 20000029 // 00000000 bf958202 20000029 // 00000000 bf98be02 20000029 // 00000001 27437602 20000029

060: 00000000 bf91ba02 20000029 // 00000000 bf958802 20000029 // 00000000 bf98b602 20000029 // 00000000 bd057802 20000029

064: 00000000 bf98b802 20000029 // 00000001 27437202 20000029 // 00000000 bece9402 20000029 // 00000001 3c826c02 20000029

068: 00000000 bf958402 20000029 // 00000001 3c826a02 20000029 // 00000001 3c829002 20000029 // 00000000 bec4ec02 20000029

06c: 00000000 bc184802 20000029 // 00000000 bedc9a02 20000029 // 00000001 35017802 20000029 // 00000001 1b83be02 20000029

070: 00000001 3702ae02 20000029 // 00000000 bede7e02 20000029 // 00000000 bf98b002 20000029 // 00000000 beda1e02 20000029

074: 00000001 3c84d002 20000029 // 00000001 35111002 20000029 // 00000001 3c84d802 20000029 // 00000000 bd057002 20000029

078: 00000000 bece9602 20000029 // 00000001 1b83b802 20000029 // 00000000 bf8f6602 20000029 // 00000000 bf97de02 20000029

07c: 00000000 bf916602 20000029 // 00000001 3fa75202 20000029 // 00000001 3c83b802 20000029 // 00000001 12485002 20000029

080: 00000001 35111802 20000029 // 00000000 bed48e02 20000029 // 00000000 bf9a7c02 20000029 // 00000000 bed0e402 20000029

084: 00000001 27437402 20000029 // 00000001 3702a602 20000029 // 00000000 b7839202 20000029 // 00000001 3c826e02 20000029

088: 00000000 bf804402 20000029 // 00000001 3b145402 20000029 // 00000000 bf97d402 20000029 // 00000000 beda1002 20000029

08c: 00000000 b785f602 20000029 // 00000001 1b83b402 20000029 // 00000000 bf810202 20000029 // 00000000 bd057c02 20000029

090: 00000000 ba9c3a02 20000029 // 00000000 bf99f402 20000029 // 00000000 ba9fb602 20000029 // 00000001 3c895002 20000029

094: 00000000 b785f402 20000029 // 00000000 ba9fb002 20000029 // 00000001 35017e02 20000029 // 00000000 bd057e02 20000029

098: 00000000 bf916e02 20000029 // 00000001 3fa7ac02 20000029 // 00000001 3c892a02 20000029 // 00000001 3fa75002 20000029

09c: 00000000 bf810402 20000029 // 00000000 bf815a02 20000029 // 00000000 ba9c3202 20000029 // 00000001 3cabce02 20000029

0a0: 00000000 ba99a202 20000029 // 00000000 ba9c3402 20000029 // 00000000 bec2b802 20000029 // 00000000 bf9a7402 20000029

0a4: 00000000 ba99a602 20000029 // 00000000 ba9c3e02 20000029 // 00000000 bf97da02 20000029 // 00000000 ba99ae02 20000029

0a8: 00000000 bedd7a02 20000029 // 00000000 bec2b602 20000029 // 00000000 bec2ba02 20000029 // 00000000 bed48202 20000029

0ac: 00000000 bedc9602 20000029 // 00000000 b7812202 20000029 // 00000000 bed48a02 20000029 // 00000000 ba9fb402 20000029

0b0: 00000000 bed48602 20000029 // 00000000 bf9a7e02 20000029 // 00000000 beca8202 20000029 // 00000000 bed48c02 20000029

0b4: 00000000 beca8002 20000029 // 00000000 beca8c02 20000029 // 00000000 bed48402 20000029 // 00000000 ba98d802 20000029

0b8: 00000000 b7812602 20000029 // 00000000 bf9a7a02 20000029 // 00000000 bf9a7802 20000029 // 00000000 becdee02 20000029

0bc: 00000000 bed48802 20000029 // 00000000 ba9fb802 20000029 // 00000000 becdec02 20000029 // 00000000 bec64802 20000029

0c0: 00000001 26d1d002 20000029 // 00000000 b793e202 20000029 // 00000000 b793e002 20000029 // 00000000 bf9a8002 20000029

0c4: 00000000 bec64c02 20000029 // 00000001 3c8e1a02 20000029 // 00000000 bc146202 20000029 // 00000000 ba9e6402 20000029

0c8: 00000000 bec2c002 20000029 // 00000000 bec2ce02 20000029 // 00000000 bc146402 20000029 // 00000000 b793ee02 20000029

0cc: 00000000 bec2cc02 20000029 // 00000000 bf810602 20000029 // 00000000 bec2c202 20000029 // 00000001 1f0a6602 20000029

0d0: 00000001 1f0a6c02 20000029 // 00000000 b793e602 20000029 // 00000000 bed02002 20000029 // 00000000 b7910402 20000029

0d4: 00000000 b7839602 20000029 // 00000000 bf916802 20000029 // 00000000 bec4b202 20000029 // 00000000 b7839402 20000029

0d8: 00000000 b7913202 20000029 // 00000000 bec4bc02 20000029 // 00000000 bf91b402 20000029 // 00000000 bf810a02 20000029

0dc: 00000000 becde202 20000029 // 00000001 3c8e1e02 20000029 // 00000000 ba99ac02 20000029 // 00000001 26d1d602 20000029

0e0: 00000000 bf804c02 20000029 // 00000000 b793e802 20000029 // 00000000 bec4b802 20000029 // 00000000 b7916002 20000029

0e4: 00000000 bf804002 20000029 // 00000000 bed02402 20000029 // 00000001 1f0a6802 20000029 // 00000001 3c891602 20000029

0e8: 00000000 beca8802 20000029 // 00000000 bf810002 20000029 // 00000000 b7910602 20000029 // 00000000 bed02e02 20000029

0ec: 00000000 b7839e02 20000029 // 00000000 bf804a02 20000029 // 00000001 35111402 20000029 // 00000000 bf97d802 20000029

0f0: 00000000 bedc9202 20000029 // 00000000 b7916802 20000029 // 00000000 b7910802 20000029 // 00000000 bf8a5002 20000029

0f4: 00000000 bf9a8602 20000029 // 00000000 bf804602 20000029 // 00000000 b7913a02 20000029 // 00000000 bf916002 20000029

0f8: 00000000 bec22202 20000029 // 00000000 b7839802 20000029 // 00000000 bf91b202 20000029 // 00000000 b7913802 20000029

0fc: 00000001 1f0a6202 20000029 // 00000001 1f0a6e02 20000029 // 00000000 bf815002 20000029 // 00000000 00000000 00000000

eth0: tx_timeout: dead entries!

eth0: no IPv6 routers present

```

pero ahora tengo un bug mas feo, no me di cuenta pero cada ves que suspendia la maquina no se eliminaba el cache de la suspension, aunque no se supone que no lo deberia hacer?, despues de todo es suspender a la ram,  como sea ahora no tengo espacion en / y ni siquiera podia iniciar mi sistema, asi que como medida de emergencia borre los distfiles de portage porque no pude encontrar donde diablos se quedo toda la basura en mi hd

----------

## Inodoro_Pereyra

Se que va a venir alguien a criticarme em método estúpido que uso para encontrar archivos grandes, pero mientras tanto si te sirve:

```
cd /

du -h | grep M
```

 :Very Happy: 

Respecto a lo otro, sinceramente no se me ocurre que puede ser...

Salud!

----------

## k4in

encontre un archivo sospechoso, es /proc/kcore

esta es la salida de ls -lh

```
-r--------  1 root       root       5.1G mar 29 14:31 kcore
```

pero no estoy seguro si es del sistema porque esta en /proc/ y eso de kcore, me imagino que por kernel core, pero aun asi porque es tan grande?? o ya estoy paranoico

y otro es /var/log/messages que pesa 12.8gb pero ese archivo es la salida general de errores del sistema, no?, porque pesa tanto????

esas dos cosas ocupan casi toda mi raiz

```
df -h

S.ficheros          Tamaño Usado  Disp Uso% Montado en

/dev/sda3              21G   19G  1.7G  92% /

```

----------

## Inodoro_Pereyra

kcore según acabo de leer por ahí en google no ocupa realmente espacio en el disco si no que se trata de un symlink o un alias al total de memoria ram disponible. Esa pc tiene 5Gb?

El archivo messages crece y crece sin parar por que gran parte de los logs de varias aplicaciones y servicios van a parar ahi dentro.

Si nunca lo has necesitado, dale una mirada general y si no hay nada que necesites, borralo que no pasa nada.

app-admin/logrotate se encarga de gzipear cada tanto los logs. Así te evitas que te vuelva a pasar la próxima vez.

Salud!

----------

## k4in

en esta maquina tengo 4gb de ram, y lo de messages  sospechaba eso, porque esta instalacion de gentoo a sido la primera (y unica) que le hice a esta maquina hace mas de un año (desde que me registre aca  :Very Happy: ) asi que ese log a ido creciendo con quien sabe que tanta cosa  :Razz: 

bueno seguire viendo lo de mi problema original con la suspension

----------

## ekz

 *Inodoro_Pereyra wrote:*   

> Se que va a venir alguien a criticarme el método estúpido que uso para encontrar archivos grandes
> 
> 

 

kde-misc/filelight  :Very Happy: 

----------

