Coder Social home page Coder Social logo

Comments (31)

aldenml avatar aldenml commented on August 18, 2024

Can you update to 1.1.0.4? Let us know.

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

I get this now:

********** Crash dump: **********
Build fingerprint: 'G-Box/k200/k200:4.4.2/KOT49H/20150810:userdebug/dev-keys'
pid: 1710, tid: 1710, name: t.matricom.test  >>> net.matricom.test <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 1bf5addd
Stack frame     #00  pc 0037a896  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (void libtorrent::aux::sync_call_handle<boost::shared_ptr<libtorrent::torrent> >(boost::shared_ptr<libtorrent::torrent>&, boost::function<void ()>)+25)
Stack frame     #01  pc 0036afc3  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (libtorrent::torrent_handle::status(unsigned int) const+618)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 0007298b  /system/lib/libdvm.so
Stack frame     #04  pc 0005496d  /system/lib/libdvm.so
Stack frame     #05  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #06  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 00023388  /system/lib/libc.so (__rt_sigtimedwait+12)
Stack frame     #01  pc 00015569  /system/lib/libc.so (sigwait+24)
Stack frame     #02  pc 00051f53  /system/lib/libdvm.so
Stack frame     #03  pc 0005496d  /system/lib/libdvm.so
Stack frame     #04  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #05  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 000228ec  /system/lib/libc.so (select+16)
Stack frame     #01  pc 0006148f  /system/lib/libdvm.so
Stack frame     #02  pc 00063fe1  /system/lib/libdvm.so
Stack frame     #03  pc 0005496d  /system/lib/libdvm.so
Stack frame     #04  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #05  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 00073f0f  /system/lib/libdvm.so
Stack frame     #04  pc 0005496d  /system/lib/libdvm.so
Stack frame     #05  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #06  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 00052d73  /system/lib/libdvm.so
Stack frame     #04  pc 0006785d  /system/lib/libdvm.so
Stack frame     #05  pc 00026fe0  /system/lib/libdvm.so
Stack frame     #06  pc 0002dfa0  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
Stack frame     #07  pc 0002b638  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
Stack frame     #08  pc 00060581  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
Stack frame     #09  pc 000605a5  /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
Stack frame     #10  pc 0005528b  /system/lib/libdvm.so
Stack frame     #11  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #12  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 00052d73  /system/lib/libdvm.so
Stack frame     #04  pc 0006785d  /system/lib/libdvm.so
Stack frame     #05  pc 00026fe0  /system/lib/libdvm.so
Stack frame     #06  pc 0002dfa0  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
Stack frame     #07  pc 0002b638  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
Stack frame     #08  pc 00060581  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
Stack frame     #09  pc 000605a5  /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
Stack frame     #10  pc 0005528b  /system/lib/libdvm.so
Stack frame     #11  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #12  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 00052d7b  /system/lib/libdvm.so
Stack frame     #04  pc 00052e3f  /system/lib/libdvm.so (dvmThreadSleep(unsigned long long, unsigned int)+62)
Stack frame     #05  pc 00026fe0  /system/lib/libdvm.so
Stack frame     #06  pc 0002dfa0  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
Stack frame     #07  pc 0002b638  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
Stack frame     #08  pc 00060581  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
Stack frame     #09  pc 000605a5  /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
Stack frame     #10  pc 0005528b  /system/lib/libdvm.so
Stack frame     #11  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #12  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 000227a0  /system/lib/libc.so (__ioctl+8)
Stack frame     #01  pc 0002e807  /system/lib/libc.so (ioctl+14)
Stack frame     #02  pc 0001d3ed  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
Stack frame     #03  pc 0001daf7  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
Stack frame     #04  pc 0001db8d  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
Stack frame     #05  pc 000219a5  /system/lib/libbinder.so
Stack frame     #06  pc 0000ea5d  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
Stack frame     #07  pc 0004d5b9  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+68)
Stack frame     #08  pc 0000e58f  /system/lib/libutils.so
Stack frame     #09  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #10  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 000227a0  /system/lib/libc.so (__ioctl+8)
Stack frame     #01  pc 0002e807  /system/lib/libc.so (ioctl+14)
Stack frame     #02  pc 0001d3ed  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
Stack frame     #03  pc 0001daf7  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
Stack frame     #04  pc 0001db8d  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
Stack frame     #05  pc 000219a5  /system/lib/libbinder.so
Stack frame     #06  pc 0000ea5d  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
Stack frame     #07  pc 0004d5b9  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+68)
Stack frame     #08  pc 0000e58f  /system/lib/libutils.so
Stack frame     #09  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #10  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 000235d4  /system/lib/libc.so (sendmsg+12)
Stack frame     #01  pc 00397d03  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (boost::asio::detail::socket_ops::sync_sendto(int, unsigned char, iovec const*, unsigned int, int, sockaddr const*, unsigned int, boost::system::error_code&)+74)
Stack frame     #02  pc 003950ab  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (libtorrent::udp_socket::send(boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const&, char const*, int, boost::system::error_code&, int)+566)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 003b197d  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (libtorrent::disk_io_thread::thread_fun(int, libtorrent::disk_io_thread::thread_type_t, boost::shared_ptr<boost::asio::io_service::work>)+208)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 003b197d  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (libtorrent::disk_io_thread::thread_fun(int, libtorrent::disk_io_thread::thread_type_t, boost::shared_ptr<boost::asio::io_service::work>)+208)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 003b197d  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (libtorrent::disk_io_thread::thread_fun(int, libtorrent::disk_io_thread::thread_type_t, boost::shared_ptr<boost::asio::io_service::work>)+208)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 003b1a19  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (libtorrent::disk_io_thread::thread_fun(int, libtorrent::disk_io_thread::thread_type_t, boost::shared_ptr<boost::asio::io_service::work>)+364)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 003bcaef  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (libtorrent::condition_variable::wait_for(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::chrono::duration<long long, boost::ratio<1ll, 1000000000ll> >)+138)
Stack frame     #04  pc 003f7483  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (libtorrent::alert_manager::wait_for_alert(boost::chrono::duration<long long, boost::ratio<1ll, 1000000000ll> >)+66)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 00261917  /data/app-lib/net.matricom.test-1/libjlibtorrent.so (boost::asio::detail::task_io_service::run(boost::system::error_code&)+562)
Stack frame     #00  pc 000227a0  /system/lib/libc.so (__ioctl+8)
Stack frame     #01  pc 0002e807  /system/lib/libc.so (ioctl+14)
Stack frame     #02  pc 00069f14  /system/lib/egl/libGLES_mali.so
Stack frame     #03  pc 0006a3d0  /system/lib/egl/libGLES_mali.so
Stack frame     #04  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #05  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 00025894  /system/lib/libc.so
Stack frame     #03  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #04  pc 0000d398  /system/lib/libc.so (pthread_create+240)
Stack frame     #00  pc 00023bc4  /system/lib/libc.so (__futex_syscall3+8)
Stack frame     #01  pc 0000f564  /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
Stack frame     #02  pc 0000f5c4  /system/lib/libc.so (__pthread_cond_timedwait+64)
Stack frame     #03  pc 000698b4  /system/lib/egl/libGLES_mali.so
Stack frame     #04  pc 00064c28  /system/lib/egl/libGLES_mali.so
Stack frame     #05  pc 0000d200  /system/lib/libc.so (__thread_entry+72)
Stack frame     #06  pc 0000d398  /system/lib/libc.so (pthread_create+240)

Addr2Line:

0037a896  
_ZN10libtorrent12torrent_info32resolve_duplicate_filenames_slowEv
??:?

0036afc3
_ZNK10libtorrent14torrent_handle15set_upload_modeEb
??:?

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

Here is an example that source that crashes. Normally I run the session in a service.

@Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.main);

        mContext = this;

        linearLayout = (LinearLayout) findViewById(R.id.content);
        textViews = new ArrayList<>();
        progressBars = new ArrayList<>();
        progressTexts = new ArrayList<>();
        statusTexts = new ArrayList<>();
        downloadTexts = new ArrayList<>();
        torrents = new HashMap<>();

        mSession = new Session();

        mSession.addListener(new AlertListener() {
            @Override
            public int[] types() {
                return new int[] {AlertType.ADD_TORRENT.getSwig(), AlertType.DHT_ANNOUNCE.getSwig
                        (), AlertType.PIECE_FINISHED.getSwig(), AlertType.STATE_CHANGED.getSwig()
                        , AlertType.STATE_UPDATE.getSwig(), AlertType.BLOCK_DOWNLOADING.getSwig(),
                        AlertType.BLOCK_FINISHED.getSwig()};
            }

            @Override
            public void alert(Alert<?> alert) {
                //Log.d(TAG, "Alert: " + alert.getMessage());

                TorrentAlert<?> ta = (TorrentAlert<?>) alert;
                final TorrentHandle th = ta.getHandle();

                final int p;
                final int index;

                switch(alert.getType()){
                    case ADD_TORRENT:
//                        th.setSequentialDownload(true);
                        th.resume();
                        final TextView textView = new TextView(mContext);
                        textView.setText("Torrent: " + th.getName());

                        TextView statusText = new TextView(mContext);
                        statusText.setText("Status: " + th.getStatus().getState());

                        final TextView downloadText = new TextView(mContext);
                        downloadText.setText("Download Rate: " + th.getStatus().getDownloadRate());

                        p = (int) (th.getStatus().getProgress() * 100);
                        final TextView progressText = new TextView(mContext);
                        progressText.setText("Progress: " + p);

                        ProgressBar progressBar = new ProgressBar(mContext, null, android.R.attr
                                .progressBarStyleHorizontal);
                        progressBar.setProgress(0);

                        textViews.add(textView);
                        progressTexts.add(progressText);
                        progressBars.add(progressBar);
                        statusTexts.add(statusText);
                        downloadTexts.add(downloadText);

                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                linearLayout.addView(textViews.get(i));
                                linearLayout.addView(statusTexts.get(i));
                                linearLayout.addView(downloadTexts.get(i));
                                linearLayout.addView(progressTexts.get(i));
                                linearLayout.addView(progressBars.get(i));
                                torrents.put(th.getName(), i);
                                i++;
                            }
                        });
                        break;
                    case PIECE_FINISHED:
                        index = torrents.get(th.getName());
                        p = (int) (th.getStatus().getProgress() * 100);

                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                progressBars.get(index).setProgress(p);
                                progressTexts.get(index).setText("Progress: " + p);
                            }
                        });
                        break;
                    case STATE_CHANGED:
                    case STATE_UPDATE:
                        index = torrents.get(th.getName());

                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                statusTexts.get(index).setText("Status: " + th.getStatus().getState());
                            }
                        });
                        break;
                    case BLOCK_DOWNLOADING:
                    case BLOCK_FINISHED:
                        index = torrents.get(th.getName());
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                downloadTexts.get(index).setText("Download Rate: " + th.getStatus
                                        ().getDownloadRate());
                            }
                        });
                }
            }
        });
    }

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

Thank you for sending this.
We're finishing a release and will jump on this very soon.

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

for now, as a tip, I see you have some UI code when handling your alert.
Might want to execute that code outside the alert handler so you don't hold the jlibtorrent alert loop thread hostage.

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

See Session::fireAlert, the call is blocking, it will wait for your handler, so you want to make that handler as fast as possible. Then defer any other processing to some other thread.

https://github.com/frostwire/frostwire-jlibtorrent/blob/master/src/main/java/com/frostwire/jlibtorrent/Session.java#L907

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

(was reading Activity::runOnUIThread and maybe it's ok what you have there, but always keep in mind the tip of making your alert handlers not take too much time.)

public final void runOnUiThread (Runnable action)

Added in API level 1
Runs the specified action on the UI thread. If the current thread is the UI thread, then the action is executed immediately. If the current thread is not the UI thread, the action is posted to the event queue of the UI thread.

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

you do have some UI code on the ADD_TORRENT case though that directly tries to affect the UI, might want to put that one also inside your UI runnable.

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

Bitcoin tips are welcome for jlibtorrent/android consulting ;)
https://www.changetip.com/tipme/gubatron

just kidding... half kidding ;)

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

@gubatron Thanks for the point in the right direction. I've modified the code since I've posted that and I was able to boil it down to this:

private AlertListener alertListener = new AlertListener() {
        @Override
        public int[] types() {
            return new int[] {AlertType.ADD_TORRENT.getSwig(), AlertType.PIECE_FINISHED.getSwig()
                    , AlertType.READ_PIECE.getSwig(), AlertType.STATE_CHANGED.getSwig()};
        }

        @Override
        public void alert(Alert<?> alert) {
            TorrentAlert<?> ta = (TorrentAlert<?>) alert;
            final TorrentHandle th = ta.getHandle();

            final int p;
            final int index;

            switch(alert.getType()) {
                case ADD_TORRENT:
                    Log.e(TAG, "Main Activity");
                    break;
                case STATE_CHANGED:
                case PIECE_FINISHED:
                case READ_PIECE:
                    p = (int) (th.getStatus().getProgress() * 100);
                    System.out.println("Progress: " + p);

                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            torrentProgresses.get(0).setProgress(p);
                        }
                    });

                    Log.e(TAG, "Message: " + alert.getMessage());
                    break;
            }
        }
    };

Even if I remove the runOnUiThread, I'll still get the Fatal signal 11 error. It seems the only fix is to remove the reference to int p.

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

I believe @aldenml might have something to say about final TorrentHandle th = ta.getHandle();
and I think we probably have to fix that method.

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

Try something like this for now to get the TorrentHandle (while we discuss a fix)

TorrentHandle th = mTorrentSession.findTorrent(((TorrentAddedAlert) alert).getHandle().getInfoHash());

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

Gives me the same error :(

https://gist.github.com/bohregard/4dd826cef137b9b45b0f

Here is the source that I'm using: https://github.com/bohregard/jlibtorrentTest

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

It might be on my end completely. With that source I added, if the application crashes or closes for any reason, if you try add the same torrent back it will produce the error. So it works great for the first time.

@gubatron

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

i don't think it's just you, we started getting crash reports with this today from our android users, this will certainly help us replicate and fix the issue.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Hi @bohregard, I don't see the listener with the view stuff inside your repo jlibtorrentTest. Where do I look?

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Ignore the previous comment.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

@bohregard I can't replicate it. The app runs smooth (I killed, debugged, etc) and it's fine. I notice you are using the Preview Channel. I'm running the app in a Moto G.

device-2015-08-13-200645

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

@aldenml I pushed my code to another device and it works great. Seems to only be an issue with this certain device (Specifically Amlogic S802 devices running Kitkat 4.4). My Nexus 6 and Samsung tablet seem to function just fine. Any suggestions?

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

No idea, this Amlogic device seems like a powerful device, but who knows how the kernel and OS is compiled. A lot of errors seems to me like a bug in the way the final field mutex is implemented in the VM.

Is this device you are testing something I can get to play with?

In any case, I recommend you upgrade to jlibtorrent-1.1.0.5, it contains a set of important bug fixes inside libtorrent.

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

I have an amlogic s802 device that I can send you for testing if you would like. For what it's worth, an older version (pre gradle) worked on the s802 box. Send me a pm for where you want me to send one and I'll get a device to you.

I bumped it up to 1.1.0.5 and it still has the same issue.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Good to know that it worked before (pre gradle). Let me think more about it and if needed, I will pm you. Can you post two more logs? (to see if I get more info).

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

Logcat:

08-15 03:09:43.576    9278-9278/? D/dalvikvm﹕ Late-enabling CheckJNI
08-15 03:09:43.706    9278-9278/? D/dalvikvm﹕ GC_FOR_ALLOC freed 263K, 28% free 771K/1060K, paused 17ms, total 17ms
08-15 03:09:43.766    9278-9278/? D/dalvikvm﹕ GC_FOR_ALLOC freed 276K, 24% free 1007K/1312K, paused 4ms, total 4ms
08-15 03:09:44.046    9278-9278/com.bohregard.updater D/TextLayoutCache﹕ Using debug level = 0 - Debug Enabled = 0
08-15 03:09:44.086    9278-9278/com.bohregard.updater D/dalvikvm﹕ GC_FOR_ALLOC freed 88K, 8% free 1407K/1528K, paused 5ms, total 5ms
08-15 03:09:44.086    9278-9278/com.bohregard.updater D/Main﹕ onResume
08-15 03:09:44.106    9278-9278/com.bohregard.updater D/TorrentFetch﹕ onCreate
08-15 03:09:44.106    9278-9278/com.bohregard.updater D/TorrentFetch﹕ Session not started...
08-15 03:09:44.106    9278-9278/com.bohregard.updater D/dalvikvm﹕ Trying to load lib /data/app-lib/com.bohregard.updater-1/libjlibtorrent.so 0x41784ed8
08-15 03:09:44.116    9278-9278/com.bohregard.updater D/dalvikvm﹕ Added shared lib /data/app-lib/com.bohregard.updater-1/libjlibtorrent.so 0x41784ed8
08-15 03:09:44.116    9278-9278/com.bohregard.updater D/dalvikvm﹕ No JNI_OnLoad found in /data/app-lib/com.bohregard.updater-1/libjlibtorrent.so 0x41784ed8, skipping init
08-15 03:09:44.176    9278-9278/com.bohregard.updater D/TorrentFetch﹕ Adding listener...
08-15 03:09:44.176    9278-9278/com.bohregard.updater D/TorrentFetch﹕ onStartCommand
08-15 03:09:44.176    9278-9278/com.bohregard.updater D/TorrentFetch﹕ onBind
08-15 03:09:44.206    9278-9278/com.bohregard.updater D/libEGL﹕ loaded /system/lib/egl/libGLES_mali.so
08-15 03:09:44.216    9278-9278/com.bohregard.updater D/OpenGLRenderer﹕ Enabling debug mode 0
08-15 03:09:46.196    9278-9278/com.bohregard.updater D/Main﹕ DEES NUTS
08-15 03:09:46.286    9278-9290/com.bohregard.updater D/dalvikvm﹕ GC_FOR_ALLOC freed 247K, 15% free 1668K/1944K, paused 35ms, total 36ms
08-15 03:09:46.306    9278-9278/com.bohregard.updater D/TorrentFetch﹕ onUnbind
08-15 03:09:46.326    9278-9278/com.bohregard.updater D/IM HOME﹕ Home Intent OnCreate Received
08-15 03:09:46.326    9278-9278/com.bohregard.updater D/IM HOME﹕ false
08-15 03:09:53.046    9278-9278/com.bohregard.updater D/Main﹕ Intent: Intent { dat=file:///storage/emulated/0/[kat.cr]aloha.2015.720p.brrip.x264.yify.torrent }
08-15 03:09:53.046    9278-9278/com.bohregard.updater D/Main﹕ Intent Data: file:///storage/emulated/0/%5Bkat.cr%5Daloha.2015.720p.brrip.x264.yify.torrent
08-15 03:09:53.046    9278-9278/com.bohregard.updater D/Main﹕ onResume
08-15 03:09:53.056    9278-9278/com.bohregard.updater D/Main﹕ Torrent: Aloha (2015)
08-15 03:09:53.086    9278-9278/com.bohregard.updater D/dalvikvm﹕ GC_FOR_ALLOC freed 42K, 11% free 1967K/2208K, paused 8ms, total 8ms
08-15 03:09:53.096    9278-9278/com.bohregard.updater D/dalvikvm﹕ GC_FOR_ALLOC freed 5K, 11% free 2220K/2472K, paused 9ms, total 9ms
08-15 03:09:53.106    9278-9278/com.bohregard.updater A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x3b74005e (code=1), thread 9278 (hregard.updater)
08-15 03:09:53.156    9278-9300/com.bohregard.updater I/System.out﹕ Progress: 0
08-15 03:09:53.156    9278-9300/com.bohregard.updater E/Main﹕ Message: Aloha (2015): state changed to: downloading

Tombstone:

https://gist.github.com/bohregard/2aeb06014d5466e5e323

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

Logcat:

08-15 03:13:59.966  11420-11420/? D/dalvikvm﹕ Late-enabling CheckJNI
08-15 03:14:00.096  11420-11420/? D/dalvikvm﹕ GC_FOR_ALLOC freed 260K, 27% free 774K/1060K, paused 5ms, total 5ms
08-15 03:14:00.136  11420-11420/? D/dalvikvm﹕ GC_FOR_ALLOC freed 275K, 24% free 1007K/1312K, paused 4ms, total 4ms
08-15 03:14:00.416  11420-11420/com.bohregard.updater D/TextLayoutCache﹕ Using debug level = 0 - Debug Enabled = 0
08-15 03:14:00.456  11420-11420/com.bohregard.updater D/Main﹕ onResume
08-15 03:14:00.466  11420-11420/com.bohregard.updater D/dalvikvm﹕ GC_FOR_ALLOC freed 109K, 9% free 1409K/1548K, paused 5ms, total 5ms
08-15 03:14:00.486  11420-11420/com.bohregard.updater D/TorrentFetch﹕ onCreate
08-15 03:14:00.486  11420-11420/com.bohregard.updater D/TorrentFetch﹕ Session not started...
08-15 03:14:00.486  11420-11420/com.bohregard.updater D/dalvikvm﹕ Trying to load lib /data/app-lib/com.bohregard.updater-2/libjlibtorrent.so 0x417835e0
08-15 03:14:00.496  11420-11420/com.bohregard.updater D/dalvikvm﹕ Added shared lib /data/app-lib/com.bohregard.updater-2/libjlibtorrent.so 0x417835e0
08-15 03:14:00.496  11420-11420/com.bohregard.updater D/dalvikvm﹕ No JNI_OnLoad found in /data/app-lib/com.bohregard.updater-2/libjlibtorrent.so 0x417835e0, skipping init
08-15 03:14:00.566  11420-11420/com.bohregard.updater D/TorrentFetch﹕ Adding listener...
08-15 03:14:00.566  11420-11420/com.bohregard.updater D/TorrentFetch﹕ onStartCommand
08-15 03:14:00.566  11420-11420/com.bohregard.updater D/TorrentFetch﹕ onBind
08-15 03:14:00.606  11420-11420/com.bohregard.updater D/libEGL﹕ loaded /system/lib/egl/libGLES_mali.so
08-15 03:14:00.616  11420-11420/com.bohregard.updater D/OpenGLRenderer﹕ Enabling debug mode 0
08-15 03:14:23.496  11420-11420/com.bohregard.updater D/Main﹕ DEES NUTS
08-15 03:14:23.596  11420-11420/com.bohregard.updater D/TorrentFetch﹕ onUnbind
08-15 03:14:23.626  11420-11420/com.bohregard.updater D/dalvikvm﹕ GC_FOR_ALLOC freed 236K, 14% free 1683K/1948K, paused 7ms, total 12ms
08-15 03:14:23.626  11420-11420/com.bohregard.updater D/IM HOME﹕ Home Intent OnCreate Received
08-15 03:14:23.626  11420-11420/com.bohregard.updater D/IM HOME﹕ false
08-15 03:14:28.066  11420-11420/com.bohregard.updater D/Main﹕ Intent: Intent { dat=file:///storage/emulated/0/[kat.cr]aloha.2015.720p.brrip.x264.yify.torrent }
08-15 03:14:28.066  11420-11420/com.bohregard.updater D/Main﹕ Intent Data: file:///storage/emulated/0/%5Bkat.cr%5Daloha.2015.720p.brrip.x264.yify.torrent
08-15 03:14:28.096  11420-11420/com.bohregard.updater D/Main﹕ onResume
08-15 03:14:28.126  11420-11420/com.bohregard.updater D/Main﹕ Torrent: Aloha (2015)
08-15 03:14:28.176  11420-11420/com.bohregard.updater D/dalvikvm﹕ GC_FOR_ALLOC freed 41K, 12% free 1967K/2216K, paused 12ms, total 16ms
08-15 03:14:28.196  11420-11420/com.bohregard.updater D/dalvikvm﹕ GC_FOR_ALLOC freed 5K, 11% free 2219K/2480K, paused 9ms, total 9ms
08-15 03:14:28.206  11420-11420/com.bohregard.updater A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x01020008 (code=1), thread 11420 (hregard.updater)

Tombstone:

https://gist.github.com/bohregard/46e851570dd13f357cd3

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Just to let you know that and reading (and understanding) this info: https://code.google.com/p/libtorrent/issues/detail?id=627 that maybe is related.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

@bohregard How I can send you an android binary? I'm compiling the arm one with the BOOST_SP_USE_PTHREADS flag.

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

Feel free to send me an email at [email protected] :) @aldenml

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Note: remove the dependency to jlibtorrent-android from gradle to make sure it's picking the one I sent you.

from frostwire-jlibtorrent.

bohregard avatar bohregard commented on August 18, 2024

Same story :( https://gist.github.com/bohregard/aa71bbfd16343b280d7b

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

I PM'ed you.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Closing due to no follow up.

from frostwire-jlibtorrent.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.