Rovclock crashes with floating-point exception

Bug #493220 reported by hugochinchilla on 2009-12-06
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
rovclock (Debian)
New
Unknown
rovclock (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: rovclock

hugo@japetus:~/Escritorio/LightZone$ sudo rovclock -i
[sudo] password for hugo:
Radeon overclock 0.6e by Hasw (<email address hidden>)

Found ATI card on 01:00, device id: 0x9589
I/O base address: 0xc000
Video BIOS shadow found @ 0xc0000
Invalid reference clock from BIOS: 0.0 MHz
Memory size: 0 kB
Memory channels: 0, CD,CH only: 0
tRcdRD: 3
tRcdWR: 1
tRP: 3
tRAS: 6
tRRD: 1
tR2W-CL: 1
tWR: 1
tW2R: 0
tW2Rsb: 0
tR2R: 1
tRFC: 13
tWL(0.5): 0
tCAS: 0
tCMD: 0
tSTR: 0
Exepción de coma flotante

ProblemType: Bug
Architecture: amd64
CheckboxSubmission: 81c5d2101a8141db2014946391155f7c
CheckboxSystem: edda5d4f616ca792bf437989cb597002
Date: Sun Dec 6 17:22:15 2009
DistroRelease: Ubuntu 9.10
Package: rovclock 0.6e-5
ProcEnviron:
 PATH=(custom, user)
 LANG=es_ES.UTF-8
 SHELL=/bin/bash
SourcePackage: rovclock
Uname: Linux 2.6.32-020632rc7-generic x86_64

hugochinchilla (hugochinchilla) wrote :
Changed in rovclock (Debian):
status: Unknown → New
Simon Déziel (sdeziel) wrote :

Hi,

I also have a Radeon card and I don't get "floating-point exception". Please note that I run Lucid with the default kernel and a more recent rovclock version than yours. Maybe you could give to Lucid.

$ sudo rovclock -i
Radeon overclock 0.6e by Hasw (<email address hidden>)

Found ATI card on 01:00, device id: 0x71c5
I/O base address: 0x3000
Video BIOS shadow found @ 0xc0000
Invalid reference clock from BIOS: 0.0 MHz
Memory size: 262144 kB
Memory channels: 0, CD,CH only: 0
tRcdRD: 3
tRcdWR: 1
tRP: 3
tRAS: 6
tRRD: 1
tR2W-CL: 1
tWR: 1
tW2R: 0
tW2Rsb: 0
tR2R: 1
tRFC: 13
tWL(0.5): 0
tCAS: 0
tCMD: 0
tSTR: 0
XTAL: 27.0 MHz, RefDiv: 13

Core: 1.29 MHz, Mem: 0.0 MHz

$ lspci |grep Radeon
01:00.0 VGA compatible controller: ATI Technologies Inc M56P [Radeon Mobility X1600]

$ apt-cache policy rovclock
rovclock:
  Installed: 0.6e-6
  Candidate: 0.6e-6
  Version table:
 *** 0.6e-6 0
        500 http://ca.archive.ubuntu.com/ubuntu/ lucid/universe Packages
        100 /var/lib/dpkg/status

$ lsb_release -rd
Description: Ubuntu 10.04.1 LTS
Release: 10.04

$ uname -a
Linux simon-laptop 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:21:58 UTC 2010 x86_64 GNU/Linux

Jacob Litewski (j.litewski) wrote :

I get floating point exceptions. Here is my info:

$ sudo rovclock -i

Radeon overclock 0.6e by Hasw (<email address hidden>)

Found ATI card on 01:05, device id: 0x9612
I/O base address: 0x9000
Video BIOS shadow found @ 0xc0000
Invalid reference clock from BIOS: 0.0 MHz
Memory size: 0 kB
Memory channels: 0, CD,CH only: 0
tRcdRD: 3
tRcdWR: 1
tRP: 3
tRAS: 6
tRRD: 1
tR2W-CL: 1
tWR: 1
tW2R: 0
tW2Rsb: 0
tR2R: 1
tRFC: 13
tWL(0.5): 0
tCAS: 0
tCMD: 0
tSTR: 0
Floating point exception (core dumped)

$ lspci |grep Radeon

01:05.0 VGA compatible controller: ATI Technologies Inc RS780M/RS780MN [Radeon HD 3200 Graphics]

$ apt-cache policy rovclock

rovclock:
  Installed: 0.6e-6
  Candidate: 0.6e-6
  Version table:
 *** 0.6e-6 0
        500 http://us.archive.ubuntu.com/ubuntu/ maverick/universe amd64 Packages
        100 /var/lib/dpkg/status

$ lsb_release -rd

Description: Ubuntu maverick (development branch)
Release: 10.10

$ uname -a

Linux hh2-laptop 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 x86_64 GNU/Linux

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in rovclock (Ubuntu):
status: New → Confirmed
simon place (psiplace) wrote :

just in-case anyone is interested, just installed on ubuntu mate;

Radeon overclock 0.6e by Hasw (<email address hidden>)

Found ATI card on 01:00, device id: 0x6610
I/O base address: 0xce00
Video BIOS shadow found @ 0xc0000
Invalid reference clock from BIOS: 0.0 MHz
Memory size: 0 kB
Memory channels: 1, CD,CH only: 0
tRcdRD: 3
tRcdWR: 1
tRP: 3
tRAS: 6
tRRD: 1
tR2W-CL: 1
tWR: 1
tW2R: 0
tW2Rsb: 0
tR2R: 1
tRFC: 13
tWL(0.5): 0
tCAS: 0
tCMD: 0
tSTR: 0
Floating point exception (core dumped)

Alexey Dokuchaev (danfe) wrote :

It happens because of division by zero in round_div() function, here's a backtrace from gdb:

Program received signal SIGFPE, Arithmetic exception.
0x08048cc4 in round_div (num=0, den=0) at rovclock.c:180
180 return (num + (den / 2)) / den;
Current language: auto; currently minimal
(gdb) bt
#0 0x08048cc4 in round_div (num=0, den=0) at rovclock.c:180
#1 0x08049166 in pll_info (rovclock=0xbfbfe798) at rovclock.c:258
#2 0x08049c79 in main (argc=2, argv=0xbfbfe858) at rovclock.c:467

This software is from 2005~2006, perhaps it does not support newer video cards properly.

Alexey Dokuchaev (danfe) wrote :

As a naive workaround, the following simple patch would prevent division by zero and SIGFPE:

 int round_div(int num, int den)
 {
- return (num + (den / 2)) / den;
+ return den ? (num + (den / 2)) / den : 0;
 }

Reported values now would be zeros, which is certainly wrong, but at least the program no longer crashes:

...
XTAL: 27.0 MHz, RefDiv: 0

Core: 0.0 MHz, Mem: 0.0 MHz

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.