Comment by ~johanvandegriff on ~anteater/mms-stack-bugs
Mobile data started working on my pinephone (mobian), so I decided to give MMS another try but I am still getting the same error when sending a group text or attaching a file:
MMS notification parse error: MissingSender
Comment by ~johanvandegriff on ~anteater/mms-stack-bugs
thanks, I was able to build using that and it solved #27. I'm still not able to send group messages or messages with attachments.
output for sending a group message
inserting send 000000000000000000000000000000000000000e: MessageInfo { sender: Number { num: <private> }, chat: [Number { num: <private> }, Number { num: <private> }, Number { num: <private> }], time: 1601518078, contents: [Text("test group message")], status: Sending } MMS notification parse error: MissingSender
output for sending to 1 person with an attachment:
inserting send 000000000000000000000000000000000000000b: MessageInfo { sender: Number { num: <private> }, chat: [Number { num: <private> }, Number { num: <private> }], time: 1601516958, contents: [Text("test attaching file"), Attachment(1)], status: Sending } MMS notification parse error: MissingSender
Comment by ~johanvandegriff on ~anteater/mms-stack-bugs
updating to the latest commit fixed it for me, thanks. Note for anyone else building it: to get it to build I had to do
cargo update -p rustdoc-stripper --precise 0.1.14
as described in #23, which is a temporary workaround that will be fixed later. I am able to attach files, but sending them fails since MMS still doesnt work for me (#23). However this issue is solved :)
Comment by ~johanvandegriff on ~anteater/mms-stack-bugs
I cloned the repo again and ran
cargo update
but now the build gets stuck on cairo-rs every time:... Fresh gobject-sys v0.10.0 Fresh vgtk-macros v0.3.0 Fresh cairo-sys-rs v0.10.0 Compiling cairo-rs v0.9.1 Fresh gio-sys v0.10.1 Fresh glib v0.10.2 Running `/home/mobian/mms/vgmms/target/release/build/cairo-rs-e27e8589007eee06/build-script-build` Fresh pango-sys v0.10.0 Fresh atk-sys v0.10.0 Fresh gdk-pixbuf-sys v0.10.0 Fresh gio v0.9.1 Fresh pango v0.9.1 Fresh atk v0.9.0 Fresh gdk-sys v0.10.0 Fresh gdk-pixbuf v0.9.0 Fresh gtk-sys v0.10.0 Building [====================================================> ] 252/258: cairo-rs(build)
Comment by ~johanvandegriff on ~anteater/mms-stack-bugs
EDIT: I hadn't removed the Cargo.lock file so I just did that and am rebuilding now.
I got an error when building the latest vgmms commit:
Compiling gtk v0.9.1 Compiling gtk v0.9.2 (https://github.com/nt8r/gtk?branch=0.9#b2e42554) Compiling vgtk v0.3.0 (https://github.com/nt8r/vgtk/#0251e792) Compiling vgmms v0.1.0 (/home/mobian/mms/vgmms) error[E0659]: `gtk` is ambiguous (name vs any other name during import resolution) --> src/window.rs:345:22 | 345 | } } else { use gtk::prelude::NotebookExtManual; gtk!{ | ^^^ ambiguous name | = note: `gtk` could refer to a crate passed with `--extern` = help: use `::gtk` to refer to this crate unambiguously note: `gtk` could also refer to the crate imported here --> src/window.rs:2:22 | 2 | use vgtk::lib::gtk::{self, *, Box as GtkBox}; | ^^^^ = help: use `self::gtk` to refer to this crate unambiguously = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) error[E0599]: no method named `popup_at_pointer` found for struct `gtk::auto::menu::Menu` in the current scope --> src/chat_log.rs:60:12 | 60 | cb_menu.popup_at_pointer(Some(&ev)); | ^^^^^^^^^^^^^^^^ method not found in `gtk::auto::menu::Menu` error[E0599]: no method named `popup_at_rect` found for struct `gtk::auto::menu::Menu` in the current scope --> src/chat_log.rs:76:9 | 76 | menu.popup_at_rect(&w.get_window().unwrap(), &rect, | ^^^^^^^^^^^^^ method not found in `gtk::auto::menu::Menu` error: aborting due to 3 previous errors Some errors have detailed explanations: E0599, E0659. For more information about an error, try `rustc --explain E0599`. error: could not compile `vgmms`. To learn more, run the command again with --verbose.
with --verbose:
Fresh unicode-xid v0.2.1 Fresh pkg-config v0.3.18 Fresh unicode-segmentation v1.6.0 Fresh version-compare v0.0.10 Fresh strum v0.18.0 Fresh version_check v0.9.2 Fresh autocfg v1.0.0 Fresh rustdoc-stripper v0.1.14 Fresh cfg-if v0.1.10 Fresh either v1.6.0 Fresh lazy_static v1.4.0 Fresh proc-macro-hack v0.5.18 Fresh futures-core v0.3.5 Fresh futures-sink v0.3.5 Fresh once_cell v1.4.0 Fresh pin-utils v0.1.0 Fresh slab v0.4.2 Fresh futures-io v0.3.5 Fresh regex-syntax v0.6.18 Fresh autocfg v0.1.7 Fresh rand_core v0.4.2 Fresh byte-tools v0.3.1 Fresh siphasher v0.3.3 Fresh fixedbitset v0.2.0 Fresh gimli v0.22.0 Fresh opaque-debug v0.2.3 Fresh adler v0.2.3 Fresh precomputed-hash v0.1.1 Fresh strsim v0.9.3 Fresh fake-simd v0.1.2 Fresh bit-vec v0.6.2 Fresh new_debug_unreachable v1.0.4 Fresh lalrpop-util v0.19.0 Fresh rustc-demangle v0.1.16 Fresh diff v0.1.12 Fresh object v0.20.0 Fresh linked-hash-map v0.5.3 Fresh smallvec v1.4.2 Fresh quick-error v1.2.3 Fresh static_assertions v1.1.0 Fresh arrayvec v0.5.1 Fresh scopeguard v1.1.0 Fresh fnv v1.0.7 Fresh oncemutex v0.1.1 Fresh termcolor v1.1.0 Fresh fallible-iterator v0.2.0 Fresh fallible-streaming-iterator v0.1.9 Fresh hex v0.4.2 Fresh xdg-basedir v1.0.0 Fresh heck v0.3.1 Fresh gtk-rs-lgpl-docs v0.1.18 Fresh itertools v0.9.0 Fresh thread_local v1.0.1 Fresh itertools v0.8.2 Fresh futures-channel v0.3.5 Fresh futures-task v0.3.5 Fresh block-padding v0.1.5 Fresh rand_core v0.3.1 Fresh rand_jitter v0.1.4 Fresh phf_shared v0.8.0 Fresh addr2line v0.13.0 Fresh miniz_oxide v0.4.0 Fresh bit-set v0.5.2 Fresh lru-cache v0.1.2 Fresh humantime v1.3.0 Fresh lock_api v0.3.4 Fresh proc-macro2 v1.0.19 Fresh libc v0.2.74 Fresh memchr v2.3.3 Fresh bitflags v1.2.1 Fresh proc-macro-nested v0.1.6 Fresh byteorder v1.3.4 Fresh anyhow v1.0.32 Fresh typenum v1.12.0 Fresh log v0.4.11 Fresh rand_xorshift v0.1.1 Fresh rand_hc v0.1.0 Fresh rand_isaac v0.1.1 Fresh ryu v1.0.5 Fresh quote v1.0.7 Fresh aho-corasick v0.7.13 Fresh atty v0.2.14 Fresh dirs v1.0.5 Fresh backtrace v0.3.50 Fresh quick-xml v0.17.2 Fresh memchr v1.0.2 Fresh parking_lot_core v0.7.2 Fresh time v0.1.43 Fresh libdbus-sys v0.2.1 Fresh rand_os v0.1.3 Fresh memmap v0.7.0 Fresh libsqlite3-sys v0.18.0 Fresh hashbrown v0.8.2 Fresh num-traits v0.2.12 Fresh generic-array v0.12.3 Fresh ena v0.14.0 Fresh rand_chacha v0.1.1 Fresh rand_pcg v0.1.2 Fresh syn v1.0.38 Fresh proc-macro-error-attr v1.0.4 Fresh lexical-core v0.7.4 Fresh regex v1.3.9 Fresh term v0.5.2 Fresh colored v1.9.3 Fresh nom v3.2.1 Fresh parking_lot v0.10.2 Fresh dbus v0.8.4 Fresh rusqlite v0.23.1 Fresh indexmap v1.5.1 Fresh block-buffer v0.7.3 Fresh digest v0.8.1 Fresh num-integer v0.1.43 Fresh rand v0.6.5 Fresh serde_derive v1.0.115 Fresh thiserror-impl v1.0.20 Fresh strum_macros v0.18.0 Fresh pin-project-internal v0.4.23 Fresh futures-macro v0.3.5 Fresh proc-macro-error v1.0.4 Fresh synstructure v0.12.4 Fresh nom v5.1.2 Fresh ascii-canvas v2.0.0 Fresh env_logger v0.7.1 Fresh regex-cache v0.2.0 Fresh petgraph v0.5.1 Fresh sha2 v0.8.2 Fresh chrono v0.4.15 Fresh serde v1.0.115 Fresh thiserror v1.0.20 Fresh pin-project v0.4.23 Fresh failure_derive v0.1.8 Fresh pretty_env_logger v0.4.0 Fresh tree_magic v0.2.3 Fresh toml v0.5.6 Fresh string_cache v0.8.0 Fresh docopt v1.1.0 Fresh bincode v1.3.1 Fresh failure v0.1.8 Fresh system-deps v1.3.2 Fresh proc-macro-crate v0.1.5 Fresh lalrpop v0.19.0 Fresh futures-util v0.3.5 Fresh glib-macros v0.10.1 Fresh futures-executor v0.3.5 Fresh glib-sys v0.10.0 Fresh phonenumber v0.2.4+8.11.3 Fresh gobject-sys v0.10.0 Fresh futures v0.3.5 Fresh cairo-sys-rs v0.10.0 Fresh vgtk-macros v0.3.0 Fresh glib v0.10.1 Fresh gio-sys v0.10.0 Fresh pango-sys v0.10.0 Fresh atk-sys v0.10.0 Fresh gdk-pixbuf-sys v0.10.0 Fresh cairo-rs v0.9.1 Fresh gio v0.9.0 Fresh pango v0.9.1 Fresh atk v0.9.0 Fresh gdk-sys v0.10.0 Fresh gdk-pixbuf v0.9.0 Fresh gtk-sys v0.10.0 Fresh gdk v0.13.1 Fresh gtk v0.9.1 Fresh gtk v0.9.2 (https://github.com/nt8r/gtk?branch=0.9#b2e42554) Fresh vgtk v0.3.0 (https://github.com/nt8r/vgtk/#0251e792) Compiling vgmms v0.1.0 (/home/mobian/mms/vgmms) Running `rustc --crate-name vgmms --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=3 -Cembed-bitcode=no -C metadata=fda4491833569bd3 -C extra-filename=-fda4491833569bd3 --out-dir /home/mobian/mms/vgmms/target/release/deps -L dependency=/home/mobian/mms/vgmms/target/release/deps --extern byteorder=/home/mobian/mms/vgmms/target/release/deps/libbyteorder-03d4fb0ea6a62f89.rlib --extern chrono=/home/mobian/mms/vgmms/target/release/deps/libchrono-9c3b8a4a11ddff07.rlib --extern dbus=/home/mobian/mms/vgmms/target/release/deps/libdbus-07e22de1ab32ae20.rlib --extern futures=/home/mobian/mms/vgmms/target/release/deps/libfutures-b4184d4099aa28a7.rlib --extern gdk_pixbuf=/home/mobian/mms/vgmms/target/release/deps/libgdk_pixbuf-f11eb9bee48946a7.rlib --extern gtk=/home/mobian/mms/vgmms/target/release/deps/libgtk-0a23afd21654d604.rlib --extern hex=/home/mobian/mms/vgmms/target/release/deps/libhex-ef16adf7159fcdbc.rlib --extern lazy_static=/home/mobian/mms/vgmms/target/release/deps/liblazy_static-2ec9de3588dc68a4.rlib --extern memmap=/home/mobian/mms/vgmms/target/release/deps/libmemmap-a7d11f92c9ed736e.rlib --extern pango=/home/mobian/mms/vgmms/target/release/deps/libpango-8ebbc3cb087693e0.rlib --extern phonenumber=/home/mobian/mms/vgmms/target/release/deps/libphonenumber-7e4a00182be17bae.rlib --extern pretty_env_logger=/home/mobian/mms/vgmms/target/release/deps/libpretty_env_logger-ad0b1ae8ef7697a1.rlib --extern rand=/home/mobian/mms/vgmms/target/release/deps/librand-289bb56920ba1789.rlib --extern rusqlite=/home/mobian/mms/vgmms/target/release/deps/librusqlite-0e51916e82f29f80.rlib --extern tree_magic=/home/mobian/mms/vgmms/target/release/deps/libtree_magic-0596ade4d4e159ed.rlib --extern vgtk=/home/mobian/mms/vgmms/target/release/deps/libvgtk-a7cfd170f9807d71.rlib --extern xdg_basedir=/home/mobian/mms/vgmms/target/release/deps/libxdg_basedir-b820cd0d1c3015eb.rlib -L native=/usr/lib/aarch64-linux-gnu` error[E0659]: `gtk` is ambiguous (name vs any other name during import resolution) --> src/window.rs:345:22 | 345 | } } else { use gtk::prelude::NotebookExtManual; gtk!{ | ^^^ ambiguous name | = note: `gtk` could refer to a crate passed with `--extern` = help: use `::gtk` to refer to this crate unambiguously note: `gtk` could also refer to the crate imported here --> src/window.rs:2:22 | 2 | use vgtk::lib::gtk::{self, *, Box as GtkBox}; | ^^^^ = help: use `self::gtk` to refer to this crate unambiguously = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) error[E0599]: no method named `popup_at_pointer` found for struct `gtk::auto::menu::Menu` in the current scope --> src/chat_log.rs:60:12 | 60 | cb_menu.popup_at_pointer(Some(&ev)); | ^^^^^^^^^^^^^^^^ method not found in `gtk::auto::menu::Menu` error[E0599]: no method named `popup_at_rect` found for struct `gtk::auto::menu::Menu` in the current scope --> src/chat_log.rs:76:9 | 76 | menu.popup_at_rect(&w.get_window().unwrap(), &rect, | ^^^^^^^^^^^^^ method not found in `gtk::auto::menu::Menu` error: aborting due to 3 previous errors Some errors have detailed explanations: E0599, E0659. For more information about an error, try `rustc --explain E0599`. error: could not compile `vgmms`. Caused by: process didn't exit successfully: `rustc --crate-name vgmms --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=3 -Cembed-bitcode=no -C metadata=fda4491833569bd3 -C extra-filename=-fda4491833569bd3 --out-dir /home/mobian/mms/vgmms/target/release/deps -L dependency=/home/mobian/mms/vgmms/target/release/deps --extern byteorder=/home/mobian/mms/vgmms/target/release/deps/libbyteorder-03d4fb0ea6a62f89.rlib --extern chrono=/home/mobian/mms/vgmms/target/release/deps/libchrono-9c3b8a4a11ddff07.rlib --extern dbus=/home/mobian/mms/vgmms/target/release/deps/libdbus-07e22de1ab32ae20.rlib --extern futures=/home/mobian/mms/vgmms/target/release/deps/libfutures-b4184d4099aa28a7.rlib --extern gdk_pixbuf=/home/mobian/mms/vgmms/target/release/deps/libgdk_pixbuf-f11eb9bee48946a7.rlib --extern gtk=/home/mobian/mms/vgmms/target/release/deps/libgtk-0a23afd21654d604.rlib --extern hex=/home/mobian/mms/vgmms/target/release/deps/libhex-ef16adf7159fcdbc.rlib --extern lazy_static=/home/mobian/mms/vgmms/target/release/deps/liblazy_static-2ec9de3588dc68a4.rlib --extern memmap=/home/mobian/mms/vgmms/target/release/deps/libmemmap-a7d11f92c9ed736e.rlib --extern pango=/home/mobian/mms/vgmms/target/release/deps/libpango-8ebbc3cb087693e0.rlib --extern phonenumber=/home/mobian/mms/vgmms/target/release/deps/libphonenumber-7e4a00182be17bae.rlib --extern pretty_env_logger=/home/mobian/mms/vgmms/target/release/deps/libpretty_env_logger-ad0b1ae8ef7697a1.rlib --extern rand=/home/mobian/mms/vgmms/target/release/deps/librand-289bb56920ba1789.rlib --extern rusqlite=/home/mobian/mms/vgmms/target/release/deps/librusqlite-0e51916e82f29f80.rlib --extern tree_magic=/home/mobian/mms/vgmms/target/release/deps/libtree_magic-0596ade4d4e159ed.rlib --extern vgtk=/home/mobian/mms/vgmms/target/release/deps/libvgtk-a7cfd170f9807d71.rlib --extern xdg_basedir=/home/mobian/mms/vgmms/target/release/deps/libxdg_basedir-b820cd0d1c3015eb.rlib -L native=/usr/lib/aarch64-linux-gnu` (exit code: 1)
Comment by ~johanvandegriff on ~anteater/mms-stack-bugs
~amindfv i hadnt tried sending a photo, but now when i tried to the app crashed so i submitted a new bug report #39. my intention with the blog post was that i would keep track of what i did so that eventually once it works it is reproducable. i added a note to the blog post that it doesnt work right now
Ticket created by ~johanvandegriff on ~anteater/mms-stack-bugs
When I tap on the paper clip icon to attempt to send a photo, vgmms immediately crashes. Here's the backtrace:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ()', /home/mobian/.cargo/registry/src/github.com-1ecc6299db9ec823/gdk-0.13.1/src/event.rs:419:21 stack backtrace: 0: backtrace::backtrace::libunwind::trace at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 1: backtrace::backtrace::trace_unsynchronized at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 2: std::sys_common::backtrace::_print_fmt at src/libstd/sys_common/backtrace.rs:78 3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt at src/libstd/sys_common/backtrace.rs:59 4: core::fmt::write at src/libcore/fmt/mod.rs:1076 5: std::io::Write::write_fmt at src/libstd/io/mod.rs:1537 6: std::sys_common::backtrace::_print at src/libstd/sys_common/backtrace.rs:62 7: std::sys_common::backtrace::print at src/libstd/sys_common/backtrace.rs:49 8: std::panicking::default_hook::{{closure}} at src/libstd/panicking.rs:198 9: std::panicking::default_hook at src/libstd/panicking.rs:218 10: std::panicking::rust_panic_with_hook at src/libstd/panicking.rs:486 11: rust_begin_unwind at src/libstd/panicking.rs:388 12: core::panicking::panic_fmt at src/libcore/panicking.rs:101 13: core::option::expect_none_failed at src/libcore/option.rs:1272 14: <O as gtk::auto::entry::EntryExt>::connect_icon_press::icon_press_trampoline 15: g_closure_invoke 16: <unknown> 17: g_signal_emit_valist 18: g_signal_emit 19: <unknown> 20: <unknown> 21: <unknown> 22: <unknown> 23: g_signal_emit_valist 24: g_signal_emit 25: <unknown> 26: <unknown> 27: gtk_main_do_event 28: <unknown> 29: <unknown> 30: g_main_context_dispatch 31: <unknown> 32: g_main_context_iteration 33: g_application_run 34: <O as gio::application::ApplicationExtManual>::run 35: vgmms::main 36: std::rt::lang_start::{{closure}} 37: std::rt::lang_start_internal::{{closure}} at src/libstd/rt.rs:52 38: std::panicking::try::do_call at src/libstd/panicking.rs:297 39: std::panicking::try at src/libstd/panicking.rs:274 40: std::panic::catch_unwind at src/libstd/panic.rs:394 41: std::rt::lang_start_internal at src/libstd/rt.rs:51 42: main 43: __libc_start_main 44: <unknown> note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Comment by ~johanvandegriff on ~anteater/mms-stack-bugs
I rebuilt ofono without the --enable-maintainer-mode switch (which also removed -Werror from the Makefile), and rebuilt vgmms without my hack. This solved the original issue of finding 2 modems as now the output of
ofono/test/list-modems
only has[ /quectelqmi_0 ]
! (Issue #23 still persists withBadSenderOrSentTime
however.) I have documented my complete build steps in this post: https://blog.johanv.xyz/how-to-send-mms-messages-on-the-pinephone-with-vgmms
REPORTED
RESOLVED FIXEDComment by ~johanvandegriff on ~anteater/mms-stack-bugs
After running mmsd as the user instead of root:
/usr/libexec/mmsd -n -d
, I still cannot send group messages, but the error is different. vgmms outputinserting send 0000000000000000000000000000000000000005: MessageInfo { sender: Number { num: <private> }, chat: [Number { num: <private> }, Number { num: <private> }, Number { num: <private> }], time: 1600402888, contents: [Text("test group message")], status: Sending } BadSenderOrSentTime
mmsd output (sensitive numbers changed to , might have unnecessarily removed extra):
... mmsd[2985]: src/service.c:activate_bearer() service <private> setup 0 active 0 mmsd[2985]: plugins/ofono.c:register_agent_reply() path /quectelqmi_0 mmsd[2985]: src/store.c:generate_uuid_from_pdu() pdu <private> len 378 mmsd[2985]: src/store.c:mms_store_file() pathname /home/mobian/.mms/<private>/<private> mmsd[2985]: src/service.c:mms_message_register() message registered /org/ofono/mms/<private>/<private> mmsd[2985]: src/service.c:emit_message_added() message <private> mmsd[2985]: src/service.c:append_message() type=128 mmsd[2985]: src/service.c:append_msg_recipients() rcpt=<private> mmsd[2985]: src/service.c:append_msg_recipients() rcpt=<private> mmsd[2985]: src/service.c:append_message() appending pdu path /home/mobian/.mms/<private>/<private> mmsd[2985]: src/service.c:append_attachment_properties() content-id: SMIL mmsd[2985]: src/service.c:append_attachment_properties() content-id: 0.txt mmsd[2985]: src/service.c:activate_bearer() service <private> setup 0 active 0 mmsd[2985]: plugins/ofono.c:check_gprs_attached() GPRS attached 1 mmsd[2985]: src/service.c:mms_service_set_bearer_handler() service <private> handler <private>
Comment by ~johanvandegriff on ~anteater/mms-stack-bugs
When I did that, I didn't know how to fix the build error so I just went back until I found a commit that would build. Just now I rebuilt mmsd using the latest commit by disabling -Werror in the makefile and it worked.
After rebooting, and executing the following commands:
~/mms/ofono/test/enable-modem ~/mms/ofono/test/online-modem sudo service ofono start sudo /usr/libexec/mmsd ~/mms/vgmms/target/release/vgmms
It worked - I was able to run vgmms! However, I am having issues with sending a message which I have submitted as #23