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

FormatException: Unexpected extension byte (at offset 0) #57

Closed
remoteportal opened this issue Oct 5, 2020 · 6 comments · Fixed by #58
Closed

FormatException: Unexpected extension byte (at offset 0) #57

remoteportal opened this issue Oct 5, 2020 · 6 comments · Fixed by #58

Comments

@remoteportal
Copy link

Thank you VERY MUCH for publishing this project! I've been using the library literally every day for six months or so.

I get a FormatException periodically causing a lot of development frustration .

It's sporadic... maybe 50% of the time certain INSERT statements fail. I've found that the longer in characters the INSERT statement , the more likely it is to fail. But, it will happen on very small statements like the following.

Example Statement

insert ignore into cu200818 select * from michelle

Stack trace on Windows:

#1      Utf8Decoder.convert (dart:convert/utf.dart:321:42)
#2      Utf8Codec.decode (dart:convert/utf.dart:62:20)
#3      Buffer.readString (package:mysql1/src/buffer.dart:139:18)
#4      Buffer.readStringToEnd (package:mysql1/src/buffer.dart:135:31)
#5      new OkPacket (package:mysql1/src/handlers/ok_packet.dart:21:23)
#6      Handler.checkResponse (package:mysql1/src/handlers/handler.dart:72:24)
#7      QueryStreamHandler.processResponse (package:mysql1/src/query/query_stream_handler.dart:50:18)
#8      ReqRespConnection._handleData (package:mysql1/src/single_connection.dart:327:31)
<asynchronous suspension>
#9      ReqRespConnection._handleHeader (package:mysql1/src/single_connection.dart:296:13)
<asynchronous suspension>
#10     ReqRespConnection._readPacket (package:mysql1/src/single_connection.dart:281:13)
<asynchronous suspension>
#11     MySqlConnection.connect.<anonymous closure> (package:mysql1/src/single_connection.dart:120:13)
#12     BufferedSocket._onData (package:mysql1/src/buffered_socket.dart:90:22)
#13     _RootZone.runUnaryGuarded (dart:async/zone.dart:1384:10)
#14     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
#15     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7)
#16     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:808:19)
#17     _StreamController._add (dart:async/stream_controller.dart:682:7)
#18     _StreamController.add (dart:async/stream_controller.dart:624:5)
#19     new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1580:33)
#20     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1076:14)
#21     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#22     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#23     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#24     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)

Connect to database:

    ConnectionSettings settings = ConnectionSettings(
        host: 'localhost',
        port: 3306,
        user: 'root',
        // password: '',
        db: dbn = DBN,
        timeout: Duration(seconds: timeoutSeconds));

    conn = await MySqlConnection.connect(settings);

Dart Info via Flutter Doctor -v

[√] Flutter (Channel stable, 1.22.0, on Microsoft Windows [Version 6.1.7601], locale en-US)
    • Flutter version 1.22.0 at E:\src\flutter
    • Framework revision d408d302e2 (6 days ago), 2020-09-29 11:49:17 -0700
    • Engine revision 5babba6c4d
    • Dart version 2.10.0

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at C:\Users\pete\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] Connected device (1 available)
    • Mi 9T (mobile) • 844fb80a • android-arm64 • Android 9 (API 28)

• No issues found!

MariaDB Info:

MariaDB [coolDatabaseName]> select @@version;
+----------------+
| @@version      |
+----------------+
| 10.4.8-MariaDB |
+----------------+
1 row in set (0.000 sec)

Execution

I run from Bit Bash command line on Windows 7:

bash # dart myCoolProgram.dart

MariaDB Show Variables

alter_algorithm DEFAULT
analyze_sample_percentage       100.000000
aria_block_size 8192
aria_checkpoint_interval        30
aria_checkpoint_log_activity    1048576
aria_encrypt_tables     OFF
aria_force_start_after_recovery_failures        0
aria_group_commit       none
aria_group_commit_interval      0
aria_log_file_size      1073741824
aria_log_purge_type     immediate
aria_max_sort_file_size 9223372036853727232
aria_page_checksum      ON
aria_pagecache_age_threshold    300
aria_pagecache_buffer_size      134217728
aria_pagecache_division_limit   100
aria_pagecache_file_hash_size   512
aria_recover_options    BACKUP,QUICK
aria_repair_threads     1
aria_sort_buffer_size   268434432
aria_stats_method       nulls_unequal
aria_sync_log_dir       NEWFILE
aria_used_for_temp_tables       ON
auto_increment_increment        1
auto_increment_offset   1
autocommit      ON
automatic_sp_privileges ON
back_log        80
basedir C:\\Program Files\\MariaDB 10.4\\
big_tables      OFF
bind_address
binlog_annotate_row_events      ON
binlog_cache_size       32768
binlog_checksum CRC32
binlog_commit_wait_count        0
binlog_commit_wait_usec 100000
binlog_direct_non_transactional_updates OFF
binlog_file_cache_size  16384
binlog_format   MIXED
binlog_optimize_thread_scheduling       ON
binlog_row_image        FULL
binlog_stmt_cache_size  32768
bulk_insert_buffer_size 8388608
character_set_client    cp850
character_set_connection        cp850
character_set_database  latin1
character_set_filesystem        binary
character_set_results   cp850
character_set_server    latin1
character_set_system    utf8
character_sets_dir      C:\\Program Files\\MariaDB 10.4\\share\\charsets\\
check_constraint_checks ON
collation_connection    cp850_general_ci
collation_database      latin1_swedish_ci
collation_server        latin1_swedish_ci
column_compression_threshold    100
column_compression_zlib_level   6
column_compression_zlib_strategy        DEFAULT_STRATEGY
column_compression_zlib_wrap    OFF
completion_type NO_CHAIN
concurrent_insert       AUTO
connect_timeout 10
core_file       OFF
datadir C:\\Program Files\\MariaDB 10.4\\data\\
date_format     %Y-%m-%d
datetime_format %Y-%m-%d %H:%i:%s
deadlock_search_depth_long      15
deadlock_search_depth_short     4
deadlock_timeout_long   50000000
deadlock_timeout_short  10000
debug_no_thread_alarm   OFF
default_master_connection
default_password_lifetime       0
default_regex_flags
default_storage_engine  InnoDB
default_tmp_storage_engine
default_week_format     0
delay_key_write ON
delayed_insert_limit    100
delayed_insert_timeout  300
delayed_queue_size      1000
disconnect_on_expired_password  OFF
div_precision_increment 4
encrypt_binlog  OFF
encrypt_tmp_disk_tables OFF
encrypt_tmp_files       OFF
enforce_storage_engine
eq_range_index_dive_limit       200
error_count     0
event_scheduler OFF
expensive_subquery_limit        100
expire_logs_days        0
explicit_defaults_for_timestamp OFF
external_user
extra_max_connections   1
extra_port      0
flush   OFF
flush_time      0
foreign_key_checks      ON
ft_boolean_syntax       + -><()~*:""&|
ft_max_word_len 84
ft_min_word_len 4
ft_query_expansion_limit        20
ft_stopword_file        (built-in)
general_log     OFF
general_log_file        ALVINSERVER.log
group_concat_max_len    1048576
gtid_binlog_pos
gtid_binlog_state
gtid_cleanup_batch_size 64
gtid_current_pos
gtid_domain_id  0
gtid_ignore_duplicates  OFF
gtid_pos_auto_engines
gtid_seq_no     0
gtid_slave_pos
gtid_strict_mode        OFF
have_compress   YES
have_crypt      NO
have_dynamic_loading    YES
have_geometry   YES
have_openssl    NO
have_profiling  YES
have_query_cache        YES
have_rtree_keys YES
have_ssl        DISABLED
have_symlink    NO
histogram_size  254
histogram_type  DOUBLE_PREC_HB
host_cache_size 279
hostname        ALVINSERVER
identity        0
idle_readonly_transaction_timeout       0
idle_transaction_timeout        0
idle_write_transaction_timeout  0
ignore_builtin_innodb   OFF
ignore_db_dirs
in_predicate_conversion_threshold       1000
in_transaction  0
init_connect
init_file
init_slave
innodb_adaptive_flushing        ON
innodb_adaptive_flushing_lwm    10.000000
innodb_adaptive_hash_index      ON
innodb_adaptive_hash_index_parts        8
innodb_adaptive_max_sleep_delay 150000
innodb_autoextend_increment     64
innodb_autoinc_lock_mode        1
innodb_background_scrub_data_check_interval     3600
innodb_background_scrub_data_compressed OFF
innodb_background_scrub_data_interval   604800
innodb_background_scrub_data_uncompressed       OFF
innodb_buf_dump_status_frequency        0
innodb_buffer_pool_chunk_size   134217728
innodb_buffer_pool_dump_at_shutdown     ON
innodb_buffer_pool_dump_now     OFF
innodb_buffer_pool_dump_pct     25
innodb_buffer_pool_filename     ib_buffer_pool
innodb_buffer_pool_instances    8
innodb_buffer_pool_load_abort   OFF
innodb_buffer_pool_load_at_startup      ON
innodb_buffer_pool_load_now     OFF
innodb_buffer_pool_size 2147483648
innodb_change_buffer_max_size   25
innodb_change_buffering all
innodb_checksum_algorithm       crc32
innodb_checksums        ON
innodb_cmp_per_index_enabled    OFF
innodb_commit_concurrency       0
innodb_compression_algorithm    zlib
innodb_compression_default      OFF
innodb_compression_failure_threshold_pct        5
innodb_compression_level        6
innodb_compression_pad_pct_max  50
innodb_concurrency_tickets      5000
innodb_data_file_path   ibdata1:12M:autoextend
innodb_data_home_dir
innodb_deadlock_detect  ON
innodb_default_encryption_key_id        1
innodb_default_row_format       dynamic
innodb_defragment       OFF
innodb_defragment_fill_factor   0.900000
innodb_defragment_fill_factor_n_recs    20
innodb_defragment_frequency     40
innodb_defragment_n_pages       7
innodb_defragment_stats_accuracy        0
innodb_disable_sort_file_cache  OFF
innodb_doublewrite      ON
innodb_encrypt_log      OFF
innodb_encrypt_tables   OFF
innodb_encrypt_temporary_tables OFF
innodb_encryption_rotate_key_age        1
innodb_encryption_rotation_iops 100
innodb_encryption_threads       0
innodb_fast_shutdown    1
innodb_fatal_semaphore_wait_threshold   600
innodb_file_format
innodb_file_per_table   ON
innodb_fill_factor      100
innodb_flush_log_at_timeout     1
innodb_flush_log_at_trx_commit  1
innodb_flush_method     unbuffered
innodb_flush_neighbors  1
innodb_flush_sync       ON
innodb_flushing_avg_loops       30
innodb_force_load_corrupted     OFF
innodb_force_primary_key        OFF
innodb_force_recovery   0
innodb_ft_aux_table
innodb_ft_cache_size    8000000
innodb_ft_enable_diag_print     OFF
innodb_ft_enable_stopword       ON
innodb_ft_max_token_size        84
innodb_ft_min_token_size        3
innodb_ft_num_word_optimize     2000
innodb_ft_result_cache_limit    2000000000
innodb_ft_server_stopword_table
innodb_ft_sort_pll_degree       2
innodb_ft_total_cache_size      640000000
innodb_ft_user_stopword_table
innodb_idle_flush_pct   100
innodb_immediate_scrub_data_uncompressed        OFF
innodb_io_capacity      200
innodb_io_capacity_max  2000
innodb_large_prefix
innodb_lock_schedule_algorithm  fcfs
innodb_lock_wait_timeout        50
innodb_locks_unsafe_for_binlog  OFF
innodb_log_buffer_size  16777216
innodb_log_checksums    ON
innodb_log_compressed_pages     ON
innodb_log_file_size    50331648
innodb_log_files_in_group       2
innodb_log_group_home_dir       .\\
innodb_log_optimize_ddl ON
innodb_log_write_ahead_size     8192
innodb_lru_scan_depth   1024
innodb_max_dirty_pages_pct      75.000000
innodb_max_dirty_pages_pct_lwm  0.000000
innodb_max_purge_lag    0
innodb_max_purge_lag_delay      0
innodb_max_undo_log_size        10485760
innodb_monitor_disable
innodb_monitor_enable
innodb_monitor_reset
innodb_monitor_reset_all
innodb_old_blocks_pct   37
innodb_old_blocks_time  1000
innodb_online_alter_log_max_size        134217728
innodb_open_files       2000
innodb_optimize_fulltext_only   OFF
innodb_page_cleaners    4
innodb_page_size        16384
innodb_prefix_index_cluster_optimization        OFF
innodb_print_all_deadlocks      OFF
innodb_purge_batch_size 300
innodb_purge_rseg_truncate_frequency    128
innodb_purge_threads    4
innodb_random_read_ahead        OFF
innodb_read_ahead_threshold     56
innodb_read_io_threads  4
innodb_read_only        OFF
innodb_replication_delay        0
innodb_rollback_on_timeout      OFF
innodb_rollback_segments        128
innodb_scrub_log        OFF
innodb_scrub_log_speed  256
innodb_sort_buffer_size 1048576
innodb_spin_wait_delay  4
innodb_stats_auto_recalc        ON
innodb_stats_include_delete_marked      OFF
innodb_stats_method     nulls_equal
innodb_stats_modified_counter   0
innodb_stats_on_metadata        OFF
innodb_stats_persistent ON
innodb_stats_persistent_sample_pages    20
innodb_stats_sample_pages       8
innodb_stats_traditional        ON
innodb_stats_transient_sample_pages     8
innodb_status_output    OFF
innodb_status_output_locks      OFF
innodb_strict_mode      ON
innodb_sync_array_size  1
innodb_sync_spin_loops  30
innodb_table_locks      ON
innodb_temp_data_file_path      ibtmp1:12M:autoextend
innodb_thread_concurrency       0
innodb_thread_sleep_delay       10000
innodb_tmpdir
innodb_undo_directory   .\\
innodb_undo_log_truncate        OFF
innodb_undo_logs        128
innodb_undo_tablespaces 0
innodb_use_atomic_writes        ON
innodb_use_native_aio   ON
innodb_version  10.4.8
innodb_write_io_threads 4
insert_id       0
interactive_timeout     28800
join_buffer_size        262144
join_buffer_space_limit 2097152
join_cache_level        2
keep_files_on_create    OFF
key_buffer_size 134217728
key_cache_age_threshold 300
key_cache_block_size    1024
key_cache_division_limit        100
key_cache_file_hash_size        512
key_cache_segments      0
large_files_support     ON
large_page_size 0
large_pages     OFF
last_gtid
last_insert_id  0
lc_messages     en_US
lc_messages_dir
lc_time_names   en_US
license GPL
local_infile    ON
lock_wait_timeout       86400
log_bin OFF
log_bin_basename
log_bin_compress        OFF
log_bin_compress_min_len        256
log_bin_index
log_bin_trust_function_creators OFF
log_disabled_statements sp
log_error       C:\\Program Files\\MariaDB 10.4\\data\\ALVINSERVER.err
log_output      FILE
log_queries_not_using_indexes   OFF
log_slave_updates       OFF
log_slow_admin_statements       ON
log_slow_disabled_statements    sp
log_slow_filter admin,filesort,filesort_on_disk,filesort_priority_queue,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
log_slow_rate_limit     1
log_slow_slave_statements       ON
log_slow_verbosity
log_tc_size     24576
log_warnings    2
long_query_time 10.000000
low_priority_updates    OFF
lower_case_file_system  ON
lower_case_table_names  1
master_verify_checksum  OFF
max_allowed_packet      16777216
max_binlog_cache_size   18446744073709547520
max_binlog_size 1073741824
max_binlog_stmt_cache_size      18446744073709547520
max_connect_errors      100
max_connections 151
max_delayed_threads     20
max_digest_length       1024
max_error_count 64
max_heap_table_size     16777216
max_insert_delayed_threads      20
max_join_size   18446744073709551615
max_length_for_sort_data        1024
max_long_data_size      16777216
max_password_errors     4294967295
max_prepared_stmt_count 16382
max_recursive_iterations        4294967295
max_relay_log_size      1073741824
max_rowid_filter_size   131072
max_seeks_for_key       4294967295
max_session_mem_used    9223372036854775807
max_sort_length 1024
max_sp_recursion_depth  0
max_statement_time      0.000000
max_tmp_tables  32
max_user_connections    0
max_write_lock_count    4294967295
metadata_locks_cache_size       1024
metadata_locks_hash_instances   8
min_examined_row_limit  0
mrr_buffer_size 262144
multi_range_count       256
myisam_block_size       1024
myisam_data_pointer_size        6
myisam_max_sort_file_size       2146435072
myisam_mmap_size        18446744073709551615
myisam_recover_options  BACKUP,QUICK
myisam_repair_threads   1
myisam_sort_buffer_size 134216704
myisam_stats_method     NULLS_UNEQUAL
myisam_use_mmap OFF
mysql56_temporal_format ON
named_pipe      OFF
net_buffer_length       16384
net_read_timeout        30
net_retry_count 10
net_write_timeout       60
old     OFF
old_alter_table DEFAULT
old_mode
old_passwords   OFF
open_files_limit        6230
optimizer_prune_level   1
optimizer_search_depth  62
optimizer_selectivity_sampling_limit    100
optimizer_switch        index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on
optimizer_trace enabled=off
optimizer_trace_max_mem_size    1048576
optimizer_use_condition_selectivity     4
performance_schema      OFF
performance_schema_accounts_size        -1
performance_schema_digests_size -1
performance_schema_events_stages_history_long_size      -1
performance_schema_events_stages_history_size   -1
performance_schema_events_statements_history_long_size  -1
performance_schema_events_statements_history_size       -1
performance_schema_events_waits_history_long_size       -1
performance_schema_events_waits_history_size    -1
performance_schema_hosts_size   -1
performance_schema_max_cond_classes     80
performance_schema_max_cond_instances   -1
performance_schema_max_digest_length    1024
performance_schema_max_file_classes     50
performance_schema_max_file_handles     32768
performance_schema_max_file_instances   -1
performance_schema_max_mutex_classes    200
performance_schema_max_mutex_instances  -1
performance_schema_max_rwlock_classes   40
performance_schema_max_rwlock_instances -1
performance_schema_max_socket_classes   10
performance_schema_max_socket_instances -1
performance_schema_max_stage_classes    160
performance_schema_max_statement_classes        202
performance_schema_max_table_handles    -1
performance_schema_max_table_instances  -1
performance_schema_max_thread_classes   50
performance_schema_max_thread_instances -1
performance_schema_session_connect_attrs_size   -1
performance_schema_setup_actors_size    100
performance_schema_setup_objects_size   100
performance_schema_users_size   -1
pid_file        C:\\Program Files\\MariaDB 10.4\\data\\ALVINSERVER.pid
plugin_dir      C:\\Program Files\\MariaDB 10.4\\lib\\plugin\\
plugin_maturity gamma
port    3306
preload_buffer_size     32768
profiling       OFF
profiling_history_size  15
progress_report_time    5
protocol_version        10
proxy_protocol_networks
proxy_user
pseudo_slave_mode       OFF
pseudo_thread_id        74
query_alloc_block_size  16384
query_cache_limit       1048576
query_cache_min_res_unit        4096
query_cache_size        1048576
query_cache_strip_comments      OFF
query_cache_type        OFF
query_cache_wlock_invalidate    OFF
query_prealloc_size     24576
rand_seed1      982909590
rand_seed2      158115708
range_alloc_block_size  4096
read_binlog_speed_limit 0
read_buffer_size        131072
read_only       OFF
read_rnd_buffer_size    262144
relay_log
relay_log_basename
relay_log_index
relay_log_info_file     relay-log.info
relay_log_purge ON
relay_log_recovery      OFF
relay_log_space_limit   0
replicate_annotate_row_events   ON
replicate_do_db
replicate_do_table
replicate_events_marked_for_skip        REPLICATE
replicate_ignore_db
replicate_ignore_table
replicate_wild_do_table
replicate_wild_ignore_table
report_host
report_password
report_port     3306
report_user
rowid_merge_buff_size   8388608
rpl_semi_sync_master_enabled    OFF
rpl_semi_sync_master_timeout    10000
rpl_semi_sync_master_trace_level        32
rpl_semi_sync_master_wait_no_slave      ON
rpl_semi_sync_master_wait_point AFTER_COMMIT
rpl_semi_sync_slave_delay_master        OFF
rpl_semi_sync_slave_enabled     OFF
rpl_semi_sync_slave_kill_conn_timeout   5
rpl_semi_sync_slave_trace_level 32
secure_auth     ON
secure_file_priv
secure_timestamp        NO
server_id       1
session_track_schema    ON
session_track_state_change      OFF
session_track_system_variables  autocommit,character_set_client,character_set_connection,character_set_results,time_zone
session_track_transaction_info  OFF
skip_external_locking   ON
skip_name_resolve       OFF
skip_networking OFF
skip_parallel_replication       OFF
skip_replication        OFF
skip_show_database      OFF
slave_compressed_protocol       OFF
slave_ddl_exec_mode     IDEMPOTENT
slave_domain_parallel_threads   0
slave_exec_mode STRICT
slave_load_tmpdir       C:\\Windows\\SERVIC~2\\NETWOR~1\\AppData\\Local\\Temp
slave_max_allowed_packet        1073741824
slave_net_timeout       60
slave_parallel_max_queued       131072
slave_parallel_mode     conservative
slave_parallel_threads  0
slave_parallel_workers  0
slave_run_triggers_for_rbr      NO
slave_skip_errors       OFF
slave_sql_verify_checksum       ON
slave_transaction_retries       10
slave_transaction_retry_errors  1158,1159,1160,1161,1205,1213,1429,2013,12701
slave_transaction_retry_interval        0
slave_type_conversions
slow_launch_time        2
slow_query_log  OFF
slow_query_log_file     ALVINSERVER-slow.log
socket  MySQL
sort_buffer_size        2097152
sql_auto_is_null        OFF
sql_big_selects ON
sql_buffer_result       OFF
sql_log_bin     ON
sql_log_off     OFF
sql_mode        STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
sql_notes       ON
sql_quote_show_create   ON
sql_safe_updates        OFF
sql_select_limit        18446744073709551615
sql_slave_skip_counter  0
sql_warnings    OFF
ssl_ca
ssl_capath
ssl_cert
ssl_cipher
ssl_crl
ssl_crlpath
ssl_key
standard_compliant_cte  ON
storage_engine  InnoDB
stored_program_cache    256
strict_password_validation      ON
sync_binlog     0
sync_frm        ON
sync_master_info        10000
sync_relay_log  10000
sync_relay_log_info     10000
system_time_zone        America/New_York
system_versioning_alter_history ERROR
system_versioning_asof  DEFAULT
table_definition_cache  400
table_open_cache        2000
table_open_cache_instances      8
tcp_keepalive_interval  0
tcp_keepalive_probes    0
tcp_keepalive_time      0
tcp_nodelay     ON
thread_cache_size       151
thread_concurrency      10
thread_handling pool-of-threads
thread_pool_idle_timeout        60
thread_pool_max_threads 65536
thread_pool_min_threads 1
thread_pool_mode        windows
thread_pool_oversubscribe       3
thread_pool_prio_kickup_timer   1000
thread_pool_priority    auto
thread_pool_size        4
thread_pool_stall_limit 500
thread_stack    299008
time_format     %H:%i:%s
time_zone       SYSTEM
timed_mutexes   OFF
timestamp       1601907070.135897
tls_version     TLSv1.1,TLSv1.2,TLSv1.3
tmp_disk_table_size     18446744073709551615
tmp_memory_table_size   16777216
tmp_table_size  16777216
tmpdir  C:\\Windows\\SERVIC~2\\NETWOR~1\\AppData\\Local\\Temp
transaction_alloc_block_size    8192
transaction_prealloc_size       4096
tx_isolation    REPEATABLE-READ
tx_read_only    OFF
unique_checks   ON
updatable_views_with_limit      YES
use_stat_tables PREFERABLY_FOR_QUERIES
userstat        OFF
version 10.4.8-MariaDB
version_comment mariadb.org binary distribution
version_compile_machine x64
version_compile_os      Win64
version_malloc_library  system
version_source_revision 4c2464b87d58a43d1292e166bae6720b51f4b000
version_ssl_library     WolfSSL 4.1.0
wait_timeout    28800
warning_count   0
@remoteportal
Copy link
Author

  String readString(int length) {
    var s = utf8.decode(_list.sublist(_readPos, _readPos + length));     <= HERE
    _readPos += length;
    return s;
}

@remoteportal
Copy link
Author

remoteportal commented Oct 5, 2020

I don't understand your code, but it's dying in the decode routine, that does this:

Converts the UTF-8 codeUnits (a list of unsigned 8-bit integers) to the corresponding string

https://api.dart.dev/stable/2.10.0/dart-convert/Utf8Decoder/convert.html

But the FUNNY thing is that my table doesn't even have any strings!!!

  `symID` smallint(4) unsigned not null,
  `qs` smallint(5) unsigned not null,
  `open` decimal(8,2) unsigned default null,
  `high` decimal(8,2) unsigned default null,
  `low` decimal(8,2) unsigned default null,
  `lp` decimal(8,2) unsigned default null,
  `v` int(8) unsigned default null,
  primary key (symID, qs)

@remoteportal
Copy link
Author

 /// Converts the UTF-8 [codeUnits] (a list of unsigned 8-bit integers) to the
  /// corresponding string.
  ///
  /// Uses the code units from [start] to, but no including, [end].
  /// If [end] is omitted, it defaults to `codeUnits.length`.
  ///
  /// If the [codeUnits] start with the encoding of a
  /// [unicodeBomCharacterRune], that character is discarded.
  String convert(List<int> codeUnits, [int start = 0, int? end]) {
    // Allow the implementation to intercept and specialize based on the type
    // of codeUnits.
    var result = _convertIntercepted(_allowMalformed, codeUnits, start, end);
    if (result != null) {
      return result;
    }

    return _Utf8Decoder(_allowMalformed).convertSingle(codeUnits, start, end);        <====HERE
  }

@remoteportal
Copy link
Author

I talked to the Dart team and they are convinced it's a bug in mysql1.

I don't understand how it's so transient... I run it one time and it fails... then, run it a minute later and it succeeds.

@adamlofts
Copy link
Owner

There are plenty of places where we are reading a string and assuming it is utf8 when it is not specified in the docs. I've updated the code to soften this assumption.

Can you try running with the master branch.

@victorruandev
Copy link

I'm with the same error, but in another context. I'm using msix for generate a installer (MSI) where I need to do a certificate (using SSL). Follow the erro itself:
flutter pub run msix:create
running "flutter build windows"... 113.8s
building msix files... \Unhandled exception:
FormatException: Missing extension byte (at offset 45)
#0 _Utf8Decoder.convertChunked (dart:convert-patch/convert_patch.dart:1859:7)
#1 _Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:314:28)
#2 _Utf8ConversionSink.add (dart:convert/string_conversion.dart:310:5)
#3 _ConverterStreamEventSink.add (dart:convert/chunked_conversion.dart:72:18)
#4 _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:111:24)
#5 _RootZone.runUnaryGuarded (dart:async/zone.dart:1618:10)
#6 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)
#7 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#8 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:774:19)
#9 _StreamController._add (dart:async/stream_controller.dart:648:7)
#10 _StreamController.add (dart:async/stream_controller.dart:596:5)
#11 _Socket._onData (dart:io-patch/socket_patch.dart:2314:41)
#12 _RootZone.runUnaryGuarded (dart:async/zone.dart:1618:10)
#13 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)
#14 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#15 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:774:19)
#16 _StreamController._add (dart:async/stream_controller.dart:648:7)
#17 _StreamController.add (dart:async/stream_controller.dart:596:5)
#18 new _RawSocket. (dart:io-patch/socket_patch.dart:1839:33)
#19 _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1322:14)
#20 _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#21 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
#22 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:122:13)
#23 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:193:5)
pub finished with exit code 255

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

Successfully merging a pull request may close this issue.

3 participants