appreciated/card

Exception using Vaadin 19

Closed this issue · 11 comments

Hi, we're running the newest vaadin 19.0.2 and are encountering the following exception:

elemental.json.JsonException: 
	at elemental.json.impl.JsonTokenizer.nextString(JsonTokenizer.java:112) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:171) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.parseObject(JsonTokenizer.java:231) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:173) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.parseArray(JsonTokenizer.java:192) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:175) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.parseObject(JsonTokenizer.java:231) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:173) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.parseArray(JsonTokenizer.java:192) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:175) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.parseObject(JsonTokenizer.java:231) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:173) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.impl.JreJsonFactory.parse(JreJsonFactory.java:64) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at elemental.json.Json.parse(Json.java:53) ~[gwt-elemental-2.8.2.vaadin2.jar:2.8.2.vaadin2]
	at com.vaadin.flow.component.polymertemplate.BundleParser.parseJsonStatistics(BundleParser.java:127) ~[flow-polymer-template-6.0.3.jar:6.0.3]
	at com.vaadin.flow.component.polymertemplate.NpmTemplateParser.resetCache(NpmTemplateParser.java:274) ~[flow-polymer-template-6.0.3.jar:6.0.3]
	at com.vaadin.flow.component.polymertemplate.NpmTemplateParser.getSourcesFromStats(NpmTemplateParser.java:223) ~[flow-polymer-template-6.0.3.jar:6.0.3]
	at com.vaadin.flow.component.polymertemplate.NpmTemplateParser.getTemplateContent(NpmTemplateParser.java:120) ~[flow-polymer-template-6.0.3.jar:6.0.3]
	at com.vaadin.flow.component.polymertemplate.TemplateDataAnalyzer.parseTemplate(TemplateDataAnalyzer.java:215) ~[flow-polymer-template-6.0.3.jar:6.0.3]
	at com.vaadin.flow.component.polymertemplate.TemplateInitializer.lambda$null$23ee5b4f$1(TemplateInitializer.java:93) ~[flow-polymer-template-6.0.3.jar:6.0.3]
	at com.vaadin.flow.internal.ReflectionCache.lambda$wrapValueProvider$d0062d93$1(ReflectionCache.java:91) ~[flow-server-6.0.3.jar:6.0.3]
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705) ~[?:?]
	at com.vaadin.flow.internal.ReflectionCache.get(ReflectionCache.java:108) ~[flow-server-6.0.3.jar:6.0.3]
	at com.vaadin.flow.component.polymertemplate.TemplateInitializer.<init>(TemplateInitializer.java:94) ~[flow-polymer-template-6.0.3.jar:6.0.3]
	at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:94) ~[flow-polymer-template-6.0.3.jar:6.0.3]
	at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:109) ~[flow-polymer-template-6.0.3.jar:6.0.3]
	at com.github.appreciated.card.AbstractCard.<init>(AbstractCard.java:22) ~[card-2.0.0.jar:2.0.0]
	at com.github.appreciated.card.Card.<init>(Card.java:19) ~[card-2.0.0.jar:2.0.0]

If you need any other information, let me know and I will try to assist as good as I can to help fixing the bug.

Hi @mvdberge This addon should currently only be used with Vaadin 14. Compatibility with newer versions is not supported and unlikely to work at all.

Well, we tried out many vaadin versions in the past and always used the Card plugin. The most recent version which works with Card is 18.0.7. But then, updating to vaadin 19 something broke...

@appreciated Do you think that it might be a general bug in vaadin 19? Or is it a breaking change in the vaadin API that this plugin needs to adapt to? If it would be a general vaadin bug, I would like to create a bug report against vaadin to help fixing this issue.

Hi, we're running the newest Vaadin 14 and are encountering the same exception in Production Mode.

elemental.json.JsonException: 
	at elemental.json.impl.JsonTokenizer.nextString(JsonTokenizer.java:112)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:171)
	at elemental.json.impl.JsonTokenizer.parseObject(JsonTokenizer.java:231)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:173)
	at elemental.json.impl.JsonTokenizer.parseArray(JsonTokenizer.java:192)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:175)
	at elemental.json.impl.JsonTokenizer.parseObject(JsonTokenizer.java:231)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:173)
	at elemental.json.impl.JsonTokenizer.parseArray(JsonTokenizer.java:192)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:175)
	at elemental.json.impl.JsonTokenizer.parseObject(JsonTokenizer.java:231)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:173)
	at elemental.json.impl.JreJsonFactory.parse(JreJsonFactory.java:64)
	at elemental.json.Json.parse(Json.java:53)
	at com.vaadin.flow.component.polymertemplate.BundleParser.parseJsonStatistics(BundleParser.java:121)
	at com.vaadin.flow.component.polymertemplate.NpmTemplateParser.resetCache(NpmTemplateParser.java:249)
	at com.vaadin.flow.component.polymertemplate.NpmTemplateParser.getSourcesFromStats(NpmTemplateParser.java:198)
	at com.vaadin.flow.component.polymertemplate.NpmTemplateParser.getTemplateContent(NpmTemplateParser.java:111)
	at com.vaadin.flow.component.polymertemplate.TemplateDataAnalyzer.parseTemplate(TemplateDataAnalyzer.java:221)
	at com.vaadin.flow.component.polymertemplate.TemplateInitializer.lambda$null$23ee5b4f$1(TemplateInitializer.java:89)
	at com.vaadin.flow.internal.ReflectionCache.lambda$wrapValueProvider$d0062d93$1(ReflectionCache.java:91)
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
	at com.vaadin.flow.internal.ReflectionCache.get(ReflectionCache.java:108)
	at com.vaadin.flow.component.polymertemplate.TemplateInitializer.<init>(TemplateInitializer.java:90)
	at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:91)
	at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:106)

Desktop (please complete the following information):
OS: Windows
Browser: Chrome
Version: latest
Vaadin platform version: 14.5.1
Java: 11

Hi, we're running the newest Vaadin 14 and are encountering the same exception in Production Mode.

elemental.json.JsonException: 
	at elemental.json.impl.JsonTokenizer.nextString(JsonTokenizer.java:112)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:171)
	at elemental.json.impl.JsonTokenizer.parseObject(JsonTokenizer.java:231)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:173)
	at elemental.json.impl.JsonTokenizer.parseArray(JsonTokenizer.java:192)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:175)
	at elemental.json.impl.JsonTokenizer.parseObject(JsonTokenizer.java:231)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:173)
	at elemental.json.impl.JsonTokenizer.parseArray(JsonTokenizer.java:192)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:175)
	at elemental.json.impl.JsonTokenizer.parseObject(JsonTokenizer.java:231)
	at elemental.json.impl.JsonTokenizer.nextValue(JsonTokenizer.java:173)
	at elemental.json.impl.JreJsonFactory.parse(JreJsonFactory.java:64)
	at elemental.json.Json.parse(Json.java:53)
	at com.vaadin.flow.component.polymertemplate.BundleParser.parseJsonStatistics(BundleParser.java:121)
	at com.vaadin.flow.component.polymertemplate.NpmTemplateParser.resetCache(NpmTemplateParser.java:249)
	at com.vaadin.flow.component.polymertemplate.NpmTemplateParser.getSourcesFromStats(NpmTemplateParser.java:198)
	at com.vaadin.flow.component.polymertemplate.NpmTemplateParser.getTemplateContent(NpmTemplateParser.java:111)
	at com.vaadin.flow.component.polymertemplate.TemplateDataAnalyzer.parseTemplate(TemplateDataAnalyzer.java:221)
	at com.vaadin.flow.component.polymertemplate.TemplateInitializer.lambda$null$23ee5b4f$1(TemplateInitializer.java:89)
	at com.vaadin.flow.internal.ReflectionCache.lambda$wrapValueProvider$d0062d93$1(ReflectionCache.java:91)
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
	at com.vaadin.flow.internal.ReflectionCache.get(ReflectionCache.java:108)
	at com.vaadin.flow.component.polymertemplate.TemplateInitializer.<init>(TemplateInitializer.java:90)
	at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:91)
	at com.vaadin.flow.component.polymertemplate.PolymerTemplate.<init>(PolymerTemplate.java:106)

Desktop (please complete the following information):
OS: Windows
Browser: Chrome
Version: latest
Vaadin platform version: 14.5.1
Java: 11

Same here vaadin 14.5.3 ? Has somebody figured out what is the problem?

@mvdberge, @SpicyBoyd and @kolle1986 are you using Vaadin with Springboot or Vaadin with Jetty?
I have tried to reproduce the issue using Vaadin 14.5.4, Jetty and:

<dependency>
    <groupId>com.github.appreciated</groupId>
    <artifactId>card</artifactId>
    <version>2.0.0</version>
</dependency>

but was unable to get any error.

@mvdberge, @SpicyBoyd and @kolle1986 are you using Vaadin with Springboot or Vaadin with Jetty?
I have tried to reproduce the issue using Vaadin 14.5.4 and:

<dependency>
    <groupId>com.github.appreciated</groupId>
    <artifactId>card</artifactId>
    <version>2.0.0</version>
</dependency>

but was unable to get any error.

Vaadin with Tomcat, not Springboot

We are using Vaadin with an embedded Jetty.

I am unable to reproduce this issue. Can you helpout with a little example project?

vaadin/flow#10893

fixed version

I just tried out Vaadin 19.0.7 and it seems to work now. Therefore I'll close this issue. Sorry for opening this issue against the Card plugin, obviously it was a bug in Vaadin Flow.
And thanks for your good work and taking care @appreciated ... we appreciate your work ;-)

Just to let you know, I'm still experiencing this bug in 19.0.7 in production mode, but in development mode the bug has been fixed. I think I was too quick with only testing the development mode.

Still, as it seems to be a bug in flow and not in the Card, I will continue the discussion in vaadin/flow#10893 and leave this issue closed.
In fact I'm not sure if it might has been fixed in general but just not been ported to vaadin 19.x yet... Trying to figure this out now