Bug 109781 - tifftopnm fails because it tries open("") systemcall
Bug#: 109781 Product:  Gentoo Linux Version: unspecified Platform: x86
OS/Version: Linux Status: RESOLVED Severity: major Priority: P2
Resolution: FIXED Assigned To: graphics@gentoo.org Reported By: erik@thiele-hydraulik.de
Component: Applications
URL: 
Summary: tifftopnm fails because it tries open("") systemcall
Keywords:  
Status Whiteboard: 
Opened: 2005-10-19 02:36 0000
Description:   Opened: 2005-10-19 02:36 0000
*  media-libs/netpbm
      Latest version available: 10.29
      Latest version installed: 10.29

start gimp, create empty image.
turn image mode to "grayscale"
draw some lines.
save as "gimpy.tiff" uncompressed

erik@goofy:~/bugrep$ file gimpy.tiff 
gimpy.tiff: TIFF image data, little-endian
erik@goofy:~/bugrep$ identify gimpy.tiff 
gimpy.tiff TIFF 420x300 PseudoClass 256c 123kb 
erik@goofy:~/bugrep$ tifftopnm gimpy.tiff 
tifftopnm: Unable to open file '' for writing.  fopen() returns errno 2 (No such
file or directory)
erik@goofy:~/bugrep$ strace tifftopnm gimpy.tiff 
execve("/usr/bin/tifftopnm", ["tifftopnm", "gimpy.tiff"], [/* 52 vars */]) = 0
uname({sys="Linux", node="goofy", ...}) = 0
brk(0)                                  = 0x804d000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=131215, ...}) = 0
mmap2(NULL, 131215, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f86000
close(3)                                = 0
open("/usr/lib/libnetpbm.so.10", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300k\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=180952, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7f85000
mmap2(NULL, 155116, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7f5f000
mmap2(0xb7f82000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x23) = 0xb7f82000
close(3)                                = 0
open("/usr/lib/libtiff.so.3", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260H\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=359021, ...}) = 0
mmap2(NULL, 323200, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7f10000
mmap2(0xb7f5d000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4d) = 0xb7f5d000
close(3)                                = 0
open("/usr/lib/libjpeg.so.62", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p#\0\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=135752, ...}) = 0
mmap2(NULL, 116888, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7ef3000
mmap2(0xb7f0f000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b) = 0xb7f0f000
close(3)                                = 0
open("/lib/libz.so.1", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\22\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=75502, ...}) = 0
mmap2(NULL, 68144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7ee2000
mmap2(0xb7ef2000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf) = 0xb7ef2000
close(3)                                = 0
open("/lib/libm.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P4\0\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=212257, ...}) = 0
mmap2(NULL, 135328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7ec0000
mmap2(0xb7ee0000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f) = 0xb7ee0000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\271U\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1406422, ...}) = 0
mmap2(NULL, 1113396, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7db0000
mprotect(0xb7eb9000, 27956, PROT_NONE)  = 0
mmap2(0xb7eba000, 16384, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x109) = 0xb7eba000
mmap2(0xb7ebe000, 7476, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7ebe000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7daf000
mprotect(0xb7eba000, 8192, PROT_READ)   = 0
mprotect(0xb7ee0000, 4096, PROT_READ)   = 0
mprotect(0xb7fbc000, 4096, PROT_READ)   = 0
munmap(0xb7f86000, 131215)              = 0
open("/dev/urandom", O_RDONLY)          = 3
read(3, "\366\217&\324", 4)             = 4
close(3)                                = 0
brk(0)                                  = 0x804d000
brk(0x806e000)                          = 0x806e000
open("gimpy.tiff", O_RDONLY|O_LARGEFILE) = 3
read(3, "II*\0008\354\1\0", 8)          = 8
fstat64(3, {st_mode=S_IFREG|0600, st_size=126332, ...}) = 0
mmap2(NULL, 126332, PROT_READ, MAP_SHARED, 3, 0) = 0xb7f88000

****** NOW LOOK NEXT COMMAND ******

open("", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = -1 ENOENT (No such file
or directory)
write(2, "tifftopnm: ", 11tifftopnm: )             = 11
write(2, "Unable to open file \'\' for writi"..., 88Unable to open file '' for
writing.  fopen() returns errno 2 (No suc
h file or directory)) = 88
write(2, "\n", 1
)                       = 1
exit_group(1)                           = ?



Reproducible: Always
Steps to Reproduce:




Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2, 2.6.1
2-gentoo-r10 i686)
=================================================================
System uname: 2.6.12-gentoo-r10 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System version 1.6.13
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share
/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kd
e/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/default
s/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips
/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config
/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks nostrip sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/
distributions/gentoo"
LANG="de_DE"
LINGUAS="de"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X alsa apm arts avi berkdb bitmap-fonts cdr crypt cups curl doc dvd eds
 emboss encode esd fam flac font-server foomaticdb fortran gd gdbm gif gimpprint
 gnome gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib java jpeg kde ldap libg+
+ libwww mad mikmod motif mozilla mp3 mpeg ncurses nls ogg oggvorbis opengl oss 
pam pdflib perl plotutils png postgres ppds python qt quicktime readline samba s
canner sdl slang spell ssl tcltk tcpd tetex tiff truetype truetype-fonts type1-f
onts usb vorbis xine xml2 xmms xv zlib linguas_de userland_GNU kernel_linux elib
c_glibc"
Unset:  ASFLAGS, CTARGET, LC_ALL, LDFLAGS, PORTDIR_OVERLAY

------- Comment #1 From SpanKY 2005-10-20 11:31:14 0000 -------
try netpbm-10.30

------- Comment #2 From SpanKY 2005-10-25 20:46:49 0000 -------
get back to us please

------- Comment #3 From Erik Thiele 2005-10-26 00:54:56 0000 -------
erik@goofy:~/bugrep/shit$ file gimpy.tiff 
gimpy.tiff: TIFF image data, little-endian
erik@goofy:~/bugrep/shit$ identify gimpy.tiff 
gimpy.tiff TIFF 420x300 PseudoClass 256c 123kb 0.010u 0:01
erik@goofy:~/bugrep/shit$ tifftopnm gimpy.tiff >/dev/null 
tifftopnm: Unable to open file '' for writing.  fopen() returns errno 2 (No such
file or directory)
erik@goofy:~/bugrep/shit$ tifftopnm --version
tifftopnm: Using libnetpbm from Netpbm Version: Netpbm 10.30.0
tifftopnm: Compiled Mi Okt 26 09:48:41 CEST 2005 by user "root"
tifftopnm: BSD defined
tifftopnm: RGB_ENV='RGBDEF'
tifftopnm: RGBENV= 'RGBDEF' (env vbl is unset)
erik@goofy:~/bugrep/shit$ 

------- Comment #4 From Erik Thiele 2005-10-26 00:57:09 0000 -------
erik@goofy:~/bugrep/shit$ anytopnm gimpy.tiff 
/usr/bin/anytopnm: INTERNAL ERROR.  Illegal value of filetype variable
erik@goofy:~/bugrep/shit$ 

------- Comment #5 From SpanKY 2005-10-26 06:21:25 0000 -------
then post the actual images so we can reproduce

------- Comment #6 From Erik Thiele 2005-10-26 06:29:32 0000 -------
Created an attachment (id=71507) [details]
gimpy.tiff

------- Comment #7 From SpanKY 2005-10-26 06:30:30 0000 -------
should re-open then ...

------- Comment #8 From SpanKY 2005-10-29 01:43:03 0000 -------
i cant seem to get tifftopnm to fail for me ... i did reproduce the anytopnm
bug
though so i added a fix for that to 10.30 and sent the patch upstream

------- Comment #9 From SpanKY 2005-10-29 01:58:57 0000 -------
ok, i was able to reproduce it ... but only with less optimizations :)

the bug is that the cmdline var isnt initialized properly so with some
optimizations it works, but with others it'll fail

i'll ask upstream to see how they want to fix it

------- Comment #10 From SpanKY 2005-10-29 18:58:35 0000 -------
fixed in 10.30-r1