Edgar Fuß | 9 May 2012 15:36
Picon
Favicon

linux emulation: rt_sigtimedwait

So I'ved pkgsrc-ed IBM's proprietary Tivoli Storage Manager client, and, on 6.0_BETA/amd64, I get:

 14453  14453 dsmc     CALL  mmap2(0,0x400000,7,0x20022,0xffffffff,0)
 14453  14453 dsmc     RET   mmap2 4212715520/0xfb18f000
 14453  14453 dsmc     CALL  mprotect(0xfb18f000,0x1000,0)
 14453  14453 dsmc     RET   mprotect 0
 14453  14453 dsmc     CALL  clone(0x3d0f00,0xfb58e494,0xfb58ebd8,0xbfffec60,0xfb58ebd8)
 14453  14453 dsmc     RET   clone 29374/0x72be
 14453  14453 dsmc     CALL  select(0,0,0,0,0xbfffed58)
 14453  29374 dsmc     RET   fork 0
 14453  29374 dsmc     CALL  set_robust_list(0xfb58ebe0,0xc)
 14453  29374 dsmc     RET   set_robust_list 0
 14453  29374 dsmc     CALL  rt_sigtimedwait(0x8455b3c,0,0,8,0x841faf8,0xfb58e2f8)
 14453  29374 dsmc     RET   rt_sigtimedwait -1 errno -14 Bad address
 14453  29374 dsmc     CALL  time(0)
 14453  29374 dsmc     RET   time 1336570114/0x4faa7102
 14453  29374 dsmc     CALL  netbsd32_write(3,0xfb58a8d0,0x36)
 14453  29374 dsmc     GIO   fd 3 wrote 54 bytes
       "05/09/12   15:28:34 sigwait failed in pkWaitshutdown.\n"

I have no idea what rt_sigtimewait is. The only thing i do know is I have to get TSM working on this machine.

Any help greatly appreciated.
Joerg Sonnenberger | 9 May 2012 15:53
Picon

Re: linux emulation: rt_sigtimedwait

On Wed, May 09, 2012 at 03:36:24PM +0200, Edgar Fuß wrote:
> So I'ved pkgsrc-ed IBM's proprietary Tivoli Storage Manager client, and, on 6.0_BETA/amd64, I get:
> 
>  14453  14453 dsmc     CALL  mmap2(0,0x400000,7,0x20022,0xffffffff,0)
>  14453  14453 dsmc     RET   mmap2 4212715520/0xfb18f000
>  14453  14453 dsmc     CALL  mprotect(0xfb18f000,0x1000,0)
>  14453  14453 dsmc     RET   mprotect 0
>  14453  14453 dsmc     CALL  clone(0x3d0f00,0xfb58e494,0xfb58ebd8,0xbfffec60,0xfb58ebd8)
>  14453  14453 dsmc     RET   clone 29374/0x72be
>  14453  14453 dsmc     CALL  select(0,0,0,0,0xbfffed58)
>  14453  29374 dsmc     RET   fork 0
>  14453  29374 dsmc     CALL  set_robust_list(0xfb58ebe0,0xc)
>  14453  29374 dsmc     RET   set_robust_list 0
>  14453  29374 dsmc     CALL  rt_sigtimedwait(0x8455b3c,0,0,8,0x841faf8,0xfb58e2f8)
>  14453  29374 dsmc     RET   rt_sigtimedwait -1 errno -14 Bad address
>  14453  29374 dsmc     CALL  time(0)
>  14453  29374 dsmc     RET   time 1336570114/0x4faa7102
>  14453  29374 dsmc     CALL  netbsd32_write(3,0xfb58a8d0,0x36)
>  14453  29374 dsmc     GIO   fd 3 wrote 54 bytes
>        "05/09/12   15:28:34 sigwait failed in pkWaitshutdown.\n"
> 
> I have no idea what rt_sigtimewait is. The only thing i do know is I have to get TSM working on this machine.

I take it you are running a 32bit binary? The rt_sigtimedwait in linux32
is completely bogus...

Joerg

Edgar Fuß | 9 May 2012 16:12
Picon
Favicon

Re: linux emulation: rt_sigtimedwait

> I take it you are running a 32bit binary?
Yes. As far as I can see, the TSM client is available as a 64-bit application only from 6.3 onwards, which
requires a 6.x server.
However, the server I use runs 5.5.

> The rt_sigtimedwait in linux32 is completely bogus...
Oops. Any hints how to fix that?

Edgar Fuß | 9 May 2012 16:15
Picon
Favicon

Re: linux emulation: rt_sigtimedwait

Sorry, I replied to the wrong list. It was meant to go to port-amd64.

Edgar Fuß | 9 May 2012 16:14
Picon
Favicon

Re: linux emulation: rt_sigtimedwait

> I take it you are running a 32bit binary?
Yes. As far as I can see, the TSM client is available as a 64-bit application only from 6.3 onwards, which
requires a 6.x server.
However, the server I use runs 5.5.

> The rt_sigtimedwait in linux32 is completely bogus...
Oops. Any hints how to fix that?

Edgar Fuß | 9 May 2012 17:57
Picon
Favicon

Re: linux emulation: rt_sigtimedwait

> The rt_sigtimedwait in linux32 is completely bogus...
My impression is that id did work in 4.0.
Or is it the bumped Linux kernel version that may cause the binary to use
or not use that system call?

When I set emul.linux32.kern.osrelease=2.4.18 (as in 4.0), I simply get
"FATAL: kernel too old".

Edgar Fuß | 9 May 2012 18:24
Picon
Favicon

Re: linux emulation: rt_sigtimedwait

EF> Or is it the bumped Linux kernel version that may cause the binary to use
EF> or not use that system call?
EF> 
EF> When I set emul.linux32.kern.osrelease=2.4.18 (as in 4.0), I simply get
EF> "FATAL: kernel too old".
OK, when I downgrade to SuSE 10.0 and emul.linux32.kern.osrelease=2.4.18,
it works. So I at least have a workaround.

Christos Zoulas | 9 May 2012 20:21

Re: linux emulation: rt_sigtimedwait

In article <F6478A84-F8EF-4030-920A-F18AFBDD454C <at> math.uni-bonn.de>,
Edgar Fuß  <ef <at> math.uni-bonn.de> wrote:
>So I'ved pkgsrc-ed IBM's proprietary Tivoli Storage Manager client, and,
>on 6.0_BETA/amd64, I get:
>
> 14453  14453 dsmc     CALL  mmap2(0,0x400000,7,0x20022,0xffffffff,0)
> 14453  14453 dsmc     RET   mmap2 4212715520/0xfb18f000
> 14453  14453 dsmc     CALL  mprotect(0xfb18f000,0x1000,0)
> 14453  14453 dsmc     RET   mprotect 0
> 14453  14453 dsmc     CALL 
>clone(0x3d0f00,0xfb58e494,0xfb58ebd8,0xbfffec60,0xfb58ebd8)
> 14453  14453 dsmc     RET   clone 29374/0x72be
> 14453  14453 dsmc     CALL  select(0,0,0,0,0xbfffed58)
> 14453  29374 dsmc     RET   fork 0
> 14453  29374 dsmc     CALL  set_robust_list(0xfb58ebe0,0xc)
> 14453  29374 dsmc     RET   set_robust_list 0
> 14453  29374 dsmc     CALL 
>rt_sigtimedwait(0x8455b3c,0,0,8,0x841faf8,0xfb58e2f8)
> 14453  29374 dsmc     RET   rt_sigtimedwait -1 errno -14 Bad address
> 14453  29374 dsmc     CALL  time(0)
> 14453  29374 dsmc     RET   time 1336570114/0x4faa7102
> 14453  29374 dsmc     CALL  netbsd32_write(3,0xfb58a8d0,0x36)
> 14453  29374 dsmc     GIO   fd 3 wrote 54 bytes
>       "05/09/12   15:28:34 sigwait failed in pkWaitshutdown.\n"
>
>I have no idea what rt_sigtimewait is. The only thing i do know is I
>have to get TSM working on this machine.

You'll need to add debugging to it to see where it fails or put the binary
up for ftp so that others can debug this.
(Continue reading)

Edgar Fuß | 9 May 2012 23:35
Picon
Favicon

Re: linux emulation: rt_sigtimedwait

> You'll need to add debugging to it to see where it fails
I can't since it's IBM's proprietary TSM client.

> or put the binary up for ftp so that others can debug this.
The current state of my attempt to pkgsrc the TSM client can be found here:
	http://www.math.uni-bonn.de/people/ef/tsm.tgz
Currently, it's switched to using SuSE 10 because that allows me to
circumvent the problem by setting emul.linux32.kern.osrelease to 2.4.18.
You can just comment out the suse-10 lines to make it use the default 11.

Christos Zoulas | 10 May 2012 21:41

Re: linux emulation: rt_sigtimedwait

In article <20120509213526.GK428 <at> trav.math.uni-bonn.de>,
Edgar Fuß  <ef <at> math.uni-bonn.de> wrote:
>> You'll need to add debugging to it to see where it fails
>I can't since it's IBM's proprietary TSM client.
>
>> or put the binary up for ftp so that others can debug this.
>The current state of my attempt to pkgsrc the TSM client can be found here:
>	http://www.math.uni-bonn.de/people/ef/tsm.tgz
>Currently, it's switched to using SuSE 10 because that allows me to
>circumvent the problem by setting emul.linux32.kern.osrelease to 2.4.18.
>You can just comment out the suse-10 lines to make it use the default 11.

Fixed on head, runs with suse-12.1. FYI the package installs symlinks
pointing to the build directory for dsm.opt and dsm.sys

christos

Edgar Fuß | 10 May 2012 22:24
Picon
Favicon

Re: linux emulation: rt_sigtimedwait

> Fixed on head, runs with suse-12.1.
Marvellous! Thanks so much.
Will this be pulled up to 6.0?

> FYI the package installs symlinks pointing to the build directory
> for dsm.opt and dsm.sys
Oops? I have
	/usr/pkg/emul/linux32/opt/tivoli/tsm/client/ba/bin/dsm.opt -> ../../../../../../../../etc/tsm/dsm.opt
and I don't think I changed something in that part since the version I uploaded.

Christos Zoulas | 11 May 2012 01:18

Re: linux emulation: rt_sigtimedwait

In article <20120510202424.GG10705 <at> trav.math.uni-bonn.de>,
Edgar Fuß  <ef <at> math.uni-bonn.de> wrote:
>> Fixed on head, runs with suse-12.1.
>Marvellous! Thanks so much.
>Will this be pulled up to 6.0?
>
>> FYI the package installs symlinks pointing to the build directory
>> for dsm.opt and dsm.sys
>Oops? I have
>	/usr/pkg/emul/linux32/opt/tivoli/tsm/client/ba/bin/dsm.opt ->
>../../../../../../../../etc/tsm/dsm.opt
>and I don't think I changed something in that part since the version I uploaded.

You probably don't use objdirs?
WRKOBJDIR=              /usr/obj/${MACHINE}/pkgsrc

christos

Edgar Fuß | 11 Jul 2012 21:08
Picon
Favicon

linux emulation: llistxattr

So after christos fixed rt_sigtimedwait (thanks again!), actually trying to
use TSM to back up anything fails because llistxattr (#233) is not
implemented.
Does anyone feel like adding a (maybe dummy) implementation for it?

Christos Zoulas | 13 Jul 2012 01:37

Re: linux emulation: llistxattr

In article <C8354E28-AB22-451A-A156-0E500DFBEED5 <at> math.uni-bonn.de>,
Edgar Fuß  <ef <at> math.uni-bonn.de> wrote:
>So after christos fixed rt_sigtimedwait (thanks again!), actually trying to
>use TSM to back up anything fails because llistxattr (#233) is not
>implemented.
>Does anyone feel like adding a (maybe dummy) implementation for it?

It returns EOPNOTSUP currently, isn't that enough? Do you have a ktrace of
it?

christos

Edgar Fuß | 13 Jul 2012 11:43
Picon
Favicon

Re: linux emulation: listxattr

Thanks for looking into this.

EF> Does anyone feel like adding a (maybe dummy) implementation for it?
I've found a workaround: setting "skipacl yes" and "skipaclupdatecheck yes"
in dsm.opt helps. You don't easily find that in the TSM documentation
because it always speaks of "extended attributes"---only that command's
description doesn't, but says "ACL".

CZ> It returns EOPNOTSUP currently, isn't that enough?
I'm confused as to what it returns. Looks like it returns 38 (or -38?);
in Penguinish, that would be ENOSYS; however, kdump says ,,too many processes''.

CZ> Do you have a ktrace of it?
Sure:
  3856   5630 dsmc     CALL  stat64(0x865fc30,0xfa9c24cc)
  3856   5630 dsmc     NAMI  "/emul/linux32/tsm-filespace"
  3856   5630 dsmc     RET   stat64 0
  3856   5630 dsmc     CALL  #232 (unimplemented listxattr)
  3856   5630 dsmc     RET   #232 (unimplemented listxattr) -1 errno -38 Too many processes
  3856   5630 dsmc     CALL  time(0)
  3856   5630 dsmc     RET   time 1342032513/0x4ffdca81
  3856   5630 dsmc     CALL  netbsd32_write(3,0xfa9bf7b0,0x86)
  3856   5630 dsmc     GIO   fd 3 wrote 134 bytes
       "11.07.2012 20:48:33 ANS1587W Unable to read extended attributes for /tsm-filespace due to errno: 38,
reason: Func\
        tion not implemented\n"
  3856   5630 dsmc     RET   netbsd32_write 134/0x86
  3856   5630 dsmc     CALL  netbsd32_write(1,0xfbfdd000,0x72)
  3856   5630 dsmc     GIO   fd 1 wrote 114 bytes
       "ANS1587W Unable to read extended attributes for /tsm-filespace due to errno: 38, reason: Function not implemented\
(Continue reading)

Christos Zoulas | 13 Jul 2012 20:29

Re: linux emulation: listxattr

In article <20120713094314.GB72066 <at> trav.math.uni-bonn.de>,
Edgar Fuß  <ef <at> math.uni-bonn.de> wrote:
>Thanks for looking into this.
>
>EF> Does anyone feel like adding a (maybe dummy) implementation for it?
>I've found a workaround: setting "skipacl yes" and "skipaclupdatecheck yes"
>in dsm.opt helps. You don't easily find that in the TSM documentation
>because it always speaks of "extended attributes"---only that command's
>description doesn't, but says "ACL".
>
>CZ> It returns EOPNOTSUP currently, isn't that enough?
>I'm confused as to what it returns. Looks like it returns 38 (or -38?);
>in Penguinish, that would be ENOSYS; however, kdump says ,,too many processes''.
>
>CZ> Do you have a ktrace of it?
>Sure:
>  3856   5630 dsmc     CALL  stat64(0x865fc30,0xfa9c24cc)
>  3856   5630 dsmc     NAMI  "/emul/linux32/tsm-filespace"
>  3856   5630 dsmc     RET   stat64 0
>  3856   5630 dsmc     CALL  #232 (unimplemented listxattr)
>  3856   5630 dsmc     RET   #232 (unimplemented listxattr) -1 errno -38
>Too many processes
>  3856   5630 dsmc     CALL  time(0)
>  3856   5630 dsmc     RET   time 1342032513/0x4ffdca81
>  3856   5630 dsmc     CALL  netbsd32_write(3,0xfa9bf7b0,0x86)
>  3856   5630 dsmc     GIO   fd 3 wrote 134 bytes
>       "11.07.2012 20:48:33 ANS1587W Unable to read extended attributes
>for /tsm-filespace due to errno: 38, reason: Func\
>        tion not implemented\n"
>  3856   5630 dsmc     RET   netbsd32_write 134/0x86
(Continue reading)


Gmane