www.cendio.com
Bug 3230 - Ship a 64 bit Linux client
: Ship a 64 bit Linux client
Status: CLOSED FIXED
: ThinLinc
Client platforms
: 3.0.0
: PC Unknown
: P2 Normal
: 4.0.0
Assigned To:
:
:
: 1934
:
  Show dependency treegraph
 
Reported: 2009-09-02 11:43 by
Modified: 2012-11-28 12:13 (History)
Acceptance Criteria:


Attachments


Note

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


Description From cendio 2009-09-02 11:43:01
Ship a 64 bit Linux client.
------- Comment #1 From cendio 2012-06-04 16:52:59 -------
Fixed now.

Tester needs to verify functionality in all parts of the client. No cheating!
Arch sensitive bugs tend to be subtle and well hidden.

You should also to try installing the rpms and debs on as many different
systems as possible to make sure we do not have any problems in the packaging.
------- Comment #2 From cendio 2012-06-05 09:37:17 -------
Tested the 64bit client on Fedora 17, connection hangs for ever 
and memory is allocated until system dies...
------- Comment #3 From cendio 2012-06-05 09:38:31 -------
(In reply to comment #2)
> Tested the 64bit client on Fedora 17, connection hangs for ever 
> and memory is allocated until system dies...

Commit r25258 and r25259 fixes the issue.
------- Comment #4 From cendio 2012-06-05 12:32:12 -------
Need to have another look at the packaging of the tar balls, and at the
warnings in the build log.
------- Comment #5 From cendio 2012-06-05 12:39:39 -------
r25261 makes sure we have a version and build number for the tar balls (like we
do for all other clients).
------- Comment #6 From cendio 2012-06-05 12:48:37 -------
Better naming of the unpacked directories in r25263.
------- Comment #7 From cendio 2012-06-05 13:03:34 -------
Renamed the Windows "unpacked" in a similar manner for consistency in r25264.
Tester needs to check that this client still works.
------- Comment #8 From cendio 2012-06-05 13:38:47 -------
Fixed some bad format strings in tlclient. Other than that there were only two
more instances of possible 64-bit problems:

 - vncconfig (don't care, the thing needs a rewrite)

 - pulseaudio (debug log code, not crucial)
------- Comment #9 From cendio 2012-06-07 08:51:05 -------
When passing username and password on the command line, tlclient keeps on
allocting memory, but nothing else. It managed to use 4.7 GiB before I could
kill it.
------- Comment #10 From cendio 2012-06-07 09:11:51 -------
(In reply to comment #9)
> When passing username and password on the command line, tlclient keeps on
> allocting memory, but nothing else. It managed to use 4.7 GiB before I could
> kill it.

There were more places in code werer string::npos was compared
against wrong data type, grepped and fixed the issue in all places.

Commit 25286
------- Comment #11 From cendio 2012-06-07 11:22:25 -------
Documentation updated. Tester should verify that the requirements and all
installation instructions are correct.
------- Comment #12 From cendio 2012-06-08 12:42:03 -------
Possibly related: bug 4319.
------- Comment #13 From cendio 2012-08-13 16:54:16 -------
*** Bug 4370 has been marked as a duplicate of this bug. ***
------- Comment #14 From cendio 2012-08-13 16:55:22 -------
Smart card bits fail to work on Fedora 16, and we get a crash on exit:

#0  pcsc_cancel (ctx=0x8f8d10) at reader-pcsc.c:590
        rv = 0
        gpriv = 0x0
        __FUNCTION__ = "pcsc_cancel"
#1  0x00007ffff1667bbb in C_Finalize (pReserved=<optimized out>)
    at pkcs11-global.c:295
        i = <optimized out>
        p = <optimized out>
        slot = <optimized out>
        rv = 0
        __FUNCTION__ = "C_Finalize"
#2  0x00000000004399f0 in PKCS11Module::Close (this=0x8a7d80)
    at tlclient_pkcs11.cc:240
No locals.
#3  0x000000000043ba48 in PKCS11Module::~PKCS11Module (this=0x8a7d80, 
    __in_chrg=<optimized out>) at tlclient_pkcs11.cc:41
No locals.
#4  0x0000000000415eb2 in MainWindow::~MainWindow (this=0x8aa8c0, 
    __in_chrg=<optimized out>) at tlclient_mainwindow.cc:444
No locals.
#5  0x0000000000415f2d in MainWindow::~MainWindow (this=0x8aa8c0, 
    __in_chrg=<optimized out>) at tlclient_mainwindow.cc:449
No locals.
---Type <return> to continue, or q <return> to quit---
#6  0x0000000000411ed9 in TLClient::runApplication (this=0x89dee0)
    at tlclient_tlclient.cc:419
        pwfailure = false
#7  0x000000000040f6be in main (argc=1, argv=0x7fffffffe488)
    at tlclient_main.cc:288
        tlapp = 0x89dee0
        ld_bind_now = "LD_BIND_NOW=1"
        icon_sizes = {48, 24, 16}
        count = 3
        locale_directory = {static npos = 18446744073709551615, 
          _M_dataplus = {<std::allocator<char>> =
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
            _M_p = 0x8994b8 "/opt/thinlinc/lib/tlclient/locale"}}
        icons = {0x8994a0, 0x8994f0, 0x89d8f0}
        result = <optimized out>
------- Comment #15 From cendio 2012-08-20 13:44:15 -------
The RPM dependencies are wrong for a 64-bit CentOS/RHEL: 

fel: Ouppfyllda beroenden:
    libX11.so.6 behövs av thinlinc-client-3.4.0post-3608.x86_64
    libz.so.1 behövs av thinlinc-client-3.4.0post-3608.x86_64

If you use "yum localinstall", it wants to install the i686 packages as
dependencies:

Installing:
 thinlinc-client          x86_64          3.4.0post-3608          
/thinlinc-client-3.4.0post-3608.x86_64           14 M
Installing for dependencies:
 libX11                   i686            1.3-2.el6                base        
                                   585 k
 libXau                   i686            1.0.5-1.el6              base        
                                    22 k
 libxcb                   i686            1.5-1.el6                base        
                                   104 k
 zlib                     i686            1.2.3-27.el6             base        
                                    72 k

So at least for this platform, instead of requiring:

Requires: libX11.so.6
Requires: libz.so.1

...we need to require the 64-bit variants:

libz.so.1()(64bit)  
libX11.so.6()(64bit)  

However, we need to check if that convention is really used on all other RPM
systems as well. Otherwise, perhaps we should limit the dependencies to the
32-bit client.
------- Comment #16 From cendio 2012-08-31 11:37:50 -------
(In reply to comment #15)
> The RPM dependencies are wrong for a 64-bit CentOS/RHEL: 
> 
> fel: Ouppfyllda beroenden:
>     libX11.so.6 behövs av thinlinc-client-3.4.0post-3608.x86_64
>     libz.so.1 behövs av thinlinc-client-3.4.0post-3608.x86_64
> 

Removed the dependencies completely in r25704 as they were originally added to
make it easier to install the 32-bit client on a 64-bit system. With a native
64-bit client, this is no longer a priority.
------- Comment #17 From cendio 2012-08-31 12:34:25 -------
(In reply to comment #14)
> Smart card bits fail to work on Fedora 16, and we get a crash on exit:
> 

Crash fixed in r25705. Still not properly working though. Has something to do
with loading libpcsc-lite.so.
------- Comment #18 From cendio 2012-08-31 13:33:44 -------
Bah! More libtool braindeadness. Unlike dlopen(), lt_dlopen() will choke on bad
libs (e.g. wrong arch) and not continue on to find a better lib.

This in itself isn't enough to break it, but it is also compiled to look in
/lib and /usr/lib first, meaning it will find 32-bit libs before 32-bit ones.
------- Comment #19 From cendio 2012-08-31 13:52:11 -------
Fixed in r25706.
------- Comment #20 From cendio 2012-10-16 09:40:31 -------
Extensivly tested 64bit client build 3680 against 64bit server build 3680:

Sound redirection, verified using rythmbox (gstreamer)
Video, sintel 720p fullscreen

Smartcard tunneling, login using latest test SITHS smartcard opensc-tool
and pkcs15-tool to pick up teh certificate verified with openssl to display
the cert on server side.

Thinlocal redirection, printed a few test pages to client local printer

Local drives redirection, copy from local to remote, delete and rename of
files.

Tested various combinations of optimization settings.

Shadowing.

No problems at all with the tests above, probably we should test 64bit client
against a 32bit server for a complete test, thoughts ?
------- Comment #21 From cendio 2012-10-17 11:05:30 -------
I have remade the tests with 64bit client against 32bit server build 3688 
with same success as previous test, considering as closed.