Bug 10831 - SIGCLD Signal handler not correctly reinstalled on old library code use - smbrun etc.
SIGCLD Signal handler not correctly reinstalled on old library code use - smb...
Status: RESOLVED FIXED
Product: Samba 4.1 and newer
Classification: Unclassified
Component: Other
unspecified
All All
: P5 normal
: ---
Assigned To: Karolin Seeger
Samba QA Contact
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-09-23 17:55 UTC by Jeremy Allison
Modified: 2014-10-26 20:31 UTC (History)
1 user (show)

See Also:


Attachments
git-am fix for 4.1.next, 4.0.next. (4.69 KB, patch)
2014-10-07 00:59 UTC, Jeremy Allison
ira: review+
Details
New git-am fix for 4.1.next, 4.0.next. (6.56 KB, patch)
2014-10-09 20:41 UTC, Jeremy Allison
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Allison 2014-09-23 17:55:46 UTC
There are old library code paths that reset the SIGCLD handler and don't correctly restore it - smbrun and friends are the worst culprets here.

As smbd and winbindd both install a custom tevent-based SIGCLD signal handler, we need to ensure this is restored.
Comment 1 Jeremy Allison 2014-10-07 00:59:45 UTC
Created attachment 10328 [details]
git-am fix for 4.1.next, 4.0.next.

Fix that went into master, applies cleanly to 4.1.next, 4.0.next.
Comment 2 Jeremy Allison 2014-10-07 17:14:46 UTC
Re-assigning to Karolin for inclusion in 4.1.next, 4.0.next.
Comment 3 Karolin Seeger 2014-10-09 18:49:02 UTC
Pushed to autobuild-v4-[0|1]-test.
Comment 4 Karolin Seeger 2014-10-09 19:07:45 UTC
The 4.0 patch seems to break the build:

lib/smbrun.c: In function 'smbrun_internal':
lib/smbrun.c:94: error: void value not ignored as it ought to be
lib/smbrun.c: In function 'smbrunsecret':
lib/smbrun.c:258: error: void value not ignored as it ought to be
The following command failed:
gcc -g -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DDEBUG_PASSWORD -DDEVELOPER -g -Wall -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wdeclaration-after-statement -Werror-implicit-function-declaration  -I. -I/memdisk/kseeger/a40/b577505/samba3/source3 -I/memdisk/kseeger/a40/b577505/samba3/source3/../lib/iniparser/src -Iinclude/autoconf -Iautoconf -Iautoconf/source3 -Iinclude -I./include  -I. -I. -I./../lib/replace -I../lib/ccan/.. -I./librpc -I./.. -I./../lib/tdb_compat -I./../lib/tevent -I../lib/tdb/include -I../lib/ntdb -DHAVE_CONFIG_H  -D_GNU_SOURCE -Iinclude/autoconf -Iautoconf -Iautoconf/source3 -Iinclude -I./include -I. -I. -I./../lib/replace -I../lib/ccan/.. -I./librpc -I./.. -I./../lib/tdb_compat -I./../lib/popt -DLDAP_DEPRECATED  -I/memdisk/kseeger/a40/b577505/samba3/source3/lib -I.. -I./../lib/ldb/include -D_SAMBA_BUILD_=3 -D_SAMBA_BUILD_=3 -fPIC -c lib/smbrun.c -o lib/smbrun.o
make: *** [lib/smbrun.o] Error 1

Jeremy, could you investigate, please? Thanks!
Comment 5 Karolin Seeger 2014-10-09 19:10:33 UTC
Same for 4.1:

[1881/4128] Compiling source3/lib/smbrun.c
../source3/lib/smbrun.c: In function 'smbrun_internal':
../source3/lib/smbrun.c:98: error: void value not ignored as it ought to be
../source3/lib/smbrun.c: In function 'smbrunsecret':
../source3/lib/smbrun.c:262: error: void value not ignored as it ought to be
Comment 6 Jeremy Allison 2014-10-09 20:41:18 UTC
Created attachment 10336 [details]
New git-am fix for 4.1.next, 4.0.next.

Sorry Karolin, I missed the previous patch that was needed to change the header definitions.

These 2 patches should apply cleanly to 4.1.next, 4.0.next and build ok here.

Jeremy.
Comment 7 Karolin Seeger 2014-10-13 19:07:01 UTC
Pushed to autobuild-v4-[0|1]-test. Thanks!
Comment 8 Karolin Seeger 2014-10-26 20:31:00 UTC
Pushed to both branches.
Closing out bug report.

Thanks!