#514458 sc: setting locale option results in an endless loop

Package:
sc
Source:
sc
Description:
Text-based spreadsheet with VI-like keybindings
Submitter:
Frank Hofmann
Date:
2010-06-15 08:12:07 UTC
Severity:
normal
#514458#5
Date:
2009-02-07 20:04:13 UTC
From:
To:
It seems to be an error that refers to the German
localisation. Setting the locale option, and typing
a decimal number results in an endless loop, and sc
seems to hang.

To reproduce the bug you may simply start sc with
the option -n and type the following two commands:

S locale
= 47.11

Is there a workaround for that?

Best Regards,

Frank Hofmann, Germany

#514458#10
Date:
2010-06-14 10:36:26 UTC
From:
To:
Hello,

I see the same thing with a locale setting of LANG=en_US.UTF-8.

The program appears to use 100% cpu for extended periods of time (eg.
25 minutes CPU time for 35 minutes wall clock time), while the user
doesn't really calculate much more than 1+2.


Kind regards,
--Toni++

#514458#15
Date:
2010-06-14 15:39:04 UTC
From:
To:
I cannot reproduce this bug in xterm with LANG="en_CA.UTF-8" or german
or US utf-8. Do you see this bug in xterm or some other terminal?

- Adam

#514458#20
Date:
2010-06-14 17:01:08 UTC
From:
To:
Hi,

I see this bug in an xterm over SSH, but not always.


Kind regards,
--Toni++

#514458#23
Date:
2010-06-14 16:49:56 UTC
From:
To:
* Adam Majer [2010-06-14 10:39 -0500]:

Possible reason why trying to reproduce this bug could fail:

 * LC_ALL is set, this overwrites LANG.
 * You forgot to run "S locale".
 * The locale is not generated.


Thus, steps to reproduce are:

 * xterm & (to start a new xterm)
 * In this new xterm do:
   - export LC_ALL=de_DE.UTF-8
   - grep "^$LC_ALL " /etc/locale.gen || echo "E: locale is not generated"
   - sc -n
 * In sc type:
   - S locale (press return)
   - =1.1 (press return)
 * Buy an egg to bake on your CPU.


When I press ctrl-c in sc whilst looping I see:
    syntax error: let A0 = 1<=.1


Carsten

#514458#28
Date:
2010-06-15 04:29:59 UTC
From:
To:
Unfortunately, I still cannot reproduce this bug. It may be some sort
of a race condition that my system is either too slow or too fast to
notice (most likely the former). Intermittent nature of this bug
noticed by Toni seems to point toward that possibility.

Could you please provide me with the output of

  * lscpu or /proc/cpuinfo
  * what distribution are you running? 64-bit or 32-bit?

- Adam

#514458#31
Date:
2010-06-15 05:32:15 UTC
From:
To:
* Adam Majer [2010-06-14 23:29 -0500]:

Yes, sounds like that, especially since I tested it on a PC with only
1.4 GHz and I can reproduce it always.

I reproduced it on Lenny/i386 and Sid/i386, but I have a better idea:

 * ssh to pergolesi.debian.org
 * run dchroot sid_amd64
 * run LC_ALL=de_DE.utf8 ~carsten/sc-7.16/sc in that chroot

I was able to reproduce it the first time I tried on pergolesi, which
has an dual AMD Opteron Processor 240 with 1.4 Ghz.


Carsten

#514458#36
Date:
2010-06-15 08:09:51 UTC
From:
To:
Hi,
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 107
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
stepping        : 1
cpu MHz         : 1000.000
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips        : 2011.09
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 107
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
stepping        : 1
cpu MHz         : 1000.000
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips        : 2011.09
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps

Debian Lenny/amd64
$ cat /etc/debian_version
5.0.4