Does the command-line client work?

If you are having a problem using SourceOffSite, post a message here.

Moderator: SourceGear

sgeard
Posts: 15
Joined: Wed Sep 19, 2007 9:51 am

Does the command-line client work?

Post by sgeard » Wed Nov 07, 2007 7:47 am

The answer is no - at least not in any meaningful way.
I am trying to checkout a project with soscmd. I have tried the following clients:
4.2 windowsXP
4.2 linux
4.1.2 linux

All of them fail with segmentation faults (linux) or unhandled exceptions (windows). Seems to be something to do with the file size since some files are correctly retreived. The error log contains lines of the form

Error: Server response = 401 NoSuchFileOrProject
Error: Server response = 400 OperationFailed

Apart from being horrendously slow there is no problem doing this in the GUI.
Do you have a working version of soscmd anywhere that I could use?

Thanks.

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Wed Nov 07, 2007 8:38 am

There have been zero reports of any issue in the SOS command line tool within Linux or Windows.

What is the version of your SOS Server? What is the size of the file you are trying to GET?

On the client for Linux, what distribution are you using? What version? 32-bit or 64-bit? For the client on Windows XP, what edition? 32-bit or 64-bit?
Jeff Clausius
SourceGear

sgeard
Posts: 15
Joined: Wed Sep 19, 2007 9:51 am

Does the command-line client work?

Post by sgeard » Wed Nov 07, 2007 9:57 am

A brief look through the forum shows at least one issue so zero isn't really accurate.

I am trying to connect to a server at version 3.5.3 (which is offsite so I don't have access to it). I am now trying this version of the client. The linux one crashes immediately it tries to get a file (but not if you just type it at the command line):

soscmd-3.5.3: dynamic-link.h:62: elf_get_dynamic_info: Assertion `! "bad dynamic tag"' failed.

The windows client is still running but much too slowly - in the last 10 minutes it hasn't managed to get a single file but the error log is empty. It seems that I can't run both the soscmd and sos simultaneously on the same db on the same machine so the windows client isn't going to be of any use. What I really need is a working linux client, I'm trying on both RHEL4 and Debien Sarge but without success.

Simon

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Re: Does the command-line client work?

Post by jclausius » Wed Nov 07, 2007 11:25 am

sgeard wrote:A brief look through the forum shows at least one issue so zero isn't really accurate
Yeah, sorry, I should have said there have been zero reports on the SOS Client on Linux that I'm aware of in the last 10 months.

In any case, I'd say there might be a configuration problem in the versions of SOS as we always recommend both server and client be on the same version due to protocol assumptions. Getting back to the issue, if you cannot upgrade your SOS Server, then you might want to try the GET with -nocompress option. Back in Vault 4.0 or so I fixed a problem with endianness for GETS of large files using compression.

Let me know if that works for you.
Last edited by jclausius on Wed Nov 07, 2007 12:18 pm, edited 1 time in total.
Jeff Clausius
SourceGear

sgeard
Posts: 15
Joined: Wed Sep 19, 2007 9:51 am

Does the command-line client work?

Post by sgeard » Wed Nov 07, 2007 11:30 am

That was the one tip I had already picked up whilst browsing the forum, so the results I reported are already with the -nocompress flag set.

Simon

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Wed Nov 07, 2007 12:21 pm

That is strange, although I do not know if the -nocompress option will have any bearing on a 3.5.3 SOS server.

What version of SOS are you using for your Windows testing?

Do you have any access to the SOS server to determine if there are any Server side errors?
Jeff Clausius
SourceGear

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Wed Nov 07, 2007 12:44 pm

When you tried the 4.2 Linux based client did you try both the GTK based client as well as the command line? Was there any more to the error other than a seg fault?
Jeff Clausius
SourceGear

sgeard
Posts: 15
Joined: Wed Sep 19, 2007 9:51 am

Does the command-line client work?

Post by sgeard » Thu Nov 08, 2007 5:22 am

Linux:
Here is an example error with soscmd-4.2

free(): invalid pointer 0x8064450!

with verbose turned on the error log is
SourceOffSite Command Line Client: 128 bit Encryption version 4.2
Connected to ****** at port 8890.
Received Secure Challenge from server
Successfully logged in.
Sending GetProject Command to server.
Requesting file: COLOUR.DAT
Got file: /home/simon/SOS/ShipRight/Debug/COLOUR.DAT
Requesting file: 1
Error: Server response = 401 NoSuchFileOrProject
Requesting file:
Error: Server response = 400 OperationFailed
Requesting file: EDINF1.DAT
Got file: /home/simon/SOS/ShipRight/Debug/EDINF1.DAT
Requesting file: Example2.lrb
Got file: /home/simon/SOS/ShipRight/Debug/Example2.lrb
Requesting file: 11/05/2007 16:48
Error: Server response = 400 OperationFailed
Requesting file: LREDIT.EXE
Got file: /home/simon/SOS/ShipRight/Debug/LREDIT.EXE
Requesting file: readme.txt
Got file: /home/simon/SOS/ShipRight/Debug/readme.txt
Requesting file: sd11042d.pdb
Got file: /home/simon/SOS/ShipRight/Debug/sd11042d.pdb
Requesting file: semi-transparent_colour.lrg
Got file: /home/simon/SOS/ShipRight/Debug/Defaults/semi-transparent_colour.lrg
Requesting file: british standard profiles.lrr
Got file: /home/simon/SOS/ShipRight/Debug/Resources/british standard profiles.lrr
Requesting file: 1
Error: Server response = 401 NoSuchFileOrProject
Requesting file: 11/05/2007 16:49
Error: Server response = 400 OperationFailed
Requesting file:
Error: Server response = 400 OperationFailed
Requesting file: korean standard profiles.lrr
Got file: /home/simon/SOS/ShipRight/Debug/Resources/korean standard profiles.lrr
***end of log-file

The last file listed was correctly retrieved so I don't know what it was trying to do when it crashed. If you look at the graphical client (winXP) all these files do exist so why the 401 response?

The machine I'm running on is a server and does not have any graphics libraries installed so I can only try soscmd.

Windows:
I have tried 4.2 and 3.5.3 for soscmd and only the 3.5.3 version works. For the graphical client sos-4.2 works fine.

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Thu Nov 08, 2007 10:02 am

Let's try to start with a clean slate.

I've done some checking with some of the developers working on the versions of SOS before me. There were some protocol changes between SourceOffSite 3.5, 4.0, and 4.1 so having a matching client / server version is imperative to trouble shooting any kind of problem.

So in order to gain a better understanding, let's try things again with the SOS 3.5.3 CLC. Once you get the error with the CLC, repost the errors you encounter for the GET. Also if there is any way you can get to the SOS Server's log in Debug/Verbose mode, that would be beneficial as well, as we can see what the server is doing with the request. Turn on Method logging as well, for more info:

http://support.sourcegear.com/viewtopic.php?t=463
Jeff Clausius
SourceGear

sgeard
Posts: 15
Joined: Wed Sep 19, 2007 9:51 am

Does the command-line client work?

Post by sgeard » Thu Nov 08, 2007 11:23 am

I have access to 2 linux machines. On the main server we're running Debian:

/exports/home/simon/SOS ! -> uname -a
Linux stampy 2.4.32.20060811 #1 SMP Fri Aug 11 10:25:54 BST 2006 i686 GNU/Linux

the result of running the soscmd-3.5.3 client is an immediate return with the message

SourceOffSite Command Line Client: 128 bit Encryption version 3.5
Can't get server host entry. Error: 0 Success
Could not connect to server ****** at port 8890. Exiting...


On another machine we're running RHEL4u5:

/home/simon/SOS ! -> uname -a
Linux popeye 2.6.9-55.0.6.EL #1 Thu Aug 23 10:59:21 EDT 2007 i686 i686 i386 GNU/Linux

Running the same client on this machine gives the error

elf_get_dynamic_info: Assertion `! "bad dynamic tag"' failed.


I'm trying to get hold of the server logs and will update you on this as soon as I have more information.

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Thu Nov 08, 2007 11:50 am

While you're at it, can I get a list of dependencies on the SOS command line binary? Try 'ldd -v soscmd'
Jeff Clausius
SourceGear

sgeard
Posts: 15
Joined: Wed Sep 19, 2007 9:51 am

Does the command-line client work?

Post by sgeard » Fri Nov 09, 2007 3:36 am

On the Debian Sarge machine:

/exports/home/simon/bin ! -> ldd -v soscmd-*
soscmd-3.5.3:
not a dynamic executable
soscmd-4.1.2:
libz.so.1 => /usr/lib/libz.so.1 (0x40020000)
libreadline.so.5 => /lib/libreadline.so.5 (0x40032000)
libncurses.so.5 => /lib/libncurses.so.5 (0x4005f000)
libnsl.so.1 => /lib/libnsl.so.1 (0x4009e000)
libc.so.6 => /lib/libc.so.6 (0x400b4000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Version information:
./soscmd-4.1.2:
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/usr/lib/libz.so.1:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/lib/libreadline.so.5:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/lib/libncurses.so.5:
libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/lib/libnsl.so.1:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
/lib/libc.so.6:
ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2
soscmd-4.2:
not a dynamic executable



On the RHEL4u5 machine:

/home/simon/bin ! -> ldd -v soscmd-*
soscmd-3.5.3:
not a dynamic executable
soscmd-4.1.2:
libz.so.1 => /usr/lib/libz.so.1 (0x0057d000)
libreadline.so.5 => /usr/lib/libreadline.so.5 (0x0078a000)
libncurses.so.5 => /usr/lib/libncurses.so.5 (0x00101000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00cd6000)
libc.so.6 => /lib/tls/libc.so.6 (0x00333000)
/lib/ld-linux.so.2 (0x00315000)

Version information:
./soscmd-4.1.2:
libc.so.6 (GLIBC_2.1) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6
/usr/lib/libz.so.1:
libc.so.6 (GLIBC_2.1.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6
/usr/lib/libreadline.so.5:
libc.so.6 (GLIBC_2.1.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6
/usr/lib/libncurses.so.5:
libc.so.6 (GLIBC_2.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.1.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6
/lib/libnsl.so.1:
libc.so.6 (GLIBC_2.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.1.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.2) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.2.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/tls/libc.so.6
/lib/tls/libc.so.6:
ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.3) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
soscmd-4.2:
libz.so.1 => /usr/lib/libz.so.1 (0x0057d000)
libreadline.so.5 => /usr/lib/libreadline.so.5 (0x0078a000)
libncurses.so.5 => /usr/lib/libncurses.so.5 (0x00101000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00cd6000)
libc.so.6 => /lib/tls/libc.so.6 (0x00333000)
/lib/ld-linux.so.2 (0x00315000)

Version information:
./soscmd-4.2:
libc.so.6 (GLIBC_2.1) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6
/usr/lib/libz.so.1:
libc.so.6 (GLIBC_2.1.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6
/usr/lib/libreadline.so.5:
libc.so.6 (GLIBC_2.1.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6
/usr/lib/libncurses.so.5:
libc.so.6 (GLIBC_2.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.1.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6
/lib/libnsl.so.1:
libc.so.6 (GLIBC_2.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.1.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.2) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.2.3) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/tls/libc.so.6
/lib/tls/libc.so.6:
ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.3) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
/home/simon/bin ! ->

sgeard
Posts: 15
Joined: Wed Sep 19, 2007 9:51 am

Does the command-line client work?

Post by sgeard » Fri Nov 09, 2007 9:49 am

I've managesd to get hold of the server log and attached the file but I don't think they'll be of mush use since debugging is turned off. Should I try to see if I can get debugging output turned on?
Attachments
log.txt
SOS server log output
(4.94 KiB) Downloaded 623 times

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Fri Nov 09, 2007 10:13 am

If you can get a more detailed server log that would be helpful.

The 3.5.3 RHEL 4 ('bad dynamic tag') message is a surprise as well. Can I ask for a little bit more info:

1) Run 'file soscmd'
2) Run 'readelf -a soscmd'

on the 3.5.3 binaries. I need some more info here about the file format to see if something in the format itself is causing the problem.


The other thing I cannot figure out is why the 3.5.3 client on your Debian box cannot connect. It is not crashing, but exiting because it cannot connect to the SOS server. Does the GTK based SOS client work on the Debian box? Or can you try to telnet to the SOS server on the SOS port? Does it get through?
Jeff Clausius
SourceGear

sgeard
Posts: 15
Joined: Wed Sep 19, 2007 9:51 am

Does the command-line client work?

Post by sgeard » Fri Nov 09, 2007 10:37 am

/home/simon/bin ! -> file soscmd-3.5.3
soscmd-3.5.3: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, statically linked, stripped


/home/simon/bin ! -> readelf -a soscmd-3.5.3
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x80480e0
Start of program headers: 52 (bytes into file)
Start of section headers: 512056 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 3
Size of section headers: 40 (bytes)
Number of section headers: 20
Section header string table index: 19

Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .init PROGBITS 080480b4 0000b4 000025 00 AX 0 0 4
[ 2] .text PROGBITS 080480e0 0000e0 05e67f 00 AX 0 0 32
[ 3] .fini PROGBITS 080a6760 05e760 00001c 00 AX 0 0 4
[ 4] .rodata PROGBITS 080a6780 05e780 01214c 00 A 0 0 32
[ 5] __libc_atexit PROGBITS 080b88cc 0708cc 000004 00 A 0 0 4
[ 6] __libc_subfreeres PROGBITS 080b88d0 0708d0 000048 00 A 0 0 4
[ 7] __libc_subinit PROGBITS 080b8918 070918 00000c 00 A 0 0 4
[ 8] .data PROGBITS 080b9940 070940 003708 00 WA 0 0 32
[ 9] .eh_frame PROGBITS 080bd048 074048 00351c 00 WA 0 0 4
[10] .gcc_except_table PROGBITS 080c0564 077564 000bcc 00 WA 0 0 4
[11] .ctors PROGBITS 080c1130 078130 000008 00 WA 0 0 4
[12] .dtors PROGBITS 080c1138 078138 000008 00 WA 0 0 4
[13] .got PROGBITS 080c1140 078140 0000f8 04 WA 0 0 4
[14] .sbss PROGBITS 080c1238 078240 000000 00 W 0 0 1
[15] .bss NOBITS 080c1240 078240 001f98 00 WA 0 0 32
[16] .comment PROGBITS 00000000 078240 003629 00 0 0 1
[17] .note.ABI-tag NOTE 08048094 000094 000020 00 A 0 0 4
[18] .note NOTE 00000000 07b869 00170c 00 0 0 1
[19] .shstrtab STRTAB 00000000 07cf75 0000c1 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)

Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000000 0x08048000 0x08048000 0x70924 0x70924 R E 0x1000
LOAD 0x070940 0x080b9940 0x080b9940 0x078f8 0x09898 RW 0x1000
NOTE 0x000094 0x08048094 0x08048094 0x00020 0x00020 R 0x4

Section to Segment mapping:
Segment Sections...
00 .init .text .fini .rodata __libc_atexit __libc_subfreeres __libc_subinit .note.ABI-tag
01 .data .eh_frame .gcc_except_table .ctors .dtors .got .bss
02 .note.ABI-tag

There is no dynamic section in this file.

There are no relocations in this file.

There are no unwind sections in this file.

No version information found in this file.
/home/simon/bin ! ->


I don't think the problem on the Debian machine is a connection problem since soscmd-4.2 does connect ok and get some files (before dying with invalid pointer 0x8064480!).

Post Reply