Dmengine doesn't work on samsung phones

A few months ago, I noticed that dmengine stopped working on my Galaxy Note 3. Well then, anything can happen.
But now when we are developing a game on Defold, we faced with the fact that dmengine doesn’t work on samsung phones we have - S10, Note10, A70 (and Note 3). These are new models (except Note 3). On our other phones (ZTE, Blackview) it works.

We run the editor on Windows 10. The behavior is always the same - a very loooong download, and then an error java.io.IOException:

Who is to blame? What should we do?

1 Like

That sounds very unfortunate.
Do you have any logs? (the exception in itself isn’t very revealing)
Some tips to provide more info: https://defold.com/manuals/getting-help/?q=get%20help

What is your steps to reproduce?
Do you have any native extensions?

This applies to any project, including official tutorials from the site.

  2020-02-17 18:26:18.423 383206 [HTTP-Dispatcher] ERROR editor.error-reporting - {:line 98}
java.io.IOException: insufficient bytes written to stream
	at jdk.httpserver/sun.net.httpserver.FixedLengthOutputStream.close(FixedLengthOutputStream.java:89)
	at jdk.httpserver/sun.net.httpserver.PlaceholderOutputStream.close(ExchangeImpl.java:455)
	at util.http_server$response__GT_exchange_BANG_$fn__36870.invoke(http_server.clj:38)
	at util.http_server$response__GT_exchange_BANG_.invokeStatic(http_server.clj:38)
	at util.http_server$setup_server_BANG_$reify__36888.handle(http_server.clj:49)
	at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
	at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
	at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80)
	at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:692)
	at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
	at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:664)
	at jdk.httpserver/sun.net.httpserver.ServerImpl$DefaultExecutor.execute(ServerImpl.java:159)
	at jdk.httpserver/sun.net.httpserver.ServerImpl$Dispatcher.handle(ServerImpl.java:442)
	at jdk.httpserver/sun.net.httpserver.ServerImpl$Dispatcher.run(ServerImpl.java:408)
	at java.base/java.lang.Thread.run(Thread.java:834)
1 Like

I’m guessing here. You …:

  • …bundle to Android
  • …install it on the phone
  • …launch the app on the phone
  • …set the phone as target from the editor
  • … press “Build and Run”, to launch the new built data on the phone

Is this correct?

Yes!

And, since you mention Samsung fails, I assume the other brands work?

Yes. But we have only few other brands. Mostly samsung.

Sure, but the ones you have work.

To be frank, I don’t think we’ve changed anything that could cause this type of behavior, as far as I know.
I know we have some speed issue when uploading, but I haven’t heard of it totally failing.
I wonder if the logcat says anything?

For the Galaxy Note 3, perhaps it was that we upgraded our lowest supported api level to 16 (Android 4.1)?

I will try to take the data from the logcat later.
Yes, my Galaxy Note 3 has Android 5.0 - i worked with Defold on this phone all summer and autumn (2019).

1 Like

I’m guessing that the project has changed since then? More files = more data to transfer. What’s the size of the project if bundled? Can you build and generate a size report?

It doesn’t depends on the project. As an option for verification, I use the monarch example.
But even so, the size of my project is only 6 MB.

How many different machines have you tried? Have you tried on more than one network? Have you tried on macOS or Linux? Do you have antivirus software or similar that might prevent or slow down the connection?

  1. 4 Win 10 desktops and notebooks in our office
  2. 2 Win 7 desktops at our homes
  3. No antiviruses or something similar

Ok, and it’s only the Samsung phones that doesn’t work? Are you connecting to them over USB or wifi?

Yes, only samsung. Other phones works.
In all cases we used a Wi-Fi connection.

Could it be some new setting/functionality on the Samsung phones that produces this issue?

Note 10 / S10 / A70 has systems out of the box.
On my Note 3, the software has not been updated for many years, and I definitely havn’t changed the settings since the autumn when it was still working.

1 Like

This is indeed strange.
It would be great to try to pinpoint a certain release.
I wonder if it could be related to the new SSL library we added in 1.2.162.

Here is the editor for 1.2.161 (I grabbed the sha1 from d.defold.com)

WIn32
OSX
Linux

Perhaps you can try it with the monarch example?

And what if you connect to the phone using usb to eliminate any questions of potential network issues?

1 Like