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 when running Docker image #165

Closed
matthew-jurewicz opened this issue Dec 28, 2020 · 5 comments
Closed

Error when running Docker image #165

matthew-jurewicz opened this issue Dec 28, 2020 · 5 comments
Labels
question Further information is requested

Comments

@matthew-jurewicz
Copy link

matthew-jurewicz commented Dec 28, 2020

org.w3c.dom.DOMException: jar:file:/root/Jts/978/jars/jts4launch-978.jar!/trader/common/images/gfis_blue_w47_h16.svg:
The attribute "fill" represents an invalid CSS value ("url(#a)").
Original message:
String index out of range: 4
at org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:776)
at org.apache.batik.css.engine.CSSEngine.getComputedStyle(CSSEngine.java:868)
at org.apache.batik.bridge.CSSUtilities.getComputedStyle(CSSUtilities.java:81)
at org.apache.batik.bridge.CSSUtilities.convertDisplay(CSSUtilities.java:563)
at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:206)
at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:171)
at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:219)
at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:171)
at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:219)
at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:171)
at org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:82)
at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:208)
at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:92)
at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142)
at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156)
at feature.svg.b.a(b.java:90)
at java.util.HashMap.computeIfAbsent(HashMap.java:1127)
at feature.svg.b.a(b.java:79)
at feature.svg.b.a(b.java:60)
at feature.svg.c.a(c.java:66)
at jtscomponents.plaf.dT.a(dT.java:2405)
at feature.gfis.component.b.onFontChanged(b.java:109)
at feature.gfis.component.b.b(b.java:76)
at feature.gfis.component.b.(b.java:61)
at feature.tabs.bf.f(bf.java:183)
at feature.tabs.bf.(bf.java:156)
at feature.tabs.bg.(bg.java:437)
at jclient.qm.b(qm.java:847)
at jclient.qm.eF(qm.java:831)
at jclient.qm.cn(qm.java:978)
at trader.tab.bc.cm(bc.java:1532)
at trader.tab.bc.(bc.java:1522)
at jclient.qk.(qk.java:216)
at jclient.ql.(ql.java:492)
at jclient.qm.(qm.java:513)
at jclient.qm.(qm.java:509)
at feature.mainwin.B.a(B.java:257)
at feature.mainwin.B.a(B.java:139)
at feature.mainwin.v.a(v.java:175)
at trader.common.factory.U.a(U.java:249)
at trader.common.factory.U.a(U.java:216)
at feature.mainwin.B.a(B.java:173)
at trader.tab.g.a(g.java:1227)
at trader.common.factory.b.a(b.java:1509)
at trader.common.factory.b.c(b.java:1524)
at trader.common.factory.b.b(b.java:1583)
at trader.common.factory.b.b(b.java:1467)
at jclient.f7.b(f7.java:3778)
at twslaunch.jutils.as.a(as.java:713)
at jclient.f7.a(f7.java:3776)
at jclient.f7.a(f7.java:2953)
at feature.welcome.f.run(f.java:501)
at feature.welcome.e.run(e.java:509)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
ERROR: null
Enclosed Exception:
jar:file:/root/Jts/978/jars/jts4launch-978.jar!/trader/common/images/gfis_blue_w47_h16.svg:
The attribute "fill" represents an invalid CSS value ("url(#a)").
Original message:
String index out of range: 4

@brndnmtthws
Copy link
Owner

brndnmtthws commented Dec 29, 2020

Well that's a strange one. Have you tried using the sample config.ini from the repo? Also, check that you have gateway = true in your thetagang.toml like this.

I have no idea why TWS needs to render CSS to run the gateway, but I guess it's because nobody who works in management at IB has realized you can run a Java app without a GUI.

@brndnmtthws brndnmtthws added the bug Something isn't working label Dec 29, 2020
@matthew-jurewicz
Copy link
Author

OK there is no error now, but it doesn't look like it's doing anything but printing the config.

@brndnmtthws
Copy link
Owner

Check the IBC log, which should be written out to ibc.log by default (again, defined in thetagang.toml). Common issues are the wrong credentials, bad settings, API port not enabled, wrong API port, networking issues, etc.

@brndnmtthws brndnmtthws added question Further information is requested and removed bug Something isn't working labels Dec 31, 2020
@matthew-jurewicz
Copy link
Author

I don't see a log file being created (/ibc/ib_insync.log), so I'm not sure there's any output

@brndnmtthws
Copy link
Owner

If you're running it with Docker, you need to make sure the log is being written out to somewhere you can grab it, i.e., to a volume. In my case, I mount the volume at /ibc inside the container, and I changed the logfile path to /ibc/ibc.log. So my docker command looks like:

$ docker run -v ~/ibc:/ibc ...

And my thetagang.toml looks like:

[ib_insync]
logfile = '/ibc/ibc.log'

Alternatively you can jump inside the container with docker exec -it <container> /bin/bash and fetch the log that way.

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

No branches or pull requests

2 participants