Bug #349
closedUnprinted symbol
0%
Description
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.
Updated by Pavel Shved about 14 years ago
Isn't it an LLVM issue? This bug hardly was never spotted...
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...
Updated by Evgeny Novikov about 14 years ago
- Priority changed from Normal to High
More one old bug to be fixed soon.
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.
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.
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).
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...
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.
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.
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
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.
Updated by Evgeny Novikov over 12 years ago
BTW, so simple bug took too much time (more then 2 years) to be resolved...
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.
Updated by Evgeny Novikov about 12 years ago
- Project changed from Linux Driver Verification to C Instrumentation Framework
- Category deleted (
15)