RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 601622 - gdbm_open failed, Can't be writer
Summary: gdbm_open failed, Can't be writer
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: gdbm
Version: 6.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Karel Klíč
QA Contact: BaseOS QE - Apps
URL:
Whiteboard:
Depends On:
Blocks: 581524
TreeView+ depends on / blocked
 
Reported: 2010-06-08 10:45 UTC by Michal Nowak
Modified: 2013-03-08 02:10 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-06-09 14:20:20 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Michal Nowak 2010-06-08 10:45:25 UTC
Description of problem:

Test case from upstream sources `testgdbm.c` regressed in gdbm-1.8.0-35.el6 (-36.el6 still broken):

[root@auto-s390-001 tmp.6njxZ0a6pV]# gcc -lgdbm testgdbm.c -o testgdbm && ./testgdbm
/tmp/ccmrUJ7e.o: In function `main':
testgdbm.c:(.text+0xa8a): warning: the `gets' function is dangerous and should not be used.
gdbm_open failed, Can't be writer

I experienced this regression on s390x & ppc64, x86s are both OK.

Version-Release number of selected component (if applicable):

gdbm-1.8.0-35.el6

Additional info:

This is the change

http://cvs.devel.redhat.com/cgi-bin/cvsweb.cgi/rpms/gdbm/RHEL-6/gdbm.spec.diff?r1=1.26;r2=1.27;f=h

BROKEN:

20741 execve("./testgdbm", ["./testgdbm"], [/* 30 vars */]) = 11
20741 brk(0)                            = 0x80005000
20741 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000002000
20741 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000003000
20741 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
20741 open("/etc/ld.so.cache", O_RDONLY) = 3
20741 fstat(3, {st_mode=S_IFREG|0644, st_size=76703, ...}) = 0
20741 mmap(NULL, 76703, PROT_READ, MAP_PRIVATE, 3, 0) = 0x20000005000
20741 close(3)                          = 0
20741 open("/usr/lib64/libgdbm.so.2", O_RDONLY) = 3
20741 read(3, "\177ELF\2\2\1\0\0\0\0\0\0\0\0\0\0\3\0\26\0\0\0\1\0\0\0\0\0\0\32\274"..., 832) = 832
20741 fstat(3, {st_mode=S_IFREG|0755, st_size=30320, ...}) = 0
20741 mmap(NULL, 32552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x20000018000
20741 mmap(0x2000001f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x2000001f000
20741 close(3)                          = 0
20741 open("/lib64/libc.so.6", O_RDONLY) = 3
20741 read(3, "\177ELF\2\2\1\0\0\0\0\0\0\0\0\0\0\3\0\26\0\0\0\1\0\0\0J\246nI\344"..., 832) = 832
20741 fstat(3, {st_mode=S_IFREG|0755, st_size=2042728, ...}) = 0
20741 mmap(0x4aa66c4000, 1783168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4aa66c4000
20741 mmap(0x4aa686e000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a9000) = 0x4aa686e000
20741 mmap(0x4aa6873000, 17792, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4aa6873000
20741 close(3)                          = 0
20741 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000020000
20741 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000021000
20741 mprotect(0x4aa686e000, 16384, PROT_READ) = 0
20741 mprotect(0x4aa66bf000, 4096, PROT_READ) = 0
20741 munmap(0x20000005000, 76703)      = 0
20741 brk(0)                            = 0x80005000
20741 brk(0x80026000)                   = 0x80026000
20741 open("junk.gdbm", O_RDWR|O_CREAT, 0664) = 3
20741 fstat(3, {st_mode=S_IFREG|0644, st_size=12288, ...}) = 0
20741 fcntl(3, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = -1 EAGAIN (Resource temporarily unavailable)
20741 close(3)                          = 0
20741 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
20741 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000005000
20741 write(1, "gdbm_open failed, Can't be write"..., 34) = 34
20741 exit_group(2)                     = ?


OK:

20787 execve("./testgdbm", ["./testgdbm"], [/* 30 vars */]) = 11
20787 brk(0)                            = 0x80005000
20787 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000002000
20787 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000003000
20787 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
20787 open("/etc/ld.so.cache", O_RDONLY) = 3
20787 fstat(3, {st_mode=S_IFREG|0644, st_size=76703, ...}) = 0
20787 mmap(NULL, 76703, PROT_READ, MAP_PRIVATE, 3, 0) = 0x20000005000
20787 close(3)                          = 0
20787 open("/usr/lib64/libgdbm.so.2", O_RDONLY) = 3
20787 read(3, "\177ELF\2\2\1\0\0\0\0\0\0\0\0\0\0\3\0\26\0\0\0\1\0\0\0\0\0\0\32\274"..., 832) = 832
20787 fstat(3, {st_mode=S_IFREG|0755, st_size=30264, ...}) = 0
20787 mmap(NULL, 32496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x20000018000
20787 mmap(0x2000001f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x2000001f000
20787 close(3)                          = 0
20787 open("/lib64/libc.so.6", O_RDONLY) = 3
20787 read(3, "\177ELF\2\2\1\0\0\0\0\0\0\0\0\0\0\3\0\26\0\0\0\1\0\0\0J\246nI\344"..., 832) = 832
20787 fstat(3, {st_mode=S_IFREG|0755, st_size=2042728, ...}) = 0
20787 mmap(0x4aa66c4000, 1783168, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4aa66c4000
20787 mmap(0x4aa686e000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a9000) = 0x4aa686e000
20787 mmap(0x4aa6873000, 17792, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4aa6873000
20787 close(3)                          = 0
20787 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000020000
20787 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000021000
20787 mprotect(0x4aa686e000, 16384, PROT_READ) = 0
20787 mprotect(0x4aa66bf000, 4096, PROT_READ) = 0
20787 munmap(0x20000005000, 76703)      = 0
20787 brk(0)                            = 0x80005000
20787 brk(0x80026000)                   = 0x80026000
20787 open("junk.gdbm", O_RDWR|O_CREAT, 0664) = 3
20787 fstat(3, {st_mode=S_IFREG|0644, st_size=12288, ...}) = 0
20787 flock(3, LOCK_EX|LOCK_NB)         = 0
20787 read(3, "\23W\232\316\0\0\20\0\0\0\0\0\0\0\20\0\0\0\20\0\0\0\0\t\0\0\20\0\0\0\0\246"..., 72) = 72
20787 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4024) = 4024
20787 lseek(3, 4096, SEEK_SET)          = 4096
20787 read(3, "\0\0\0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0 \0"..., 4096) = 4096
20787 brk(0x80047000)                   = 0x80047000
20787 brk(0x80068000)                   = 0x80068000
20787 brk(0x80089000)                   = 0x80089000
20787 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
20787 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000005000
20787 write(1, "\n", 1)                 = 1
20787 write(1, "Welcome to the gdbm test program"..., 52) = 52
20787 write(1, "\n", 1)                 = 1
20787 fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
20787 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000006000
20787 write(1, "com -> ", 7)            = 7
20787 read(0, "", 1024)                 = 0
20787 --- SIGINT (Interrupt) @ 0 (0) ---
20787 +++ killed by SIGINT +++


Note You need to log in before you can comment on or make changes to this bug.