Project

General

Profile

Actions

Bug #349

closed

Unprinted symbol

Added by Evgeny Novikov over 14 years ago. Updated about 12 years ago.

Status:
Closed
Priority:
High
Category:
-
Start date:
08/05/2010
Due date:
% Done:

0%

Estimated time:
Detected in build:
old bug
Platform:
Published in build:
97a0a22

Description

There are some drivers through the whole 3437 in kernel which cause following error:
fatal error: character "�" wasn't put to stream

For example:
  • drivers/char/agp/intel-agp.c
  • drivers/mtd/nand/cafe_nand.c
    Note that with the new driver processing (modules instead of files) the number of such files extremely enlarged.

Related issues 2 (1 open1 closed)

Related to Linux Driver Verification - Bug #1167: Bugs related with 32_1a modelOpen05/03/2011

Actions
Has duplicate C Instrumentation Framework - Bug #3071: character "Ã" wasn't put to streamRejectedEvgeny Novikov06/19/2012

Actions
Actions #1

Updated by Pavel Shved about 14 years ago

Isn't it an LLVM issue? This bug hardly was never spotted...

Actions #2

Updated by Evgeny Novikov about 14 years ago

This isn't an LLVM issue - it's related with aspectator extension and that's all that i know about this problem...

Actions #3

Updated by Pavel Shved about 14 years ago

  • Priority changed from High to Normal
Actions #4

Updated by Evgeny Novikov about 14 years ago

  • Priority changed from Normal to High

More one old bug to be fixed soon.

Actions #5

Updated by Pavel Shved almost 14 years ago

  • Priority changed from High to Normal

Not so soon...

Actions #6

Updated by Evgeny Novikov over 13 years ago

  • Priority changed from Normal to High

This bug should be investigated sooner because of it touches 19 drivers (from total 2160). The one example is gpu/drm/drm.ko from the 2.6.31.6 kernel.

Actions #7

Updated by Evgeny Novikov over 13 years ago

  • Priority changed from High to Normal

I suppose that first of all we should obtain the working version of a new aspectator and see on its problems. Most likely that this problem won't be the critical one.

Actions #8

Updated by Pavel Shved over 13 years ago

Found this in the new aspectator as well. Steps to reproduce:

LDV_DEBUG=30 ldv-manager rule_models=32_1a "envs=linux-2.6.31.6.tar.bz2" drivers=drivers/char/agp/intel-agp.ko kernel_driver=1 name=ri12

Excerpt from the error message:

/home/pavel/work/ldv/test/work/current--X--drivers/char/agp/intel-agp.ko--X--ri12linux-2.6.31.6--X--32_1a/linux-2.6.31.6/csd_deg_dscv/11/dscv_tempdir/dscv/ri/32_1a/drivers/char/agp/intel-agp.c.p:29827:1: fatal error: character "" wasn't put to stream
compilation terminated.
Aspectator fails on the 3d stage

The character the aspectator had problems with was "®" :-).

At least 17 drivers are affected (but since cluster missed about 100 drivers with no known reason, the 19 amount explained above is still relevant, I guess).

Actions #9

Updated by Evgeny Novikov over 13 years ago

This message arises due to the following check:

if (putc (c, stream) != c)
  ...

Perhaps ® is too complex for putc...

Actions #10

Updated by Evgeny Novikov over 13 years ago

There are 26 drivers (36 module-main pairs) that are affected by this issue in linux-2.6.37.

Actions #11

Updated by Evgeny Novikov over 12 years ago

  • Priority changed from Normal to High

There are already 42 unknowns of 465 total (43_1a rule, 3.4 kernel) that are related with the given issue. I guess that its fix will take about 1 hour, so I raise its priority.

Actions #12

Updated by Evgeny Novikov over 12 years ago

From man:

       int fputc(int c, FILE *stream);
       int putc(int c, FILE *stream);

       fputc() writes the character c, cast to an unsigned char, to stream.
       putc() is equivalent to fputc() except that it may be implemented as a macro which evaluates stream more than
       once.

From gcc/ldv-io.c
  if (putc (c, stream) != c)
    {
      LDV_FATAL_ERROR ("character \"%c\" wasn't put to stream", c);
    }

So, there is an obvious fix: fails just in case when:
putc (c, stream) != (unsigned char) c

Actions #13

Updated by Evgeny Novikov over 12 years ago

  • Status changed from Open to Resolved
  • Published in build set to 97a0a22

Fixed in commit 97a0a22 of the master branch and tested now.

Actions #14

Updated by Evgeny Novikov over 12 years ago

BTW, so simple bug took too much time (more then 2 years) to be resolved...

Actions #15

Updated by Evgeny Novikov over 12 years ago

  • Status changed from Resolved to Closed

Regression test set hasn't such the problem. But full-kernel launches will demonstrate about 40 unknowns less with aspect models.

Actions #16

Updated by Evgeny Novikov about 12 years ago

  • Project changed from Linux Driver Verification to C Instrumentation Framework
  • Category deleted (15)
Actions

Also available in: Atom PDF