Problems with libraries on Ubuntu 11.10?

McMatt's picture

Hi,

I love BT747 but recently I can't use it anymore. Since I upgraded to Ubuntu 11.10, BT747 crashes at some point, not much after I start to use it, with very general error messages. First I thought I fixed it by re-replacing OpenJDK by sun-java6. But the errors still occur.

I put here some examples of error messages (copied from terminal):

http://www.mattlab.de/files/tmp/error1.txt

http://www.mattlab.de/files/tmp/hs_err_pid4465.log

http://www.mattlab.de/files/tmp/error2.txt

http://www.mattlab.de/files/tmp/hs_err_pid5458.log

 

Are there incompatibilities I haven't thought about? Can I resolve the problem?

 

Thanks for your help and Happy Holidays!

mdeweerd's picture

The errors seem to happen in

The errors seem to happen in the native libraries not provided in the package.  Maybe some incompatibility between a current version of libraries and the ones that the java distribution was compiled for.

You could try to install the 32 bit version of java and see if you get that to work (uses other native libraries).

I tried in VirtualBox and I got the same issue on 11.10.  It seems to happen only when the map is shown when tiles are fetched from the net.

I'll see if I can install a 32 bit version and if that works.  I am not sure that rebuilding BT747 will help, but I'll check that too.

mdeweerd's picture

Hi again 1. After updating

Hi again

1. After updating all packages, the behaviour changed - the error became (endlessly repeated) 'unknown is not a basuc type' as soon as I went to the map.

2. I found this, where the suggestion seems to be to disable the system proxy in java: http://sourceforge.net/tracker/index.php?func=detail&aid=3460285&group_id=184600&atid=909904
I applied this by changing the last line in 'run_j2se.sh' to add '-Duse_system_proxy=0':

"$JAVA" $MEM_HEAP_OPTION $DEBUG_OPTION -Djava.library.path="${RXTXLIBPATH} -Duse_system_proxy=0" bt747.j2se_view.BT747Main $* &

After that, no more issues.

 

Now, I know that the system proxy is usefull for several users (and this is the default I believe), so  I'll not add this option by default.  I think that the issue is in a library that Java itself is using so that should be fixed instead.

Kind regards

 

Mario

mdeweerd's picture

Hi It did crash with that

Hi

It did crash with that option too (it probably isn't the right option).

In Sun java, you can disable the proxy in the configuration panel - I am checking how to launch 'sun-java'.

mdeweerd's picture

Hi After several trials and

Hi

After several trials and investigation, it definitively looks like the Proxy function isn't working properly.

The correct setting on the command line would be  '-Djava.net.useSystemproxies=false' but unfortunately that value is forced to 'true' inside BT747 because users using a proxie complained in the past that BT747 did not work for them.

So currently, I implemented another workaround and changed the last two lines of run_j2se.sh to:

#NOPROXY_OPTION='-Dbt747.disableForceSystemProxies'

"$JAVA" $MEM_HEAP_OPTION $DEBUG_OPTION $NOPROXY_OPTION -Djava.library.path="${RXTXLIBPATH}" bt747.j2se_view.BT747Main $* &

Here the 'NOPROXY_OPTION' needs to be uncommented in your case.

I've tried under Ubuntu 11.10 under Virtualbox and it seems to work now.

I'll let you get BT747...1935.zip , modify 'run_j2se.sh' as indicated above and try it.  The next step is to add an option in the user interface that enables/disables the proxies (at startup) [and possibly disabled by default on linux/Ubuntu systems].

mdeweerd's picture

BT747 has been updated to

BT747 has been updated to include a new option (added on 'Output settings') :   Enable Proxy.  Modifying this option only becomes active after a restart.

On Linux systems this is disabled by default - if you are using a proxy you need to enable it, but as indicated in this thread that may result in issues on Ubuntu 11.10.

BT747 should now work for 'McMatt'.

McMatt's picture

Thanks a lot! I tested the

Thanks a lot!

I tested the updated version and it is working for me again.

Enjoy the holidays!