Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERROR org.bimserver.BimServer - java.nio.file.FileSystemException: E:\eTASK\BIMserver\Database\plugins\org.opensourcebim.ifcopenshellplugin-0.5.38.jar: The process cannot access the file because it is being used by another process. #9

Open
stegh opened this issue Jan 30, 2019 · 15 comments

Comments

@stegh
Copy link

stegh commented Jan 30, 2019

Hello,

we've had issues with installing BIMserver on machines without internet connection, maybe it's "our fault", - I'm not sure if installing on machines without internet connection is supported by BIMserver.
(and to be honest; we're not entirely sure if the behaviour is related to missing internet connection).

On machines with internet connection some downloads start after this line...

[BimServer.java:1091] Initializing database dependant logic...

ifcopenshellplugin is downloaded from AWS, e.g. this line:

INFO [PluginInterface.installPluginBundle] o.i.IfcGeomServerClient [IfcGeomServerClient.java:193] Downloading from https://s3.amazonaws.com/ifcopenshell-builds/IfcGeomServer-v0.6.0-4f8b430-win64.zip

On machines without internet connection we get this error:

ERROR org.bimserver.BimServer - java.nio.file.FileSystemException: E:\eTASK\BIMserver\Database\plugins\org.opensourcebim.ifcopenshellplugin-0.5.38.jar: The process cannot access the file because it is being used by another process.

...here in German (and long version ;)):

ERROR [main] o.b.BimServer [BimServer.java:1228] java.nio.file.FileSystemException: C:\Program Files (x86)\eTASK\BIMserver\Database\plugins\org.opensourcebim.ifcopenshellplugin-0.5.38.jar: Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. at sun.nio.fs.WindowsException.translateToIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source) at sun.nio.fs.AbstractFileSystemProvider.delete(Unknown Source) at java.nio.file.Files.delete(Unknown Source) at org.bimserver.plugins.PluginManager.loadPlugin(PluginManager.java:1428) at org.bimserver.plugins.PluginManager.loadFromPluginDir(PluginManager.java:1398) at org.bimserver.BimServer.initDatabaseDependantItems(BimServer.java:1226) at org.bimserver.BimServer.start(BimServer.java:755) at org.bimserver.web.WarServerInitializer.contextInitialized(WarServerInitializer.java:116) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4643) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5105) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1425) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1415) at java.util.concurrent.FutureTask.run(Unknown Source) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1425) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1415) at java.util.concurrent.FutureTask.run(Unknown Source) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:671) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)

I tried to find out about the lock / sharing using https://live.sysinternals.com/Procmon.exe

Filtering PATH ends with org.opensourcebim.ifcopenshellplugin-0.5.38.jar

The error occurs at every (re)start of the BIMserver service / Tomcat service.

You can see a SHARING VIOLATION, - but I don't know why...


Event Class: File System
Operation: CreateFile
Result: SHARING VIOLATION
Path: E:\eTASK\BIMserver\Database\plugins\org.opensourcebim.ifcopenshellplugin-0.5.38.jar
TID: 6464
Duration: 0.0000367
Desired Access: Read Attributes, Delete
Disposition: Open
Options: Non-Directory File, Open Reparse Point
Attributes: n/a
ShareMode: Read, Write, Delete
AllocationSize: n/a

Any help/suggestions appreciated ;)

Regards,
Thomas

@stegh
Copy link
Author

stegh commented Jan 30, 2019

@rubendel
Copy link
Member

rubendel commented Jan 31, 2019

I don't really understand why you are getting this specific error, but I can explain how the IfcOpenShell plugin is working now. Basically a specific commit-hash is hardcoded in the plugin, and it will download the correct version of the binaries for your platform from S3. The main reasons for this are:

  • The size of the plugin is significantly smaller, previously you had to download the 32 and 64 bit binaries for linux, osx and windows, even though you were obviously only using one of the binaries. This size has actually been a problem for people with slow internet/government filtered internet.
  • For development/testing purposes, you can override the commit-hash, and start using a different binary without having to build/download a new version of the plugin

So basically, although BIMserver does provide a solution for computers with no internet connection, currently the IfcOpenShell plugin does not. We plan to provide a special build of the plugin in the future.

The only quick solution I see for now would be to put the correctly named executable directly in the correct folder before you start the BIMserver. Currently that would be home\tmp\org.opensourcebim.ifcopenshellplugin\IfcGeomServer-v0.6.0-4380e1d-win64.exe for 64bit windows.

@rubendel rubendel transferred this issue from opensourceBIM/BIMserver Jan 31, 2019
@stegh
Copy link
Author

stegh commented Jan 31, 2019

Thanks, I tried to do this as well:

put the correctly named executable directly in the correct folder before you start the BIMserver.
Currently that would be home\tmp\org.opensourcebim.ifcopenshellplugin\IfcGeomServer-v0.6.0-4380e1d-win64.exe

but it didn't work ...it's always the same: without internet connectivity (direct, not via proxy!) it works,
but on systems without internet connectivity or via proxies it does not work...

To reproduce this issue on our servers I started with a new virtual machine using VMware vSphere Client Console, - no network connection (deactivated network adapter), instead using hosts file entry:

127.0.0.1 qm27159.zentrale.etask.de
The server has no network, no DNS, no Internet access, - only localhost.

I could reproduce the issue, in bimserver.log there is this error 2 times:

java.nio.file.FileSystemException: C:\Program Files (x86)\eTASK\BIMserver\Database\plugins\org.opensourcebim.ifcopenshellplugin-0.5.38.jar:
Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.
English:
The process cannot access the file because it is being used by another process.

Next steps:

  • activated network adapter (with Internet connectivity)
  • stopped service
  • removed entry from hosts file
  • changed config in server.xml from 127.0.0.1 to real IP 192.168.10.69

Results from bimserver.log:

  • First start of service (with Internet connectivity)

14469 [main] INFO org.bimserver.BimServer - Initializing database dependant logic...
15531 [main] INFO o.ifcopenshell.IfcGeomServerClient - Downloading from https://s3.amazonaws.com/ifcopenshell-builds/IfcGeomServer-v0.6.0-4380e1d-win64.zip
25734 [main] INFO o.ifcopenshell.IfcGeomServerClient - Unzipping to C:\Program Files (x86)\eTASK\BIMserver\Database\tmp\org.opensourcebim.ifcopenshellplugin\IfcGeomServer-v0.6.0-4380e1d-win64.exe
26969 [main] INFO o.i.IfcOpenShellEnginePlugin - Using C:\Program Files (x86)\eTASK\BIMserver\Database\tmp\org.opensourcebim.ifcopenshellplugin\IfcGeomServer-v0.6.0-4380e1d-win64.exe
27594 [main] INFO org.bimserver.BimServer - Done initializing database dependant logic

  • stopped service
  • second start of service (with Internet connectivity)

14343 [main] INFO org.bimserver.BimServer - Initializing database dependant logic...
15562 [main] INFO o.i.IfcOpenShellEnginePlugin - Using C:\Program Files (x86)\eTASK\BIMserver\Database\tmp\org.opensourcebim.ifcopenshellplugin\IfcGeomServer-v0.6.0-4380e1d-win64.exe
16156 [main] INFO org.bimserver.BimServer - Done initializing database dependant logic
16812 [main] INFO o.b.s.websockets.jsr356.Jsr356Impl - WebSocket context initialized

My conclusion is: If there is working internet connectivity, the error does not occur.

However the problem is not solved on two other systems; - I gave Internet access (via proxy) to one of those systems and tested again, - didn't help there.

I tried to download this file in browsers on the server, this works:
https://s3.amazonaws.com/ifcopenshell-builds/IfcGeomServer-v0.6.0-4380e1d-win64.zip

Proxy settings in Java are ok as well (I tried all possibilites), but it looks like the proxy is not used by Bimserver, - you can see this in the following logs; here we go...

etask.bimserver-stderr.2019-01-31.log

31-Jan-2019 14:01:38.334 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [E:\eTASK\BIMserver\webapps\ROOT] has finished in [16] ms
31-Jan-2019 14:01:49.568 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
31-Jan-2019 14:02:36.985 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
31-Jan-2019 14:02:37.001 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-172.22.154.27-80"]
31-Jan-2019 14:02:37.001 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["https-openssl-nio-172.22.154.27-443"]
31-Jan-2019 14:02:37.017 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 59461 ms
nManager.java:1398)
at org.bimserver.BimServer.initDatabaseDependantItems(BimServer.java:1226)
at org.bimserver.BimServer.start(BimServer.java:755)
at org.bimserver.web.WarServerInitializer.contextInitialized(WarServerInitializer.java:116)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4643)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5105)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1425)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1415)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1425)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1415)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:671)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at org.ifcopenshell.IfcGeomServerClient.getExecutable(IfcGeomServerClient.java:171)
... 37 more

and ultimately again:

bimserver.log

34153 [main] ERROR org.bimserver.BimServer -
java.nio.file.FileSystemException: E:\eTASK\BIMserver\Database\plugins\org.opensourcebim.ifcopenshellplugin-0.5.38.jar: The process cannot access the file because it is being used by another process.

at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
at sun.nio.fs.AbstractFileSystemProvider.delete(Unknown Source)
at java.nio.file.Files.delete(Unknown Source)
at org.bimserver.plugins.PluginManager.loadPlugin(PluginManager.java:1428)
at org.bimserver.plugins.PluginManager.loadFromPluginDir(PluginManager.java:1398)
at org.bimserver.BimServer.initDatabaseDependantItems(BimServer.java:1226)
at org.bimserver.BimServer.start(BimServer.java:755)
at org.bimserver.web.WarServerInitializer.contextInitialized(WarServerInitializer.java:116)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4643)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5105)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1425)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1415)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1425)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1415)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:671)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)

Regards,
Thomas

@rubendel
Copy link
Member

Maybe I missed it, but which version of BIMserver is this? Because the line numbers don't correspond with what I have here.

@stegh
Copy link
Author

stegh commented Jan 31, 2019

Maybe I missed it, but which version of BIMserver is this?
Because the line numbers don't correspond with what I have here.

Sorry, it's 1.5.117

@stegh
Copy link
Author

stegh commented Jan 31, 2019

I don't understand how Bimserver, or rather IfcOpenShell (or Java?!) handles proxies.

From logs above:

Caused by: java.net.ConnectException: Connection timed out: connect

I'd be perfectly happy to be able to use the systems with internet connectivity (so what ;))

  • but there's no way for me to give direct access, only via proxy...

@rubendel
Copy link
Member

rubendel commented Jan 31, 2019

Yeah the proxies just don't work in BIMserver, it's too much a hassle to test everything, I actually struggled to setup a computer without internet connection, it's kinda hard to reach those...

In my opinion routers are for routing traffic, they are really good at that. Firewalls are for blocking/allowing stuff to pass through. Proxies (for outgoing connections) should have never existed, they are playing at the application level of the OSI model, but don't add any functionalities (like an application should). But that's just my rant, doesn't really help you ;).

I did do a few changes to the management of resources on the 23rd of November 2018 (e0d9c1c7bff87d4da9dfca8c00a7ca64636c140d), which is one day after 1.5.117 was released. So you might have better luck with a newer version on this front. Since ther error is about a file being locked, it could have something to do with that.

When I have time I'll at least test the suggestion I gave locally.

@stegh
Copy link
Author

stegh commented Jan 31, 2019

Thanks a lot! That explains it and helps. We should be able to resolve the issue with this information.

@stegh
Copy link
Author

stegh commented Feb 1, 2019

I was able to verify that there is indeed an issue with BIMserver 1.5.117 and IfcOpenShell Plugin that makes it impossible to run BIMserver on machines without (direct) internet connectivity (proxy servers are not supported by BIMserver).

Workaround:
I did a really dirty "hack" in order to work around this issue, - which involves hosts file and "faking" S3 AWS URL, - not nice, but it works, like this:

Prerequisites:

  • any webserver, I use IIS (on different machine)
  • new IP address on network adapter on this machine, e.g. 192.168.10.32
  • new web site (e.g. in IIS): "s3.amazonaws.com"
  • binding of IP for this web site (e.g. 192.168.10.32)
  • hint: in IIS you need to configure application pool to "no managed code" in order to be enable "JSON"-files as simple download; I also configured pipeline mode to "classic".
  • subfolder ifcopenshell-builds
  • the following "patched" files, - in order to "fake" s3.amazonaws.com it was much easier for me to change URLs from https to http, than to "fake" TLS certificate trust... ;)
    Workaround_patched_files.zip
    • org\ifcopenshell\IfcGeomServerClient.class from Database\plugins\org.opensourcebim.ifcopenshellplugin-0.5.38.jar patched from https://s3.amazonaws.com/ifcopenshell-builds/v0.6.0.json to http://es3.amazonaws.com/ifcopenshell-builds/v0.6.0.json
    • v0.6.0.json patched all URLs from https to http
    • hosts file (C:\Windows\System32\drivers\etc\hosts)
      192.168.10.32 s3.amazonaws.com
      192.168.10.32 es3.amazonaws.com
      Hint/explanation: in order to "patch/hack" the jar file and change https to http the easiest way was to use the same length of the URL, - instead of the "s" from https I changed the URL in the jar file to:
      http://es3.amazonaws.com/ifcopenshell-builds/v0.6.0.json

You now should have working URLs (reachable from BIMserver machine):

...and BIMserver 1.5.117 works with this "faked" s3.amazonaws.com URL ;)

31-Jan-2019 23:13:43.534 INFORMATION [main] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
31-Jan-2019 23:14:13.722 INFORMATION [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
31-Jan-2019 23:14:13.737 INFORMATION [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-127.0.0.1-80"]
31-Jan-2019 23:14:13.737 INFORMATION [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["https-openssl-nio-127.0.0.1-443"]
31-Jan-2019 23:14:13.737 INFORMATION [main] org.apache.catalina.startup.Catalina.start Server startup in 44113 ms
15140 [main] INFO  org.bimserver.BimServer - Done initializing database dependant logic
15859 [main] INFO  o.b.s.websockets.jsr356.Jsr356Impl - WebSocket context initialized

@rubendel
Copy link
Member

rubendel commented Feb 1, 2019

Wow, thanks for the extensive update, could be useful for other people in the same situation. I'll try to remember to place a comment in this issue when we get to setting-up a special variant of the IOS plugin with the binaries embedded.

@cacu100
Copy link

cacu100 commented Mar 4, 2019

Thanks @rubendel rubendel and @stegh stegh. I'm using BIMserver 1.5.117 war over Tomcat. It was running well before the installation of 1.5.125 in parallel in the same server. I read the @klacol suggestion on opensourceBIM/BIMserver#943 (comment).
I guess that the things are different for war deployments.
What's the best recommendation to fix this issue for 1.5.117 war installations with BIMview

@rubendel
Copy link
Member

rubendel commented Mar 4, 2019

Using 1.5.125 is the best recommendation imo, I assume you are not using it in production so it can't be that hard to switch.

@cacu100
Copy link

cacu100 commented Mar 4, 2019

Thanks @rubendel for your soon reply. I tested the 1.5.125 version but when I try to download the gltf model file using the API, it fails. This feature works well in 1.5.117. Are you planning a new version to fix the generation gltf issue

@rubendel
Copy link
Member

rubendel commented Mar 4, 2019

Please report a bug in the correct issue tracker, "it fails" is not enough information.

@cacu100
Copy link

cacu100 commented Mar 5, 2019

Thanks @rubendel. I uploaded the same ifc file on both versions 1.5.117 and 1.5.125. The glb file generated throws the API using the download method on 1.5.125 generates a file that I can't read using THREE.GLTFLoader.
The error displayed is : JSON.parse: unexpected non-digit at line 1 column 249274 of the JSON data
It works with a glb model generated using version 1.5.117. I tested the same code with version 1.125 and shows the related error message.
The zip file contains the glb files generated with 1.5.125, 1.5.117 and the original ifc uploaded on the server
Prototipo.zip
This is my code to load the model on my visualizer app.

let loader = new THREE.GLTFLoader();
loader.setDRACOLoader( new THREE.DRACOLoader() );
loader.load(this.BIMServerUrl+"/download?token="+this.token+"&topicId="+topicId ,
// onLoad callback
( gltf ) => {
let scene = gltf.scene || gltf.scenes[0];
let clips = gltf.animations || [];
this.setContent(scene, clips);
},
// onProgress callback
function ( xhr ) {
// console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
},
// onError callback
function ( err ) {
console.error( err );
});
Thanks again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants