長年Ubuntu 18.04.5 LTSでSimple Scanを使用してきましたが、今日はもう起動できません。ウィンドウが開き、直ちに競合が発生します。 CLIを使用しようとすると、次のメッセージが表示されます。
bugchk_free(ptr=(nil))@modelinf.c(464)
Abandon (core dumped)
代わりにXsaneやscanimageを使ってみましたが、同じ問題が発生しました。 Skanliteが動作しているようです(しかし私のスキャナを認識していません)。
私のlibsaneパッケージは次のとおりですdpkg -l | grep sane
。
ii libsane-common 1.0.27-1~experimental3ubuntu2.2 all API library for scanners -- documentation and support files
ii libsane-hpaio:amd64 3.17.10+repack0-5 amd64 HP SANE backend for multi-function peripherals
ii libsane1:amd64 1.0.27-1~experimental3ubuntu2.2 amd64 API library for scanners
ii sane-utils 1.0.30-bionic1 amd64 API library for scanners -- utilities
rolfbesnch/sane-release
PPAからアップグレードしようとしましたが、問題は解決しないようです。rolfbensch/sane-git
PPAを試してみるべきですか?
ありがとう、
答え1
私の「Pantum M6500」のセグフォルトを修正しましたscanimage -L
。
$ scanimage -L
Segmentation fault (core dumped)
tcp ...
アイテムを削除して/etc/sane.d/pantum6500.conf
tcp M6500 9200
trace scanimage -L
読み取るためにイメージをスキャンし/etc/sane.d/pantum6500.conf
てTCPポートをバインドしようとしたところ、セグフォルトが発生したことがわかりました。
答え2
一部のアップデートでこの問題が解決したようです。
答え3
Ubuntu 18.04からUbuntu 20.04にアップグレードした後、HP4200 USBスキャナを使用するXsaneで分割エラーの問題が発生します。
私は役に立たない多くのGoogleの提案を見つけました。 HP4200用のバックエンドを設定してコンパイルしましたが、まだクラッシュします。
私はソースコードでデバッグメッセージを有効にしましたが、デバッグメッセージ内で常に同じ場所で競合が発生することがわかりました。
do_fine_calibration
ファイルから呼び出されるサブルーチンですhp4200.c
。そのサブルーチン内でmemset
呼び出され、ここで競合が発生しているようです。
ヌルポインタで呼び出すと、memset
存在しないメモリにアクセスしようとします。 Ubuntu 20.04がメモリ管理に関して他の機能を実行しているかどうかを調べようとしましたが、手ぶらで出てきました。
とにかく、このコードはregistroという大きな配列を設定しているようですが、配列へのポインタが存在しないようです!
私はメモリ管理の専門家ではありませんが、いくつかの研究の最後に、登録時に宣言時に0に設定されるように変更することにしました(ライン1377関連 -int registro[30][5460 * 3] = {0};
私の変更)。
次に、registro配列memを0に設定するコード部分を削除します(行1496 - 約1505)。
再起動してスキャン画像を開始した後./configuration
、make sudo make install
見て、モーターが落ちて再スキャンを開始しました!