Skip to content

Errors with OTP 27.1 #38

@egze

Description

@egze

OTP 27.1 has been released and it breaks the library. There have been some changes to the :zip module.

https://erlangforums.com/t/erlang-otp-27-1-released/4006

How to reproduce:

Run mix test

Example of errors:

1) test sheets/2 load all sheets (XlsxReaderTest)
     test/xlsx_reader_test.exs:157
     ** (FunctionClauseError) no function clause matching in XlsxReader.ZipArchive.translate_zip_error/1

     The following arguments were given to XlsxReader.ZipArchive.translate_zip_error/1:

         # 1
         {:error, {:EXIT, {:function_clause, [{:zip, :update_zip64, [{:local_file_header, 20, 0, 8, 45132, 20680, 3229678449, 250, 467, :undefined, :undefined, :undefined, 0, 0, 15, 20, :undefined}, <<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>>], [file: ~c"zip.erl", line: 1942]}, {:lists, :foldl, 3, [file: ~c"lists.erl", line: 2146]}, {:zip, :get_z_file, 11, [file: ~c"zip.erl", line: 2252]}, {:zip, :get_z_files, 5, [file: ~c"zip.erl", line: 2223]}, {:zip, :do_unzip, 2, [file: ~c"zip.erl", line: 425]}, {:zip, :unzip, 2, [file: ~c"zip.erl", line: 410]}, {XlsxReader.ZipArchive, :extract, 2, [file: ~c"lib/xlsx_reader/zip_archive.ex", line: 47]}, {XlsxReader.PackageLoader, :extract_xml, 2, [file: ~c"lib/xlsx_reader/package_loader.ex", line: 180]}, {XlsxReader.PackageLoader, :load_workbook_xml, 2, [file: ~c"lib/xlsx_reader/package_loader.ex", line: 124]}, {XlsxReader.PackageLoader, :open, 2, [file: ~c"lib/xlsx_reader/package_loader.ex", line: 48]}, {XlsxReaderTest, :__ex_unit_setup_3_0, 1, [file: ~c"test/xlsx_reader_test.exs", line: 152]}, {XlsxReaderTest, :__ex_unit_describe_3, 1, []}, {ExUnit.Runner, :exec_test_setup, 2, [file: ~c"lib/ex_unit/runner.ex", line: 478]}, {ExUnit.Runner, :"-spawn_test_monitor/4-fun-0-", 2, [file: ~c"lib/ex_unit/runner.ex", line: 411]}, {:timer, :tc, 2, [file: ~c"timer.erl", line: 590]}, {ExUnit.Runner, :"-spawn_test_monitor/4-fun-1-", 6, [file: ~c"lib/ex_unit/runner.ex", line: 407]}]}}}

     Attempted function clauses (showing 2 out of 2):

         defp translate_zip_error({:error, :enoent})
         defp translate_zip_error({:error, code}) when code === :einval or code === :bad_eocd or code === :bad_central_directory or code === :eisdir

     stacktrace:
       (xlsx_reader 0.8.7) lib/xlsx_reader/zip_archive.ex:86: XlsxReader.ZipArchive.translate_zip_error/1
       (xlsx_reader 0.8.7) lib/xlsx_reader/package_loader.ex:180: XlsxReader.PackageLoader.extract_xml/2
       (xlsx_reader 0.8.7) lib/xlsx_reader/package_loader.ex:124: XlsxReader.PackageLoader.load_workbook_xml/2
       (xlsx_reader 0.8.7) lib/xlsx_reader/package_loader.ex:48: XlsxReader.PackageLoader.open/2
       test/xlsx_reader_test.exs:152: XlsxReaderTest.__ex_unit_setup_3_0/1
       XlsxReaderTest.__ex_unit_describe_3/1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions